Changeset 844 for 2010/24


Ignore:
Timestamp:
2010-06-15 11:30:55 (9 years ago)
Author:
anlakane
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/24/danmarti/Pong/Peli.cs

    r811 r844  
    1111    PhysicsObject maila2; 
    1212 
    13     Vector nopeusYlos = new Vector(0, 200); 
    14     Vector nopeusAlas = new Vector(0, -200); 
     13    PhysicsObject vasenReuna; 
     14    PhysicsObject oikeaReuna; 
     15 
     16 
     17    Vector nopeusYlos = new Vector(0, 500); 
     18    Vector nopeusAlas = new Vector(0, -500); 
     19    Vector nopeusEteen = new Vector(500, 0); 
     20    Vector nopeusTaakse = new Vector(-500, 0); 
     21 
     22    IntMeter pelaajan1Pisteet; 
     23    IntMeter pelaajan2Pisteet; 
    1524 
    1625    protected override void Begin() 
     
    2130        AloitaPeli(); 
    2231        AsetaOhjaimet(); 
     32        LisaaLaskurit(); 
    2333 
    2434        Vector impulssi = new Vector(500.0, 0.0); 
     
    3040    void LuoKentta() 
    3141    { 
    32         pallo = new PhysicsObject( 50, 50 ); 
    33         pallo.Shape = Shapes.Triangle; 
     42        pallo = new PhysicsObject( 25, 25 ); 
     43        pallo.Shape = Shapes.Circle; 
    3444        Add( pallo ); 
    3545        pallo.Restitution = 1.1; 
    36         pallo.Color = Color.Black; 
     46        pallo.Color = Color.Lime; 
     47 
     48        AddCollisionHandler(pallo, KasittelePallonTormays); 
    3749 
    3850        maila1 = LuoMaila( Level.Left + 20.0, 0.0 ); 
    3951        maila2 = LuoMaila( Level.Right - 20.0, 0.0 ); 
    4052 
    41         Level.CreateBorders(1.0, false); 
    42         Level.BackgroundColor = Color.White; 
     53 
     54        vasenReuna = Level.CreateLeftBorder(); 
     55        vasenReuna.Restitution = 1.0; 
     56        vasenReuna.IsVisible = false; 
     57        oikeaReuna = Level.CreateRightBorder(); 
     58        oikeaReuna.Restitution = 1.0; 
     59        oikeaReuna.IsVisible = false; 
     60        PhysicsObject ylaReuna = Level.CreateTopBorder(); 
     61        ylaReuna.Restitution = 1.0; 
     62        ylaReuna.IsVisible = false; 
     63        PhysicsObject alaReuna = Level.CreateBottomBorder(); 
     64        alaReuna.Restitution = 1.0; 
     65        alaReuna.IsVisible = false; 
     66 
     67 
     68        Level.BackgroundColor = Color.ForestGreen; 
    4369 
    4470        Camera.ZoomToLevel(); 
     
    5480        maila.Restitution = 1.0; 
    5581        Add(maila); 
    56         maila.Color = Color.Black; 
     82        maila.Color = Color.Lime; 
    5783 
    5884        return maila; 
     
    6288    void AloitaPeli() 
    6389    { 
    64         Vector impulssi = new Vector(500.0, 0.0); 
     90        Vector impulssi = new Vector(300.0, 0.0); 
    6591        pallo.Hit( impulssi); 
    6692    } 
     
    79105        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
    80106        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     107 
     108        Keyboard.Listen(Key.L, ButtonState.Down, AsetaNopeus, "Heck yeah", pallo, nopeusEteen); 
     109        Keyboard.Listen(Key.J, ButtonState.Down, AsetaNopeus, "Heck no", pallo, nopeusTaakse); 
     110 
     111        Keyboard.Listen(Key.I, ButtonState.Down, AsetaNopeus, "Gotta move that gear up", pallo, nopeusYlos); 
     112        Keyboard.Listen(Key.K, ButtonState.Down, AsetaNopeus, "Spy sapping my dispenser", pallo, nopeusAlas); 
    81113 
    82114     
     
    102134    } 
    103135 
     136    void LisaaLaskurit() 
     137    { 
     138 
     139        pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     140        pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     141         
    104142    } 
    105143 
     144    IntMeter LuoPisteLaskuri( double x, double y ) 
     145    { 
     146        IntMeter laskuri = new IntMeter(0); 
     147        laskuri.MaxValue = 10; 
     148        ValueDisplay naytto = new ValueDisplay( ); 
     149        naytto.BindTo( laskuri ); 
     150        naytto.X = x; 
     151        naytto.Y = y; 
     152        naytto.ValueColor = Color.Lime; 
     153        Add( naytto ); 
     154        return laskuri; 
     155    } 
     156 
     157    void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     158    { 
     159        if (kohde == oikeaReuna) 
     160        { 
     161            pelaajan1Pisteet.Value += 1; 
     162        } 
     163        else if (kohde == vasenReuna) 
     164        { 
     165            pelaajan2Pisteet.Value += 1; 
     166        } 
     167    } 
     168 
     169    } 
     170 
Note: See TracChangeset for help on using the changeset viewer.