source: 2011/24/JaniS/Virus Infection/Virus Infection/Virus Infection/Peli.cs @ 2024

Revision 2024, 2.8 KB checked in by jajusaar, 9 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Peli : PhysicsGame
10{
11    PhysicsObject pelaaja = new PhysicsObject(20, 20);
12
13
14    public override void Begin()
15    {
16        LuoKentta();
17        Ohjaus();
18    }
19
20    void LiikutaPelaajaa(Vector vektori)
21    {
22        pelaaja.Push(vektori);
23    }
24
25
26    void LuoKentta()
27    {
28        TileMap ruudut = TileMap.FromFile("Kentta.txt");
29        ruudut.SetTileMethod('#', LuoPalikka);
30        ruudut.SetTileMethod('o', LuoPelaaja);
31        ruudut.SetTileMethod('x', LuoVirukset);
32        ruudut.Execute(50, 60);
33        Level.BackgroundColor = Color.Black;
34        Mouse.IsCursorVisible = true;
35    }
36
37    void LuoPalikka(Vector paikka, double leveys, double korkeus)
38    {
39        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
40        palikka.Position = paikka;
41        palikka.Shape = Shape.Rectangle;
42        palikka.Color = Color.DarkBlue;
43        palikka.Restitution = 1.0;
44        Add(palikka);
45    }
46    void LuoPelaaja(Vector paikka, double leveys, double korkeus)
47    {
48       
49        pelaaja.Position = paikka;
50        pelaaja.Shape = Shape.Circle;
51        pelaaja.Color = Color.Yellow;
52        Add(pelaaja);
53        AddCollisionHandler(pelaaja, KasitteleTormays);
54    }
55    void LuoVirukset(Vector paikka, double leveys, double korkeus)
56    {
57        PhysicsObject virus = new PhysicsObject(25, 25);
58        virus.Position = paikka;
59        virus.Shape = Shape.Circle;
60        virus.Color = Color.Red;
61        Add(virus);
62        Vector impulssi = new Vector(-50.0, 200.0);
63        virus.Hit(impulssi);
64        virus.Restitution = 1.0;
65    }
66    void Ohjaus()
67    {
68        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu");
69
70        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-1000, 0));
71        Keyboard.Listen(Key.Left, ButtonState.Released, PysaytaPelaaja, null, new Vector(0, 0));
72        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, new Vector(1000, 0));
73        Keyboard.Listen(Key.Right, ButtonState.Released, PysaytaPelaaja, null, new Vector(0, 0));
74        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 1000));
75        Keyboard.Listen(Key.Up, ButtonState.Released, PysaytaPelaaja, null, new Vector(0, 0));
76        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1000));
77        Keyboard.Listen(Key.Down, ButtonState.Released, PysaytaPelaaja, null, new Vector(0, 0));
78    }
79    void PysaytaPelaaja(Vector Zero)
80    {
81        pelaaja.Velocity = Zero;
82    }
83    void KasitteleTormays(PhysicsObject pelaaja, PhysicsObject kohde)
84    {
85       
86    }
87}
88
Note: See TracBrowser for help on using the repository browser.