Changeset 3492 for 2012


Ignore:
Timestamp:
2012-07-03 15:02:03 (8 years ago)
Author:
majaraut
Message:

Talletus.

Location:
2012/27/MattiR
Files:
60 added
1 edited

Legend:

Unmodified
Added
Removed
  • 2012/27/MattiR/Pong/Pong/Pong/Pong.cs

    r3447 r3492  
    1313 
    1414    PhysicsObject pallo; 
    15  
    1615    PhysicsObject maila1; 
    1716    PhysicsObject maila2; 
     17 
     18    PhysicsObject vasenReuna; 
     19    PhysicsObject oikeaReuna; 
     20 
     21    IntMeter pelaajan1Pisteet; 
     22    IntMeter pelaajan2Pisteet; 
    1823 
    1924    public override void Begin() 
     
    2227        AsetaOhjaimet(); 
    2328        AloitaPeli(); 
     29        LisaaLaskurit(); 
    2430    } 
    2531 
    2632    void AsetaOhjaimet() 
    2733    { 
    28        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaMailaYlos, "Pelaaja 1: Liikuta mailaa ylös"); 
    29        Keyboard.Listen(Key.A, ButtonState.Released, PysaytaMaila1, null); 
    30         
    31         
     34        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     35        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     36        Keyboard.Listen(Key.W, ButtonState.Down, AsetaNopeus, "pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     37        Keyboard.Listen(Key.W, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     38        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     39        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     40        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     41        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
    3242    } 
    3343 
     
    3747        pallo = new PhysicsObject(44.0, 44.0); 
    3848        Add(pallo); 
    39         pallo.Shape = Shape.Hexagon; 
     49        pallo.Shape = Shape.Circle; 
    4050        pallo.X = 200.0; 
    4151        pallo.Y = 30; 
     
    4454        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
    4555 
    46          
     56        vasenReuna = Level.CreateLeftBorder(); 
     57        vasenReuna.Restitution = 1.0; 
     58        vasenReuna.IsVisible = false; 
     59 
     60        PhysicsObject ylaReuna = Level.CreateTopBorder(); 
     61        ylaReuna.Restitution = 1.0; 
     62        ylaReuna.IsVisible = false; 
     63 
     64        PhysicsObject alaReuna = Level.CreateBottomBorder(); 
     65        alaReuna.Restitution = 1.0; 
     66        alaReuna.IsVisible = false; 
     67 
     68        oikeaReuna = Level.CreateRightBorder(); 
     69        oikeaReuna.Restitution = 1.0; 
     70        oikeaReuna.IsVisible = false; 
     71 
    4772        Level.CreateBorders(); 
    4873        pallo.Restitution = 1.0; 
    49         Level.CreateBorders(1.0, true); 
    50         Level.BackgroundColor = Color.Cyan; 
     74        vasenReuna.Restitution = 1.0; 
     75        vasenReuna.IsVisible = false;                 
     76        Level.BackgroundColor = Color.Yellow; 
    5177        Camera.ZoomToLevel(); 
     78 
     79        AddCollisionHandler(pallo,KasittelePallonTormays); 
    5280 
    5381        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
     
    5987        pallo.Hit(impulssi); 
    6088    } 
    61     void LuoMaila(double x, double y) 
     89    PhysicsObject LuoMaila(double x, double y) 
    6290    { 
    6391        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
     
    7199    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
    72100    { 
     101        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
     102        { 
     103            maila.Velocity = Vector.Zero; 
     104            return; 
     105        } 
     106        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
     107        { 
     108            maila.Velocity = Vector.Zero; 
     109            return; 
     110        } 
     111 
    73112        maila.Velocity = nopeus; 
    74113    } 
     114    void LisaaLaskurit() 
     115    { 
     116        pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     117        pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     118    } 
     119    IntMeter LuoPisteLaskuri(double X, double y) 
     120    { 
     121        IntMeter laskuri = new IntMeter(0); 
     122        laskuri.MaxValue = 10; 
     123 
     124        Label naytto = new Label(); 
     125        naytto.BindTo(laskuri); 
     126        naytto.X = X; 
     127        naytto.Y = y; 
     128        naytto.TextColor = Color.Black; 
     129        naytto.BorderColor = Level.BackgroundColor; 
     130        naytto.Color = Level.BackgroundColor; 
     131        Add(naytto); 
     132 
     133        return laskuri;  
     134    } 
     135    void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     136    { 
     137        if (kohde == oikeaReuna) 
     138        { 
     139            pelaajan1Pisteet.Value += 1; 
     140        } 
     141        else if (kohde == vasenReuna) 
     142        { 
     143            pelaajan2Pisteet.Value += 1; 
     144        } 
     145 
     146    } 
    75147} 
Note: See TracChangeset for help on using the changeset viewer.