- Timestamp:
- 2014-06-11 14:55:56 (9 years ago)
- Location:
- 2014/24/AakeR/UkkeliTappelu
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
2014/24/AakeR/UkkeliTappelu/UkkeliTappelu/UkkeliTappelu/King_Of_The_Hill.csproj.Debug.cachefile
r4946 r4956 15 15 Content\Punch.xnb 16 16 Content\Guren_No_Yumiya.xnb 17 Content\Luuranko.xnb 18 Content\InsideVolcano.xnb 19 Content\Winner.xnb 17 20 Content\Guren_No_Yumiya.wma -
2014/24/AakeR/UkkeliTappelu/UkkeliTappelu/UkkeliTappelu/UkkeliTappelu.cs
r4946 r4956 12 12 public bool saaHypätä = true; 13 13 public int suunta = 0; 14 15 private IntMeter staminaLaskuri = new IntMeter(6, 0, 6); 16 public IntMeter StaminaLaskuri { get { return staminaLaskuri; } } 17 18 public bool onJaahylla = false; 19 public bool katsooOikealle = true; 14 20 15 21 public Ukkeli(double leveys, double korkeus) … … 17 23 { 18 24 CanRotate = false; 25 staminaLaskuri.LowerLimit += delegate { 26 onJaahylla = true; 27 Timer.SingleShot(5.0, delegate { onJaahylla = false; } ); 28 }; 19 29 } 20 30 … … 55 65 Image nyrkkiKuvaoikea = LoadImage("Nyrkki"); 56 66 Image nyrkkiKuvavasen = LoadImage("Nyrkki2"); 67 Image luurankoKuva = LoadImage("Luuranko"); 68 Image tulivuoriKuva = LoadImage("InsideVolcano"); 57 69 58 70 SoundEffect hyppyAani = LoadSoundEffect("Jump"); … … 60 72 SoundEffect lyontiAani = LoadSoundEffect("Punch"); 61 73 74 List<Ukkeli> ukkeliList = new List<Ukkeli>(); 75 76 int ukkojenMaara; 77 62 78 public override void Begin() 63 79 { 80 LuoAlkuvalikko(); 81 } 82 83 void LuoAlkuvalikko() 84 { 85 ClearAll(); 86 87 MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko","Aloita peli", "Lopeta"); 88 Add(alkuValikko); 89 90 alkuValikko.AddItemHandler(0, ValitsePelaajat); 91 alkuValikko.AddItemHandler(1, Exit); 92 } 93 94 void ValitsePelaajat() 95 { 96 MultiSelectWindow alkuValikko = new MultiSelectWindow("Montako pelaajaa","2 Pelaajaa", "3 Pelaajaa", "4 Pelaajaa"); 97 Add(alkuValikko); 98 99 alkuValikko.AddItemHandler(0, delegate { AloitaPeli(2); }); 100 alkuValikko.AddItemHandler(1, delegate { AloitaPeli(3); }); 101 alkuValikko.AddItemHandler(2, delegate { AloitaPeli(4); }); 102 } 103 104 void AloitaPeli(int PelaajaMaara) 105 { 64 106 Gravity = new Vector(0, -1000); 65 107 66 LuoKentta(); 67 LisaaNappaimet(); 108 LuoKentta(PelaajaMaara); 109 LisaaNappaimet(PelaajaMaara); 110 MediaPlayer.Play("Guren_No_Yumiya"); 111 MediaPlayer.Volume = 0.4; 68 112 69 113 //Camera.Follow(pelaaja1, pelaaja2, pelaaja3, pelaaja4); … … 71 115 Camera.ZoomToLevel(); 72 116 //Camera.StayInLevel = true; 73 //Camera.Velocity = new Vector(0, 5); 74 } 75 76 void LuoKentta() 77 { 117 //Camera.Velocity = new Vector(0, 0); 118 119 Timer ajastinStamina = new Timer(); 120 ajastinStamina.Interval = 1.5; 121 ajastinStamina.Timeout += delegate 122 { 123 foreach (Ukkeli ukkeli in ukkeliList) 124 { 125 if (ukkeli.StaminaLaskuri.Value >= 6) continue; 126 if (!ukkeli.onJaahylla) ukkeli.StaminaLaskuri.Value++; 127 } 128 }; 129 ajastinStamina.Start(); 130 131 ukkojenMaara = ukkeliList.Count; 132 } 133 134 void Voitto() 135 { 136 GameObject voitto = new GameObject(200, 100); 137 voitto.Image = LoadImage("Winner"); 138 Add(voitto); 139 140 Timer.SingleShot(5.0, delegate { LuoAlkuvalikko(); }); 141 } 142 143 void LuoKentta(int PelaajaMaara) 144 { 145 ukkeliList.Clear(); 78 146 TileMap kentta = TileMap.FromLevelAsset("kentta1"); 79 147 kentta.SetTileMethod('#', LisaaTaso); 148 kentta.SetTileMethod('1', LisaaPelaaja1); 80 149 kentta.SetTileMethod('2', LisaaPelaaja2); 81 kentta.SetTileMethod('1', LisaaPelaaja1); 82 kentta.SetTileMethod('3', LisaaPelaaja3); 83 kentta.SetTileMethod('4', LisaaPelaaja4); 150 if(PelaajaMaara>=3) kentta.SetTileMethod('3', LisaaPelaaja3); 151 if (PelaajaMaara >= 4) kentta.SetTileMethod('4', LisaaPelaaja4); 84 152 kentta.Optimize('#'); 85 153 kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 86 Level.CreateBorders(); 154 Level.CreateBorders(1.0, false); 155 Level.Background.Color = Color.Black; 87 156 Level.Background.CreateGradient(Color.Orange, Color.DarkRed ); 157 Level.Background.Image = tulivuoriKuva; 158 Level.Background.FitToLevel(); 88 159 PhysicsObject Laava = PhysicsObject.CreateStaticObject(Level.Width, 800); 89 160 Add(Laava); … … 122 193 AddCollisionHandler(pelaaja, "laava", TormaaLaavaan); 123 194 AddCollisionHandler(pelaaja, "Seina", TormaaSeinaan); 124 Add(pelaaja); 195 Add(pelaaja); 125 196 return pelaaja; 126 197 } … … 130 201 pelaaja1 = LuoPelaaja(leveys, korkeus, pelaajan1Kuva); 131 202 pelaaja1.Position = paikka; 203 204 ukkeliList.Add(pelaaja1); 205 206 Label staminaKuvaaja1 = new Label(pelaaja1.StaminaLaskuri); 207 staminaKuvaaja1.Position = new Vector(Level.Left + 50, Screen.Top -20); 208 Add(staminaKuvaaja1); 132 209 } 133 210 … … 136 213 pelaaja2 = LuoPelaaja(leveys, korkeus, pelaajan2Kuva); 137 214 pelaaja2.Position = paikka; 215 216 ukkeliList.Add(pelaaja2); 217 218 Label staminaKuvaaja2 = new Label(pelaaja2.StaminaLaskuri); 219 staminaKuvaaja2.Position = new Vector(Level.Left + 300, Screen.Top - 20); 220 Add(staminaKuvaaja2); 138 221 } 139 222 … … 142 225 pelaaja3 = LuoPelaaja(leveys, korkeus, pelaajan3Kuva); 143 226 pelaaja3.Position = paikka; 227 228 ukkeliList.Add(pelaaja3); 229 230 Label staminaKuvaaja3 = new Label(pelaaja3.StaminaLaskuri); 231 staminaKuvaaja3.Position = new Vector(Level.Left + 550, Screen.Top - 20); 232 Add(staminaKuvaaja3); 144 233 } 145 234 … … 148 237 pelaaja4 = LuoPelaaja(leveys, korkeus, pelaajan4Kuva); 149 238 pelaaja4.Position = paikka; 150 } 151 152 153 154 void LisaaNappaimet() 239 240 ukkeliList.Add(pelaaja4); 241 242 Label staminaKuvaaja4 = new Label(pelaaja4.StaminaLaskuri); 243 staminaKuvaaja4.Position = new Vector(Level.Left + 800, Screen.Top - 20); 244 Add(staminaKuvaaja4); 245 } 246 247 248 249 void LisaaNappaimet(int PelaajaMaara) 155 250 { 156 251 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); … … 167 262 Keyboard.Listen(Key.S, ButtonState.Pressed, Lyo, "Pelaaja lyö", pelaaja2, new Ukkeli[] {pelaaja1, pelaaja3, pelaaja4}); 168 263 169 Keyboard.Listen(Key.J, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja3, -1); 170 Keyboard.Listen(Key.L, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja3, 1); 171 Keyboard.Listen(Key.I, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja3, hyppyNopeus); 172 Keyboard.Listen(Key.K, ButtonState.Pressed, Lyo, "Pelaaja lyö", pelaaja3, new Ukkeli[] { pelaaja1, pelaaja2, pelaaja4 }); 173 174 Keyboard.Listen(Key.NumPad4, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja4, -1); 175 Keyboard.Listen(Key.NumPad6, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja4, 1); 176 Keyboard.Listen(Key.NumPad8, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja4, hyppyNopeus); 177 Keyboard.Listen(Key.NumPad5, ButtonState.Pressed, Lyo, "Pelaaja lyö", pelaaja4, new Ukkeli[] { pelaaja1, pelaaja2, pelaaja3 }); 264 if (PelaajaMaara >= 3) 265 { 266 Keyboard.Listen(Key.J, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja3, -1); 267 Keyboard.Listen(Key.L, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja3, 1); 268 Keyboard.Listen(Key.I, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja3, hyppyNopeus); 269 Keyboard.Listen(Key.K, ButtonState.Pressed, Lyo, "Pelaaja lyö", pelaaja3, new Ukkeli[] { pelaaja1, pelaaja2, pelaaja4 }); 270 } 271 272 if (PelaajaMaara >= 4) 273 { 274 Keyboard.Listen(Key.NumPad4, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja4, -1); 275 Keyboard.Listen(Key.NumPad6, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja4, 1); 276 Keyboard.Listen(Key.NumPad8, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja4, hyppyNopeus); 277 Keyboard.Listen(Key.NumPad5, ButtonState.Pressed, Lyo, "Pelaaja lyö", pelaaja4, new Ukkeli[] { pelaaja1, pelaaja2, pelaaja3 }); 278 } 178 279 179 280 ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); … … 188 289 void Lyo(Ukkeli hahmo, Ukkeli[] muut) 189 290 { 190 if (hahmo.IsDestroyed) return; 291 if (hahmo.IsDestroyed || hahmo.onJaahylla) return; 292 hahmo.StaminaLaskuri.Value--; 191 293 192 294 PhysicsObject Nyrkki = PhysicsObject.CreateStaticObject(20, 30); … … 202 304 { 203 305 pelaaja.Hit((pelaaja.Position - nyrkki.Position).Normalize() * 1500); 306 lyontiAani.Play(); 204 307 //pelaaja.Velocity = (pelaaja.Position - nyrkki.Position).Normalize() * 1500; 205 308 } … … 209 312 void Liikuta(Ukkeli hahmo, int suunta) 210 313 { 314 if (suunta < 0 && hahmo.katsooOikealle) 315 { 316 hahmo.MirrorImage(); 317 hahmo.katsooOikealle = false; 318 } 319 else if (suunta >= 0 && !hahmo.katsooOikealle) 320 { 321 hahmo.MirrorImage(); 322 hahmo.katsooOikealle = true; 323 } 211 324 hahmo.Liiku(suunta); 212 325 } … … 215 328 { 216 329 hahmo.Hyppää(); 330 hyppyAani.Play(); 217 331 } 218 332 … … 226 340 { 227 341 hahmo.Destroy(); 342 ukkojenMaara--; 343 PhysicsObject Luuranko = new PhysicsObject(RUUDUN_KOKO, RUUDUN_KOKO); 344 Luuranko.IgnoresCollisionResponse = true; 345 Luuranko.Image = luurankoKuva; 346 Luuranko.Position = hahmo.Position; 347 Add(Luuranko); 348 Luuranko.Hit(new Vector(RandomGen.NextDouble(-100, 100),400)); 349 if (ukkojenMaara == 1) Voitto(); 228 350 } 229 351 … … 231 353 { 232 354 (hahmo as Ukkeli).saaHypätä = true; 355 laskeutumisAani.Play(); 233 356 } 234 357 } 358 359 360 361 -
2014/24/AakeR/UkkeliTappelu/UkkeliTappelu/UkkeliTappelu/obj/x86/Debug/ContentPipeline-{F0CD7E3F-4B43-40E5-992E-7DFE6F07241C}.xml
r4946 r4956 36 36 <Options>None</Options> 37 37 <Output>C:\MyTemp\AakeR\UkkeliTappelu\UkkeliTappelu\UkkeliTappelu\bin\x86\Debug\Content\kentta1.xnb</Output> 38 <Time>2014-06-11T1 0:30:09.0386766+03:00</Time>38 <Time>2014-06-11T14:53:41.6428682+03:00</Time> 39 39 </Item> 40 40 <Item> … … 146 146 <Extra>C:\MyTemp\AakeR\UkkeliTappelu\UkkeliTappelu\UkkeliTappelu\bin\x86\Debug\Content\Guren_No_Yumiya.wma</Extra> 147 147 <Time>2014-06-11T10:07:50.0407902+03:00</Time> 148 </Item> 149 <Item> 150 <Source>Luuranko.png</Source> 151 <Name>Luuranko</Name> 152 <Importer>TextureImporter</Importer> 153 <Processor>TextureProcessor</Processor> 154 <Options>None</Options> 155 <Output>C:\MyTemp\AakeR\UkkeliTappelu\UkkeliTappelu\UkkeliTappelu\bin\x86\Debug\Content\Luuranko.xnb</Output> 156 <Time>2014-06-11T12:58:39.4366273+03:00</Time> 157 </Item> 158 <Item> 159 <Source>InsideVolcano.png</Source> 160 <Name>InsideVolcano</Name> 161 <Importer>TextureImporter</Importer> 162 <Processor>TextureProcessor</Processor> 163 <Options>None</Options> 164 <Output>C:\MyTemp\AakeR\UkkeliTappelu\UkkeliTappelu\UkkeliTappelu\bin\x86\Debug\Content\InsideVolcano.xnb</Output> 165 <Time>2014-06-11T14:42:17.7984906+03:00</Time> 166 </Item> 167 <Item> 168 <Source>Winner.png</Source> 169 <Name>Winner</Name> 170 <Importer>TextureImporter</Importer> 171 <Processor>TextureProcessor</Processor> 172 <Options>None</Options> 173 <Output>C:\MyTemp\AakeR\UkkeliTappelu\UkkeliTappelu\UkkeliTappelu\bin\x86\Debug\Content\Winner.xnb</Output> 174 <Time>2014-06-11T14:03:32.5069847+03:00</Time> 148 175 </Item> 149 176 <BuildSuccessful>true</BuildSuccessful> -
2014/24/AakeR/UkkeliTappelu/UkkeliTappelu/UkkeliTappelu/obj/x86/Debug/King_Of_The_Hill.csproj.FileListAbsolute.txt
r4946 r4956 24 24 C:\MyTemp\AakeR\UkkeliTappelu\UkkeliTappelu\UkkeliTappelu\bin\x86\Debug\Content\Guren_No_Yumiya.xnb 25 25 C:\MyTemp\AakeR\UkkeliTappelu\UkkeliTappelu\UkkeliTappelu\bin\x86\Debug\Content\Guren_No_Yumiya.wma 26 C:\MyTemp\AakeR\UkkeliTappelu\UkkeliTappelu\UkkeliTappelu\bin\x86\Debug\Content\Luuranko.xnb 27 C:\MyTemp\AakeR\UkkeliTappelu\UkkeliTappelu\UkkeliTappelu\bin\x86\Debug\Content\InsideVolcano.xnb 28 C:\MyTemp\AakeR\UkkeliTappelu\UkkeliTappelu\UkkeliTappelu\bin\x86\Debug\Content\Winner.xnb -
2014/24/AakeR/UkkeliTappelu/UkkeliTappelu/UkkeliTappelu/obj/x86/Debug/cachefile-{F0CD7E3F-4B43-40E5-992E-7DFE6F07241C}-targetpath.txt
r4946 r4956 16 16 Content\Guren_No_Yumiya.xnb 17 17 Content\Guren_No_Yumiya.wma 18 Content\Luuranko.xnb 19 Content\InsideVolcano.xnb 20 Content\Winner.xnb -
2014/24/AakeR/UkkeliTappelu/UkkeliTappelu/UkkeliTappeluContent/UkkeliTappeluContent.contentproj
r4946 r4956 143 143 </Compile> 144 144 </ItemGroup> 145 <ItemGroup> 146 <Compile Include="Luuranko.png"> 147 <Name>Luuranko</Name> 148 <Importer>TextureImporter</Importer> 149 <Processor>TextureProcessor</Processor> 150 </Compile> 151 </ItemGroup> 152 <ItemGroup> 153 <Compile Include="InsideVolcano.png"> 154 <Name>InsideVolcano</Name> 155 <Importer>TextureImporter</Importer> 156 <Processor>TextureProcessor</Processor> 157 </Compile> 158 </ItemGroup> 159 <ItemGroup> 160 <Compile Include="Winner.png"> 161 <Name>Winner</Name> 162 <Importer>TextureImporter</Importer> 163 <Processor>TextureProcessor</Processor> 164 </Compile> 165 </ItemGroup> 145 166 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 146 167 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. -
2014/24/AakeR/UkkeliTappelu/UkkeliTappelu/UkkeliTappeluContent/kentta1.txt
r4946 r4956 1 1 2 2 3 ##4 5 6 ## ##3 ## 4 5 6 ## ## 7 7 8 8 9 #### ####10 9 #### #### 10 11 11 12 ###### ######12 ###### ###### 13 13 14 14 15 ######## ########16 17 1 2 3 418 ###################### 15 ######## ######## 16 17 1 2 3 4 18 ##########################################
Note: See TracChangeset
for help on using the changeset viewer.