Ignore:
Timestamp:
2014-06-24 12:32:12 (9 years ago)
Author:
tuujauhi
Message:

valmis

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2014/26/TuukkaJ/pong/pong/pong/pong.cs

    r5050 r5065  
    1414    PhysicsObject maila1; 
    1515    PhysicsObject maila2; 
     16    PhysicsObject oikeaReuna; 
     17    PhysicsObject vasenReuna; 
     18 
     19    IntMeter pelaajan1Pisteet; 
     20    IntMeter pelaajan2Pisteet; 
    1621 
    1722    public override void Begin() 
     
    2025        LuoKentta(); 
    2126        AsetaOhjaimet(); 
    22  
     27        LisaaLaskurit(); 
    2328        AloitaPeli(); 
    2429 
    2530 
    26         Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    27  
     31         
    2832        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    2933 
    3034      
    3135 
    32         Level.CreateBorders(1.0, false); 
     36       
    3337        Level.Background.Color = Color.Black; 
    3438 
     
    4852         
    4953 
    50         maila1a1 = LuoMaila(Level.Left 
    51         Maila1a2 = LuoMaila(Level.Right - 20.0, 0,0) 
     54        maila1 = LuoMaila(Level.Left+20.0, 0.0); 
     55 
     56        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
     57        vasenReuna = Level.CreateLeftBorder(); 
     58        vasenReuna.Restitution = 1.0; 
     59        vasenReuna.IsVisible = false; 
     60        oikeaReuna = Level.CreateRightBorder(); 
     61        oikeaReuna.IsVisible = false; 
     62        oikeaReuna.Restitution = 1.0; 
     63        PhysicsObject ylaReuna = Level.CreateTopBorder(); 
     64        ylaReuna.Restitution = 1.0; 
     65        ylaReuna.KineticFriction = 0.0; 
     66        ylaReuna.IsVisible = false; 
     67        PhysicsObject alaReuna = Level.CreateBottomBorder(); 
     68        alaReuna.Restitution = 1.0; 
     69        alaReuna.IsVisible = false; 
     70        alaReuna.KineticFriction = 0.0; 
    5271 
    5372        Level.Background.Color = Color.Black; 
    54         Level.CreateBorders(1.0, false); 
    55  
     73        
     74        AddCollisionHandler(pallo, KasittelePallonTormays); 
    5675        Camera.ZoomToLevel(); 
    5776    } 
     
    7695    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
    7796    { 
     97        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
     98        { 
     99 
     100            maila.Velocity = Vector.Zero; 
     101            return; 
     102        } 
     103     
     104 
    78105        maila.Velocity = nopeus; 
    79106    } 
     107 
    80108    void AsetaOhjaimet() 
    81109    { 
     110        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     111        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     112        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     113        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     114 
     115        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     116        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     117        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     118        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     119 
     120        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     121        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     122 
     123        ControllerOne.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila1, nopeusYlos); 
     124        ControllerOne.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     125        ControllerOne.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila1, nopeusAlas); 
     126        ControllerOne.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     127 
     128        ControllerTwo.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila2, nopeusYlos); 
     129        ControllerTwo.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     130        ControllerTwo.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila2, nopeusAlas); 
     131        ControllerTwo.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     132 
     133        ControllerOne.Listen(Button.Back, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     134 
     135        ControllerTwo.Listen(Button.Back, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    82136    } 
     137 
     138        void LisaaLaskurit() 
     139        { 
     140            pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     141            pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     142        } 
     143 
     144        IntMeter LuoPisteLaskuri(double x, double y) 
     145        { 
     146            IntMeter laskuri = new IntMeter(0); 
     147            laskuri.MaxValue = 10; 
     148 
     149            Label naytto = new Label(); 
     150            naytto.BindTo(laskuri); 
     151            naytto.X = x; 
     152            naytto.Y = y; 
     153            naytto.TextColor = Color.Red; 
     154            naytto.BorderColor = Level.Background.Color; 
     155            naytto.Color = Level.Background.Color; 
     156            Add(naytto); 
     157 
     158            return laskuri; 
     159        } 
     160 
     161 
     162        void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     163        { 
     164            if (kohde == oikeaReuna) 
     165            { 
     166                pelaajan1Pisteet.Value += 1; 
     167            } 
     168            else if (kohde == vasenReuna) 
     169            { 
     170                pelaajan2Pisteet.Value += 1; 
     171            } 
     172 
     173        } 
     174 
     175 
     176 
     177 
    83178} 
    84179 
    85180 
    86181 
     182 
     183     
     184 
     185 
     186 
     187 
Note: See TracChangeset for help on using the changeset viewer.