Changeset 8886
- Timestamp:
- 2017-07-04 14:56:09 (5 years ago)
- Location:
- 2017/27/OskariL/testiasdf
- Files:
-
- 7 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
2017/27/OskariL/testiasdf/testiasdf/testiasdf/obj/x86/Debug/ContentPipeline-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}.xml
r8844 r8886 30 30 </Item> 31 31 <Item> 32 <Source> kentta1.txt</Source>33 <Name> kentta1</Name>32 <Source>1.txt</Source> 33 <Name>1</Name> 34 34 <Importer>TextFileImporter</Importer> 35 35 <Processor>TextFileContentProcessor</Processor> 36 36 <Options>None</Options> 37 <Output>C:\MyTemp\OskariL\testiasdf\testiasdf\testiasdf\bin\x86\Debug\Content\kentta1.xnb</Output> 38 <Time>2017-07-03T14:34:18.207885+03:00</Time> 37 <Output>C:\MyTemp\OskariL\testiasdf\testiasdf\testiasdf\bin\x86\Debug\Content\1.xnb</Output> 38 <Time>2017-07-04T10:22:43.3836281+03:00</Time> 39 </Item> 40 <Item> 41 <Source>2.txt</Source> 42 <Name>2</Name> 43 <Importer>TextFileImporter</Importer> 44 <Processor>TextFileContentProcessor</Processor> 45 <Options>None</Options> 46 <Output>C:\MyTemp\OskariL\testiasdf\testiasdf\testiasdf\bin\x86\Debug\Content\2.xnb</Output> 47 <Time>2017-07-04T10:49:51.5094385+03:00</Time> 48 </Item> 49 <Item> 50 <Source>3.txt</Source> 51 <Name>3</Name> 52 <Importer>TextFileImporter</Importer> 53 <Processor>TextFileContentProcessor</Processor> 54 <Options>None</Options> 55 <Output>C:\MyTemp\OskariL\testiasdf\testiasdf\testiasdf\bin\x86\Debug\Content\3.xnb</Output> 56 <Time>2017-07-04T11:42:15.5525381+03:00</Time> 39 57 </Item> 40 58 <BuildSuccessful>true</BuildSuccessful> -
2017/27/OskariL/testiasdf/testiasdf/testiasdf/obj/x86/Debug/cachefile-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}-targetpath.txt
r8816 r8886 2 2 Content\norsu.xnb 3 3 Content\tahti.xnb 4 Content\kentta1.xnb 4 Content\1.xnb 5 Content\2.xnb 6 Content\3.xnb -
2017/27/OskariL/testiasdf/testiasdf/testiasdf/obj/x86/Debug/testiasdf.csproj.FileListAbsolute.txt
r8816 r8886 4 4 C:\MyTemp\OskariL\testiasdf\testiasdf\testiasdf\bin\x86\Debug\Content\norsu.xnb 5 5 C:\MyTemp\OskariL\testiasdf\testiasdf\testiasdf\bin\x86\Debug\Content\tahti.xnb 6 C:\MyTemp\OskariL\testiasdf\testiasdf\testiasdf\bin\x86\Debug\Content\kentta1.xnb7 6 C:\MyTemp\OskariL\testiasdf\testiasdf\testiasdf\bin\x86\Debug\testiasdf.exe 8 7 C:\MyTemp\OskariL\testiasdf\testiasdf\testiasdf\bin\x86\Debug\testiasdf.pdb … … 11 10 C:\MyTemp\OskariL\testiasdf\testiasdf\testiasdf\obj\x86\Debug\testiasdf.exe 12 11 C:\MyTemp\OskariL\testiasdf\testiasdf\testiasdf\obj\x86\Debug\testiasdf.pdb 12 C:\MyTemp\OskariL\testiasdf\testiasdf\testiasdf\bin\x86\Debug\Content\1.xnb 13 C:\MyTemp\OskariL\testiasdf\testiasdf\testiasdf\bin\x86\Debug\Content\2.xnb 14 C:\MyTemp\OskariL\testiasdf\testiasdf\testiasdf\bin\x86\Debug\Content\3.xnb -
2017/27/OskariL/testiasdf/testiasdf/testiasdf/testiasdf.cs
r8844 r8886 12 12 const int RUUDUN_KOKO = 40; 13 13 bool laskuriPaalla = false; 14 bool alkuvalikkoOhi = false; 15 int kenttanro = 1; 16 int pelaajanhypyt = 1; 14 17 15 18 Timer aikaLaskuri; 16 Timer liikutusajastin; 17 19 Timer taustaLaskuri; 18 20 PlatformCharacter pelaaja1; 19 21 … … 21 23 PhysicsObject ammus; 22 24 PhysicsObject maali; 25 PhysicsObject alareuna; 26 PhysicsObject ylareuna; 23 27 24 28 Image pelaajanKuva = LoadImage("norsu"); … … 28 32 public override void Begin() 29 33 { 30 LuoKentta(); 31 LisaaNappaimet(); 34 35 if(alkuvalikkoOhi == false) 36 { 37 ValikkoTausta(); 38 39 MultiSelectWindow alkuValikko = new MultiSelectWindow("", 40 "Aloita peli", "Lopeta"); 41 alkuValikko.AddItemHandler(0, KenttaValikko); 42 alkuValikko.AddItemHandler(1, Exit); 43 alkuValikko.DefaultCancel = 1; 44 alkuValikko.Shape = Shape.Hexagon; 45 alkuValikko.Color = Color.DarkAzure; 46 Add(alkuValikko); 47 alkuvalikkoOhi = true; 48 } 49 50 } 51 void ValikkoTausta() 52 { 53 Level.Background.CreateGradient(Color.DarkAzure, Color.Azure); 54 taustaLaskuri = new Timer(); 55 taustaLaskuri.Interval = 0.04; 56 taustaLaskuri.Timeout += delegate 57 { 58 LuoAmmus(RandomGen.NextDouble(Level.Left - 450, Level.Right + 450), Level.Bottom - 150, RandomGen.SelectOne(Shape.Diamond, Shape.Ellipse, Shape.Hexagon), Color.Cyan, 2, true); 59 ammus.Hit(new Vector(0.0, RandomGen.NextDouble(4.0, 40.0))); 60 } 61 ; 62 taustaLaskuri.Start(); 63 64 65 } 66 void LuoAmmus(double x, double y, Shape shape, Color vari, int cig, bool ignores) 67 { 68 ammus = new PhysicsObject(32.0, 32.0); 69 ammus.X = x; 70 ammus.Y = y; 71 ammus.Shape = shape; 72 ammus.Color = vari; 73 ammus.CanRotate = true; 74 ammus.IgnoresCollisionResponse = false; 75 ammus.IgnoresExplosions = ignores; 76 ammus.CollisionIgnoreGroup = cig; 77 ammus.IgnoresCollisionWith(ammus); 78 ammus.Tag = "ammus"; 79 Add(ammus); 80 81 82 } 83 void KenttaValikko() 84 { 85 ValikkoTausta(); 86 MultiSelectWindow kenttavalikko = new MultiSelectWindow("", "Kenttä 1", "Kenttä 2", "Kenttä 3", "Takaisin"); 87 kenttavalikko.AddItemHandler(0, PelinAloitus); 88 kenttavalikko.AddItemHandler(1, delegate 89 { 90 kenttanro = 2; 91 PelinAloitus(); 92 } 93 ); 94 kenttavalikko.AddItemHandler(2, delegate 95 { 96 kenttanro = 3; 97 PelinAloitus(); 98 } 99 ); 100 kenttavalikko.AddItemHandler(3, delegate 101 { 102 alkuvalikkoOhi = false; 103 Begin(); 104 } 105 ); 106 kenttavalikko.DefaultCancel = 3; 107 kenttavalikko.Shape = Shape.Hexagon; 108 kenttavalikko.Color = Color.DarkAzure; 109 Add(kenttavalikko); 110 111 } 112 void PelinAloitus() 113 { 114 115 LuoKentta(kenttanro); 116 LisaaNappaimet(); 32 117 Camera.Follow(pelaaja1); 33 118 Camera.ZoomFactor = 1.2; 34 119 Camera.StayInLevel = true; 35 Gravity = new Vector(0, -240); 36 } 37 void SiirraPelaajaaOikeammalle(PhysicsObject pelaaja1) 38 { 39 pelaaja1.Push(new Vector(0, 0)); 40 return; 41 } 42 void LuoKentta() 43 { 44 TileMap kentta = TileMap.FromLevelAsset("kentta1"); 45 kentta.SetTileMethod('#', LisaaTaso); 46 kentta.SetTileMethod('*', LisaaTahti); 120 Gravity = new Vector(0, 0); 121 122 123 } 124 void LuoKentta(int kenttanro) 125 { 126 string kenttanimi = kenttanro.ToString(); 127 TileMap kentta = TileMap.FromLevelAsset(kenttanimi); 128 kentta.SetTileMethod('P', LisaaTaso); 129 kentta.SetTileMethod('A', LisaaTahti); 47 130 kentta.SetTileMethod('N', LisaaPelaaja); 48 131 kentta.SetTileMethod('O', LisaaMaali); 49 132 kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 50 Level.CreateBottomBorder(1, false);51 Level.CreateTopBorder(1, false);133 alareuna = Level.CreateBottomBorder(1, false); 134 ylareuna = Level.CreateTopBorder(1, false); 52 135 Level.CreateHorizontalBorders(1,false, Color.Azure); 53 136 Level.Background.CreateStars(1000); 54 55 56 liikutusajastin = new Timer(); 57 liikutusajastin.Interval = 0.01; 58 liikutusajastin.Timeout += delegate 59 { 60 SiirraPelaajaaOikeammalle(pelaaja1); 61 }; 62 liikutusajastin.Start(); 63 64 } 65 137 Light valo = new Light(); 138 valo.Intensity = 1.0; 139 valo.Distance = 150; 140 valo.X = -300.0; 141 valo.Y = Level.Top - 100; 142 Add(valo); 143 144 145 LoadSoundEffect("maali"); 146 } 66 147 void LisaaTaso(Vector paikka, double leveys, double korkeus) 67 148 { 149 //luodaan oskilloivia tasoja 68 150 taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 69 151 taso.Position = paikka; 70 152 taso.Color = Color.Azure; 71 153 taso.Tag = "taso"; 72 taso.Oscillate(new Vector(leveys, korkeus ), 40, 0.4, 0, 0);73 //taso.Oscillate(new Vector(RandomGen.NextInt(250), RandomGen.NextInt(250)),40,0.5,0,0);154 taso.Oscillate(new Vector(leveys, korkeus*2), 35, 0.7, 0, 0); 155 taso.CollisionIgnoreGroup = 1; 74 156 Add(taso); 75 157 } … … 79 161 maali.Position = paikka; 80 162 maali.Color = new Color(255, 255, 0); 81 AddCollisionHandler(pelaaja1, "pelaaja", TormaaMaaliin(pelaaja1, maali)); 82 83 } 84 void TormaaMaaliin(PhysicsObject pelaaja1, PhysicsObject maali) 85 { 86 ConfirmExit(); 163 AddCollisionHandler(maali, TormaaMaaliin); 164 165 Add(maali); 87 166 } 88 167 void LisaaTahti(Vector paikka, double leveys, double korkeus) 89 168 { 169 //luodaan staattisia tasoja 90 170 PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus); 91 171 tahti.Position = paikka; 92 172 tahti.Color = Color.BloodRed; 93 173 tahti.Tag = "tahti"; 174 tahti.Oscillate(new Vector(300, 100), 55, 0.65, 0, 0); 175 176 94 177 Add(tahti); 95 178 } 96 179 void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 97 180 { 98 pelaaja1 = new PlatformCharacter(leveys, korkeus); 181 //luodaan pelaaja 182 pelaaja1 = new PlatformCharacter(35, 35); 99 183 pelaaja1.Position = paikka; 100 184 pelaaja1.Mass = 3.0; 101 185 pelaaja1.MaintainMomentum = true; 102 pelaaja1.Color = new Color(Color.ForestGreen, 1);186 pelaaja1.Color = Color.ForestGreen; 103 187 pelaaja1.Tag = "pelaaja"; 188 AddCollisionHandler(pelaaja1, PelaajaKuolee); 189 AddCollisionHandler(pelaaja1, "taso", TuplaHyppy); 190 104 191 Add(pelaaja1); 105 192 } … … 110 197 111 198 Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, nopeus); 199 Keyboard.Listen(Key.Down, ButtonState.Pressed, Hyppaa, "Pelaaja laskeutuu", pelaaja1, -nopeus); 112 200 Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaX, "Liikkuu vasemmalle", pelaaja1, -nopeus); 113 Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaX, "Liikkuu vasemmalle", pelaaja1, nopeus);201 Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaX, "Liikkuu oikealle", pelaaja1, nopeus); 114 202 Keyboard.Listen(Key.Z, ButtonState.Pressed, Ammu, "Pelaaja ampuu", pelaaja1); 115 203 204 } 205 void PelaajaKuolee(PhysicsObject pelaaja1, PhysicsObject reuna) 206 { 207 if(pelaaja1.Bottom < Level.Bottom + 20) 208 { 209 Explosion rajahdys = new Explosion(100); 210 rajahdys.Position = pelaaja1.Position; 211 Add(rajahdys); 212 pelaaja1.Destroy(); 213 Timer.SingleShot(1.5, AloitaAlusta); 214 } 215 else if(pelaaja1.Top > Level.Top) 216 { 217 Explosion rajahdys = new Explosion(100); 218 rajahdys.Position = pelaaja1.Position; 219 Add(rajahdys); 220 pelaaja1.Destroy(); 221 Timer.SingleShot(1.5, AloitaAlusta); 222 } 223 if (pelaaja1.Top == maali.Bottom) 224 { 225 TormaaMaaliin(pelaaja1, maali); 226 } 227 if (pelaaja1.Bottom == maali.Top) 228 { 229 TormaaMaaliin(pelaaja1, maali); 230 } 231 if (pelaaja1.Left == maali.Right) 232 { 233 TormaaMaaliin(pelaaja1, maali); 234 } 235 if (pelaaja1.Right == maali.Left) 236 { 237 TormaaMaaliin(pelaaja1, maali); 238 } 239 240 } 241 void TormaaMaaliin(PhysicsObject pelaaja1, PhysicsObject maali) 242 { 243 PlaySound("maali"); 244 if (kenttanro == 3) 245 { 246 PeliOhi(); 247 } 248 if (kenttanro < 3) 249 { 250 kenttanro++; 251 AloitaAlusta(); 252 253 } 254 255 256 } 257 void PeliOhi() 258 { 259 ClearAll(); 260 ValikkoTausta(); 261 MultiSelectWindow voittoruutu = new MultiSelectWindow("Voitit pelin", "Alkuvalikkoon", "Poistu"); 262 voittoruutu.AddItemHandler(0, delegate 263 { 264 alkuvalikkoOhi = false; 265 ClearAll(); 266 Begin(); 267 } 268 ); 269 voittoruutu.AddItemHandler(1, Exit); 270 voittoruutu.SetButtonTextColor(Color.White); 271 voittoruutu.Shape = Shape.Hexagon; 272 voittoruutu.Color = Color.Azure; 273 Add(voittoruutu); 116 274 } 117 275 void Ammu(PlatformCharacter hahmo) … … 172 330 void Hyppaa(PlatformCharacter hahmo, double nopeus) 173 331 { 174 hahmo.Jump(nopeus*3); 175 } 176 332 if (pelaajanhypyt == 1) 333 { 334 hahmo.ForceJump(nopeus); 335 pelaajanhypyt = 0; 336 } 337 } 338 void TuplaHyppy(PhysicsObject pelaaja, PhysicsObject taso) 339 { 340 pelaajanhypyt = 1; 341 return; 342 343 } 344 void AloitaAlusta() 345 { 346 ClearAll(); 347 PelinAloitus(); 348 } 177 349 } -
2017/27/OskariL/testiasdf/testiasdf/testiasdf/testiasdf.csproj.Debug.cachefile
r8816 r8886 2 2 Content\norsu.xnb 3 3 Content\tahti.xnb 4 Content\kentta1.xnb 4 Content\1.xnb 5 Content\2.xnb 6 Content\3.xnb -
2017/27/OskariL/testiasdf/testiasdf/testiasdfContent/testiasdfContent.contentproj
r8816 r8886 61 61 <Processor>TextureProcessor</Processor> 62 62 </Compile> 63 <Compile Include="kentta1.txt"> 64 <Name>kentta1</Name> 63 <Compile Include="1.txt"> 64 <Name>1</Name> 65 <Importer>TextFileImporter</Importer> 66 <Processor>TextFileContentProcessor</Processor> 67 </Compile> 68 </ItemGroup> 69 <ItemGroup> 70 <Compile Include="2.txt"> 71 <Name>2</Name> 72 <Importer>TextFileImporter</Importer> 73 <Processor>TextFileContentProcessor</Processor> 74 </Compile> 75 </ItemGroup> 76 <ItemGroup> 77 <Compile Include="3.txt"> 78 <Name>3</Name> 65 79 <Importer>TextFileImporter</Importer> 66 80 <Processor>TextFileContentProcessor</Processor>
Note: See TracChangeset
for help on using the changeset viewer.