Changeset 6140 for 2015/26/Tuisku
- Timestamp:
- 2015-06-22 14:56:21 (4 years ago)
- Location:
- 2015/26/Tuisku
- Files:
-
- 41 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
2015/26/Tuisku/pong/pong/pong/pong.cs
r6125 r6140 9 9 public class pong : PhysicsGame 10 10 { 11 PhysicsObject pallo; 11 PhysicsObject pallo; 12 12 PhysicsObject maila1; 13 13 PhysicsObject maila2; 14 PhysicsObject vasenReuna; 15 PhysicsObject oikeaReuna; 16 17 IntMeter pelaajan1Pisteet; 18 IntMeter pelaajan2Pisteet; 19 20 Vector nopeusYlös = new Vector(0.0, 200.0); 21 Vector nopeusAlas = new Vector(0.0, -200.0); 22 14 23 15 24 public override void Begin() … … 18 27 AsetaOhjaimet(); 19 28 AloitaPeli(); 29 lisaalaskuri(); 20 30 21 Vector nopeusYlös = new Vector(0.0, 200.0); 22 Vector nopeusAlas = new Vector(0.0, -200.0); 31 } 23 32 24 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 25 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 26 } 33 27 34 void luokenttä() 28 35 { … … 32 39 pallo.X = -200.0; 33 40 pallo.Y = 0.0; 34 Level.CreateBorders(1.0, false); 41 vasenReuna = Level.CreateLeftBorder(); 42 vasenReuna.Restitution = 1.0; 43 vasenReuna.IsVisible = false; 44 oikeaReuna = Level.CreateRightBorder(); 45 oikeaReuna.Restitution = 1.0; 46 oikeaReuna.IsVisible = false; 47 PhysicsObject alaReuna = Level.CreateBottomBorder(); 48 alaReuna.Restitution = 1.0; 49 alaReuna.IsVisible = false; 50 PhysicsObject yläReuna = Level.CreateTopBorder(); 51 yläReuna.Restitution = 1.0; 52 yläReuna.IsVisible = false; 53 54 55 35 56 pallo.Restitution = 1.0; 36 57 … … 38 59 maila2 = LuoMaila(Level.Right + 20.0, 0.0); 39 60 40 Level.BackgroundColor = Color.Black; 41 61 Level.BackgroundColor = Color.Black; 42 62 63 Camera.ZoomToLevel(); 64 65 AddCollisionHandler(pallo, KasittelePallonTormays); 43 66 44 67 … … 48 71 void AloitaPeli() 49 72 { 50 Vector impulssi = new Vector(500.0, 0.0);73 Vector impulssi = new Vector(500.0, 1.0); 51 74 pallo.Hit(impulssi); 52 LuoMaila(Level.Left + 20.0, 0.0);53 LuoMaila(Level.Right + 20.0, 0.0);54 75 55 76 } … … 76 97 } 77 98 78 79 void AsetaOhjaimet()80 {81 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");82 99 83 Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös",maila1); 84 85 Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 86 87 88 } 89 90 91 void AsetaNopeus(PhysicsObject maila, Vector 20) 100 void AsetaOhjaimet() 92 101 { 93 maila.Velocity = 20; 94 } 95 96 void AsetaNopeus(PhysicsObject maila, Vector nopeus) 97 { 98 maila.Velocity = nopeus; 99 } 100 101 { 102 Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 102 Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlös); 103 103 Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 104 104 Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 105 105 Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 106 106 107 Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYl os);107 Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlös); 108 108 Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 109 109 Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); … … 112 112 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 113 113 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 114 114 115 } 115 116 117 118 119 void AsetaNopeus(PhysicsObject maila, Vector nopeus) 120 { 121 if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 122 { 123 maila.Velocity = Vector.Zero; 124 return; 125 } 126 127 128 if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 129 { 130 maila.Velocity = Vector.Zero; 131 return; 132 } 133 maila.Velocity = nopeus; 134 } 135 136 137 void lisaalaskuri() 138 { 139 pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 140 pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 141 142 } 143 144 IntMeter LuoPisteLaskuri(double x, double y) 145 { 146 IntMeter laskuri = new IntMeter(0); 147 laskuri.MaxValue = 10; 148 149 150 Label naytto = new Label(); 151 naytto.BindTo(laskuri); 152 naytto.X = x; 153 naytto.Y = y; 154 naytto.TextColor = Color.White; 155 naytto.BorderColor = Level.Background.Color; 156 naytto.Color = Level.Background.Color; 157 Add(naytto); 158 159 return laskuri; 160 161 162 } 163 164 165 void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 166 { 167 if (kohde == oikeaReuna) 168 { 169 pelaajan1Pisteet.Value += 1; 170 } 171 else if (kohde == vasenReuna) 172 { 173 pelaajan2Pisteet.Value += 1; 174 } 175 } 116 176 }
Note: See TracChangeset
for help on using the changeset viewer.