Changeset 2506
- Timestamp:
- 2011-08-02 14:59:15 (12 years ago)
- Location:
- 2011/31/AlisaJ
- Files:
-
- 20 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
2011/31/AlisaJ/pong/pong/Peli.cs
r2470 r2506 8 8 9 9 public class Peli : PhysicsGame 10 { PhysicsObject pallo; 10 { 11 Vector nopeusYlos = new Vector (0, 200) ; 12 Vector nopeusAlas = new Vector (0, -200); 13 14 PhysicsObject pallo; 15 PhysicsObject maila1; 16 PhysicsObject maila2; 17 PhysicsObject vasenReuna; 18 PhysicsObject oikeaReuna; 19 20 21 IntMeter pelaajan1pisteet; 22 IntMeter pelaajan2pisteet; 11 23 12 24 public override void Begin() … … 14 26 LuoKenttä(); 15 27 AsetaOhjaimet(); 28 LisaaLaskurit(); 16 29 Aloitapeli (); 17 30 … … 24 37 Add(pallo); 25 38 pallo.X = 200.0; 26 pallo.Y = 0.0; 27 Level.CreateBorders(1.0, false); 39 pallo.Y = 0.0; 40 41 vasenReuna = Level.CreateLeftBorder(); 42 vasenReuna.Restitution = 1.0; 43 vasenReuna.IsVisible = false; 44 45 oikeaReuna = Level.CreateRightBorder(); 46 oikeaReuna.Restitution = 1.0; 47 oikeaReuna.IsVisible = false; 48 49 PhysicsObject AlaReuna = Level.CreateBottomBorder(); 50 AlaReuna.Restitution = 1.0; 51 AlaReuna.IsVisible = false; 52 PhysicsObject YlaReuna = Level.CreateTopBorder(); 53 YlaReuna.Restitution = 1.0; 54 YlaReuna.IsVisible = false; 55 56 28 57 pallo.Restitution = 1.0; 29 58 Level.BackgroundColor = Color.Black; 30 59 Camera.ZoomToLevel(); 31 LuoMaila(Level.Left + 20.0, 0.00); 32 LuoMaila(Level.Right - 20.0, 0.00); 60 maila1 =LuoMaila (Level.Left + 20.0, 0.0); 61 maila2 = LuoMaila (Level.Right - 20.0, 0.0); 62 AddCollisionHandler ( pallo, KasittelePallonTormays ) ; 33 63 34 64 } … … 42 72 43 73 44 45 void LuoMaila ( double x, double y) 74 PhysicsObject LuoMaila ( double x, double y) 46 75 { 47 76 PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); … … 51 80 maila.Restitution = 1.0; 52 81 Add(maila); 82 return maila; 83 53 84 } 54 85 … … 58 89 { 59 90 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "poistu" ); 60 Keyboard.Listen(Key.A,ButtonState.Down,LiikutaMailaaYlos, "Pelaaja 1: Liikuta mailaa ylös" ); 61 Keyboard.Listen(Key.A,ButtonState.Released, PysaytaMaila, null ); 62 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "poistu" ); 63 } 64 } 65 91 Keyboard.Listen(Key.A,ButtonState.Down,AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös",maila1,nopeusYlos ); 92 Keyboard.Listen(Key.A,ButtonState.Released, AsetaNopeus, null, maila1, Vector. Zero ); 93 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu" ); 94 Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 95 Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 96 97 Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 98 Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 99 Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 100 Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 101 102 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 103 104 } 105 106 107 void AsetaNopeus(PhysicsObject maila, Vector nopeus) 108 109 { 110 if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 111 { 112 maila.Velocity = Vector.Zero; 113 return; 114 } 115 116 if ((nopeus.Y > 0) && ( maila.Top > Level.Top) ) 117 { 118 maila.Velocity = Vector.Zero; 119 return; 120 } 121 maila.Velocity = nopeus; 122 123 } 124 125 126 void LisaaLaskurit() 127 { pelaajan1pisteet = LuoPisteLaskuri ( Screen.Left + 100.0, Screen. Top -100.0); 128 pelaajan2pisteet = LuoPisteLaskuri ( Screen. Right -100.0, Screen. Top -100.0); 129 130 } 131 IntMeter LuoPisteLaskuri(double x, double y) 132 { 133 IntMeter laskuri = new IntMeter(0); 134 laskuri.MaxValue = 10; 135 Label naytto = new Label(); 136 naytto.BindTo(laskuri); 137 naytto.X = x; 138 naytto.Y = y; 139 naytto.TextColor = Color.White; 140 naytto.BorderColor = Level.BackgroundColor; 141 naytto.Color = Level.BackgroundColor; 142 Add(naytto); 143 144 return laskuri; 145 146 147 } 148 149 void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 150 { 151 152 153 if (kohde == oikeaReuna) 154 { 155 pelaajan1pisteet.Value += 1; 156 } 157 else if (kohde == vasenReuna) 158 { 159 pelaajan2pisteet.Value += 1; 160 } 161 162 163 164 } 165 }
Note: See TracChangeset
for help on using the changeset viewer.