- Timestamp:
- 2010-07-29 11:33:20 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/30/vematata/SeikailuRoolipeli/Peli.cs
r1392 r1401 8 8 Vector nopeusVasen = new Vector(-300, 0); 9 9 Vector nopeusOikea = new Vector(300, 0); 10 PhysicsObject pallo; 11 PhysicsObject pallo2; 12 13 10 double voima = 20; 11 //PhysicsObject pallo; 14 12 15 13 PhysicsObject hahmo; … … 23 21 void Testi() 24 22 { 25 Hahmo( 0,0);23 Hahmo(-40, -40); 26 24 Kivi(45, -100, 180); 27 25 Kivi(50, 100, 100); 28 26 Kivi(200, 400, 50); 27 Vihollinen(40, 40); 28 Vihollinen(-100, -100); 29 29 Puu(40, -100, 100); 30 30 Puu(20, -190, -20); 31 Seina(1000, 100, 0, 550); 32 Seina(1000, 100, 0, -550); 33 Seina(100, 1000, 550, 0); 34 Seina(100, 1000, -550, 0); 31 Level.CreateBorders(); 35 32 } 36 33 37 34 void Hahmo(double x, double y) 38 35 { 39 hahmo = new PhysicsObject(40, 40);36 hahmo = new PhysicsObject(40,20); 40 37 hahmo.Shape = Shapes.Circle; 41 38 hahmo.Color = Color.GreenYellow; 42 39 hahmo.X = x; 43 40 hahmo.Y = y; 44 hahmo.LinearDamping = 0.5; 45 Add(hahmo); 41 hahmo.LinearDamping = 0.95; 42 Vector pelaajanSuunta = Vector.FromLengthAndAngle(100.0, hahmo.Angle); 43 44 Add(hahmo,0); 46 45 47 46 Camera.Follow(hahmo); 48 47 Camera.Zoom(1.5); 48 } 49 50 PhysicsObject Vihollinen(double x, double y) 51 { 52 PhysicsObject otus = new PhysicsObject(20, 20, Shapes.Circle); 53 RandomMoverBrain satunnaisAivot = new RandomMoverBrain(); 54 otus.Brain = satunnaisAivot; 55 otus.X = x; 56 otus.Y = y; 57 otus.Restitution = 0.0; 58 Add(otus,0); 59 Timer Ajastin = new Timer(); 60 Ajastin.Interval = 0.1; 61 Ajastin.Trigger += Aivot; 62 Ajastin.Tag = otus; 63 Ajastin.Start(); 64 return (otus); 65 66 } 67 68 void Aivot(Timer Ajastin) 69 { 70 PhysicsObject kohde = Ajastin.Tag as PhysicsObject; 71 72 73 if(kohde != null) 74 { 75 Vector etaisyys = new Vector(kohde.X - hahmo.X, kohde.Y - hahmo.Y); 76 if (etaisyys.Magnitude < 100 && (kohde.Brain is RandomMoverBrain||kohde.Brain is WandererBrain)) 77 { 78 FollowerBrain seuraajaAivot = new FollowerBrain(); 79 seuraajaAivot.Target = hahmo; 80 seuraajaAivot.MovingSpeed = 100; 81 seuraajaAivot.TargetFollowDistance = 100; 82 seuraajaAivot.FollowAlways = true; 83 seuraajaAivot.TargetCloseDistance = 200; 84 //seuraajaAivot.StopWhenTargetClose = true; 85 kohde.Brain = seuraajaAivot; 86 } 87 else 88 { 89 if(etaisyys.Magnitude > 100 && kohde.Brain is FollowerBrain) 90 { 91 RandomMoverBrain satunnaisAivot = new RandomMoverBrain(); 92 satunnaisAivot.ChangeMovementSeconds = 1; 93 kohde.Brain = satunnaisAivot; 94 } 95 } 96 } 97 49 98 } 50 99 … … 60 109 else 61 110 kivi.Mass = koko / 2; 62 Add(kivi );111 Add(kivi,0); 63 112 return(kivi); 64 113 } … … 67 116 { 68 117 double koko = RandomGen.NextDouble(10,20); 69 pallo2 = new PhysicsObject(koko, koko, Shapes.Circle);118 PhysicsObject pallo2 = new PhysicsObject(koko, koko, Shapes.Circle); 70 119 pallo2.Color = RandomGen.NextColor(Color.DarkBlue,Color.DarkViolet); 71 120 pallo2.Position = Mouse.PositionOnWorld; 72 121 pallo2.Restitution = 1.05; 73 Add(pallo2 );74 Timer Ajastin 2= new Timer();75 Ajastin 2.Interval = 10.0;76 Ajastin 2.Trigger += Poista;77 Ajastin 2.Tag = pallo2;78 Ajastin 2.Start();122 Add(pallo2,0); 123 Timer Ajastin = new Timer(); 124 Ajastin.Interval = 10.0; 125 Ajastin.Trigger += Poista; 126 Ajastin.Tag = pallo2; 127 Ajastin.Start(); 79 128 80 129 MessageDisplay.Add("kumi pallona luokses pompin..."); 81 if (Ajastin2.IsDestroyed()) 82 MessageDisplay.Add("onnistui"); 83 84 } 85 86 void Poista(Timer Ajastin2) 87 { 88 pallo2.Destroy(); 89 Ajastin2.Destroy(); 90 if (pallo2.IsDestroyed() && Ajastin2.IsDestroyed()) 130 131 } 132 133 void Poista(Timer Ajastin) 134 { 135 ((PhysicsObject)Ajastin.Tag).Destroy(); 136 Ajastin.Destroy(); 137 if (((PhysicsObject)Ajastin.Tag).IsDestroyed() && Ajastin.IsDestroyed()) 91 138 MessageDisplay.Add("tuhottu"); 92 139 } … … 114 161 115 162 Add(runko); 116 Add(lehdet );163 Add(lehdet, 3); 117 164 118 165 return(runko); … … 173 220 } 174 221 175 176 177 222 void AsetaHiiri() 178 223 { 179 pallo = new PhysicsObject(10.0, 10.0, Shapes.Circle);180 pallo.IgnoresExplosions = pallo.IgnoresCollisionResponse = true;181 Add(pallo);224 //pallo = new PhysicsObject(10.0, 10.0, Shapes.Circle); 225 //pallo.IgnoresExplosions = pallo.IgnoresCollisionResponse = true; 226 //Add(pallo); 182 227 Mouse.IsCursorVisible = true; 183 228 //Mouse.ListenMovement(0.1, KuunteleLiiketta, null); 184 Mouse.Listen(MouseButton.Left, ButtonState.Pressed, VoimanKeruu, null);185 //Mouse.Listen(MouseButton.Left, ButtonState.Down, Rajahdys, null);186 //Mouse.Listen(MouseButton.Left, ButtonState.Released, Teksti, null);229 //Mouse.Listen(MouseButton.Left, ButtonState.Pressed, VoimanKeruu, null); 230 Mouse.Listen(MouseButton.Left, ButtonState.Down, LataaVoimaa, null, 1.0); 231 Mouse.Listen(MouseButton.Left, ButtonState.Released, Rajahdys, null); 187 232 Mouse.Listen(MouseButton.Right, ButtonState.Released, LuoPallo, null); 188 233 … … 194 239 // pallo.Y = Mouse.PositionOnWorld.Y; 195 240 //} 196 197 198 void Rajahdys(double voima) 199 { 200 201 Explosion rajahdys = new Explosion(40); 241 void LataaVoimaa(double lataaVoimaa) 242 { 243 if (voima < 500) 244 { 245 voima += lataaVoimaa; 246 MessageDisplay.Add("lisätään voimaa"); 247 } 248 else 249 MessageDisplay.Add("voima max"); 250 } 251 252 253 void Rajahdys() 254 { 255 256 Explosion rajahdys = new Explosion(voima/2); 202 257 rajahdys.Position = Mouse.PositionOnWorld; 203 rajahdys.Speed = 100 .0;204 rajahdys.Force = 200;258 rajahdys.Speed = 100; 259 rajahdys.Force = voima; 205 260 Add(rajahdys); 261 voima = 20; 206 262 MessageDisplay.Add("pum"); 207 263 }
Note: See TracChangeset
for help on using the changeset viewer.