- Timestamp:
- 2014-06-12 15:01:45 (9 years ago)
- Location:
- 2014/24/PietuR/Ukkelipeli
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
2014/24/PietuR/Ukkelipeli/Ukkelipeli/Ukkelipeli/Ukkelipeli.cs
r4962 r4989 9 9 public class Ukkelipeli : PhysicsGame 10 10 { 11 12 11 13 bool voikoHypata = true; 12 14 PhysicsObject Pallo = new PhysicsObject(30, 30); … … 19 21 20 22 FollowerBrain seuraajanAivot; 23 RandomMoverBrain satunnaisAivot; 21 24 22 25 AxleJoint liitos; … … 28 31 Image Miekankuva = LoadImage("Miekka"); 29 32 Image Tahtaimenkuva = LoadImage("Tahtain"); 30 Image Tikarinkuva = LoadImage("Tikari"); 33 Image Luodinkuva = LoadImage("Luoti"); 34 Image Paa1 = LoadImage("Paa1"); 35 Image Paa2 = LoadImage("Paa2"); 36 Image Keho1 = LoadImage("Keho1"); 37 Image Keho2 = LoadImage("Keho2"); 31 38 32 39 TileMap ruudut = TileMap.FromLevelAsset("Kentta"); … … 36 43 ruudut.Execute(); 37 44 45 Camera.ZoomToLevel(); 46 38 47 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 39 48 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); … … 44 53 Level.Background.CreateGradient(RandomGen.NextColor(), RandomGen.NextColor()); 45 54 46 /*PhysicsStructure Tyyppi = new PhysicsStructure();47 Tyyppi.Position = new Vector(0, -290);48 49 PhysicsObject Ukkeli = new PhysicsObject(45, 80);50 Ukkeli.Mass = 15;51 Ukkeli.Position = new Vector(0, 0);52 Ukkeli.Image = Ukkelinkuva;53 Ukkeli.CanRotate = false;54 Ukkeli.Shape = Shape.FromImage(Ukkelinkuva);55 Ukkeli.CollisionIgnoreGroup = 1;56 Tyyppi.Add(Ukkeli);57 58 59 PhysicsObject Miekka = new PhysicsObject(139.5, 15);60 Miekka.Mass = 0.01;61 Miekka.Shape = Shape.FromImage(Miekankuva);62 Miekka.Image = Miekankuva;63 Miekka.Position = new Vector(70, -20);64 Miekka.IgnoresCollisionResponse = true;65 Miekka.CollisionIgnoreGroup = 1;66 Tyyppi.Add(Miekka);67 68 Pallo.Mass = 0.1;69 Pallo.Image = Tahtaimenkuva;70 Pallo.Shape = Shape.FromImage(Tahtaimenkuva);71 Pallo.Position = new Vector(140, -15);72 Pallo.CollisionIgnoreGroup = 1;73 Add(Pallo);74 Pallo.IsVisible = true;75 Pallo.CanRotate = true;76 Pallo.IgnoresCollisionResponse = true;77 Pallo.IgnoresGravity = true;78 Mouse.IsCursorVisible = false;79 Mouse.ListenMovement(0.1, KuunteleLiiketta, null);80 81 82 FollowerBrain seuraajanAivot = new FollowerBrain(Pallo);83 Miekka.Brain = seuraajanAivot;84 seuraajanAivot.Speed = 10000;85 86 //LiitaYhteen(Miekka, Ukkeli, new Vector(-69.75, 0));87 //LiitaYhteen(Miekka, Pallo, new Vector(69.75, 0));88 89 90 TileMap ruudut = TileMap.FromLevelAsset("kentta");91 */92 93 94 //Surfaces s = Level.CreateBorders(1.0, true, RandomGen.NextColor());95 //ruudut.Tag = "lattia";96 55 AddCollisionHandler(Ukkeli, "lattia", delegate(PhysicsObject tormaaja, PhysicsObject kohde) { voikoHypata = true; }); 97 //AddCollisionHandler(Pallo, "lattia", lattianlapi); 56 98 57 99 58 … … 128 87 Timer ajastin = new Timer(); 129 88 ajastin.Interval = 0.5; 130 ajastin.Timeout += delegate { LuoAse(Tikarinkuva, 91, 15 ); };89 ajastin.Timeout += delegate { LuoAse(Tikarinkuva, 91, 15, 500); }; 131 90 ajastin.Start(); 132 91 92 93 Timer ajastin2 = new Timer(); 94 ajastin2.Interval = 5; 95 ajastin2.Timeout += delegate { LuoAse(Luodinkuva, 30, 20, 1500); }; 96 ajastin2.Start(); 133 97 } 134 98 … … 137 101 if (ase.Tag.ToString() == "Ase") 138 102 { 103 104 Image Paa1 = LoadImage("Paa1"); 105 Image Paa2 = LoadImage("Paa2"); 106 Image Keho1 = LoadImage("Keho1"); 107 Image Keho2 = LoadImage("Keho2"); 108 Image Veri = LoadImage("Veri"); 109 139 110 tormaaja.Destroy(); 140 111 seuraajanAivot.Active = false; 112 Vector uusivektori0 = new Vector(tormaaja.AbsolutePosition.X - 10, tormaaja.AbsolutePosition.Y); 113 Lisaaosa(uusivektori0, Keho1, 35, 48); 114 Vector uusivektori = new Vector(tormaaja.AbsolutePosition.X + 35, tormaaja.AbsolutePosition.Y); 115 Lisaaosa(uusivektori, Keho2, 38, 52); 116 Vector uusivektori2 = new Vector(tormaaja.AbsolutePosition.X, tormaaja.AbsolutePosition.Y + 52); 117 Lisaaosa(uusivektori2, Paa1, 50, 50); 118 Vector uusivektori3 = new Vector(tormaaja.AbsolutePosition.X + 38, tormaaja.AbsolutePosition.Y + 52); 119 Lisaaosa(uusivektori3, Paa2, 50, 50); 120 121 int pMax = 200; 122 ExplosionSystem rajahdys = new ExplosionSystem(LoadImage("Veri"), pMax); 123 rajahdys.MaxScale = 2; 124 Add(rajahdys); 125 int pMaara = 100; 126 rajahdys.AddEffect(tormaaja.AbsolutePosition.X, tormaaja.AbsolutePosition.Y, pMaara); 127 128 Explosion rajahdys2 = new Explosion(50); 129 rajahdys2.Position = tormaaja.Position; 130 rajahdys2.Image = null; 131 rajahdys2.Sound = null; 132 rajahdys2.Speed = 500.0; 133 rajahdys2.Force = 2000; 134 Add(rajahdys2); 141 135 } 142 136 } 137 void Lisaaosa(Vector paikka, Image kuva, double korkeus, double leveys) 138 { 139 PhysicsObject Osa = new PhysicsObject(korkeus, leveys); 140 Osa.Mass = 4; 141 Osa.Position = paikka; 142 Osa.Shape = Shape.FromImage(kuva); 143 Osa.Image = kuva; 144 Add(Osa); 145 146 147 } 148 149 143 150 void LiikutaKohdetta(Vector vektori, PhysicsObject Kohde) 144 151 { … … 185 192 Image Tahtaimenkuva = LoadImage("Tahtain"); 186 193 Image Tikarinkuva = LoadImage("Tikari"); 187 188 //PhysicsStructure Tyyppi = new PhysicsStructure();189 //Tyyppi.Position = paikka;190 191 //PhysicsObject Ukkeli = new PhysicsObject(45, 80);192 194 Ukkeli.Mass = 15; 193 195 Ukkeli.KineticFriction = 0.0; … … 195 197 Ukkeli.Image = Ukkelinkuva; 196 198 Ukkeli.CanRotate = false; 197 //Ukkeli.Shape = Shape.FromImage(Ukkelinkuva);198 199 Ukkeli.Shape = Shape.Rectangle; 199 200 Ukkeli.CollisionIgnoreGroup = 1; 200 201 Add(Ukkeli); 201 //Tyyppi.Add(Ukkeli);202 203 204 205 202 206 203 Miekka = new PhysicsObject(139.5, 15); … … 214 211 LiitaYhteen(Ukkeli, Miekka, Vector.Zero); 215 212 213 AddCollisionHandler(Miekka, Torjunta); 214 215 216 216 AddCollisionHandler(Ukkeli, Osuma); 217 218 219 220 //Tyyppi.Add(Miekka);221 217 222 218 Pallo.Mass = 0.1; … … 234 230 Mouse.ListenMovement(0.1, KuunteleLiiketta, null); 235 231 236 237 232 seuraajanAivot = new FollowerBrain(Pallo); 238 233 Miekka.Brain = seuraajanAivot; … … 241 236 seuraajanAivot.DistanceClose = 100; 242 237 seuraajanAivot.Active = true; 243 //seuraajanAivot.TurnWhileMoving = true;244 238 245 239 } 246 240 247 protected override void Update(Time time) 248 { 249 if (!Miekka.IsInsideRect(Pallo.Position)) 250 { 251 //Angle kulma = (Pallo.AbsolutePosition - Miekka.AbsolutePosition).Angle; 252 //Miekka.Angle = kulma; 253 } 254 255 base.Update(time); 256 } 257 void LuoAse(Image kuva, double korkeus, double leveys) 241 void LuoAse(Image kuva, double korkeus, double leveys, double nopeus) 258 242 { 259 243 PhysicsObject Ase = new PhysicsObject(korkeus, leveys); … … 263 247 Ase.CollisionIgnoreGroup = 3; 264 248 Ase.Tag = "Ase"; 265 Ase.Position = new Vector(RandomGen.NextDouble(Level.Left - 200, Level.Right + 200), RandomGen.NextDouble(Level.Bottom - 200, Level.Top + 200)); 249 Ase.MaximumLifetime = TimeSpan.FromSeconds(20); 250 251 Vector vektori1 = new Vector(RandomGen.NextDouble(Level.Right, Level.Right + 300), RandomGen.NextDouble(Level.Bottom, Level.Top)); 252 Vector vektori2 = new Vector(RandomGen.NextDouble(Level.Left - 300, Level.Left), RandomGen.NextDouble(Level.Bottom, Level.Top)); 253 Vector vektori3 = new Vector(RandomGen.NextDouble(Level.Left - 300, Level.Right + 300), RandomGen.NextDouble(Level.Top, Level.Top + 300)); 254 255 int vektorinumero; 256 vektorinumero = RandomGen.NextInt(1,4); 257 258 if (vektorinumero == 1) 259 { 260 Ase.Position = vektori1; 261 } 262 else 263 { 264 if (vektorinumero == 2) 265 { 266 Ase.Position = vektori2; 267 } 268 else 269 { 270 Ase.Position = vektori3; 271 } 272 } 273 274 //Ase.Position = new Vector(RandomGen.NextDouble(Level.Left - 200, Level.Right + 200), RandomGen.NextDouble(Level.Bottom, Level.Top + 200)); 266 275 Add(Ase); 267 Ase.Hit(new Vector(RandomGen.NextDouble(Level.Left - 200, Level.Right + 200), RandomGen.NextDouble(Level.Bottom - 200, Level.Top + 200)));268 269 RandomMoverBrainsatunnaisAivot = new RandomMoverBrain(200);276 //Ase.Hit(new Vector(RandomGen.NextDouble(Level.Left - 200, Level.Right + 200), RandomGen.NextDouble(Level.Bottom - 200, Level.Top + 200))); 277 278 /*satunnaisAivot = new RandomMoverBrain(200); 270 279 satunnaisAivot.ChangeMovementSeconds = 100000000; 271 280 Ase.Brain = satunnaisAivot; 272 satunnaisAivot.TurnWhileMoving = true; 273 281 satunnaisAivot.TurnWhileMoving = true;*/ 282 283 Ase.Hit((Ukkeli.AbsolutePosition - Ase.AbsolutePosition).Normalize() * nopeus); 284 Ase.Angle = Ase.Velocity.Angle; 285 } 286 287 void Torjunta(PhysicsObject miekka, PhysicsObject kohde) 288 { 289 if (kohde.Tag.ToString() == "Ase") 290 { 291 kohde.Hit((kohde.AbsolutePosition - Ukkeli.AbsolutePosition).Normalize() * 1000); 292 } 274 293 } 275 294 } -
2014/24/PietuR/Ukkelipeli/Ukkelipeli/Ukkelipeli/Ukkelipeli.csproj.Debug.cachefile
r4962 r4989 5 5 Content\Kentta.xnb 6 6 Content\Tikari.xnb 7 Content\Keho1.xnb 8 Content\Keho2.xnb 9 Content\Paa1.xnb 10 Content\Paa2.xnb 11 Content\Veri.xnb 12 Content\Luoti.xnb 7 13 Content\Kentta.txt -
2014/24/PietuR/Ukkelipeli/Ukkelipeli/Ukkelipeli/obj/x86/Debug/ContentPipeline-{766035AA-3007-4DAD-9EA9-92D669CE3E8D}.xml
r4962 r4989 56 56 <Time>2014-06-11T12:50:21.7604224+03:00</Time> 57 57 </Item> 58 <Item> 59 <Source>Keho1.png</Source> 60 <Name>Keho1</Name> 61 <Importer>TextureImporter</Importer> 62 <Processor>TextureProcessor</Processor> 63 <Options>None</Options> 64 <Output>C:\MyTemp\PietuR\Ukkelipeli\Ukkelipeli\Ukkelipeli\bin\x86\Debug\Content\Keho1.xnb</Output> 65 <Time>2014-06-12T10:54:03.6914963+03:00</Time> 66 </Item> 67 <Item> 68 <Source>Keho2.png</Source> 69 <Name>Keho2</Name> 70 <Importer>TextureImporter</Importer> 71 <Processor>TextureProcessor</Processor> 72 <Options>None</Options> 73 <Output>C:\MyTemp\PietuR\Ukkelipeli\Ukkelipeli\Ukkelipeli\bin\x86\Debug\Content\Keho2.xnb</Output> 74 <Time>2014-06-12T10:54:37.7403429+03:00</Time> 75 </Item> 76 <Item> 77 <Source>Paa1.png</Source> 78 <Name>Paa1</Name> 79 <Importer>TextureImporter</Importer> 80 <Processor>TextureProcessor</Processor> 81 <Options>None</Options> 82 <Output>C:\MyTemp\PietuR\Ukkelipeli\Ukkelipeli\Ukkelipeli\bin\x86\Debug\Content\Paa1.xnb</Output> 83 <Time>2014-06-12T12:12:34.4698236+03:00</Time> 84 </Item> 85 <Item> 86 <Source>Paa2.png</Source> 87 <Name>Paa2</Name> 88 <Importer>TextureImporter</Importer> 89 <Processor>TextureProcessor</Processor> 90 <Options>None</Options> 91 <Output>C:\MyTemp\PietuR\Ukkelipeli\Ukkelipeli\Ukkelipeli\bin\x86\Debug\Content\Paa2.xnb</Output> 92 <Time>2014-06-12T12:13:14.1598236+03:00</Time> 93 </Item> 94 <Item> 95 <Source>Veri.png</Source> 96 <Name>Veri</Name> 97 <Importer>TextureImporter</Importer> 98 <Processor>TextureProcessor</Processor> 99 <Options>None</Options> 100 <Output>C:\MyTemp\PietuR\Ukkelipeli\Ukkelipeli\Ukkelipeli\bin\x86\Debug\Content\Veri.xnb</Output> 101 <Time>2014-06-12T12:25:07.2282236+03:00</Time> 102 </Item> 103 <Item> 104 <Source>Luoti.png</Source> 105 <Name>Luoti</Name> 106 <Importer>TextureImporter</Importer> 107 <Processor>TextureProcessor</Processor> 108 <Options>None</Options> 109 <Output>C:\MyTemp\PietuR\Ukkelipeli\Ukkelipeli\Ukkelipeli\bin\x86\Debug\Content\Luoti.xnb</Output> 110 <Time>2014-06-12T14:16:08.0503753+03:00</Time> 111 </Item> 58 112 <BuildSuccessful>true</BuildSuccessful> 59 113 <Settings> -
2014/24/PietuR/Ukkelipeli/Ukkelipeli/Ukkelipeli/obj/x86/Debug/Ukkelipeli.csproj.FileListAbsolute.txt
r4962 r4989 14 14 C:\MyTemp\PietuR\Ukkelipeli\Ukkelipeli\Ukkelipeli\bin\x86\Debug\Content\Kentta.txt 15 15 C:\MyTemp\PietuR\Ukkelipeli\Ukkelipeli\Ukkelipeli\bin\x86\Debug\Content\Tikari.xnb 16 C:\MyTemp\PietuR\Ukkelipeli\Ukkelipeli\Ukkelipeli\bin\x86\Debug\Content\Keho1.xnb 17 C:\MyTemp\PietuR\Ukkelipeli\Ukkelipeli\Ukkelipeli\bin\x86\Debug\Content\Keho2.xnb 18 C:\MyTemp\PietuR\Ukkelipeli\Ukkelipeli\Ukkelipeli\bin\x86\Debug\Content\Paa1.xnb 19 C:\MyTemp\PietuR\Ukkelipeli\Ukkelipeli\Ukkelipeli\bin\x86\Debug\Content\Paa2.xnb 20 C:\MyTemp\PietuR\Ukkelipeli\Ukkelipeli\Ukkelipeli\bin\x86\Debug\Content\Veri.xnb 21 C:\MyTemp\PietuR\Ukkelipeli\Ukkelipeli\Ukkelipeli\bin\x86\Debug\Content\Luoti.xnb -
2014/24/PietuR/Ukkelipeli/Ukkelipeli/Ukkelipeli/obj/x86/Debug/cachefile-{766035AA-3007-4DAD-9EA9-92D669CE3E8D}-targetpath.txt
r4962 r4989 5 5 Content\Kentta.xnb 6 6 Content\Tikari.xnb 7 Content\Keho1.xnb 8 Content\Keho2.xnb 9 Content\Paa1.xnb 10 Content\Paa2.xnb 11 Content\Veri.xnb 12 Content\Luoti.xnb 7 13 Content\Kentta.txt -
2014/24/PietuR/Ukkelipeli/Ukkelipeli/UkkelipeliContent/UkkelipeliContent.contentproj
r4962 r4989 88 88 </Compile> 89 89 </ItemGroup> 90 <ItemGroup> 91 <Compile Include="Keho1.png"> 92 <Name>Keho1</Name> 93 <Importer>TextureImporter</Importer> 94 <Processor>TextureProcessor</Processor> 95 </Compile> 96 <Compile Include="Keho2.png"> 97 <Name>Keho2</Name> 98 <Importer>TextureImporter</Importer> 99 <Processor>TextureProcessor</Processor> 100 </Compile> 101 <Compile Include="Paa1.png"> 102 <Name>Paa1</Name> 103 <Importer>TextureImporter</Importer> 104 <Processor>TextureProcessor</Processor> 105 </Compile> 106 <Compile Include="Paa2.png"> 107 <Name>Paa2</Name> 108 <Importer>TextureImporter</Importer> 109 <Processor>TextureProcessor</Processor> 110 </Compile> 111 </ItemGroup> 112 <ItemGroup> 113 <Compile Include="Veri.png"> 114 <Name>Veri</Name> 115 <Importer>TextureImporter</Importer> 116 <Processor>TextureProcessor</Processor> 117 </Compile> 118 </ItemGroup> 119 <ItemGroup> 120 <Compile Include="Luoti.png"> 121 <Name>Luoti</Name> 122 <Importer>TextureImporter</Importer> 123 <Processor>TextureProcessor</Processor> 124 </Compile> 125 </ItemGroup> 90 126 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 91 127 <!-- 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.