- Timestamp:
- 2010-07-27 11:27:35 (13 years ago)
- Location:
- 2010/27/Aajokahe
- Files:
-
- 11 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/27/Aajokahe/Pong/Peli.cs
r1290 r1313 2 2 using Jypeli; 3 3 using Jypeli.Widgets; 4 using Jypeli.Assets;5 4 6 5 public class Peli : PhysicsGame 7 6 { 8 Vector nopeusYlos = new Vector(0, 200); 9 Vector nopeusAlas = new Vector(0, -200); 10 11 PhysicsObject pallo; 12 13 PhysicsObject maila1; 14 PhysicsObject maila2; 15 16 7 17 8 18 9 protected override void Begin() 19 10 { 20 LuoKentta();21 AsetaOhjaimet();22 AloitaPeli();23 11 24 25 }26 void LuoKentta()27 {28 pallo = new PhysicsObject(40.0, 40.0);29 pallo.Shape = Shapes.Circle;30 Add(pallo);31 pallo.X = -200.0;32 pallo.Y = 0.0;33 pallo.Restitution = 1.0;34 Camera.ZoomToLevel();35 36 maila1= LuoMaila(Level.Left + 20.0, 0.0);37 maila2= LuoMaila(Level.Right - 20.0, 0.0);38 39 Level.CreateBorders(1.0, false);40 Level.BackgroundColor = Color.Black;41 42 43 }44 void AloitaPeli()45 {46 Vector impulssi = new Vector(500.0, 0.0);47 pallo.Hit(impulssi);48 49 }50 PhysicsObject LuoMaila(double x, double y)51 {52 PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0);53 maila.Shape = Shapes.Rectangle;54 maila.X = x;55 maila.Y = y;56 maila.Restitution = 1.0;57 Add(maila);58 59 return maila;60 12 } 61 13 62 void AsetaOhjaimet() 63 { 64 Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 65 Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 66 Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 67 Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 68 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, maila2, Vector.Zero); 71 Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 72 Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 73 74 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 75 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 76 77 ControllerOne.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila1, nopeusYlos); 78 ControllerOne.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 79 ControllerOne.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila1, nopeusAlas); 80 ControllerOne.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 81 82 ControllerTwo.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila2, nopeusYlos); 83 ControllerTwo.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 84 ControllerTwo.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila2, nopeusAlas); 85 ControllerTwo.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 86 87 ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 88 ControllerTwo.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 89 } 90 91 92 void AsetaNopeus(PhysicsObject maila, Vector nopeus) 93 { 94 if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 95 { 96 maila.Velocity = Vector.Zero; 97 return; 98 } 99 if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 100 { 101 maila.Velocity = Vector.Zero; 102 return; 103 } 104 105 maila.Velocity = nopeus; 106 } 107 108 109 110 14 111 15 }
Note: See TracChangeset
for help on using the changeset viewer.