- Timestamp:
- 2010-06-08 11:27:54 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/23/vajuanse/Pong/Peli.cs
r505 r541 11 11 PhysicsObject maila1; 12 12 PhysicsObject maila2; 13 14 Vector nopeusylos = new Vector(0, 200); 15 Vector nopeusalas = new Vector(0, -200); 16 17 IntMeter pelaaja1pisteet; 18 IntMeter pelaaja2pisteet; 13 19 14 20 protected override void Begin() … … 16 22 Vector impulssi = new Vector(500.0, 0.0); 17 23 Luokentta(); 18 asetaohjaimet();24 AsetaOhjaimet(); 19 25 Aloitapeli(); 20 26 pallo.Hit(impulssi); 27 Lisaalaskurit(); 21 28 22 29 } … … 24 31 void Luokentta() 25 32 { 33 AddCollisionHadler(pallo, KasittelePallonTormays); 34 35 PhysicsObject vasenreuna = Level.CreateLeftBorder(); 36 vasenreuna.Restitution = 1.0; 37 vasenreuna.IsVisible = false; 38 39 PhysicsObject oikeareuna = Level.CreateRightBorder(); 40 oikeareuna.Restitution = 1.0; 41 oikeareuna.IsVisible = false; 42 43 PhysicsObject alareuna = Level.CreateBottomBorder(); 44 alareuna.Restitution = 1.0; 45 alareuna.IsVisible = false; 46 47 PhysicsObject ylareuna = Level.CreateTopBorder(); 48 ylareuna.Restitution = 1.0; 49 ylareuna.IsVisible = false; 50 26 51 pallo = new PhysicsObject(40.0, 40.0); 27 52 pallo.Shape = Shapes.Circle; 28 53 Add(pallo); 29 Level.CreateBorders(1.0, false);30 54 pallo.Restitution = 1.0; 31 55 Level.BackgroundColor = Color.LightBlue; … … 44 68 } 45 69 46 PhysicsObject LuoMaila ( Double x, double y)70 PhysicsObject LuoMaila (double x, double y) 47 71 { 48 72 PhysicsObject maila = PhysicsObject.CreateStaticObject( 20.0, 100.0); … … 56 80 } 57 81 58 void asetaohjaimet()82 void AsetaOhjaimet() 59 83 { 60 Keyboard.Listen(Key.A, ButtonState. Pressed, liikutamailaylös, "pelaaja 1: liikutaa mailaa ylös",maila1);61 Keyboard.Listen(Key.A, ButtonState.Released, pysaytamaila, null, maila1);62 Keyboard.Listen(Key.Z, ButtonState. Pressed, LiikutaMailaaAlas, "Pelaaja 1: Liikuta mailaa alas", maila1);63 Keyboard.Listen(Key.Z, ButtonState.Released, PysaytaMaila, null, maila1);84 Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "pelaaja 1: liikutaa mailaa ylös", maila1, nopeusylos); 85 Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 86 Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusalas); 87 Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 64 88 65 Keyboard.Listen(Key.Up, ButtonState. Pressed, LiikutaMailaaYlos, "Pelaaja 2: Liikuta mailaa ylös", maila2);66 Keyboard.Listen(Key.Up, ButtonState.Released, PysaytaMaila, null, maila2);67 Keyboard.Listen(Key.Down, ButtonState. Pressed, LiikutaMailaaAlas, "Pelaaja 2: Liikuta mailaa alas", maila2);68 Keyboard.Listen(Key.Down, ButtonState.Released, PysaytaMaila, null, maila2);89 Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusylos); 90 Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 91 Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusalas); 92 Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 69 93 70 94 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); … … 72 96 } 73 97 74 void liikutamailaylös( PhysicsObject maila)98 void AsetaNopeus(PhysicsObject maila, Vector nopeus) 75 99 { 76 Vector nopeus = new Vector(0, 200); 100 if ((nopeus.Y < 0) && (maila.Y < Level.Bottom)) 101 { 102 maila.Velocity = Vector.Zero; 103 return; 104 } 105 if ( (nopeus.Y > 0) && (maila.Y > Level.top) ) 106 { 107 maila.Velocity = Vector.Zero; 108 return; 109 } 110 77 111 maila.Velocity = nopeus; 112 113 78 114 } 79 115 80 void pysaytamaila(PhysicsObject maila)116 void Lisaalaskurit() 81 117 { 82 maila.Velocity = Vector.Zero; 118 pelaaja1pisteet = luopistelaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 119 pelaaja2pisteet = luopistelaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 83 120 } 84 121 85 void liikutamailaalas(PhysicsObject maila)122 IntMeter luopistelaskuri(double x, double y) 86 123 { 87 Vector nopeus = new Vector(0, -200); 88 maila.Velocity = nopeus; 124 IntMeter laskuri = new IntMeter(0); 125 laskuri.MaxValue = 10; 126 ValueDisplay naytto = new ValueDisplay( ); 127 naytto.BindTo(laskuri); 128 naytto.X = x; 129 naytto.Y = y; 130 naytto.ValueColor = Color.White; 131 Add(naytto); 132 return laskuri; 89 133 90 134 } 91 135 void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 136 { 137 if (kohde == oikeapallo 138 } 139 if ( kohde == vasenreuna ) 140 { 141 //... 142 } 143 144 92 145 } 93 146 }
Note: See TracChangeset
for help on using the changeset viewer.