Changeset 5105
- Timestamp:
- 2014-06-25 15:00:24 (9 years ago)
- Location:
- 2014/26/HollyC/Labyrintti
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
2014/26/HollyC/Labyrintti/Labyrintti/Labyrintti/Labyrintti.cs
r5071 r5105 9 9 public class Labyrintti : PhysicsGame 10 10 { 11 PhysicsObject pelaaja; 12 Vector nopeusY = new Vector(0, 200); 13 Vector nopeusX = new Vector(200, 0); 14 15 int kenttaNro; 16 int maxKenttaNro = 3; 17 11 18 public override void Begin() 12 19 { 13 // TODO: Kirjoita ohjelmakoodisi tähän 20 kenttaNro = 1; 21 LuoAlkuvalikko(); 22 23 } 24 25 26 void LuoAlkuvalikko() 27 { 28 MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko","Aloita peli","Lopeta"); 29 Add(alkuValikko); 30 31 alkuValikko.AddItemHandler(0, AloitaPeli); 32 alkuValikko.AddItemHandler(1, Exit); 33 } 34 35 36 void AloitaPeli() 37 { 38 LuoKentta(); 39 LisaaOhjaimet(); 40 41 Camera.FollowedObject = pelaaja; 42 Camera.Zoom(9); 43 Camera.StayInLevel = true; 44 } 45 46 void LuoKentta() 47 { 48 ColorTileMap ruudut = ColorTileMap.FromLevelAsset("Kentta" + kenttaNro); 49 ruudut.SetTileMethod(new Color(76, 255, 0), LuoPelaaja); 50 ruudut.SetTileMethod(Color.Black, LuoSeina); 51 ruudut.SetTileMethod(Color.Red, LuoMaali); 52 ruudut.SetTileMethod(new Color(255, 216, 0), LuoTayte); 53 ruudut.Execute(20, 20); 54 } 55 56 void LuoPelaaja(Vector paikka, double leveys, double korkeus) 57 { 58 pelaaja = new PhysicsObject(10, 10); 59 pelaaja.Position = paikka; 60 pelaaja.Color = Color.Emerald; 61 pelaaja.CanRotate = false; 62 pelaaja.Shape = Shape.Circle; 63 Add(pelaaja); 64 65 AddCollisionHandler(pelaaja, "maali", PaasitMaaliin); 66 } 67 68 69 void LuoSeina(Vector paikka, double leveys, double korkeus) 70 { 71 PhysicsObject seina = PhysicsObject.CreateStaticObject(leveys, korkeus); 72 seina.Position = paikka; 73 seina.Color = Color.Black; 74 Add(seina); 75 } 76 77 void LuoTayte(Vector paikka, double leveys, double korkeus) 78 { 79 GameObject seina = new GameObject(leveys, korkeus); 80 seina.Position = paikka; 81 seina.Color = Color.Black; 82 Add(seina); 83 } 84 85 86 void LuoMaali(Vector paikka, double leveys, double korkeus) 87 { 88 PhysicsObject maali = PhysicsObject.CreateStaticObject(leveys, korkeus); 89 maali.Color = Color.Red; 90 maali.Position = paikka; 91 maali.Tag = "maali"; 92 Add(maali); 93 } 94 95 96 void LisaaOhjaimet() 97 { 98 Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, "liikuttaa pelaajaa ylos", nopeusY); 99 Keyboard.Listen(Key.Up, ButtonState.Released, LiikutaPelaajaa, null, Vector.Zero); 100 Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, "liikuttaa pelaajaa alas", -nopeusY); 101 Keyboard.Listen(Key.Down, ButtonState.Released, LiikutaPelaajaa, null, Vector.Zero); 102 103 Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, "liikuttaa pelaajaa oikealle", nopeusX); 104 Keyboard.Listen(Key.Right, ButtonState.Released, LiikutaPelaajaa, null, Vector.Zero); 105 Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, "liikuttaa pelaajaa vasemmalle", -nopeusX); 106 Keyboard.Listen(Key.Left, ButtonState.Released, LiikutaPelaajaa, null, Vector.Zero); 107 14 108 15 109 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 16 110 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 17 111 } 112 113 114 void LiikutaPelaajaa(Vector nopeus) 115 { 116 pelaaja.Velocity = nopeus; 117 118 } 119 120 121 void PaasitMaaliin(PhysicsObject pelaaja, PhysicsObject kohde) 122 { 123 if (kohde.Tag == "maali") 124 { 125 kenttaNro++; 126 if (kenttaNro > maxKenttaNro) 127 { 128 ClearAll(); 129 Begin(); 130 } 131 else 132 { 133 ClearAll(); 134 AloitaPeli(); 135 } 136 137 } 138 } 139 18 140 } -
2014/26/HollyC/Labyrintti/Labyrintti/LabyrinttiContent/LabyrinttiContent.contentproj
r5071 r5105 45 45 <Reference Include="AnimationExtension" /> 46 46 </ItemGroup> 47 <ItemGroup> 48 <Compile Include="Kentta2.png"> 49 <Name>Kentta2</Name> 50 <Importer>TextureImporter</Importer> 51 <Processor>TextureProcessor</Processor> 52 </Compile> 53 </ItemGroup> 54 <ItemGroup> 55 <Compile Include="Kentta1.png"> 56 <Name>Kentta1</Name> 57 <Importer>TextureImporter</Importer> 58 <Processor>TextureProcessor</Processor> 59 </Compile> 60 </ItemGroup> 61 <ItemGroup> 62 <Compile Include="Kentta5.png"> 63 <Name>Kentta5</Name> 64 <Importer>TextureImporter</Importer> 65 <Processor>TextureProcessor</Processor> 66 </Compile> 67 </ItemGroup> 47 68 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 48 69 <!-- 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.