- Timestamp:
- 2010-07-08 11:29:36 (13 years ago)
- Location:
- 2010/27/attakorh/Pallerot
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/27/attakorh/Pallerot/Peli.cs
r1148 r1173 10 10 const double hyppyVoima = 4000; 11 11 12 IntMeter pisteLaskuri;13 Label pisteNaytto;14 12 15 13 PlatformCharacter pelaaja1; … … 28 26 Level.Height = 1000; 29 27 30 pisteLaskuri = new IntMeter(0);31 28 32 29 // Zoomataan lähemmäksi 33 30 Camera.ZoomFactor = 2.0; 34 35 31 Camera.StayInLevel = true; 36 32 37 33 seuraavaKentta(); 38 34 MessageDisplay.Add("Hypi tornin päälle!"); 35 MessageDisplay.Add("Avaa ohjeet painamalla F1."); 36 37 39 38 } 40 39 … … 46 45 MessageDisplay.Add("Kenttä " + kenttaNro); 47 46 48 // Asetetaan painovoima49 Gravity = new Vector(0, -1000);50 47 51 // luodaan pistelaskunäyttö52 pisteNaytto = new Label();53 pisteNaytto.X = Screen.RightSafe - 250;54 pisteNaytto.Y = Screen.TopSafe - 50;55 pisteNaytto.BindTo(pisteLaskuri);56 Add(pisteNaytto);57 48 58 49 luoKentta(); 59 50 lisaaNappaimet(); 60 Camera.Follow(pelaaja1);61 51 } 62 52 63 53 void luoKentta() 64 54 { 55 // Asetetaan painovoima 56 Gravity = new Vector(0, -500); 57 65 58 Level.CreateBorders(); 66 59 67 60 TileMap ruudut = TileMap.FromFile("kentta1.txt"); 68 61 ruudut['='] = LuoPalikka; 69 ruudut['*'] = LuoTahti;70 62 ruudut['1'] = lisaaPelaaja; 71 63 ruudut['s'] = Sivu; 72 ruudut['p'] = Piikki;64 ruudut['p'] = LuoPiikki; 73 65 74 66 ruudut.Insert(ruudunLeveys, ruudunKorkeus); 67 Camera.Follow(pelaaja1); 68 75 69 } 76 70 … … 82 76 } 83 77 84 PhysicsObject LuoTahti()85 {86 PhysicsObject tahti = PhysicsObject.CreateStaticObject(25.0, 25.0);87 return tahti;88 }89 90 void lisaaTaso(double x, double y)91 {92 PhysicsObject taso = PhysicsObject.CreateStaticObject(100, 30);93 taso.Color = Color.Green;94 taso.X = x;95 taso.Y = y;96 Add(taso);97 }98 99 78 PhysicsObject lisaaPelaaja() 100 79 { … … 104 83 pelaaja1.X = 0; 105 84 pelaaja1.Y = Level.Bottom + 120; 106 107 AddCollisionHandler(pelaaja1, PelaajaOsuu); 85 AddCollisionHandler(pelaaja1, KasittelePelaajanTormays); 108 86 return (PhysicsObject)pelaaja1; 87 109 88 } 110 89 … … 148 127 void hyppaa(PlatformCharacter hahmo, double voima) 149 128 { 150 hahmo.Jump(voima); 151 } 152 153 void PelaajaOsuu(PhysicsObject collidingObject, PhysicsObject otherObject) 154 { 155 if (otherObject.Tag.ToString() == "maali") 156 { 157 PlaySound("maali"); 158 int edellisenKentanPisteet = pisteLaskuri.Value; 159 seuraavaKentta(); 160 MessageDisplay.Add("Pääsit läpi kentän " + kenttaNro + ". Pisteitä: " + edellisenKentanPisteet); 161 } 129 hahmo.Jump(hyppyVoima); 162 130 } 163 131 … … 170 138 } 171 139 172 PhysicsObject Piikki()140 PhysicsObject LuoPiikki() 173 141 { 142 PhysicsObject piikki = new PhysicsObject(50.0, 50.0); 143 piikki.Image = LoadImage("piikki"); 144 piikki.Tag = "piikki"; 145 return (PhysicsObject)piikki; 146 } 174 147 148 void KasittelePelaajanTormays(PhysicsObject lisaaPelaaja, PhysicsObject kohde) 149 { 150 if (kohde.Tag.ToString() == "maali") 151 { 152 PlaySound("maali"); 153 seuraavaKentta(); 154 MessageDisplay.Add("Jees! Pääsit läpi kentän " + kenttaNro ); 155 } 156 157 if (kohde.Tag.ToString() == "piikki") 158 { 159 ClearAll(); 160 luoKentta(); 161 lisaaNappaimet(); 162 MessageDisplay.Add("Kenttä " + kenttaNro); 163 MessageDisplay.Add("Kuolit! Aloita alusta!"); 164 MessageDisplay.Add("Avaa ohjeet painamalla F1."); 165 } 175 166 } 176 167 -
2010/27/attakorh/Pallerot/kentta1.txt
r1148 r1173 14 14 s s 15 15 s s 16 s 17 s pppppppppppppppppps18 s ============ ==================s19 s 1s16 s p p s 17 s = = = = =s 18 s = s 19 spppppppppppp 1 ppppppppppppppps 20 20 s=================================s
Note: See TracChangeset
for help on using the changeset viewer.