source: 2017/30/JouniP/Syomispeli/Syomispeli/Syomispeli/Syomispeli.cs @ 9103

Revision 9103, 3.6 KB checked in by nupeohje, 2 years ago (diff)

Ruokapaloja tulee vain 1kpl sattumanvaraiseen paikkaan.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Syomispeli : PhysicsGame
10{
11    PhysicsObject pelaaja1;
12
13    public override void Begin()
14    {
15
16        LisaaPelaaja1();
17        LisaaOhjaimet();
18       
19       
20        LuoKentta();
21
22        //LuoPongmaila(200.0, 0.0);
23       
24       
25    }
26    void LuoKentta()
27    {
28        Level.CreateBorders();
29        Level.Background.CreateGradient(Color.Black, Color.Gray);
30        LisaaRuokapalat();
31
32        //LuoOlio(Shape.Diamond, Color.Blue, 0.0, 0.0);
33        //LuoOlio(Shape.Circle, Color.White, 100.0, 20.0);
34        //LuoOlio(Shape.Rectangle, Color.Brown, 50.0, 150.0);
35
36        //LuoPallo(Color.White, 50.0, 47.8);
37        //LuoPallo(Color.Yellow, 30.0, 30.0);
38        //LuoPallo(Color.Yellow, 70.0, 80.0);
39
40    }
41
42    void LisaaPelaaja1()
43    {
44        pelaaja1 = new PhysicsObject(40.0, 40.0);
45        pelaaja1.CanRotate = false;
46        Add(pelaaja1);
47
48        AddCollisionHandler(pelaaja1, "ruoka", PelaajaKasvaaIsommaksi);
49    }
50
51    void LisaaRuokapalat()
52    {
53        //LuoSyotavaJuttu(10.0, 10.0);
54        //LuoSyotavaJuttu(90.0, 90.0);
55        //LuoSyotavaJuttu(100.0, 340.0);
56        //LuoSyotavaJuttu(300.0, 390.0);
57        //LuoSyotavaJuttu(200.0, 10.0);
58        //LuoSyotavaJuttu(-200.0, 90.0);
59
60        double xKoordinaatti;
61        double yKoordinaatti;
62       
63        xKoordinaatti = RandomGen.NextDouble(Level.Left, Level.Right);
64        yKoordinaatti = RandomGen.NextDouble(Level.Bottom, Level.Top);
65        LuoSyotavaJuttu(xKoordinaatti, yKoordinaatti);
66
67    }
68
69    void LisaaOhjaimet()
70    {
71        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-1000.0, 0.0));
72        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, new Vector(1000.0, 0.0));
73        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0.0, 1000.0));
74        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0.0, -1000.0));
75
76        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
77    }
78
79    void LiikutaPelaajaa(Vector vektori)
80    {
81        pelaaja1.Push(vektori);
82    }
83
84    void PelaajaKasvaaIsommaksi(PhysicsObject pelaajaJokaTormasi, PhysicsObject tormayksenKohde)
85    {
86        pelaajaJokaTormasi.Width = pelaajaJokaTormasi.Width + 10.0;
87        pelaajaJokaTormasi.Height = pelaajaJokaTormasi.Height + 10.0;
88
89        tormayksenKohde.Destroy();
90    }
91
92    void LuoOlio(Shape muoto, Color vari, double x, double y, double leveys = 40.0, double korkeus = 40.0)
93    {
94        PhysicsObject otus = new PhysicsObject(leveys, korkeus);
95        otus.Shape = muoto;
96        otus.Color = vari;
97        otus.X = x;
98        otus.Y = y;
99        Add(otus);
100    }
101
102    void LuoPallo(Color vari, double x, double y)
103    {
104        LuoOlio(Shape.Circle, vari, x, y);
105    }
106
107    void LuoSyotavaJuttu(double x, double y)
108    {
109        //LuoOlio(Shape.Circle, Color.Yellow, x, y, 10.0, 10.0);
110
111        PhysicsObject syotava = new PhysicsObject(10.0, 10.0);
112        syotava.Shape = Shape.Circle;
113        syotava.Color = Color.Yellow;
114        syotava.X = x;
115        syotava.Y = y;
116        Add(syotava);
117        syotava.Tag = "ruoka";
118
119    }
120
121    void LuoPongmaila(double x, double y)
122    {
123        //PhysicsObject maila = new PhysicsObject(20.0, 80.0);
124        //maila.X = x;
125        //maila.Y = y;
126        //Add(maila);
127
128        LuoOlio(Shape.Rectangle, Color.White, x, y, 20.0, 80.0);
129    }
130}
Note: See TracBrowser for help on using the repository browser.