Changeset 2521 for 2011/31/HenryS/TankDuel/TankDuel/TankDuel/Peli.cs
- Timestamp:
- 2011-08-03 14:53:16 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2011/31/HenryS/TankDuel/TankDuel/TankDuel/Peli.cs
r2499 r2521 9 9 public class Peli : PhysicsGame 10 10 { 11 List<Label> valikonKohdat; 12 Vector nopeus1Ylos = new Vector(0, 200); 13 Vector nopeus1Alas = new Vector(0, -200); 14 Vector nopeus2Ylos = new Vector(0, 200); 15 Vector nopeus2Alas = new Vector(0, -200); 16 Vector nopeus1Oikealle = new Vector(200, 0); 17 Vector nopeus1Vasemmalle = new Vector(-200, 0); 18 Vector nopeus2Oikealle = new Vector(200, 0); 19 Vector nopeus2Vasemmalle = new Vector(-200, 0); 11 20 PhysicsObject pelaaja1; 12 21 PhysicsObject pelaaja2; 13 22 Image oliomkuva = LoadImage("tank"); 14 23 Image tankki = LoadImage("tank2"); 24 PhysicsObject este; 15 25 16 26 public override void Begin() 17 27 { 18 28 19 29 30 LuoKenttä(); 31 Valikko(); 32 pelaajat(); 20 33 AsetaOhjaimet(); 21 pelaajat();22 34 } 23 35 … … 29 41 pelaaja1 = new PhysicsObject(90.0, 50.0); 30 42 pelaaja1.Image = oliomkuva; 43 pelaaja1.X = -400; 44 pelaaja1.Y = 350; 45 pelaaja1.CanRotate=false; 31 46 Add(pelaaja1); 47 32 48 pelaaja2 = new PhysicsObject(90.0, 50.0); 33 pelaaja2.X = -200; 49 pelaaja2.X = 400; 50 pelaaja2.Y = -350; 34 51 pelaaja2.Image = tankki; 52 pelaaja2.CanRotate = false; 35 53 Add(pelaaja2); 36 54 37 55 38 56 } 39 57 void AsetaOhjaimet() 40 58 { 59 60 61 Keyboard.Listen(Key.W, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liiku ylös", pelaaja1, nopeus1Ylos, Angle.FromDegrees (90)); 62 Keyboard.Listen(Key.W, ButtonState.Released, AsetaNopeus, null, pelaaja1, Vector.Zero, Angle.FromDegrees(90)); 63 Keyboard.Listen(Key.S, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liiku alas", pelaaja1, nopeus1Alas, Angle.FromDegrees (-90)); 64 Keyboard.Listen(Key.S, ButtonState.Released, AsetaNopeus, null, pelaaja1, Vector.Zero, Angle.FromDegrees (-90)); 41 65 42 66 43 ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 44 ControllerTwo.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 67 Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus2, "Pelaaja 2: Liiku ylös", pelaaja2, nopeus2Ylos, Angle.FromDegrees(90)); 68 Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus2, null, pelaaja2, Vector.Zero, Angle.FromDegrees(90)); 69 Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus2, "Pelaaja 2: Liiku alas", pelaaja2, nopeus2Alas, Angle.FromDegrees(-90)); 70 Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus2, null, pelaaja2, Vector.Zero, Angle.FromDegrees(-90)); 71 72 Keyboard.Listen(Key.D, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liiku oikealle", pelaaja1, nopeus1Oikealle, Angle.FromDegrees (0)); 73 Keyboard.Listen(Key.D, ButtonState.Released, AsetaNopeus, null, pelaaja1, Vector.Zero,Angle.FromDegrees(0)); 74 Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liiku vasemmalle", pelaaja1, nopeus1Vasemmalle, Angle.FromDegrees(180)); 75 Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, pelaaja1, Vector.Zero, Angle.FromDegrees(180)); 76 77 Keyboard.Listen(Key.Right, ButtonState.Down, AsetaNopeus2, "Pelaaja 2: Liiku oikealle", pelaaja2, nopeus2Oikealle, Angle.FromDegrees (0)); 78 Keyboard.Listen(Key.Right, ButtonState.Released, AsetaNopeus2, null, pelaaja1, Vector.Zero, Angle.FromDegrees (0)); 79 Keyboard.Listen(Key.Left, ButtonState.Down, AsetaNopeus2, "Pelaaja 2: Liiku vasemmalle", pelaaja2, nopeus2Vasemmalle, Angle.FromDegrees(180)); 80 Keyboard.Listen(Key.Left, ButtonState.Released, AsetaNopeus2, null, pelaaja1, Vector.Zero, Angle.FromDegrees(180)); 81 82 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Palaa valikkoon"); 83 84 85 return; 86 87 } 88 89 void AsetaNopeus(PhysicsObject pelaaja1, Vector nopeus1, Angle kulma) 90 { 91 pelaaja1.Velocity = nopeus1; 92 pelaaja1.Angle = kulma; 93 94 } 95 96 void AsetaNopeus2(PhysicsObject pelaaja1, Vector nopeus2, Angle kulma) 97 { 98 pelaaja2.Velocity = nopeus2; 99 pelaaja2.Angle = kulma; 45 100 46 101 } 102 103 104 105 106 107 void LuoKenttä() 108 { 109 int i = 0; 110 111 while (i < 20) 112 { 113 este = PhysicsObject.CreateStaticObject(60.0, 60.0); 114 este.Color = Color.Gray; 115 este.CanRotate = false; 116 este.X = RandomGen.NextDouble(Level.Left, Level.Right); 117 este.Y = RandomGen.NextDouble(Level.Left, Level.Right); 118 Add(este); 119 i++; 120 } 121 122 Level.CreateBorders(1.0, false); 123 Level.BackgroundColor = Color.ForestGreen; 124 Camera.ZoomToLevel(); 125 126 127 128 129 130 } 131 132 void Valikko() 133 { 134 ClearAll(); 135 valikonKohdat = new List<Label>(); 136 137 Label kohta1 = new Label("Aloita uusi peli"); 138 kohta1.Position = new Vector(0, 40); 139 valikonKohdat.Add(kohta1); 140 141 Label kohta2 = new Label("Lopeta"); 142 kohta2.Position = new Vector(0, -40); 143 valikonKohdat.Add(kohta2); 144 145 foreach (Label valikonKohta in valikonKohdat) 146 { 147 Add(valikonKohta); 148 } 149 150 Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null); 151 Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Exit, null); 152 153 Mouse.IsCursorVisible = true; 154 Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 155 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, ""); 156 157 } 158 159 160 void ValikossaLiikkuminen(AnalogState hiirenTila) 161 { 162 foreach (Label kohta in valikonKohdat) 163 { 164 if (Mouse.IsCursorOn(kohta)) 165 { 166 kohta.TextColor = Color.Red; 167 } 168 else 169 { 170 kohta.TextColor = Color.Black; 171 } 172 173 } 174 } 175 176 void AloitaPeli() 177 { 178 ClearAll(); 179 LuoKenttä(); 180 pelaajat(); 181 AsetaOhjaimet(); 182 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Palaa valikkoon"); 183 } 184 185 186 47 187 }
Note: See TracChangeset
for help on using the changeset viewer.