Changeset 2167


Ignore:
Timestamp:
2011-06-27 14:56:41 (8 years ago)
Author:
juiitamm
Message:

Talletus.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2011/26/JouniM/Pong/Pong/Pong/Peli.cs

    r2165 r2167  
    99public class Peli : PhysicsGame 
    1010{ 
     11    Vector nopeusYlos = new Vector(0, 400); 
     12    Vector nopeusAlas = new Vector(0, -400); 
     13 
    1114    PhysicsObject pallo; 
     15 
     16    PhysicsObject maila1; 
     17    PhysicsObject maila2; 
     18 
     19    IntMeter pelaajan1Pisteet; 
     20    IntMeter pelaajan2Pisteet; 
     21 
     22 
    1223 
    1324    public override void Begin() 
     
    1627 
    1728        LuoKentta(); 
     29        AsetaOhjaimet(); 
    1830        AloitaPeli(); 
    19  
     31        LisaaLaskuri( double x, double y ); 
    2032 
    2133    } 
     
    2436    { 
    2537        pallo = new PhysicsObject(40.0, 40.0); 
    26         pallo.Shape = Shape.Heart; 
    27         pallo.Color = Color.LimeGreen; 
     38        pallo.Shape = Shape.Octagon; 
     39        pallo.Color = Color.Lime; 
    2840        pallo.X = -300.0; 
    2941        pallo.Y = 0.0; 
     
    3244 
    3345 
    34         LuoMaila( Level.Left + 20.0, 0.0 ); 
    35         LuoMaila(Level.Right - 20.0, 0.0); 
     46        maila1 = LuoMaila ( Level.Left + 20.0, 0.0 ); 
     47        maila2 = LuoMaila (Level.Right - 20.0, 0.0); 
    3648 
    3749        Level.CreateBorders(1.2, false); 
    3850        Level.BackgroundColor = Color.DarkGray; 
     51        MessageDisplay.TextColor = Color.White; 
     52 
    3953 
    4054        Camera.ZoomToLevel(); 
     
    4862    } 
    4963 
    50     void LuoMaila( double x, double y ) 
     64    PhysicsObject LuoMaila( double x, double y ) 
    5165    { 
    5266        PhysicsObject maila = PhysicsObject.CreateStaticObject(30.0, 150.0); 
     
    5468        maila.X = x; 
    5569        maila.Y = y; 
    56         maila.Restitution = 1.0; 
     70        maila.Restitution = 1.2; 
    5771        Add( maila ); 
    5872 
     73        return maila; 
     74 
    5975    } 
     76 
     77    void AsetaOhjaimet() 
     78    { 
     79        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     80        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     81        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     82        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     83 
     84        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     85        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     86        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     87        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     88 
     89        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     90 
     91        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 
     92 
     93    } 
     94 
     95    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
     96    { 
     97        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
     98        { 
     99            maila.Velocity = Vector.Zero; 
     100            return; 
     101        } 
     102 
     103        if ( (nopeus.Y > 0) &&  ( maila.Top > Level.Top ) ) 
     104        { 
     105            maila.Velocity = Vector.Zero; 
     106            return; 
     107        } 
     108        maila.Velocity = nopeus; 
     109 
     110    } 
     111 
     112    IntMeter LisaaLaskuri( double x, double y ) 
     113    { 
     114        IntMeter laskuri = new IntMeter(0); 
     115        laskuri.MaxValue = 10; 
     116        Label naytto = new Label(); 
     117        naytto.BindTo(laskuri); 
     118        naytto.X = x; 
     119        naytto.Y = y; 
     120        naytto.TextColor = Color.White; 
     121        naytto.BorderColor = Level.BackgroundColor; 
     122        naytto.Color = Level.BackgroundColor; 
     123        Add(naytto); 
     124        return laskuri; 
     125 
     126    } 
     127 
     128 
    60129} 
Note: See TracChangeset for help on using the changeset viewer.