- Timestamp:
- 2015-06-09 11:59:54 (7 years ago)
- Location:
- 2015/24/OskariL
- Files:
-
- 4 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
2015/24/OskariL/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1.cs
r5919 r5929 1 using System; 2 using System.Collections.Generic; 3 using Jypeli; 4 using Jypeli.Assets; 1 using Jypeli; 5 2 using Jypeli.Controls; 6 using Jypeli.Effects;7 3 using Jypeli.Widgets; 8 4 9 5 public class Tasohyppelypeli1 : PhysicsGame 10 6 { 11 const double nopeus = 200;7 const double nopeus = 10000; 12 8 const double hyppyNopeus = 750; 13 9 const int RUUDUN_KOKO = 40; … … 17 13 Image pelaajanKuva = LoadImage("Pulla"); 18 14 Image tahtiKuva = LoadImage("pacman"); 15 Image parsakaaliKuva = LoadImage("parsakaali"); 19 16 20 17 SoundEffect maaliAani = LoadSoundEffect("maali"); 21 18 IntMeter pisteLaskuri; 19 20 bool peliKaynnissa = false; 21 22 Timer liikutusajastin; 23 22 24 23 25 public override void Begin() … … 31 33 Camera.Follow(pelaaja1); 32 34 Camera.ZoomFactor = 1.2; 33 Camera.StayInLevel = true; 34 } 35 35 Camera.StayInLevel = false; 36 37 liikutusajastin = new Timer(); 38 liikutusajastin.Interval = 0.01; 39 liikutusajastin.Timeout += SiirraPelaajaaOikeammalle; 40 liikutusajastin.Start(); 41 42 peliKaynnissa = true; 43 44 45 } 46 void SiirraPelaajaaOikeammalle() 47 { 48 pelaaja1.Push(new Vector(nopeus, 0.0)); 49 50 } 36 51 void LuoKentta() 37 52 { … … 40 55 kentta.SetTileMethod('*', LisaaTahti); 41 56 kentta.SetTileMethod('N', LisaaPelaaja); 42 kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 43 Level.CreateBorders(); 44 Level.Background.CreateGradient(Color.White, Color.SkyBlue); 57 kentta.SetTileMethod('V', LisaaVihollinen); 58 kentta.SetTileMethod('P', LisaaPahis); 59 kentta.SetTileMethod('p', LuoParsakaali); 60 kentta.Execute(); 61 62 Level.CreateLeftBorder(); 63 Level.CreateTopBorder(); 64 Level.CreateBottomBorder(); 65 PhysicsObject oikeaReuna = Level.CreateRightBorder(); 66 oikeaReuna.Tag = "oikea"; 67 68 69 Level.Background.CreateGradient(Color.SkyBlue, Color.Azure); 45 70 } 46 71 … … 50 75 taso.Position = paikka; 51 76 taso.Color = Color.Emerald; 77 taso.Tag = "seina"; 78 52 79 Add(taso); 53 80 } … … 67 94 pelaaja1 = new PlatformCharacter(leveys, korkeus); 68 95 pelaaja1.Position = paikka; 69 pelaaja1.Mass = 4.0;96 pelaaja1.Mass = 3.0; 70 97 pelaaja1.Image = pelaajanKuva; 98 AddCollisionHandler(pelaaja1, "seina", TormaaTasoon); 71 99 AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 100 AddCollisionHandler(pelaaja1, "vihu", TormaaTasoon); 101 AddCollisionHandler(pelaaja1, "oikea", TormaaOikeaanReunaan); 72 102 Add(pelaaja1); 73 103 } 74 104 void LisaaVihollinen(Vector paikka, double leveys, double korkeus) 105 { 106 PhysicsObject vihollinen = new PhysicsObject(leveys, korkeus); 107 vihollinen.Color = Color.Azure; 108 vihollinen.Shape = Shape.Octagon; 109 vihollinen.Position = paikka; 110 vihollinen.IgnoresGravity = true; 111 vihollinen.CanRotate = false; 112 Add(vihollinen); 113 114 } 115 void LisaaPahis(Vector paikka, double leveys, double korkeus) 116 { 117 118 119 PhysicsObject pahis = new PhysicsObject(leveys, korkeus); 120 pahis.Color = Color.DarkRed; 121 pahis.Shape = Shape.Diamond; 122 pahis.Position = paikka; 123 pahis.IgnoresGravity = true; 124 pahis.CanRotate = true; 125 pahis.Oscillate(new Vector(0, 1), korkeus * 1.5, 0.3); 126 127 Add(pahis); 128 129 } 130 131 void LuoParsakaali(Vector paikka, double leveys, double korkeus) 132 { 133 PhysicsObject parsakaali = PhysicsObject.CreateStaticObject(leveys, korkeus); 134 parsakaali.IgnoresCollisionResponse = true; 135 parsakaali.Position = paikka; 136 parsakaali.Image = parsakaaliKuva; 137 parsakaali.Tag = "tahti"; 138 Add(parsakaali); 139 140 } 75 141 void LisaaNappaimet() 76 142 { 77 143 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 78 144 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 79 80 Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);81 Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus);82 145 Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 83 146 84 147 ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 85 86 ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);87 ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);88 148 ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 89 149 90 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 91 } 92 150 } 93 151 void Liikuta(PlatformCharacter hahmo, double nopeus) 94 152 { … … 101 159 } 102 160 161 void TormaaParsakaaliin(PhysicsObject hahmo, PhysicsObject parsakaali) 162 { 163 maaliAani.Play(); 164 pisteLaskuri.Value += 3; 165 MessageDisplay.Add("Popping-whirling!!!"); 166 parsakaali.Destroy(); 167 } 168 103 169 void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti) 104 170 { 105 171 maaliAani.Play(); 172 pisteLaskuri.Value += 1; 106 173 MessageDisplay.Add("Jaa."); 107 174 tahti.Destroy(); … … 115 182 pisteNaytto.Y = Screen.Top - 100; 116 183 pisteNaytto.TextColor = Color.Black; 117 pisteNaytto.Color = Color. White;118 184 pisteNaytto.Color = Color.Transparent; 185 pisteNaytto.Title = "Pisteet:"; 119 186 pisteNaytto.BindTo(pisteLaskuri); 187 pisteLaskuri.AddOverTime(-3, 10); 120 188 Add(pisteNaytto); 121 189 } 190 void TormaaTasoon(PhysicsObject tormaaja, PhysicsObject kohde) 191 { 192 if (peliKaynnissa) 193 { 194 MessageDisplay.Add("Kuolit! :("); 195 Keyboard.Disable(Key.Up); 196 liikutusajastin.Stop(); 197 peliKaynnissa = false; 198 } 199 200 } 201 202 void TormaaOikeaanReunaan(PhysicsObject tormaaja, PhysicsObject kohde) 203 { 204 MessageDisplay.Add("Pääsit kentän läpi"); 205 Gravity = Vector.Zero; 206 StopAll(); 207 Keyboard.Disable(Key.Up); 208 209 } 210 211 122 212 123 213 } -
2015/24/OskariL/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1.csproj.Debug.cachefile
r5919 r5929 3 3 Content\pacman.xnb 4 4 Content\Pulla.xnb 5 Content\parsakaali.xnb -
2015/24/OskariL/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/obj/x86/Debug/ContentPipeline-{D1054F62-B0A3-4AC6-A229-ECA6D20A1699}.xml
r5919 r5929 18 18 <Options>None</Options> 19 19 <Output>C:\MyTemp\OskariL\Tasohyppelypeli1\Tasohyppelypeli1\Tasohyppelypeli1\bin\x86\Debug\Content\kentta1.xnb</Output> 20 <Time>2015-06-0 8T14:59:33.3615707+03:00</Time>20 <Time>2015-06-09T11:03:23.5645603+03:00</Time> 21 21 </Item> 22 22 <Item> … … 37 37 <Output>C:\MyTemp\OskariL\Tasohyppelypeli1\Tasohyppelypeli1\Tasohyppelypeli1\bin\x86\Debug\Content\Pulla.xnb</Output> 38 38 <Time>2015-06-08T14:41:38.4867707+03:00</Time> 39 </Item> 40 <Item> 41 <Source>parsakaali.png</Source> 42 <Name>parsakaali</Name> 43 <Importer>TextureImporter</Importer> 44 <Processor>TextureProcessor</Processor> 45 <Options>None</Options> 46 <Output>C:\MyTemp\OskariL\Tasohyppelypeli1\Tasohyppelypeli1\Tasohyppelypeli1\bin\x86\Debug\Content\parsakaali.xnb</Output> 47 <Time>2015-06-09T10:53:28.2401603+03:00</Time> 39 48 </Item> 40 49 <BuildSuccessful>true</BuildSuccessful> -
2015/24/OskariL/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/obj/x86/Debug/Tasohyppelypeli1.csproj.FileListAbsolute.txt
r5919 r5929 11 11 C:\MyTemp\OskariL\Tasohyppelypeli1\Tasohyppelypeli1\Tasohyppelypeli1\bin\x86\Debug\Content\pacman.xnb 12 12 C:\MyTemp\OskariL\Tasohyppelypeli1\Tasohyppelypeli1\Tasohyppelypeli1\bin\x86\Debug\Content\Pulla.xnb 13 C:\MyTemp\OskariL\Tasohyppelypeli1\Tasohyppelypeli1\Tasohyppelypeli1\bin\x86\Debug\Content\parsakaali.xnb -
2015/24/OskariL/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/obj/x86/Debug/cachefile-{D1054F62-B0A3-4AC6-A229-ECA6D20A1699}-targetpath.txt
r5919 r5929 3 3 Content\pacman.xnb 4 4 Content\Pulla.xnb 5 Content\parsakaali.xnb -
2015/24/OskariL/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1Content/Tasohyppelypeli1Content.contentproj
r5919 r5929 71 71 </Compile> 72 72 </ItemGroup> 73 <ItemGroup> 74 <Compile Include="parsakaali.png"> 75 <Name>parsakaali</Name> 76 <Importer>TextureImporter</Importer> 77 <Processor>TextureProcessor</Processor> 78 </Compile> 79 </ItemGroup> 73 80 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 74 81 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. -
2015/24/OskariL/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1Content/kentta1.txt
r5919 r5929 1 Ž******* 2 ** 3 **** 4 **** ####**********************###### 5 ##** 6 ## 7 ### N * * * * * *** *** *###### 8 ############################################################################################################## 1 ############################################################################ 2 ............................................................................ 3 ..............*.........................*................................... 4 N..........V......VV........*............................................... 5 .....*.......................p....................p......................... 6 ..............V....*........................................p............... 7 .........P...........V....*................*................................ 8 .........P.................................................................. 9 .........P...V......**.........*.......*.........*.......................... 10 ......p.V.V......V......**............*....*....p........*.......*.......... 11 ............................................................................ 12 VVVVVVVVVVVVVV.........V..VVVVVVVVVVVVV.....VVVVV...VVVVVV.....VVV.......VV. 13 ..................VVV.................VV.........VVVp.V.............VVVVVV.. 14 ############################################################################
Note: See TracChangeset
for help on using the changeset viewer.