- Timestamp:
- 2010-07-27 13:37:37 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/30/alsiseoi/Pong/Peli.cs
r1303 r1323 6 6 public class Peli : PhysicsGame 7 7 { 8 Vector NopeusYlos = new Vector( 8 Vector NopeusYlos = new Vector(0, 200); 9 9 Vector NopeusAlas = new Vector(0, -200); 10 10 11 11 PhysicsObject pallo; 12 13 12 PhysicsObject maila1; 14 13 PhysicsObject maila2; 15 14 15 PhysicsObject VasenReuna; 16 PhysicsObject OikeaReuna; 17 18 IntMeter Pelaajan1Pisteet; 19 IntMeter Pelaajan2Pisteet; 20 16 21 protected override void Begin() 17 22 { … … 31 36 pallo.X = -400.0; 32 37 pallo.Y = 100.0; 33 Level.CreateBorders(1.0, false);34 38 pallo.Restitution = 1.0; 35 39 Level.BackgroundColor = Color.Black; 40 36 41 Camera.ZoomToLevel(); 37 42 38 maila1 = LuoMaila( 43 maila1 = LuoMaila(Level.Left + 20.0, 0.0); 39 44 maila2 = LuoMaila(Level.Right - 20.0, 0.0); 45 46 AddCollisionHandler(pallo, KasittelePallonTormays); 47 48 VasenReuna = Level.CreateLeftBorder(); 49 VasenReuna.Restitution = 1.0; 50 VasenReuna.IsVisible = false; 51 52 OikeaReuna = Level.CreateRightBorder(); 53 OikeaReuna.Restitution = 1.0; 54 OikeaReuna.IsVisible = false; 55 56 PhysicsObject YlaReuna = Level.CreateTopBorder(); 57 YlaReuna.Restitution = 1.0; 58 YlaReuna.IsVisible = false; 59 60 PhysicsObject AlaReuna = Level.CreateBottomBorder(); 61 AlaReuna.Restitution = 1.0; 62 AlaReuna.IsVisible = false; 63 64 VasenReuna = Level.CreateLeftBorder(); 65 OikeaReuna = Level.CreateRightBorder(); 40 66 } 41 67 void AloitaPeli() … … 45 71 } 46 72 47 PhysicsObject LuoMaila( double x, double y)73 PhysicsObject LuoMaila(double x, double y) 48 74 { 49 75 PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); … … 59 85 void AsetaOhjaimet() 60 86 { 61 Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, NopeusYlos 87 Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, NopeusYlos); 62 88 Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 63 Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, NopeusAlas 89 Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, NopeusAlas); 64 90 Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 65 91 … … 75 101 void AsetaNopeus(PhysicsObject maila, Vector nopeus) 76 102 { 77 if ( 103 if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 78 104 { 79 105 maila.Velocity = Vector.Zero; 80 106 return; 81 107 } 82 83 if ( (nopeus.Y > 0) && (maila.Top > Level.Top))108 109 if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 84 110 { 85 111 maila.Velocity = Vector.Zero; … … 92 118 void LisaaLaskurit() 93 119 { 94 //... 120 Pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 121 Pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 95 122 } 96 123 97 IntMeter LuoPisteLaskuri( double x, double y ) 98 124 IntMeter LuoPisteLaskuri(double x, double y) 99 125 { 100 126 IntMeter laskuri = new IntMeter(0); 101 127 laskuri.MaxValue = 10; 102 128 Label naytto = new Label(); 103 104 105 129 naytto.BindTo(laskuri); 130 naytto.X = x; 131 naytto.Y = y; 132 naytto.TextColor = Color.White; 133 Add(naytto); 106 134 return laskuri; 107 135 } 108 136 109 110 111 } 137 void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 138 { 139 if ( kohde == OikeaReuna ) 140 { 141 Pelaajan1Pisteet.Value += 1; 142 } 143 else if (kohde == VasenReuna) 144 { 145 Pelaajan2Pisteet.Value += 1; 146 } 147 } 148 } 112 149 113
Note: See TracChangeset
for help on using the changeset viewer.