Changeset 2961
- Timestamp:
- 2012-06-12 14:40:25 (11 years ago)
- Location:
- 2012/24/TatuS
- Files:
-
- 63 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/24/TatuS/Pong/Pong/Pong/Pong.cs
r2917 r2961 13 13 14 14 PhysicsObject Pallo; 15 16 15 PhysicsObject maila1; 17 16 PhysicsObject maila2; 17 18 PhysicsObject vasenreuna; 19 PhysicsObject oikeareuna; 20 21 IntMeter pelaajan1Pisteet; 22 IntMeter pelaajan2Pisteet; 23 18 24 public override void Begin() 19 25 { 20 26 LuoKentta(); 21 27 AsetaOhjaimet(); 28 LisaaLaskurit(); 22 29 AloitaPeli(); 30 31 23 32 24 33 // TODO: Kirjoita ohjelmakoodisi tähän … … 30 39 void LuoKentta() 31 40 { 32 Pallo = new PhysicsObject(100, 100); 33 Add(Pallo); 41 Pallo = new PhysicsObject(100, 100); 34 42 Pallo.Shape = Shape.Circle; 35 Level.CreateBorders(1.0, false); 43 44 vasenreuna = Level.CreateLeftBorder(); 45 vasenreuna.Restitution = 1.0; 46 vasenreuna.IsVisible = false; 47 48 oikeareuna = Level.CreateRightBorder(); 49 oikeareuna.Restitution = 1.0; 50 oikeareuna.IsVisible = false; 51 52 PhysicsObject alareuna = Level.CreateBottomBorder(); 53 alareuna.Restitution =1.0; 54 alareuna.IsVisible = false; 55 56 PhysicsObject ylareuna = Level.CreateTopBorder(); 57 ylareuna.Restitution = 1.0; 58 ylareuna.IsVisible = false; 59 60 36 61 Level.BackgroundColor = Color.Cyan; 37 62 Camera.ZoomToLevel(); 38 63 Pallo.Restitution = 1.0; 64 Add(Pallo); 65 66 AddCollisionHandler(Pallo, KasittelePallonTormays); 39 67 40 68 maila1 = LuoMaila(Level.Left + 20.0, 0.0); … … 56 84 maila.Restitution = 1.0; 57 85 Add(maila); 86 58 87 return maila; 59 88 } … … 62 91 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 63 92 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 64 Keyboard.Listen(Key.A, ButtonState.Down, LiikutaMailaaYlos, "Pelaaja 1: Liikuta Mailaa Ylös", maila1, nopeusylos);65 Keyboard.Listen(Key.A, ButtonState.Released, Pysaytamaila, null, maila1, Vector.Zero);66 Keyboard.Listen(Key.Z, ButtonState.Down, Aseta nopeus, "Pelaaja 1: Liikuta Mailaa Alas", maila1, nopeusalas);93 Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta Mailaa Ylös", maila1, nopeusylos); 94 Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 95 Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta Mailaa Alas", maila1, nopeusalas); 67 96 Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero ); 68 97 69 Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos ); 70 Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, 98 Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusylos ); 99 Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 100 Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: liikuta Mailaa Alas", maila2, nopeusalas); 101 Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 102 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä Ohjeet"); 71 103 72 void AsetaNopeus(PhysicsObject maila, Vector nopeus) 104 105 } 106 void AsetaNopeus( PhysicsObject maila, Vector nopeus) 73 107 { 108 if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 109 { 110 maila.Velocity = Vector.Zero; 111 return; 112 } 113 if (( nopeus.Y > 0) && (maila.Top > Level.Top)) 114 115 { 116 maila.Velocity = Vector.Zero; 117 return; 118 } 74 119 maila.Velocity = nopeus; 120 } 121 void LisaaLaskurit() 122 { 123 pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 124 pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 125 } 126 IntMeter LuoPisteLaskuri(double x, double y) 127 { 128 IntMeter laskuri = new IntMeter(0); 129 laskuri.MaxValue = 10; 130 Label naytto = new Label(); 131 naytto.BindTo(laskuri); 132 naytto.X = x; 133 naytto.Y = y; 134 naytto.TextColor = Color.Black; 135 naytto.BorderColor = Level.BackgroundColor; 136 naytto.Color = Level.BackgroundColor; 137 Add(naytto); 138 return laskuri; 139 } 140 141 void KasittelePallonTormays( PhysicsObject Pallo, PhysicsObject kohde) 142 { 143 if ( kohde == oikeareuna ) 144 { 145 pelaajan1Pisteet.Value += 1; 146 } 147 else if ( kohde == vasenreuna ) 148 { 149 pelaajan2Pisteet.Value += 1; 150 } 151 } 152 75 153 } 76 154 77 155 78 } 156
Note: See TracChangeset
for help on using the changeset viewer.