Changeset 3784 for 2012/30


Ignore:
Timestamp:
2012-07-27 09:43:14 (11 years ago)
Author:
anlakane
Message:

Talletus.

Location:
2012/30/MarkusV
Files:
35 added
1 edited

Legend:

Unmodified
Added
Removed
  • 2012/30/MarkusV/PoNG/PoNG/PoNG/PoNG.cs

    r3705 r3784  
    99public class PoNG : PhysicsGame 
    1010{ 
    11     Vector nopeusylos = new Vector(0,200); 
     11    Vector nopeusylos = new Vector(0, 200); 
    1212    Vector nopeusalas = new Vector(0, -200); 
    1313    PhysicsObject pallo; 
    1414    PhysicsObject maila1; 
    1515    PhysicsObject maila2; 
     16    PhysicsObject vasenreuna; 
     17    PhysicsObject oikeareuna; 
     18    IntMeter pelaajan1pisteet; 
     19    IntMeter pelaajan2pisteet; 
     20 
    1621    public override void Begin() 
    1722    { 
    1823        Luokentta(); 
    1924        aloitapeli(); 
     25        asetenappaimet(); 
     26        lisaaLaskurit(); 
    2027 
    2128        Vector impulssi = new Vector(1000, 0); 
     
    3138        pallo.Shape = Shape.Circle; 
    3239        pallo.Color = Color.Orange; 
    33         pallo.X = 100; 
    34         pallo.Y = 170; 
     40        pallo.X = 000; 
     41        pallo.Y = 000; 
    3542        maila1 = luomaila(Level.Left + 20.0, 0.0); 
    3643        maila2 = luomaila(Level.Right - 20.0, 0.0); 
    37         Level.CreateBorders(1.0, false); 
    38         pallo.Restitution = 200.0; 
     44        pallo.Restitution = 20.0; 
    3945        Level.BackgroundColor = Color.DarkJungleGreen; 
     46        vasenreuna = Level.CreateLeftBorder(); 
     47        vasenreuna.Restitution = 1.0; 
     48        vasenreuna.IsVisible = false; 
     49        oikeareuna = Level.CreateRightBorder(); 
     50        oikeareuna.Restitution = 10.0; 
     51        oikeareuna.IsVisible = false; 
     52        PhysicsObject alareuna = Level.CreateBottomBorder(); 
     53        alareuna.Restitution = 1.0; 
     54        alareuna.IsVisible = false; 
     55        alareuna.KineticFriction = 0.0; 
     56        PhysicsObject ylareuna = Level.CreateTopBorder(); 
     57        ylareuna.Restitution = 1.0; 
     58        ylareuna.IsVisible = false; 
    4059 
     60        AddCollisionHandler(pallo, kasittelepallontormays); 
    4161        Camera.ZoomToLevel(); 
    42         luomaila(20, 20); 
    4362    } 
    4463 
     
    4867        pallo.Hit(impulssi); 
    4968    } 
    50     PhysicsObject luomaila(double x, double y){ 
    51 PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
     69    PhysicsObject luomaila(double x, double y) 
     70    { 
     71        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
    5272        maila.Shape = Shape.Rectangle; 
    5373        maila.X = x; 
    5474        maila.Y = y; 
    5575        maila.Restitution = 1.0; 
    56         Add(maila);  
     76        Add(maila); 
    5777        return maila; 
    58       void astenappaimet() 
    59 {Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    60 Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus,"pelaaja 1. liikuttaa mailaa ylös", maila1, nopeusylos); 
    61 Keyboard.Listen(Key.A, ButtonState.Released,AsetaNopeus,null, null, maila1, Vector.Zero); 
    62 Keyboard.Listen(Key.up,ButtonState.Down,Asetanopeus,"pelaja 2 liikuttaa mailaa ylös",maila2, nopeusylos); 
    63 Keyboard.Listen(Key.Z,ButtonState.Down,Asetanopeus,null,Vector.Zero); 
    64 Keyboard.Listen(Key.up,ButtonState.Released,Asetanopeus,null, 
    65 Keyboard.Listen(Key.Z,ButtonState.Released 
    66   } 
     78    } 
     79    void asetenappaimet() 
     80    { 
     81        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     82        Keyboard.Listen(Key.A, ButtonState.Down, Asetanopeus, "pelaaja 1. liikuttaa mailaa ylös", maila1, nopeusylos); 
     83        Keyboard.Listen(Key.A, ButtonState.Released, Asetanopeus, null, maila1, Vector.Zero); 
     84        Keyboard.Listen(Key.Z, ButtonState.Down, Asetanopeus, "pelaja 2 liikuttaa mailaa alas", maila1, nopeusalas); 
     85        Keyboard.Listen(Key.Z, ButtonState.Released, Asetanopeus, null, maila1, Vector.Zero); 
     86        Keyboard.Listen(Key.Up, ButtonState.Down, Asetanopeus, "pelaaja 2 liikuttaa mailaa ylös", maila2, nopeusylos); 
     87        Keyboard.Listen(Key.Up, ButtonState.Released, Asetanopeus, null, maila2, Vector.Zero); 
     88        Keyboard.Listen(Key.Down, ButtonState.Down, Asetanopeus, "pelaaja 2 liikuttaa mailaa alas", maila2, nopeusalas); 
     89        Keyboard.Listen(Key.Down, ButtonState.Released, Asetanopeus, null, maila2, Vector.Zero); 
     90    } 
     91    void Asetanopeus(PhysicsObject maila, Vector nopeus) 
     92    { 
     93        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
     94        { 
     95            maila.Velocity = Vector.Zero; 
     96            return; 
     97        } 
     98 
     99        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
     100        { 
     101            maila.Velocity = Vector.Zero; 
     102            return; 
     103        } 
     104        maila.Velocity = nopeus; 
     105    } 
     106    void lisaaLaskurit() 
     107    { 
     108        pelaajan1pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     109        pelaajan2pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     110    } 
     111    IntMeter LuoPisteLaskuri(double x, double y) 
     112    { 
     113        IntMeter laskuri = new IntMeter(0); 
     114        laskuri.MaxValue = (10); 
     115 
     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        
     125        return laskuri; 
     126        { 
     127        } 
     128    } 
     129    void kasittelepallontormays(PhysicsObject pallo, PhysicsObject kohde) 
     130    { 
     131        if (kohde == oikeareuna) 
     132        { 
     133            pelaajan1pisteet.Value += 1; 
     134        } 
     135        else if (kohde == vasenreuna) 
     136        { 
     137            pelaajan2pisteet.Value += 1; 
     138        } 
     139    } 
    67140} 
    68 } 
     141 
     142 
Note: See TracChangeset for help on using the changeset viewer.