Changeset 3773
- Timestamp:
- 2012-07-26 15:00:47 (11 years ago)
- Location:
- 2012/30/MatildaL/SquareGuard/SquareGuard
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/30/MatildaL/SquareGuard/SquareGuard/SquareGuard/SquareGuard.cs
r3749 r3773 17 17 Image tahtiKuva = LoadImage("tahti"); 18 18 19 int kenttaNro = 1; 20 IntMeter laskuri; 21 22 List<Label> valikonKohdat; 23 24 19 25 public override void Begin() 20 26 { 21 Alkuvalikko(); 22 Gravity = new Vector(0, -1000); 23 LuoKentta(); 24 LisaaNappaimet(); 25 26 Camera.ZoomFactor = 0.1; 27 Camera.StayInLevel = true; 28 } 29 30 void LuoKentta() 31 { 32 TileMap kentta = TileMap.FromLevelAsset("kentta1"); 27 Valikko(); 28 //Camera.ZoomFactor = 0.1; 29 //Camera.StayInLevel = true; 30 //SeuraavaKentta(); 31 } 32 33 void LuoKentta(string kenttatiedosto) 34 { 35 TileMap kentta = TileMap.FromLevelAsset(kenttatiedosto); 33 36 kentta.SetTileMethod('#', LisaaTaso); 34 37 kentta.SetTileMethod('*', LisaaTahti); 35 38 kentta.SetTileMethod('N', LisaaNelio); 36 39 kentta.SetTileMethod('P', LisaaPallo); 37 //kentta.SetTileMethod('L', LisaaLiikkuva);38 //kentta.SetTileMethod('2', LisaaLiikkuva);39 40 kentta.SetTileMethod('e', LisaaEste); 40 41 kentta.Execute(); … … 81 82 pallo.Color = Color.Ultramarine; 82 83 pallo.Restitution = 1.0; 83 //pallo.Velocity = new Vector(); 84 85 //Vector nopeusYlos = new Vector(0, 200); 86 //Vector nopeusAlas = new Vector(0, -500); 84 pallo.KineticFriction = 0.0; 87 85 88 86 pallo.Velocity = new Vector(0, 300); 87 88 pallo.Position = paikka; 89 89 90 90 AddCollisionHandler(pallo, "tahti", PalloTormaaTahteen); … … 92 92 Add(pallo, 1); 93 93 94 //pallo.IgnoresGravity = true; 95 pallo.IgnoresPhysicsLogics = true; 96 //pallo.IgnoresCollisionResponse = true; 94 pallo.IgnoresPhysicsLogics = true; 97 95 98 96 Vector voima = Vector.FromLengthAndAngle(RandomGen.NextDouble(0.0, 1000.0), RandomGen.NextAngle()); 99 Vector impulssi = new Vector( 500.0, 0.0);97 Vector impulssi = new Vector(600.0, 0.0); 100 98 pallo.Hit(impulssi); 101 99 102 100 pallo.CollisionIgnoreGroup = 1; 103 101 } 104 105 //void LisaaLiikkuva(Vector paikka, double leveys, double korkeus)106 //{107 //PhysicsObject liikkuva = new PhysicsObject(50, 10);108 //liikkuva.Color = Color.Black;109 //liikkuva.CanRotate = false;110 111 //List<Vector> polku = new List<Vector>();112 //polku.Add(new Vector(40, 120));113 //polku.Add(new Vector(-100, 60));114 115 //PathFollowerBrain polkuAivot = new PathFollowerBrain();116 //polkuAivot.Path = polku;117 //polkuAivot.Loop = true;118 //polkuAivot.Speed = 100;119 //polkuAivot.Active = true;120 121 //liikkuva.Position = paikka;122 //liikkuva.Brain = polkuAivot;123 //Add(liikkuva);124 125 //}126 127 //void LisaaLiikkuva2(Vector paikka, double leveys, double korkeus)128 //{129 //PhysicsObject liikkuva2 = new PhysicsObject(50, 10);130 //liikkuva2.Color = Color.Black;131 //liikkuva2.CanRotate = false;132 133 //List<Vector> polku = new List<Vector>();134 //polku.Add(new Vector(-200, -100));135 //polku.Add(new Vector(-100, -200));136 137 //PathFollowerBrain polkuAivot = new PathFollowerBrain();138 //polkuAivot.Path = polku;139 //polkuAivot.Loop = true;140 //polkuAivot.Speed = 100;141 //polkuAivot.Active = true;142 143 //liikkuva2.Position = paikka;144 //liikkuva2.Brain = polkuAivot;145 //Add(liikkuva2);146 //}147 102 148 103 void LisaaEste(Vector paikka, double leveys, double korkeus) … … 155 110 } 156 111 157 158 159 160 112 void LisaaNappaimet() 161 113 { 114 Gravity = new Vector(0, -1000); 115 162 116 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 163 117 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä"); … … 169 123 170 124 ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 171 172 125 ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", nelio, -nopeus); 173 126 ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", nelio, nopeus); … … 190 143 { 191 144 tahti.Destroy(); 145 laskuri.Value += 1; 146 if (laskuri.Value == 8) KaikkiTahdet(); 192 147 } 193 148 … … 199 154 void PalloTormaaTahteen(PhysicsObject pallo, PhysicsObject tahti) 200 155 { 156 SeuraavaKentta(); 157 } 158 159 void AloitaAlusta() 160 { 201 161 ClearAll(); 202 } 203 204 void Alkuvalikko() 205 { 206 MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", 207 "Aloita peli", "Lopeta"); 208 alkuValikko.Color = Color.PaintDotNetMagenta; 209 Add(alkuValikko); 210 } 211 212 void PainettiinValikonNappia(int valinta) 213 { 214 switch (valinta) 162 SeuraavaKentta(); 163 } 164 165 void SeuraavaKentta() 166 { 167 ClearAll(); 168 169 if (kenttaNro == 1) LuoKentta("kentta1"); 170 else if (kenttaNro == 2) LuoKentta("kentta2"); 171 else if (kenttaNro == 3) LuoKentta("kentta3"); 172 else if (kenttaNro > 3) MessageDisplay.Add("Voitto!"); 173 MessageDisplay.MessageTime = new TimeSpan(0, 0, 10); 174 175 LisaaNappaimet(); 176 LuoLaskuri(); 177 } 178 179 void KaikkiTahdet() 180 { 181 //Kasvatetaan kenttänumeroa yhdellä ja siirrytään seuraavaan kenttään: 182 kenttaNro++; 183 SeuraavaKentta(); 184 } 185 186 IntMeter LuoLaskuri() 187 { 188 laskuri = new IntMeter(0); 189 return laskuri; 190 } 191 192 void Valikko() 193 { 194 ClearAll(); // Tyhjennetään kenttä kaikista peliolioista 195 196 valikonKohdat = new List<Label>(); // Alustetaan lista, johon valikon kohdat tulevat 197 198 Label kohta1 = new Label("Aloita uusi peli"); // Luodaan uusi Label-olio, joka toimii uuden pelin aloituskohtana 199 kohta1.Position = new Vector(0, 40); // Asetetaan valikon ensimmäinen kohta hieman kentän keskikohdan yläpuolelle 200 valikonKohdat.Add(kohta1); // Lisätään luotu valikon kohta listaan jossa kohtia säilytetään 201 202 Label kohta2 = new Label("Parhaat pisteet"); 203 kohta2.Position = new Vector(0, 0); 204 valikonKohdat.Add(kohta2); 205 206 Label kohta3 = new Label("Lopeta peli"); 207 kohta3.Position = new Vector(0, -40); 208 valikonKohdat.Add(kohta3); 209 210 // Lisätään kaikki luodut kohdat peliin foreach-silmukalla 211 foreach (Label valikonKohta in valikonKohdat) 215 212 { 216 case 0: 217 // AloitaPeli(); 218 break; 219 case 2: 220 Exit(); 221 break; 213 Add(valikonKohta); 222 214 } 223 } 224 225 215 216 217 218 219 220 } 221 226 222 227 223 -
2012/30/MatildaL/SquareGuard/SquareGuard/SquareGuardContent/SquareGuardContent.contentproj
r3725 r3773 66 66 </Compile> 67 67 </ItemGroup> 68 <ItemGroup> 69 <Compile Include="kentta2.txt"> 70 <Name>kentta2</Name> 71 <Importer>TextFileImporter</Importer> 72 <Processor>TextFileContentProcessor</Processor> 73 </Compile> 74 </ItemGroup> 75 <ItemGroup> 76 <Compile Include="kentta3.txt"> 77 <Name>kentta3</Name> 78 <Importer>TextFileImporter</Importer> 79 <Processor>TextFileContentProcessor</Processor> 80 </Compile> 81 </ItemGroup> 68 82 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 69 83 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. -
2012/30/MatildaL/SquareGuard/SquareGuard/SquareGuardContent/kentta1.txt
r3749 r3773 4 4 ## 5 5 ## ## 6 * *e ##7 ## e ##6 * * e ## 7 ## e v ## 8 8 ## ## 9 ## ##10 ## P * L##9 ## 10 ## * ## ## 11 11 ## 12 12 e e ## * 13 13 * ## ## 14 14 ## * 15 2## ## e15 ## ## e 16 16 N
Note: See TracChangeset
for help on using the changeset viewer.