Changeset 1764 for 2011/23/vihakuli/Runner/Runner/Runner/Peli.cs
- Timestamp:
- 2011-06-08 16:18:05 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2011/23/vihakuli/Runner/Runner/Runner/Peli.cs
r1743 r1764 14 14 Image[] UkonKuvaPeilattu; 15 15 Image[] Ukkoidlaa = LoadImages("ukkoidlaa"); 16 Image vihollisenKuva = LoadImage("vihu"); 16 17 double liiku = 400; 17 18 int pisteet = 0; … … 26 27 List<Label> valikonKohdat = new List<Label>(); 27 28 List<Label> MaaValikko = new List<Label>(); 29 GameObject spawnVihollinen; 28 30 PhysicsObject spawn; 29 31 int havisit = 0; 30 32 int voitit = 0; 31 33 string[] maat; 32 string valittuMaa = "Maat\\asd.txt"; 34 string valittuMaa = "Maat\\maa1.txt"; 35 Timer aikaLaskuri; 36 double aikaaKulunut = 0.0; 37 ScoreList topLista = new ScoreList(10, true, 999.9); 38 string maanTallennus; 39 Label aikaNaytto; 40 bool powerJump = false; 41 PhysicsObject vihollinen; 42 43 44 33 45 34 46 public override void Begin() … … 37 49 KorkeaHyppyAika = new Timer(); 38 50 NopeaJuoksuAika = new Timer(); 39 40 Valikko(); 41 51 aikaLaskuri = new Timer(); 52 aikaLaskuri.Interval = 0.1; 53 aikaLaskuri.Trigger += new Timer.TriggerHandler(aikaLaskuri_Trigger); 54 Valikko(); 42 55 43 56 } … … 46 59 { 47 60 ClearAll(); 61 NopeaJuoksuAika.Start(); 48 62 49 63 MaxPisteet = 0; … … 108 122 { 109 123 ClearAll(); 124 aikaaKulunut = 0; 125 aikaLaskuri.Stop(); 126 aikaLaskuri.Start(); 110 127 voitit = 0; 111 128 havisit = 0; 112 129 teksti = new Label("teksti"); 130 LuoAikaLaskuri(); 113 131 TeeKentta(); 114 132 TeeUkko(); … … 149 167 MessageDisplay.Add(KorkeaHyppyAika.CurrentTime.ToString()); 150 168 KorkeaHyppyAika.Start(); 169 powerJump = true; 151 170 } 152 171 153 172 if (kohde.Color == Color.White) 154 173 { 155 NopeaJuoksuAika.Start();156 174 NopeaJuoksuAika.Reset(); 157 175 } … … 169 187 kohta3 = new Label("Kenttä suoritettu!"); 170 188 kohta3.Position = new Vector(0, 120); 171 //valikonKohdat.Add(kohta3);172 189 voitit = 1; 173 Valikko();190 peliPaattyi("voitto"); 174 191 } 175 192 } … … 183 200 //valikonKohdat.Add(KohtaHavisit); 184 201 havisit = 1; 185 Valikko();202 peliPaattyi("havio"); 186 203 } 187 204 } … … 190 207 { 191 208 TileMap ruudut = TileMap.FromFile(valittuMaa); 192 ruudut['='] = LuoPalikka; 193 ruudut['-'] = LuoHyppyPalikka; 194 ruudut[':'] = LuoNopeusPalikka; 195 ruudut['*'] = LuoTahtiPalikka; 196 ruudut['s'] = LuoSpawn; 197 ruudut['!'] = LuoHavioPalikka; 198 ruudut.Insert(ruudunLeveys, ruudunKorkeus); 209 ruudut.SetTileMethod('=', LuoPalikka); 210 ruudut.SetTileMethod('-', LuoHyppyPalikka); 211 ruudut.SetTileMethod(':', LuoNopeusPalikka); 212 ruudut.SetTileMethod('*', LuoTahtiPalikka); 213 ruudut.SetTileMethod('s', LuoSpawn); 214 ruudut.SetTileMethod('!', LuoHavioPalikka); 215 ruudut.SetTileMethod('b', LuoVihollinen); 216 //ruudut.Insert(ruudunLeveys, ruudunKorkeus); 217 ruudut.Execute(ruudunLeveys, ruudunKorkeus); 199 218 Gravity = new Vector(0.0, -800.0); 200 219 teksti.Text = pisteet.ToString() + "/" + MaxPisteet.ToString(); 201 220 } 202 221 203 PhysicsObject LuoHavioPalikka() 222 void LuoVihollinen(Vector paikka, double leveys, double korkeus) 223 { 224 spawnVihollinen = new GameObject(40.0, 40.0); 225 spawnVihollinen.Position = paikka; 226 TeeVihollinen(spawnVihollinen.X, spawnVihollinen.Y); 227 //Add(spawnVihollinen); 228 } 229 230 void peliPaattyi(string tulos) 231 { 232 aikaLaskuri.Stop(); 233 maanTallennus = valittuMaa + ".xml"; 234 maanTallennus = maanTallennus.Substring(5); 235 236 if (tulos == "voitto") 237 { 238 if (!DataStorage.Exists(maanTallennus)) 239 { 240 241 DataStorage.Save<ScoreList>(topLista, maanTallennus); 242 } 243 244 LoadState tilanne = DataStorage.BeginLoad(maanTallennus); 245 tilanne.Load<ScoreList>(topLista, "default"); 246 tilanne.EndLoad(); 247 248 HighScoreWindow topIkkuna = new HighScoreWindow("Runner top times " + valittuMaa + " maalle", 249 "Parhaat pisteet", "Gz dude, pääsit listalle pisteillä %p!!! Syötä nimesi: ", topLista, aikaaKulunut); 250 topIkkuna.Width = 500; 251 topIkkuna.List.Width = 500; 252 topIkkuna.Closed += TallennaPisteet; 253 Add(topIkkuna); 254 } 255 256 else 257 { 258 ClearAll(); 259 HighScoreWindow topIkkuna = new HighScoreWindow("Pelin nimi tai jotain", 260 "Parhaat pisteet", 261 topLista); 262 topIkkuna.Closed += TallennaPisteet; 263 Add(topIkkuna); 264 } 265 } 266 267 void TallennaPisteet(Window sender) 268 { 269 DataStorage.Save<ScoreList>(topLista, maanTallennus); 270 Valikko(); 271 } 272 273 void LuoHavioPalikka(Vector paikka, double leveys, double korkeus) 204 274 { 205 275 PhysicsObject havioPalikka = PhysicsObject.CreateStaticObject(40.0, 40.0); 276 havioPalikka.Position = paikka; 206 277 havioPalikka.Color = Color.OrangeRed; 207 return havioPalikka;208 209 } 210 211 PhysicsObject LuoSpawn()278 Add(havioPalikka); 279 280 } 281 282 void LuoSpawn(Vector paikka, double leveys, double korkeus) 212 283 { 213 284 spawn = PhysicsObject.CreateStaticObject(50.0, 50.0); 285 spawn.Position = paikka; 214 286 spawn.Color = Color.Green; 215 287 Add(spawn); 216 return spawn; 217 } 218 219 PhysicsObject LuoPalikka() 288 } 289 290 void LuoPalikka(Vector paikka, double leveys, double korkeus) 220 291 { 221 292 PhysicsObject palikka = PhysicsObject.CreateStaticObject(50.0, 50.0); 293 palikka.Position = paikka; 222 294 palikka.Shape = Shape.Rectangle; 223 295 palikka.Color = Color.Black; 224 return palikka;225 } 226 227 PhysicsObject LuoHyppyPalikka()296 Add(palikka); 297 } 298 299 void LuoHyppyPalikka(Vector paikka, double leveys, double korkeus) 228 300 { 229 301 PhysicsObject hyppyPalikka = PhysicsObject.CreateStaticObject(50.0, 50.0); 302 hyppyPalikka.Position = paikka; 230 303 hyppyPalikka.Shape = Shape.Rectangle; 231 304 hyppyPalikka.Color = Color.Red; 232 return hyppyPalikka;233 } 234 235 PhysicsObject LuoNopeusPalikka()305 Add(hyppyPalikka); 306 } 307 308 void LuoNopeusPalikka(Vector paikka, double leveys, double korkeus) 236 309 { 237 310 PhysicsObject nopeusPalikka = PhysicsObject.CreateStaticObject(50.0, 50.0); 311 nopeusPalikka.Position = paikka; 238 312 nopeusPalikka.Shape = Shape.Rectangle; 239 313 nopeusPalikka.Color = Color.White; 240 return nopeusPalikka;241 } 242 243 PhysicsObject LuoTahtiPalikka()314 Add(nopeusPalikka); 315 } 316 317 void LuoTahtiPalikka(Vector paikka, double levets, double korkeus) 244 318 { 245 319 PhysicsObject tahtiPalikka = PhysicsObject.CreateStaticObject(35.0, 35.0); 320 tahtiPalikka.Position = paikka; 246 321 tahtiPalikka.Shape = Shape.Star; 247 322 tahtiPalikka.Color = Color.Yellow; 248 323 MaxPisteet = MaxPisteet + 1; 249 return tahtiPalikka; 324 Add(tahtiPalikka); 325 } 326 327 void LuoAikaLaskuri() 328 { 329 330 331 aikaLaskuri.Start(); 332 333 aikaNaytto = new Label(); 334 aikaNaytto.TextColor = Color.White; 335 aikaNaytto.DecimalPlaces = 1; 336 aikaNaytto.X = Screen.Left / 2; 337 aikaNaytto.Y = Screen.Top - 20; 338 //aikaNaytto.BindTo(aikaLaskuri.SecondCounter); 339 Add(aikaNaytto); 340 341 } 342 343 void aikaLaskuri_Trigger(Timer sender) 344 { 345 aikaaKulunut = aikaaKulunut + sender.SecondCounter.Value; 346 aikaNaytto.Text = aikaaKulunut.ToString("0.00"); 250 347 } 251 348 … … 255 352 Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaUkkoa, "Pelaaja liikkuu oikealle", liiku, "oikea"); 256 353 Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppy, "Ukko Hyppää"); 257 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Poistu");354 Keyboard.Listen(Key.Escape, ButtonState.Pressed, peliPaattyi, "Poistu","havio"); 258 355 } 259 356 … … 281 378 void Hyppy() 282 379 { 283 double asd = KorkeaHyppyAika.CurrentTime; 284 TimeSpan nykyhetki = DateTime.Now.TimeOfDay; 285 TimeSpan erotus = nykyhetki- KorkeaHyppyAika.StartTime; 286 if (asd < 0.3) 380 if (powerJump == true) 287 381 { 288 382 ukko.Jump(800.0); 289 return;383 powerJump = false; 290 384 } 291 385 ukko.Jump(500.0); 292 386 } 387 388 void TeeVihollinen(double x, double y) 389 { 390 vihollinen = new PhysicsObject(40.0, 40.0); 391 vihollinen.X = x; 392 vihollinen.Y = y; 393 vihollinen.Image = vihollisenKuva; 394 vihollinen.Hit(new Vector(-600,0)); 395 vihollinen.IgnoresGravity = true; 396 vihollinen.LinearDamping = 1; 397 AddCollisionHandler(vihollinen, VihuTormasi); 398 Add(vihollinen); 399 } 400 401 void VihuTormasi(PhysicsObject tormaaja, PhysicsObject kohde) 402 { 403 vihollinen.Velocity = -vihollinen.Velocity; 404 } 405 293 406 }
Note: See TracChangeset
for help on using the changeset viewer.