Ignore:
Timestamp:
2011-08-02 15:02:36 (8 years ago)
Author:
heemhama
Message:

Talletus.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2011/31/HeidiH/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1/Peli.cs

    r2479 r2515  
    1010{   Vector nopeusYlos =new Vector (0, +200.0); 
    1111    Vector nopeusAlas = new Vector (0, -200.0); 
    12     PhysicsObject pallo; 
    13      
     12    PhysicsObject pallo1; 
     13    PhysicsObject pallo2; 
     14 
    1415    PhysicsObject maila1; 
    1516    PhysicsObject maila2; 
     17    PhysicsObject vasenReuna; 
     18    PhysicsObject oikeaReuna; 
     19 
    1620    IntMeter pelaajan1Pisteet; 
    1721    IntMeter pelaajan2Pisteet; 
    1822 
     23     
    1924 
     25     
    2026    public override void Begin() 
    2127    { 
     
    2329        AsetaOhjaimet(); 
    2430        LisaaLaskurit(); 
    25         AloitaPeli();   // TODO: Kirjoita ohjelmakoodisi tähän 
    26        
    27         
    28         
    29         
     31        AloitaPeli();   // TODO: Kirjoita ohjelmakoodisi tähän  
    3032    } 
    3133 
    3234 
    3335    void LuoKentta() 
    34     {    
    35       pallo = new PhysicsObject(40.0, 40.0); 
    36         Add(pallo); 
    37         pallo.Shape = Shape.Circle; 
    38         pallo.X = -200.0; 
    39         pallo.Y = 0.0; 
    40         Level.CreateBorders ( 1.0, false); 
    41         pallo.Restitution = 1.0; 
    42         Level.BackgroundColor = Color.Black; 
     36    { 
     37        pallo2 = new PhysicsObject(40.0, 40.0); 
     38        Add(pallo2); 
     39        pallo2.Shape = Shape.Circle; 
     40        pallo2.X = -200.0; 
     41        pallo2.Y = 0.0; 
     42        pallo2.Color = Color.DarkMagenta; 
     43 
     44        pallo2 = new PhysicsObject(40.0, 40.0); 
     45        Add(pallo1); 
     46        pallo1.Shape = Shape.Circle; 
     47        pallo1.X = -200.0; 
     48        pallo1.Y = 0.0; 
     49        pallo1.Color = Color.DarkMagenta; 
     50        vasenReuna = Level.CreateLeftBorder(); 
     51        vasenReuna.Restitution = 1.0; 
     52        vasenReuna.IsVisible = false; 
     53        oikeaReuna = Level.CreateRightBorder(); 
     54        oikeaReuna.Restitution = 1.0; 
     55        oikeaReuna.IsVisible = false; 
     56        PhysicsObject alaReuna = Level.CreateBottomBorder(); 
     57        alaReuna.Restitution = 1.0; 
     58        alaReuna.IsVisible = false; 
     59        PhysicsObject ylaReuna = Level.CreateTopBorder(); 
     60        ylaReuna.Restitution = 1.0; 
     61        ylaReuna.IsVisible = false; 
     62 
     63        pallo1.Restitution = 1.0; 
     64        Level.BackgroundColor = Color.Beige; 
    4365        Camera.ZoomToLevel (); 
    4466        MessageDisplay.TextColor = Color.White; 
    45  
    4667        maila1 = LuoMaila ( Level.Left +20.0, 0.0); 
    4768        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
    48  
     69        AddCollisionHandler(pallo1, KasittelePallonTormays); 
     70        maila2.Color = Color.LimeGreen; 
     71        maila1.Color = Color.LimeGreen; 
    4972    } 
    5073 
     
    5275    { 
    5376        Vector impulssi = new Vector(500.0, 0.0); 
    54         pallo.Hit(impulssi); 
     77        pallo1.Hit(impulssi); 
     78 
     79        Vector impulssi = new Vector(500.0, 0.0); 
     80        pallo2.Hit(impulssi); 
     81     
    5582    } 
    56  
    5783 
    5884    PhysicsObject LuoMaila(double x, double y) 
     
    82108        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
    83109        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     110        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 
     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"); 
    84123 
    85124    } 
     
    89128        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
    90129        { 
    91             Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
    92             Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
    93             Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
    94             Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
    95  
    96             Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
    97             Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
    98             Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
    99             Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
    100  
    101             Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    102             Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 
    103  
    104             ControllerOne.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila1, nopeusYlos); 
    105             ControllerOne.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
    106             ControllerOne.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila1, nopeusAlas); 
    107             ControllerOne.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
    108  
    109             ControllerTwo.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila2, nopeusYlos); 
    110             ControllerTwo.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
    111             ControllerTwo.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila2, nopeusAlas); 
    112             ControllerTwo.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
    113  
    114             ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 
    115             ControllerTwo.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 
    116  
     130            
     131             
    117132            maila.Velocity = Vector.Zero; 
    118133            return; 
     
    128143    void LisaaLaskurit() 
    129144    { 
    130  
     145        pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     146        pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
    131147    } 
    132148 
     
    143159        naytto.Color = Level.BackgroundColor; 
    144160        Add(naytto); 
    145  
     161         
    146162        return laskuri; 
    147163 
    148164    } 
    149165 
     166    void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     167    { 
     168        if (kohde == oikeaReuna) 
     169        { 
     170            pelaajan1Pisteet.Value += 1; 
     171        } 
     172        else if (kohde == vasenReuna) 
     173        { 
     174            pelaajan2Pisteet.Value += 1; 
     175        } 
    150176    } 
     177     
     178     
     179     
     180} 
     181  
     182 
Note: See TracChangeset for help on using the changeset viewer.