Changeset 836 for 2010/24


Ignore:
Timestamp:
2010-06-15 11:25:47 (9 years ago)
Author:
joaamaka
Message:

Muutoksia ja viimeistely Pong-peliin.

File:
1 edited

Legend:

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

    r829 r836  
    55public class Peli : PhysicsGame 
    66{ 
    7     PhysicsObject pallo; 
     7    PhysicsObject pallo;     
    88    PhysicsObject maila1; 
    99    PhysicsObject maila2; 
     
    1313    PhysicsObject vasenReuna; 
    1414    PhysicsObject oikeaReuna; 
     15    PhysicsObject ylaReuna; 
     16    PhysicsObject alaReuna; 
    1517 
    1618    IntMeter pelaajan1Pisteet; 
     
    1820 
    1921    protected override void Begin() 
    20      
    2122    { 
    2223        LuoKentta(); 
     
    3536        pallo.X = 0.0; 
    3637        pallo.Y = 0.0; 
    37          
    38         maila1=LuoMaila(Level.Left + 20.0, 0.0); 
    39         maila2=LuoMaila(Level.Right - 20.0, 0.0); 
     38 
     39        maila1 = LuoMaila(Level.Left + 20.0, 0.0); 
     40        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
    4041 
    4142        AddCollisionHandler(pallo, KasittelePallonTormays); 
     
    4445        vasenReuna.Restitution = 1.0; 
    4546        vasenReuna.IsVisible = false; 
     47        vasenReuna.IgnoresCollisionResponse = true; // ei törmää "oikeasti", vaikka tulee törmäystapahtuma 
    4648        oikeaReuna = Level.CreateRightBorder(); 
    4749        oikeaReuna.Restitution = 1.0; 
    4850        oikeaReuna.IsVisible = false; 
    49         PhysicsObject ylaReuna = Level.CreateTopBorder(); 
     51        oikeaReuna.IgnoresCollisionResponse = true; 
     52        ylaReuna = Level.CreateTopBorder(); 
    5053        ylaReuna.Restitution = 1.0; 
    5154        ylaReuna.IsVisible = false; 
    52         PhysicsObject alaReuna = Level.CreateBottomBorder(); 
     55        alaReuna = Level.CreateBottomBorder(); 
    5356        alaReuna.Restitution = 1.0; 
    5457        alaReuna.IsVisible = false; 
    5558 
    56         Level.BackgroundColor = Color.Red; 
     59        Level.BackgroundColor = Color.Green; 
    5760 
    5861        Camera.ZoomToLevel(); 
    5962    } 
    6063    void AloitaPeli() 
    61  
    62         { 
    63         Vector impulssi = new Vector(700.0, 0.0); 
     64    { 
     65        pallo.Velocity = Vector.Zero; 
     66        pallo.Position = new Vector(40, 0); 
     67        Vector impulssi = new Vector(700, 0); 
    6468        pallo.Hit(impulssi); 
    65         } 
     69    } 
    6670 
    6771    PhysicsObject LuoMaila(double x, double y) 
     
    6973        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
    7074        maila.Shape = Shapes.Rectangle; 
     75        maila.Color = Color.Black; 
    7176        maila.X = x; 
    7277        maila.Y = y; 
     
    9196        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    9297        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 
    93      
    94         ControllerOne.Listen( Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila1, nopeusYlos ); 
    95         ControllerOne.Listen( Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero ); 
    96         ControllerOne.Listen( Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila1, nopeusAlas ); 
    97         ControllerOne.Listen( Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero ); 
    9898 
    99         ControllerTwo.Listen( Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila2, nopeusYlos ); 
    100         ControllerTwo.Listen( Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero ); 
    101         ControllerTwo.Listen( Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila2, nopeusAlas ); 
    102         ControllerTwo.Listen( Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero ); 
     99        ControllerOne.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila1, nopeusYlos); 
     100        ControllerOne.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     101        ControllerOne.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila1, nopeusAlas); 
     102        ControllerOne.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
    103103 
    104         ControllerOne.Listen( Button.Back, ButtonState.Pressed, Exit, "Poistu" ); 
    105         ControllerTwo.Listen( Button.Back, ButtonState.Pressed, Exit, "Poistu" ); 
    106      
     104        ControllerTwo.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila2, nopeusYlos); 
     105        ControllerTwo.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     106        ControllerTwo.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila2, nopeusAlas); 
     107        ControllerTwo.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     108 
     109        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 
     110        ControllerTwo.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 
     111 
    107112    } 
    108113 
     
    126131    void LisaaLaskurit() 
    127132    { 
    128         pelaajan1Pisteet = LuoPisteLaskuri( Screen.Left + 100.0, Screen.Top - 100.0 ); 
    129         pelaajan2Pisteet = LuoPisteLaskuri( Screen.Right - 100.0, Screen.Top - 100.0 ); 
     133        pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     134        pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
    130135    } 
    131      
     136 
    132137    IntMeter LuoPisteLaskuri(double x, double y) 
    133138    { 
     
    145150    void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
    146151    { 
    147                 if ( kohde == oikeaReuna ) 
    148             { 
    149                 pelaajan1Pisteet.Value += 1; 
    150             } 
    151             else if ( kohde == vasenReuna ) 
    152             { 
    153                 pelaajan2Pisteet.Value += 1; 
    154             } 
    155152 
     153        if (kohde == oikeaReuna) 
     154        { 
     155            pelaajan1Pisteet.Value += 1; 
     156            pallo.Velocity = Vector.Zero; 
     157            pallo.Position = new Vector(0, 0); 
     158            AloitaPeli(); 
     159        } 
     160        else if (kohde == vasenReuna) 
     161        { 
     162            pelaajan2Pisteet.Value += 1; 
     163            pallo.Velocity = Vector.Zero; 
     164            pallo.Position = new Vector(0, 0);  
     165            AloitaPeli(); 
     166        } 
    156167    } 
    157  
    158168} 
    159  
Note: See TracChangeset for help on using the changeset viewer.