Changeset 1829 for 2011/23/mianaure
- Timestamp:
- 2011-06-09 16:54:53 (10 years ago)
- Location:
- 2011/23/mianaure/Oma peli/Tasohyppelypeli4
- Files:
-
- 5 added
- 1 deleted
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
2011/23/mianaure/Oma peli/Tasohyppelypeli4/Tasohyppelypeli4/Peli.cs
r1745 r1829 6 6 using Jypeli.Effects; 7 7 using Jypeli.Widgets; 8 using System.Collections.Generic; 9 8 10 9 11 public class Peli : PhysicsGame 12 10 13 { 14 11 15 const double nopeus = 200; 12 16 const double hyppyNopeus = 1000; … … 14 18 15 19 PhysicsObject pelaaja1; 16 20 17 21 Image pelaajanKuva = LoadImage("norsu"); 18 22 … … 23 27 int tahtienmaara = 0; 24 28 int mpainovoima = 5; 29 int tasonro = 1; 30 double aika = 30; 25 31 26 32 SoundEffect maaliAani = LoadSoundEffect("maali"); … … 28 34 29 35 36 DoubleMeter alaspainLaskuri; 37 38 39 30 40 public override void Begin() 31 41 { 42 43 ClearAll(); 44 tahtienmaara = 0; 45 MessageDisplay.Add("Olet kerännyt " + tahtienmaara + " / 3 tähteä"); 46 MessageDisplay.Add("Painovoiman muutoksia jäljellä " + mpainovoima); 47 Gravity = new Vector(0, -1000); 48 minne = "alas"; 49 luoKentta(); 50 lisaaNappaimet(); 51 Camera.Follow(pelaaja1); 52 Camera.ZoomFactor = 1.2; 53 Camera.StayInLevel = true; 54 55 alaspainLaskuri = new DoubleMeter(aika); 56 57 Timer aikaLaskuri = new Timer(); 58 aikaLaskuri.Interval = 0.1; 59 aikaLaskuri.Trigger += LaskeAlaspain; 60 aikaLaskuri.Start(); 61 62 Label aikaNaytto = new Label(); 63 aikaNaytto.TextColor = Color.Black; 64 aikaNaytto.DecimalPlaces = 1; 65 aikaNaytto.BindTo(alaspainLaskuri); 66 Add(aikaNaytto); 67 } 68 69 70 71 void uusialku() 72 { 73 ClearAll(); 74 tahtienmaara = 0; 75 MessageDisplay.Add("Olet kerännyt " + tahtienmaara + " / 3 tähteä"); 76 MessageDisplay.Add("Painovoiman muutoksia jäljellä " + mpainovoima); 77 Gravity = new Vector(0, -1000); 78 minne = "alas"; 79 luoKentta(); 80 lisaaNappaimet(); 81 Camera.Follow(pelaaja1); 82 Camera.ZoomFactor = 1.2; 83 Camera.StayInLevel = true; 84 85 Label aikaNaytto = new Label(); 86 aikaNaytto.TextColor = Color.Black; 87 aikaNaytto.DecimalPlaces = 1; 88 aikaNaytto.BindTo(alaspainLaskuri); 89 Add(aikaNaytto); 90 } 91 92 void LaskeAlaspain(Timer timer) 93 { 94 alaspainLaskuri.Value -= 0.1; 32 95 33 MessageDisplay.Add("Olet kerännyt " + tahtienmaara + " / 3 tähteä"); 34 MessageDisplay.Add("Painovoiman muutoksia jäljellä " + mpainovoima); 35 Gravity = new Vector(0, -1000); 36 minne = "alas"; 37 luoKentta(); 38 lisaaNappaimet(); 39 Camera.Follow(pelaaja1); 40 Camera.ZoomFactor = 1.2; 41 Camera.StayInLevel = true; 42 tahtienmaara = 0; 43 44 45 } 96 97 if (alaspainLaskuri.Value <= 0) 98 { 99 MessageDisplay.Add("Aika loppui..."); 100 timer.Stop(); 101 102 // täydennä mitä tapahtuu, kun aika loppuu 103 } 104 } 105 46 106 47 107 void luoKentta() … … 52 112 kentta['N'] = lisaaPelaaja; 53 113 kentta.Insert(RUUDUN_KOKO, RUUDUN_KOKO); 54 Level.CreateBorders();114 //Level.CreateBorders(); 55 115 Level.Background.CreateGradient(Color.White, Color.LightGray); 116 AddCollisionHandler(pelaaja1, osuTahteen); 56 117 } 57 118 … … 73 134 PhysicsObject lisaaPelaaja() 74 135 { 75 pelaaja1 = new PhysicsObject 136 pelaaja1 = new PhysicsObject(40, 40, Shape.Circle); 76 137 pelaaja1.Mass = 4.0; 77 138 pelaaja1.Image = pelaajanKuva; 78 139 pelaaja1.Restitution = 0.5; 79 140 pelaaja1.CanRotate = false; 80 81 82 83 AddCollisionHandler(pelaaja1, osuTahteen);84 141 return pelaaja1; 85 142 } … … 87 144 void lisaaNappaimet() 88 145 { 89 146 90 147 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä"); 91 148 Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 92 149 Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu oikealle", pelaaja1, nopeus); 93 Keyboard.Listen(Key.Space, ButtonState.Pressed, painov, "Pelaaja hyppää"); 150 Keyboard.Listen(Key.Space, ButtonState.Pressed, painov, "Painovoiman muutos"); 151 Keyboard.Listen(Key.Enter, ButtonState.Pressed, ulosruudusta, "Aloita taso alusta"); 94 152 95 153 //ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); … … 99 157 } 100 158 101 102 159 void liikuta(PhysicsObject hahmo, double nopeus) 103 160 { 104 161 //hahmo.Walk(nopeus); 162 105 163 if (hahmo.Velocity.Magnitude < 200) 106 164 { 107 if (minne == "alas") 108 { 109 110 hahmo.Hit(new Vector(nopeus, 0)); 111 } 112 if (minne == "ylös") 113 { 114 hahmo.Hit(new Vector(nopeus, 0)); 115 } 116 if (minne == "oikea") 117 { 118 hahmo.Hit(new Vector(0, nopeus)); 119 } 120 if (minne == "vasen") 121 { 122 hahmo.Hit(new Vector(0, nopeus)); 123 } 124 } 125 } 165 hahmo.Hit(new Vector(nopeus, 0)); 166 } 167 168 } 169 void ulosruudusta() 170 { 171 alaspainLaskuri.Value -= 10; 172 if (tasonro == 1) 173 { 174 uusialku(); 175 } 176 if (tasonro == 2) 177 { 178 taso2(); 179 } 180 if (tasonro == 3) 181 { 182 taso3(); 183 } 184 if (tasonro == 4) 185 { 186 taso4(); 187 } 188 189 } 190 126 191 127 192 … … 134 199 if (kohde.Tag.ToString() == "tahti") 135 200 { 136 137 201 maaliAani.Play(); 138 202 tahtienmaara++; 139 203 MessageDisplay.Add("Olet kerännyt " + tahtienmaara + " / 3 tähteä"); 204 alaspainLaskuri.Value += 10; 140 205 kohde.Destroy(); 141 206 if (tahtienmaara == 3) 142 207 { 143 208 MessageDisplay.Add("Selvisit tason!!! "); 144 Timer.SingleShot(1.5, taso2); 209 aika = alaspainLaskuri.Value; 210 alaspainLaskuri.Value += 11.5; 211 if (tasonro == 1) 212 { 213 Timer.SingleShot(1.5, taso2); 214 } 215 if (tasonro == 2) 216 { 217 Timer.SingleShot(1.5, taso3); 218 } 219 if (tasonro == 3) 220 { 221 Timer.SingleShot(1.5, taso4); 222 } 223 224 tasonro++; 145 225 } 146 226 } 147 227 } 228 229 148 230 void painov() 149 231 { 150 if (mpainovoima > 0)151 { 152 mpainovoima--;153 MessageDisplay.Add("Painovoiman muutoksia jäljellä " + mpainovoima);232 if (mpainovoima > 0) 233 { 234 mpainovoima--; 235 MessageDisplay.Add("Painovoiman muutoksia jäljellä " + mpainovoima); 154 236 if (minne == "alas") 155 237 { … … 157 239 Gravity = new Vector(0, 1000); 158 240 minne = "ylös"; 241 pelaaja1.Image = pelaajanKuva3; 242 159 243 } 160 else 244 else if (minne == "ylös") 161 245 { 162 246 Gravity = new Vector(0, 0); 163 247 Gravity = new Vector(0, -1000); 164 248 minne = "alas"; 249 pelaaja1.Image = pelaajanKuva; 250 165 251 } 166 252 } 167 253 } 254 255 256 257 258 168 259 void taso2() 169 260 { 170 261 171 minne = "alas"; 172 Gravity = new Vector(0, -1000); 173 pelaaja1.Destroy(); 262 ClearAll(); 263 MessageDisplay.TextColor = Color.Black; 264 tahtienmaara = 0; 265 mpainovoima = 5; 174 266 TileMap kentta = TileMap.FromFile("kentta2.txt"); 175 267 kentta['#'] = lisaaTaso; … … 177 269 kentta['N'] = lisaaPelaaja; 178 270 kentta.Insert(RUUDUN_KOKO, RUUDUN_KOKO); 179 Level.CreateBorders();271 //Level.CreateBorders(); 180 272 Level.Background.CreateGradient(Color.White, Color.LightGray); 181 182 lisaaNappaimet(); 183 painov(); 184 Camera.Follow(pelaaja1); 185 Camera.ZoomFactor = 1.2; 186 Camera.StayInLevel = true; 187 tahtienmaara = 0; 188 mpainovoima = 5; 189 MessageDisplay.Add("Olet kerännyt " + tahtienmaara + " / 3 tähteä"); 190 191 } 192 193 273 274 MessageDisplay.Add("Olet kerännyt " + tahtienmaara + " / 3 tähteä"); 275 MessageDisplay.Add("Painovoiman muutoksia jäljellä " + mpainovoima); 276 Gravity = new Vector(0, -1000); 277 minne = "alas"; 278 lisaaNappaimet(); 279 AddCollisionHandler(pelaaja1, osuTahteen); 280 Camera.Follow(pelaaja1); 281 Camera.ZoomFactor = 1.2; 282 Camera.StayInLevel = true; 283 284 Label aikaNaytto = new Label(); 285 aikaNaytto.TextColor = Color.Black; 286 aikaNaytto.DecimalPlaces = 1; 287 aikaNaytto.BindTo(alaspainLaskuri); 288 Add(aikaNaytto); 289 290 291 292 293 } 294 295 296 void taso3() 297 { 298 299 ClearAll(); 300 301 tahtienmaara = 0; 302 mpainovoima = 6; 303 TileMap kentta = TileMap.FromFile("kentta3.txt"); 304 kentta['#'] = lisaaTaso; 305 kentta['*'] = lisaaTahti; 306 kentta['N'] = lisaaPelaaja; 307 kentta.Insert(RUUDUN_KOKO, RUUDUN_KOKO); 308 //Level.CreateBorders(); 309 Level.Background.CreateGradient(Color.White, Color.LightGray); 310 MessageDisplay.Add("Olet kerännyt " + tahtienmaara + " / 3 tähteä"); 311 MessageDisplay.Add("Painovoiman muutoksia jäljellä " + mpainovoima); 312 lisaaNappaimet(); 313 AddCollisionHandler(pelaaja1, osuTahteen); 314 Camera.Follow(pelaaja1); 315 Camera.ZoomFactor = 1.2; 316 Camera.StayInLevel = true; 317 Gravity = new Vector(0, -1000); 318 minne = "alas"; 319 Label aikaNaytto = new Label(); 320 aikaNaytto.TextColor = Color.Black; 321 aikaNaytto.DecimalPlaces = 1; 322 aikaNaytto.BindTo(alaspainLaskuri); 323 Add(aikaNaytto); 324 325 } 326 327 void taso4() 328 { 329 330 ClearAll(); 331 332 tahtienmaara = 0; 333 mpainovoima = 6; 334 TileMap kentta = TileMap.FromFile("kentta4.txt"); 335 kentta['#'] = lisaaTaso; 336 kentta['*'] = lisaaTahti; 337 kentta['N'] = lisaaPelaaja; 338 kentta.Insert(RUUDUN_KOKO, RUUDUN_KOKO); 339 //Level.CreateBorders(); 340 Level.Background.CreateGradient(Color.White, Color.LightGray); 341 MessageDisplay.Add("Olet kerännyt " + tahtienmaara + " / 3 tähteä"); 342 MessageDisplay.Add("Painovoiman muutoksia jäljellä " + mpainovoima); 343 lisaaNappaimet(); 344 AddCollisionHandler(pelaaja1, osuTahteen); 345 Camera.Follow(pelaaja1); 346 Camera.ZoomFactor = 1.2; 347 Camera.StayInLevel = true; 348 Gravity = new Vector(0, -1000); 349 minne = "alas"; 350 Label aikaNaytto = new Label(); 351 aikaNaytto.TextColor = Color.Black; 352 aikaNaytto.DecimalPlaces = 1; 353 aikaNaytto.BindTo(alaspainLaskuri); 354 Add(aikaNaytto); 355 356 } 194 357 public string minne { get; set; } 195 358 196 359 public object taso { get; set; } 360 361 protected override void Update(Time time) 362 { 363 364 if (pelaaja1.X < Level.Left || pelaaja1.X > Level.Right || pelaaja1.Y < Level.Bottom || pelaaja1.Y > Level.Top) 365 { 366 ulosruudusta(); 367 } 368 base.Update(time); 369 } 197 370 } -
2011/23/mianaure/Oma peli/Tasohyppelypeli4/Tasohyppelypeli4/Tasohyppelypeli4.csproj
r1736 r1829 111 111 </ItemGroup> 112 112 <ItemGroup> 113 <Compile Include="..\..\..\Oma peli parempi.cs" /> 113 114 <Compile Include="Ohjelma.cs" /> 114 <Compile Include="Peli.cs" />115 115 <Compile Include="Properties\AssemblyInfo.cs" /> 116 116 </ItemGroup> 117 117 <ItemGroup> 118 <Content Include="kentta7.txt"> 119 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 120 </Content> 121 <Content Include="kentta6.txt"> 122 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 123 </Content> 124 <Content Include="kentta5.txt"> 125 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 126 </Content> 127 <Content Include="kentta4.txt"> 128 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 129 </Content> 130 <Content Include="kentta3.txt"> 131 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 132 </Content> 118 133 <Content Include="Game.ico" /> 119 134 <Content Include="GameThumbnail.png" />
Note: See TracChangeset
for help on using the changeset viewer.