Changeset 2556 for 2011/31/AlisaJ/Tasohyppelypeli1/Tasohyppelypeli1/Peli.cs
- Timestamp:
- 2011-08-04 14:58:51 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2011/31/AlisaJ/Tasohyppelypeli1/Tasohyppelypeli1/Peli.cs
r2520 r2556 11 11 Image LinnunKuva = LoadImage("pelin lintu1"); 12 12 13 13 string seuraavaKentta = "kentta2.txt"; 14 14 15 15 const double nopeus = 300; … … 27 27 public override void Begin() 28 28 { 29 30 31 luoKentta(); 32 lisaaNappaimet(); 33 Camera.ZoomToLevel(); 34 } 35 36 void luoKentta() 37 { 38 TileMap kentta = TileMap.FromFile("kentta1.txt"); 29 30 31 MessageDisplay.Add("Moi! Paina A aloittaaksesi"); 32 MessageDisplay.TextColor = Color.White; 33 //:MessageDisplay. 34 35 36 37 38 Keyboard.Listen(Key.A, ButtonState.Pressed, aloitapeli, null); 39 40 } 41 42 void luoKentta(string kenttaTiedostonNimi) 43 { 44 ClearAll(); 45 TileMap kentta = TileMap.FromFile(kenttaTiedostonNimi); 39 46 kentta.SetTileMethod('#', lisaaTaso); 40 47 kentta.SetTileMethod('L', lisaalintu); 41 48 kentta.Execute(10, 15); 49 50 Level.Background.Color = Color.SkyBlue; 51 pallo(); 52 LuoAikaLaskuri(); 53 lisaaNappaimet(); 54 LuoLaskuri(); 55 Camera.ZoomToLevel(); 42 56 Level.CreateBorders(); 43 Level.Background.Color = Color.SkyBlue ; 44 pallo(); 57 45 58 } 46 59 … … 49 62 PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 50 63 taso.Position = paikka; 51 taso.Color = Color. Gray;64 taso.Color = Color.Gray; 52 65 taso.Restitution = 1.1; 53 66 Add(taso); 54 67 } 55 68 56 void lisaaTahti(Vector paikka, double leveys, double korkeus) 57 { 58 PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus); 59 tahti.IgnoresCollisionResponse = true; 60 tahti.Position = paikka; 61 tahti.Tag = "tahti"; 62 Add(tahti); 63 } 69 64 70 65 71 void lisaalintu(Vector paikka, double leveys, double korkeus) 66 72 { 67 Lintu = new PhysicsObject(20, 20 );73 Lintu = new PhysicsObject(20, 20, Shape.Circle, CollisionShapeQuality.Best); 68 74 Lintu.Position = paikka; 69 75 Lintu.Mass = 4.0; … … 91 97 void kasitteleLinnunTormays(PhysicsObject hahmo, PhysicsObject kohde) 92 98 { 93 if (kohde.Tag.ToString() == " tahti")99 if (kohde.Tag.ToString() == "pallo") 94 100 { 95 maaliAani.Play(); 96 MessageDisplay.Add("Keräsit tähden!"); 101 MessageDisplay.Add("söit hyttysen!"); 97 102 kohde.Destroy(); 103 pisteLaskuri.Value++; 98 104 } 105 99 106 } 100 107 … … 111 118 { 112 119 int i = 0; 113 114 while (i < 1500)120 Gravity = new Vector(0, -500); 121 while (i < 250) 115 122 { 116 123 117 i++; 118 PhysicsObject pallo = new PhysicsObject(5, 5);119 pallo.Color = RandomGen.NextColor();124 i++; 125 PhysicsObject pallo = new PhysicsObject(5, 5); 126 pallo.Color = RandomGen.NextColor(); 120 127 pallo.Shape = Shape.Circle; 121 pallo.X = RandomGen.NextDouble( -1000, 1000);122 pallo.Y = RandomGen.NextDouble( -1000, 1000);123 Gravity = new Vector(0, -500);128 pallo.X = RandomGen.NextDouble(Level.Left, Level.Right); 129 pallo.Y = RandomGen.NextDouble(Level.Bottom, Level.Top); 130 124 131 pallo.Restitution = 1.1; 125 132 pallo.Tag = "pallo"; 126 133 127 134 … … 132 139 133 140 141 DoubleMeter alaspainLaskuri; 142 Timer aikaLaskuri; 143 144 void LuoAikaLaskuri() 145 { 146 alaspainLaskuri = new DoubleMeter(60); 147 148 aikaLaskuri = new Timer(); 149 aikaLaskuri.Interval = 0.1; 150 aikaLaskuri.Timeout += LaskeAlaspain; 151 aikaLaskuri.Start(); 152 153 Label aikaNaytto = new Label(); 154 aikaNaytto.TextColor = Color.Black; 155 aikaNaytto.DecimalPlaces = 1; 156 aikaNaytto.BindTo(alaspainLaskuri); 157 Add(aikaNaytto); 158 } 159 160 void LaskeAlaspain() 161 { 162 alaspainLaskuri.Value -= 0.1; 163 164 if (alaspainLaskuri.Value <= 0) 165 { 166 MessageDisplay.Add("Aika loppui..."); 167 aikaLaskuri.Stop(); 168 169 Exit(); 170 } 171 172 173 174 } 175 176 177 void KasittelePallonTormays(PhysicsObject lintu, PhysicsObject pallo) 178 { 179 180 } 181 182 void laskuriYlarajassa( int arvo) 183 { 184 luoKentta(seuraavaKentta); 185 seuraavaKentta = "kentta3.txt"; 186 } 187 188 189 IntMeter pisteLaskuri; 190 191 void LuoLaskuri() 192 { 193 pisteLaskuri = new IntMeter(0); 194 195 Label pisteNaytto = new Label(); 196 pisteNaytto.X = Screen.Left + 100; 197 pisteNaytto.Y = Screen.Top - 100; 198 pisteNaytto.TextColor = Color.Pink; 199 200 pisteNaytto.BindTo(pisteLaskuri); 201 Add(pisteNaytto); 202 203 pisteLaskuri.MaxValue = 100; 204 pisteLaskuri.UpperLimit += laskuriYlarajassa; 205 206 207 208 209 210 211 } 212 213 214 void aloitapeli () 215 { luoKentta("kentta1.txt"); 216 } 217 218 219 220 221 222 134 223 }
Note: See TracChangeset
for help on using the changeset viewer.