source: 2013/26/RoopeK/Hypopolis/Hypopolis/Hypopolis/Hypopolis.cs @ 4231

Revision 4231, 3.2 KB checked in by roarolky, 7 years ago (diff)

Talletus.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Hypopolis : PhysicsGame
10{
11    Image pelihahmo = LoadImage("Pelihahmo2");
12    PlatformCharacter2 pelaaja;
13
14    public override void Begin()
15    {
16
17      // Laskuri
18      Timer ajastin = new Timer();
19      ajastin.Interval = 2.0;
20      ajastin.Timeout += LuoSatunnainenRakennus;
21      ajastin.Start();
22 
23
24        // Kamera
25        // Camera.ZoomToLevel();
26
27        // Pelaaja
28        pelaaja = new PlatformCharacter2(75, 75);
29        pelaaja.Shape = Shape.Rectangle;
30        pelaaja.Color = Color.Black;
31        pelaaja.X = 0;
32        pelaaja.Y = Level.Bottom + 1.0;
33        pelaaja.LinearDamping = 0.95;
34        pelaaja.Restitution = 0.0;
35        pelaaja.Image = pelihahmo;
36        Gravity = new Vector(0, -2000);
37        Add(pelaaja);
38
39        // Aliohjelma
40        Ohjaimet();
41
42        // Taso
43        Surface vasenReuna = new Surface(500, 1200);
44        vasenReuna.Restitution = 1.0;
45        vasenReuna.X = -800;
46        vasenReuna.Color = Color.White;
47        Add(vasenReuna);
48
49        Surface oikeaReuna = new Surface(500, 1200);
50        oikeaReuna.Restitution = 1.0;
51        oikeaReuna.X = 800;
52        oikeaReuna.Color = Color.White;
53        Add(oikeaReuna);
54
55        Surface yläReuna = new Surface(1400, 100);
56        yläReuna.Restitution = 1.0;
57        yläReuna.Y = 550;
58        yläReuna.Color = Color.White;
59        Add(yläReuna);
60
61        Surface alaReuna = new Surface(1400, 100);
62        alaReuna.Restitution = 1.0;
63        alaReuna.X = 0;
64        alaReuna.Y = -500;
65        alaReuna.Color = Color.White;
66        Add(alaReuna);
67
68        Level.BackgroundColor = Color.Black;
69
70        // Poistuminen
71        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
72        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Lopeta peli");
73
74    }
75
76
77    void Kavele(PlatformCharacter2 pelaaja, Direction liike)
78    {
79
80        pelaaja.Walk(liike);
81
82    }
83
84    void Hyppy(PlatformCharacter2 pelaaja)
85    {
86
87        pelaaja.Jump(2000);
88
89    }
90
91    void Ohjaimet()
92    {
93
94        // Liike
95        Keyboard.Listen(Key.Left, ButtonState.Down, Kavele, "Vasen", pelaaja, Direction.Left);
96        Keyboard.Listen(Key.Right, ButtonState.Down, Kavele, "Oikea", pelaaja, Direction.Right);
97        Keyboard.Listen(Key.Up, ButtonState.Down, Hyppy, "Ylös", pelaaja);
98
99    }
100
101    private void LuoSatunnainenRakennus()
102    {
103
104        double x = RandomGen.NextDouble(-1800, -1800);
105        double y = RandomGen.NextDouble(-400, 500);
106        double r = RandomGen.NextDouble(500, 2000);
107        double r2 = RandomGen.NextDouble(100, 200);
108        Color vari = RandomGen.NextColor();
109        LuoMuoto(Shape.Rectangle, x, y, r, r2, vari);
110
111    }
112
113    void LuoMuoto(Shape muoto, double x, double y, double sade, double sade2, Color vari)
114    {
115
116        PhysicsObject olio = new PhysicsObject(sade, sade2);
117        olio.Shape = muoto;
118        olio.Color = Color.OrangeRed;
119        olio.Y = y;
120        olio.X = x;
121        olio.Move(new Vector(250, 0));
122        olio.MakeStatic();
123        Add(olio);
124
125    }
126}
Note: See TracBrowser for help on using the repository browser.