Changeset 1751
- Timestamp:
- 2011-06-08 13:17:56 (10 years ago)
- Location:
- 2011/23/iltakuop/Blocks/Blocks/Blocks
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
2011/23/iltakuop/Blocks/Blocks/Blocks/Blocks.csproj
r1737 r1751 116 116 </ItemGroup> 117 117 <ItemGroup> 118 <Content Include="kentta3.txt"> 119 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 120 </Content> 118 121 <Content Include="Game.ico" /> 119 122 <Content Include="GameThumbnail.png" /> -
2011/23/iltakuop/Blocks/Blocks/Blocks/Peli.cs
r1746 r1751 7 7 using Jypeli.Widgets; 8 8 9 10 class Taso2 : PhysicsObject 11 { 12 public int hitPoints = 2; 13 public Taso2() 14 : base(40, 10) 15 { 16 17 } 18 19 20 } 21 22 23 24 25 9 26 public class Peli : PhysicsGame 10 27 { … … 18 35 PhysicsObject alaReuna; 19 36 int kenttäNro = 1; 37 int kenttäMäärä = 3; 20 38 21 39 int palloolemassa; … … 23 41 24 42 Image tntKuva = LoadImage("TNT"); 25 IntMeter pisteet; 26 IntMeter elämät; 43 Image tasoKuva = LoadImage("Palikka"); 44 Image taso2Kuva = LoadImage("Vahvistettu palikka"); 45 Image taso2Kuva2 = LoadImage("Vahvistettu palikka2"); 46 int pisteet; 47 int elämät = 3; 48 IntMeter pisteetL; 49 IntMeter elämätL; 27 50 28 51 List<PhysicsObject> tasot = new List<PhysicsObject>(); 52 List<PhysicsObject> taso2t = new List<PhysicsObject>(); 53 List<PhysicsObject> tntt = new List<PhysicsObject>(); 29 54 30 55 public override void Begin() … … 78 103 79 104 Keyboard.Listen(Key.T, ButtonState.Pressed, AloitaPeli, "Liikuta mailaa vasemmalle"); 80 Keyboard.Listen(Key.R, ButtonState.Pressed, Räjähdys, "Liikuta mailaa vasemmalle", tnt);105 //Keyboard.Listen(Key.R, ButtonState.Pressed, DebugRäjäytys, "Liikuta mailaa vasemmalle"); 81 106 82 107 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 83 //Keyboard.Listen(Key.F2, ButtonState.Pressed, SeuraavaTaso, "Näytä ohjeet", kenttäNro);108 Keyboard.Listen(Key.F2, ButtonState.Pressed, SeuraavaTaso, "Näytä ohjeet"); 84 109 85 110 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); … … 87 112 88 113 } 114 //void DebugRäjäytys() { Räjähdys(tnt.Position); } 89 115 90 116 void LisääLaskurit(int elämät, int pisteet) 91 117 { 92 pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 80.0, pisteet);93 elämät = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 80.0, elämät);118 pisteetL = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 80.0, pisteet); 119 elämätL = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 80.0, elämät); 94 120 } 95 121 … … 116 142 pallo.Destroy(); 117 143 palloolemassa = 0; 118 elämät .Value-= 1;119 if (elämät .Value== 0)144 elämät -= 1; 145 if (elämät == 0) 120 146 { 121 147 HävisitPelin(); 122 148 } 123 Timer.SingleShot(1, AloitaPeli);149 else Timer.SingleShot(1, AloitaPeli); 124 150 } 125 151 if (kohde.Tag.ToString() == "taso") 126 152 { 127 pisteet .Value += 10;153 pisteet += 100; 128 154 Timer.SingleShot(0.01, kohde.Destroy); 129 155 tasot.Remove(kohde); 130 if (tasot.Count == 0) 156 TarkistaVoitto(); 157 } 158 if (kohde.Tag.ToString() == "taso2") 159 { 160 Taso2 taso2 = (Taso2)kohde; 161 taso2.hitPoints--; 162 if (taso2.hitPoints == 1) 163 { taso2.Image = taso2Kuva2; } 164 else if (taso2.hitPoints == 0) 131 165 { 132 SeuraavaTaso(kenttäNro, 3, 0); 166 Timer.SingleShot(0.01, kohde.Destroy); 167 pisteet += 300; 133 168 } 169 taso2t.Remove(kohde); 170 TarkistaVoitto(); 134 171 } 135 172 if (kohde.Tag.ToString() == "TNT") 136 173 { 137 pisteet .Value += 10;138 Räjähdys(kohde );174 pisteet += 100; 175 Räjähdys(kohde.Position); 139 176 Timer.SingleShot(0.01, kohde.Destroy); 140 141 } 177 TarkistaVoitto(); 178 } 179 pisteetL.Value = pisteet; 180 elämätL.Value = elämät; 142 181 143 182 } 144 void SeuraavaTaso(int a, int elämät, int pisteet) 145 { 146 a += 1; 147 SeuraavaTaso2(a, elämät, pisteet); 148 149 } 150 void SeuraavaTaso2(int a, int elämät, int pisteet) 183 void TarkistaVoitto() 184 { 185 if ((tasot.Count == 0) && (tntt.Count == 0)) 186 { 187 Timer.SingleShot(1, SeuraavaTaso); 188 } 189 } 190 void SeuraavaTaso() 191 { 192 tasot.Clear(); 193 tntt.Clear(); 194 kenttäNro += 1; 195 if (kenttäNro > kenttäMäärä) 196 { 197 ClearAll(); 198 Label tekstikentta = new Label("Voitit"); 199 Add(tekstikentta); 200 Timer.SingleShot(5, Exit); 201 } 202 else 203 { 204 ClearAll(); 205 Label tekstikentta = new Label("Pääsit seuraavaan tasoon"); 206 Add(tekstikentta); 207 Timer.SingleShot(2, SeuraavaTaso2); 208 } 209 210 } 211 void SeuraavaTaso2() 151 212 { 152 213 ClearAll(); 153 LuoKenttä( a);214 LuoKenttä(kenttäNro); 154 215 AsetaOhjaimet(); 155 216 LisääLaskurit(elämät, pisteet); … … 157 218 } 158 219 159 void Räjähdys( PhysicsObjectkohde)220 void Räjähdys(Vector kohde) 160 221 { 161 222 162 223 Explosion rajahdys = new Explosion(10); 163 rajahdys.Position = kohde .Position;224 rajahdys.Position = kohde; 164 225 rajahdys.Force = 0; 165 226 Add(rajahdys); … … 170 231 while(i<tasot.Count) 171 232 { 172 if (Vector.Distance(tasot[i].Position, kohde.Position) < 100) 233 if (((tasot[i].X - kohde.X) < 100) && ((tasot[i].X - kohde.X) > -100) 234 && ((tasot[i].Y - kohde.Y) < 80) && ((tasot[i].Y - kohde.Y) > -80)) 173 235 { 174 236 tasot[i].Destroy(); 175 237 tasot.RemoveAt(i); 176 pisteet.Value += 10; 238 pisteet += 100; 239 pisteetL.Value = pisteet; 177 240 } 178 241 else 179 242 { 180 243 i++; 244 } 245 } 246 int o = 0; 247 while (o<tntt.Count) 248 { 249 if (((tntt[o].X - kohde.X) < 100) && ((tntt[o].X - kohde.X) > -100) 250 && ((tntt[o].Y - kohde.Y) < 80) && ((tntt[o].Y - kohde.Y) > -80)) 251 { 252 Vector räjähdysPaikka = tntt[o].Position; 253 tntt[o].Destroy(); 254 tntt.RemoveAt(o); 255 pisteet += 100; 256 pisteetL.Value = pisteet; 257 Räjähdys(räjähdysPaikka); 258 259 } 260 else 261 { 262 o++; 181 263 } 182 264 } … … 190 272 TileMap kentta = TileMap.FromFile("kentta" + x + ".txt"); 191 273 kentta['#'] = lisaaTaso; 274 kentta['!'] = lisaaTaso2; 192 275 kentta['*'] = lisaaTNT; 193 276 kentta['m'] = LuoMaila; … … 201 284 { 202 285 PhysicsObject taso = PhysicsObject.CreateStaticObject(40, 10); 203 taso.Color = Color.Green;204 286 taso.Tag = "taso"; 287 taso.Image = tasoKuva; 205 288 taso.Restitution = 1.0; 206 289 tasot.Add(taso); … … 208 291 } 209 292 293 PhysicsObject lisaaTaso2() 294 { 295 Taso2 taso2 = new Taso2(); 296 taso2.Tag = "taso2"; 297 taso2.Image = taso2Kuva; 298 taso2.Restitution = 1.0; 299 taso2t.Add(taso2); 300 return taso2; 301 } 302 210 303 PhysicsObject lisaaTNT() 211 304 { 212 305 tnt = PhysicsObject.CreateStaticObject(40, 10); 213 //tnt.Image = tntKuva; 306 tnt.Image = tntKuva; 307 tnt.Restitution = 1; 308 tntt.Add(tnt); 214 309 tnt.Tag = "TNT"; 215 310 … … 222 317 maila.Shape = Shape.Rectangle; 223 318 maila.Restitution = 1.0; 319 maila.Color = Color.Green; 224 320 return maila; 225 321 } … … 268 364 void HävisitPelin() 269 365 { 270 MessageDisplay.Add("Hävisit"); 366 ClearAll(); 367 Label tekstikentta = new Label("Hävisit. Sait " + pisteet + " pistettä"); 368 Add(tekstikentta); 369 Timer.SingleShot(3, Exit); 271 370 } 272 371 … … 278 377 { 279 378 pallo.Velocity = new Vector(pallo.Velocity.X, pallo.Velocity.Y * 1.1); 379 280 380 } 281 381 base.Update(time); -
2011/23/iltakuop/Blocks/Blocks/Blocks/kentta2.txt
r1737 r1751 2 2 # # # # # # # # # 3 3 # # # # # # # # # 4 # # # # * # # # # 4 5 # # # # * # # # # 5 6 # # # # # # # # # … … 8 9 9 10 10 11 11 m 12 12 _
Note: See TracChangeset
for help on using the changeset viewer.