Changeset 1311


Ignore:
Timestamp:
2010-07-27 11:26:37 (9 years ago)
Author:
samipunn
Message:

Lisätty lumiukko, ponq valmis.

Location:
2010/30/samipunn
Files:
11 added
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/30/samipunn/Pong/Peli.cs

    r1274 r1311  
    1313    PhysicsObject maila2; 
    1414 
     15    PhysicsObject vasenReuna; 
     16    PhysicsObject oikeaReuna; 
     17 
     18    IntMeter pelaajan1Pisteet; 
     19    IntMeter pelaajan2Pisteet; 
     20 
     21 
    1522    protected override void Begin() 
    1623    { 
    17  
    18  
    19  
    20  
    21         Level.CreateBorders(1.0, false); 
    22  
     24         
    2325 
    2426        Camera.ZoomToLevel(); 
     
    2729        AsetaOhjaimet(); 
    2830        AloitaPeli(); 
    29  
    30  
    31  
    32  
     31        LisaaLaskurit(); 
    3332 
    3433    } 
     
    3938    void luokentta() 
    4039    { 
     40        vasenReuna = Level.CreateLeftBorder(); 
     41        vasenReuna.Restitution = 1.0; 
     42        vasenReuna.IsVisible = false; 
     43 
     44        oikeaReuna = Level.CreateRightBorder(); 
     45        oikeaReuna.Restitution = 1.0; 
     46        oikeaReuna.IsVisible = false; 
     47 
     48        PhysicsObject alaReuna = Level.CreateBottomBorder(); 
     49        alaReuna.Restitution = 1.0; 
     50        alaReuna.IsVisible = false; 
     51 
     52        PhysicsObject YlaReuna = Level.CreateTopBorder(); 
     53        YlaReuna.Restitution = 1.0; 
     54        YlaReuna.IsVisible = false; 
     55 
    4156        Level.BackgroundColor = Color.Black; 
    42         pallo = new PhysicsObject(40.0, 40.0); 
     57        pallo = new PhysicsObject(50.0, 50.0); 
    4358        pallo.Shape = Shapes.Circle; 
     59        pallo.Color = Color.Red; 
    4460        Add(pallo); 
    4561 
     
    5571        pallo.Hit(impulssi); 
    5672 
     73        AddCollisionHandler(pallo, KasittelePallonTormays); 
     74 
    5775    } 
    5876     
     
    6078    { 
    6179    } 
    62  
    6380 
    6481 
     
    8198        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
    8299        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     100        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     101        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     102 
     103        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     104        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     105        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     106        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     107         
     108        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     109        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 
     110 
     111        ControllerOne.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila1, nopeusYlos); 
     112        ControllerOne.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     113        ControllerOne.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila1, nopeusAlas); 
     114        ControllerOne.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     115 
     116        ControllerTwo.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila2, nopeusYlos); 
     117        ControllerTwo.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     118        ControllerTwo.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila2, nopeusAlas); 
     119        ControllerTwo.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     120 
     121        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 
     122        ControllerTwo.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 
     123 
     124    } 
     125 
     126    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
     127    { 
     128        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
     129        { 
     130            maila.Velocity = Vector.Zero; 
     131            return; 
     132        } 
     133        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
     134        { 
     135            maila.Velocity = Vector.Zero; 
     136            return; 
     137        } 
    83138 
    84139 
    85  
    86         Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 
    87     } 
    88     void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
    89     { 
    90140        maila.Velocity = nopeus; 
    91141    } 
    92142 
     143    void LisaaLaskurit() 
     144    { 
     145        pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     146        pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     147    } 
     148 
     149    IntMeter LuoPisteLaskuri(double x, double y) 
     150    { 
     151        IntMeter laskuri = new IntMeter(0); 
     152        laskuri.MaxValue = 15; 
     153        Label naytto = new Label(); 
     154        naytto.BindTo(laskuri); 
     155        naytto.X = x; 
     156        naytto.Y = y; 
     157        naytto.TextColor = Color.White; 
     158        Add(naytto); 
     159        return laskuri; 
     160    } 
     161    void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     162    { 
     163        if (kohde == oikeaReuna) 
     164        { 
     165            pelaajan1Pisteet.Value += 1; 
     166        } 
     167        else if (kohde == vasenReuna) 
     168        { 
     169            pelaajan2Pisteet.Value += 1; 
     170        } 
     171 
     172    } 
    93173 
    94174} 
Note: See TracChangeset for help on using the changeset viewer.