- Timestamp:
- 2015-06-12 11:40:37 (7 years ago)
- Location:
- 2015/24/TaneliL/FysiikkaPeli2
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
2015/24/TaneliL/FysiikkaPeli2/FysiikkaPeli2/FysiikkaPeli2/FysiikkaPeli2.cs
r5985 r6061 9 9 public class FysiikkaPeli2 : PhysicsGame 10 10 { 11 Vector nopeusYlös = new Vector(1000, 0);12 11 PhysicsObject Pelaaja; 13 12 14 13 PhysicsObject Alareuna; 15 14 PhysicsObject Ylareuna; 15 16 Timer Ajastin; 17 18 IntMeter PisteLaskuri; 19 Timer LisataanPisteita; 20 21 EasyHighScore topLista = new EasyHighScore(); 22 Image Jouni = LoadImage("Jouninpää"); 23 Image AJ = LoadImage("AJpää"); 24 Image TrollFace = LoadImage("Problem"); 25 Image Reunat = LoadImage("Laidat"); 26 Image Ylalaita = LoadImage("Yläreuna"); 27 28 29 double liikutusNopeus = 70.0; 30 const double OLETUS_LIIKUTUS_NOPEUS = 70.0; 31 16 32 public override void Begin() 17 33 { 18 34 ClearAll(); 19 35 LuoMaailma(0, 0); 36 LuoEste(); 37 LuoPisteLaskuri(); 38 LisataaPiste(); 39 20 40 21 41 22 42 23 Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, "liikuta Pelaajaa Ylös", new Vector (0, 1000)); 43 Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, "liikuta Pelaajaa Ylös", new Vector (0, 1250)); 44 Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, "liikuta Pelaajaa Alas", new Vector(0, -1250)); 24 45 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 25 46 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 47 Keyboard.Listen(Key.Space, ButtonState.Pressed, Begin, "Aloita Alusta"); 26 48 } 27 49 28 50 void LuoMaailma(double x, double y) 29 51 { 30 Pelaaja = new PhysicsObject( 50, 50);52 Pelaaja = new PhysicsObject(70, 70); 31 53 Pelaaja.Shape = Shape.Circle; 32 54 Pelaaja.Color = Color.GreenYellow; 55 Pelaaja.Image = Jouni; 56 Pelaaja.LinearDamping = 0.90; 33 57 Pelaaja.X = x; 34 58 Pelaaja.Y = y; 35 Gravity = new Vector(0, -500);36 59 Add(Pelaaja); 60 61 AddCollisionHandler(Pelaaja, "Este", PelaajaOsuu); 37 62 38 63 Alareuna = Level.CreateBottomBorder(0,true); … … 40 65 Ylareuna = Level.CreateTopBorder(0, true); 41 66 Ylareuna.Width = 2000; 42 PhysicsObject Este = PhysicsObject.CreateStaticObject(100,500); 67 Alareuna.Tag = Ylareuna.Tag = "Este"; 68 Alareuna.Image = Reunat; 69 Ylareuna.Image = Ylalaita; 43 70 44 Add(Este);45 71 46 72 //Level.CreateVerticalBorders(0, true, Color.White); 47 73 Level.Background.Color = Color.Cyan; 48 74 Camera.Follow(Pelaaja); 75 Camera.FollowsY = false; 76 Camera.ZoomFactor = 1.1; 77 78 Ajastin = new Timer(); 79 Ajastin.Interval = 7.5; 80 Ajastin.Timeout += LuoEste; 81 Ajastin.Start(); 82 83 liikutusNopeus = OLETUS_LIIKUTUS_NOPEUS; 49 84 } 50 85 … … 53 88 { 54 89 base.Update(gameTime); 55 Pelaaja. Push(new Vector(70, 0));90 Pelaaja.Move(new Vector(liikutusNopeus, 0)); 56 91 Alareuna.X = Pelaaja.X; 57 92 Ylareuna.X = Pelaaja.X; 58 93 94 liikutusNopeus++; 95 } 96 97 void LuoEste() 98 { 99 PhysicsObject Este = PhysicsObject.CreateStaticObject(200, 500); 100 Este.Color = Color.Gray; 101 Este.Y = RandomGen.NextDouble(Alareuna.Y + Este.Height * 0.5, Ylareuna.Y - Este.Height * 0.5); 102 Este.X = Pelaaja.X + 1000; 103 Este.Image = AJ; 104 Add(Este, -1); 105 Este.Tag = "Este"; 106 107 Ajastin.Interval = RandomGen.NextDouble(3, 5); 108 } 109 110 111 void LiikutaPelaajaa(Vector vektori) 112 { 113 Vector liikutus = new Vector(Pelaaja.Velocity.X, vektori.Y); 114 Pelaaja.Move(liikutus); 115 } 116 117 void PelaajaOsuu(PhysicsObject Pelaaja, PhysicsObject Kohde) 118 { 119 Pelaaja.Destroy(); 120 LisataanPisteita.Stop(); 121 Explosion rajahdys = new Explosion(1000); 122 rajahdys.Position = Pelaaja.Position; 123 rajahdys.Image = TrollFace; 124 rajahdys.UseShockWave = false; 125 Add(rajahdys, 1); 126 rajahdys.Destroyed += delegate 127 { 128 topLista.EnterAndShow(PisteLaskuri.Value); 129 topLista.HighScoreWindow.Closed += AloitaPeli; 130 }; 131 } 132 133 void AloitaAlusta() 134 { 135 PisteLaskuri.Value = PisteLaskuri.DefaultValue; 136 } 137 138 void LuoPisteLaskuri() 139 { 140 PisteLaskuri = new IntMeter(0); 141 PisteLaskuri.MaxValue = 50000000; 142 Label pisteNaytto = new Label(); 143 pisteNaytto.X = Screen.Left + 100; 144 pisteNaytto.Y = Screen.Top - 100; 145 pisteNaytto.TextColor = Color.Black; 146 pisteNaytto.Color = Color.White; 147 pisteNaytto.Title = "Pisteet"; 148 PisteLaskuri.Value = +1; 149 pisteNaytto.BindTo(PisteLaskuri); 150 Add(pisteNaytto); 151 152 LisataanPisteita = new Timer(); 153 LisataanPisteita.Interval = 0.1 ; 154 LisataanPisteita.Timeout += LisataaPiste; 155 LisataanPisteita.Start(); 59 156 60 157 } 158 159 void LisataaPiste() 160 { 161 PisteLaskuri.Value += 1; 162 } 163 164 public void AloitaPeli(Window senter) 165 { 61 166 62 void LiikutaPelaajaa(Vector vektori)63 {64 Pelaaja.Push(vektori);65 167 } 66 168 } -
2015/24/TaneliL/FysiikkaPeli2/FysiikkaPeli2/FysiikkaPeli2Content/FysiikkaPeli2Content.contentproj
r5958 r6061 45 45 <Reference Include="AnimationExtension" /> 46 46 </ItemGroup> 47 <ItemGroup> 48 <Compile Include="Jouninpää.png"> 49 <Name>Jouninpää</Name> 50 <Importer>TextureImporter</Importer> 51 <Processor>TextureProcessor</Processor> 52 </Compile> 53 </ItemGroup> 54 <ItemGroup> 55 <Compile Include="AJpää.png"> 56 <Name>AJpää</Name> 57 <Importer>TextureImporter</Importer> 58 <Processor>TextureProcessor</Processor> 59 </Compile> 60 </ItemGroup> 61 <ItemGroup> 62 <Compile Include="Problem.png"> 63 <Name>Problem</Name> 64 <Importer>TextureImporter</Importer> 65 <Processor>TextureProcessor</Processor> 66 </Compile> 67 </ItemGroup> 68 <ItemGroup> 69 <Compile Include="Laidat.png"> 70 <Name>Laidat</Name> 71 <Importer>TextureImporter</Importer> 72 <Processor>TextureProcessor</Processor> 73 </Compile> 74 </ItemGroup> 75 <ItemGroup> 76 <Compile Include="Yläreuna.png"> 77 <Name>Yläreuna</Name> 78 <Importer>TextureImporter</Importer> 79 <Processor>TextureProcessor</Processor> 80 </Compile> 81 </ItemGroup> 47 82 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 48 83 <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Note: See TracChangeset
for help on using the changeset viewer.