Changeset 2962 for 2012/24


Ignore:
Timestamp:
2012-06-12 14:40:32 (8 years ago)
Author:
tovalile
Message:

Talletus.

Location:
2012/24/ToniV/pong
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • 2012/24/ToniV/pong/pong/pong/pong.cs

    r2921 r2962  
    99public class pong : PhysicsGame 
    1010{ 
     11    Vector nopeusYlos = new Vector(0, 700); 
     12    Vector nopeusAlas = new Vector(0, -700); 
     13 
    1114    PhysicsObject pallo; 
     15 
     16    PhysicsObject vasenReuna; 
     17    PhysicsObject oikeaReuna; 
     18 
     19    PhysicsObject maila; 
     20    PhysicsObject maila2; 
     21 
     22    IntMeter pelaajan1Pisteet; 
     23    IntMeter pelaajan2Pisteet; 
     24 
     25 
    1226    public override void Begin() 
    1327    { 
    1428        LuoKentta(); 
    15  
     29        Asetaohjaimet(); 
     30        LisaaLaskurit(); 
    1631        Aloitapeli(); 
    1732 
    18         PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    19         Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     33 
    2034 
    2135    } 
     
    2741        pallo.Color = Color.Green; 
    2842 
    29         LuoMaila( Level.Left +20.0,0.0); 
    30         LuoMaila(Level.Right - 20.0, 0.0); 
     43        maila = LuoMaila(Level.Left + 20.0, 0.0); 
     44        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
    3145 
    3246        pallo.X = -200.0; 
    3347        pallo.Y = 0.0; 
    3448 
    35         Level.CreateBorders(1.0, false); 
     49        vasenReuna = Level.CreateLeftBorder(); 
     50        vasenReuna.Restitution = 1.0; 
     51        vasenReuna.IsVisible = true; 
     52 
     53        oikeaReuna = Level.CreateRightBorder(); 
     54        oikeaReuna.Restitution = 1.0; 
     55        oikeaReuna.IsVisible = true; 
     56 
     57        PhysicsObject alaReuna = Level.CreateBottomBorder(); 
     58        alaReuna.Restitution = 1.0; 
     59        alaReuna.IsVisible = true; 
     60 
     61        PhysicsObject yläReuna = Level.CreateTopBorder(); 
     62        yläReuna.Restitution = 1.0; 
     63        yläReuna.IsVisible = true; 
     64 
    3665        pallo.Restitution = 1.0; 
    3766        Level.BackgroundColor = Color.Yellow; 
    38         Camera.ZoomToLevel(); 
    39  
     67        Camera.ZoomToLevel(50); 
     68        AddCollisionHandler(pallo, KasittelePallonTormays); 
    4069 
    4170    } 
     
    4372    void Aloitapeli() 
    4473    { 
    45         Vector impulssi = new Vector(500.0, 0.0); 
     74        Vector impulssi = new Vector(600.0, 0.0); 
    4675        pallo.Hit(impulssi); 
    4776    } 
    4877 
    49     void LuoMaila(double x, double y) 
     78    PhysicsObject LuoMaila(double x, double y) 
    5079    { 
    5180        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
    5281        maila.Shape = Shape.Rectangle; 
    53         maila.X= x; 
    54         maila.Y= y; 
     82        maila.X = x; 
     83        maila.Y = y; 
    5584        maila.Restitution = 1.0; 
    5685        maila.Color = Color.Violet; 
    5786        Add(maila); 
    5887 
    59     }    
     88        return maila; 
     89 
     90    } 
     91    void Asetaohjaimet() 
     92    { 
     93        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
     94        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     95 
     96        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "liikuta ylös vasenta mailaa", maila, nopeusYlos); 
     97        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila, Vector.Zero); 
     98        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, null, maila, nopeusAlas); 
     99        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila, Vector.Zero); 
     100 
     101        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä Ohjeet"); 
     102        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "lopeta peli"); 
     103 
     104        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     105        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     106        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     107        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     108 
     109 
     110        ControllerOne.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila, nopeusYlos); 
     111        ControllerOne.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila, Vector.Zero); 
     112        ControllerOne.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila, nopeusAlas); 
     113        ControllerOne.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila, Vector.Zero); 
     114 
     115        ControllerTwo.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila2, nopeusYlos); 
     116        ControllerTwo.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     117        ControllerTwo.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila2, nopeusAlas); 
     118        ControllerTwo.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     119 
     120        ControllerOne.Listen(Button.Back, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     121        ControllerTwo.Listen(Button.Back, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     122 
     123 
     124    } 
     125    void AsetaNopeus(IPhysicsObject maila, Vector nopeus) 
     126    { 
     127        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
     128        { 
     129            maila.Velocity = Vector.Zero; 
     130            return; 
     131        } 
     132 
     133        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
     134        { 
     135            maila.Velocity = Vector.Zero; 
     136            return; 
     137        } 
     138 
     139        maila.Velocity = nopeus; 
     140 
     141    } 
     142 
     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 = 10; 
     153        Label naytto = new Label(); 
     154        naytto.BindTo(laskuri); 
     155        naytto.X = X; 
     156        naytto.Y = Y; 
     157        naytto.TextColor = Color.Black; 
     158        naytto.BorderColor = Level.BackgroundColor; 
     159        naytto.Color = Level.BackgroundColor; 
     160        Add(naytto); 
     161 
     162        return laskuri; 
     163    } 
     164 
     165 
     166 
     167    void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde)  { 
     168        if (kohde == oikeaReuna) 
     169 
     170            pelaajan1Pisteet.Value += 1; 
     171 
     172        else if (kohde == vasenReuna) 
     173 
     174            pelaajan2Pisteet.Value += 1; 
     175 
    60176} 
Note: See TracChangeset for help on using the changeset viewer.