- Timestamp:
- 2010-08-04 14:59:23 (13 years ago)
- Location:
- 2010/31/nico@ala-konni.fi
- Files:
-
- 1 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/31/nico@ala-konni.fi/pong/Peli.cs
r1579 r1600 12 12 PhysicsObject maila1; 13 13 PhysicsObject maila2; 14 PhysicsObject vasenReuna; 15 PhysicsObject oikeaReuna; 16 17 IntMeter pelaajan1Pisteet; 18 IntMeter pelaajan2Pisteet; 19 14 20 15 21 protected override void Begin() … … 17 23 luokentta(); 18 24 AsetaOhjaimet(); 25 Listaalaskuri(); 26 Aloitapeli(); 19 27 20 Aloitapeli();21 28 //Vector impulssi = new Vector(500.0, 0.0); 22 29 //pallo.Hit(impulssi); 23 30 24 31 } 25 32 void luokentta() … … 29 36 pallo.X = -200.0; 30 37 pallo.Y = 0.0; 31 Add(pallo); 32 Level.CreateBorders();38 Add(pallo); 39 AddCollisionHandler(pallo, KasittelePallonTormays); 33 40 pallo.Restitution = 1.0; 34 Level.CreateBorders(1.0, false);41 35 42 Level.BackgroundColor = Color.DarkCyan; 36 43 Camera.ZoomToLevel(); 37 44 maila1 = LuoMaila(Level.Left + 20.0, 0.0); 38 45 maila2 = LuoMaila(Level.Right - 20.0, 0.0); 46 vasenReuna = Level.CreateLeftBorder(); 47 PhysicsObject vasenreuna = Level.CreateLeftBorder(); 48 vasenreuna.Restitution = 1.0; 49 vasenreuna.IsVisible = false; 50 PhysicsObject oikeareuna = Level.CreateRightBorder(); 51 oikeaReuna = Level.CreateRightBorder(); 52 oikeareuna.Restitution = 1.0; 53 oikeareuna.IsVisible = false; 54 PhysicsObject alareuna = Level.CreateBottomBorder(); 55 alareuna.Restitution = 1.0; 56 alareuna.IsVisible = false; 57 PhysicsObject yläreuna = Level.CreateTopBorder(); 58 yläreuna.Restitution = 1.0; 59 yläreuna.IsVisible = false; 39 60 40 61 41 62 42 }43 44 void Aloitapeli ()45 {46 47 Vector impulssi = new Vector(500.0, 0.0);48 pallo.Hit(impulssi);49 63 50 64 51 65 52 }66 } 53 67 54 PhysicsObject LuoMaila( double X, double Y ) 68 void Aloitapeli() 69 { 70 71 Vector impulssi = new Vector(500.0, 0.0); 72 pallo.Hit(impulssi); 73 74 75 76 } 77 78 PhysicsObject LuoMaila(double X, double Y) 55 79 { 56 80 PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); … … 65 89 66 90 67 void AsetaOhjaimet()91 void AsetaOhjaimet() 68 92 { 69 Keyboard.Listen (Key.Escape, ButtonState.Pressed, Exit, "Poistu" ); 70 Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1:Liikuta Mailaa Ylos", maila1, nopeusylos); 71 Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 72 93 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 94 Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1:Liikuta Mailaa Ylos", maila1, nopeusylos); 95 Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 96 Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusalas); 97 Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 73 98 74 99 Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusylos); 100 Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 101 Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusalas); 102 Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 103 104 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 105 106 ControllerOne.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila1, nopeusylos); 107 ControllerOne.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 108 ControllerOne.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila1, nopeusalas); 109 ControllerOne.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 110 111 ControllerTwo.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila2, nopeusylos); 112 ControllerTwo.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 113 ControllerTwo.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila2, nopeusalas); 114 ControllerTwo.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 115 116 ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 117 ControllerTwo.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 118 119 120 121 122 123 124 125 75 126 76 127 } 77 void AsetaNopeus( PhysicsObject maila, Vector nopeus ) 128 void AsetaNopeus(PhysicsObject maila, Vector nopeus) 129 { 130 if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 131 { 132 133 maila.Velocity = Vector.Zero; 134 return; 135 } 136 137 if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 138 { 139 maila.Velocity = Vector.Zero; 140 return; 141 142 } 143 maila.Velocity = nopeus; 144 } 145 void Listaalaskuri() 78 146 { 79 maila.Velocity = nopeus; 147 pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 148 pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 80 149 81 150 } 82 151 152 IntMeter LuoPisteLaskuri( double X, double Y ) 153 { 154 IntMeter laskuri = new IntMeter( 0 ); 155 laskuri.MaxValue = 10; 156 Label naytto = new Label(); 157 naytto.BindTo(laskuri); 158 naytto.X = X ; 159 naytto.Y = Y ; 160 naytto.TextColor = Color.White; 161 Add(naytto); 162 return laskuri; 163 83 164 } 165 166 167 void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 168 { 169 if (kohde == oikeaReuna) 170 { 171 pelaajan1Pisteet.Value += 1; 172 } 173 else if (kohde == vasenReuna) 174 { 175 pelaajan2Pisteet.Value += 1; 176 } 177 178 179 } 180 }
Note: See TracChangeset
for help on using the changeset viewer.