Changeset 1600 for 2010/31


Ignore:
Timestamp:
2010-08-04 14:59:23 (9 years ago)
Author:
paaaanro
Message:
 
Location:
2010/31/nico@ala-konni.fi
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/31/nico@ala-konni.fi/pong/Peli.cs

    r1579 r1600  
    1212    PhysicsObject maila1; 
    1313    PhysicsObject maila2; 
     14    PhysicsObject vasenReuna; 
     15    PhysicsObject oikeaReuna; 
     16 
     17    IntMeter pelaajan1Pisteet; 
     18    IntMeter pelaajan2Pisteet; 
     19 
    1420 
    1521    protected override void Begin() 
     
    1723        luokentta(); 
    1824        AsetaOhjaimet(); 
     25        Listaalaskuri(); 
     26        Aloitapeli(); 
    1927         
    20         Aloitapeli(); 
    2128        //Vector impulssi = new Vector(500.0, 0.0); 
    2229        //pallo.Hit(impulssi); 
    23          
     30 
    2431    } 
    2532    void luokentta() 
     
    2936        pallo.X = -200.0; 
    3037        pallo.Y = 0.0; 
    31         Add(pallo);  
    32         Level.CreateBorders(); 
     38        Add(pallo); 
     39        AddCollisionHandler(pallo, KasittelePallonTormays); 
    3340        pallo.Restitution = 1.0; 
    34         Level.CreateBorders(1.0, false); 
     41         
    3542        Level.BackgroundColor = Color.DarkCyan; 
    3643        Camera.ZoomToLevel(); 
    3744        maila1 = LuoMaila(Level.Left + 20.0, 0.0); 
    3845        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
     46        vasenReuna = Level.CreateLeftBorder(); 
     47        PhysicsObject vasenreuna = Level.CreateLeftBorder(); 
     48        vasenreuna.Restitution = 1.0; 
     49        vasenreuna.IsVisible = false; 
     50        PhysicsObject oikeareuna = Level.CreateRightBorder(); 
     51        oikeaReuna = Level.CreateRightBorder(); 
     52        oikeareuna.Restitution = 1.0; 
     53        oikeareuna.IsVisible = false; 
     54        PhysicsObject alareuna = Level.CreateBottomBorder(); 
     55        alareuna.Restitution = 1.0; 
     56        alareuna.IsVisible = false; 
     57        PhysicsObject yläreuna = Level.CreateTopBorder(); 
     58        yläreuna.Restitution = 1.0; 
     59        yläreuna.IsVisible = false; 
    3960 
    4061 
    4162         
    42     } 
    43     
    44     void Aloitapeli ()  
    45    { 
    46  
    47        Vector impulssi = new Vector(500.0, 0.0); 
    48        pallo.Hit(impulssi); 
    4963 
    5064 
    5165 
    52    } 
     66    } 
    5367 
    54    PhysicsObject LuoMaila( double X, double Y ) 
     68    void Aloitapeli() 
     69    { 
     70 
     71        Vector impulssi = new Vector(500.0, 0.0); 
     72        pallo.Hit(impulssi); 
     73 
     74 
     75 
     76    } 
     77 
     78    PhysicsObject LuoMaila(double X, double Y) 
    5579    { 
    5680        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
     
    6589 
    6690 
    67      void AsetaOhjaimet () 
     91    void AsetaOhjaimet() 
    6892    { 
    69       Keyboard.Listen (Key.Escape, ButtonState.Pressed, Exit, "Poistu" ); 
    70       Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1:Liikuta Mailaa Ylos", maila1, nopeusylos); 
    71       Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
    72        
     93        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 
     94        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1:Liikuta Mailaa Ylos", maila1, nopeusylos); 
     95        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     96        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusalas); 
     97        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
    7398 
    74        
     99        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusylos); 
     100        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     101        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusalas); 
     102        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     103 
     104        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     105 
     106        ControllerOne.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila1, nopeusylos); 
     107        ControllerOne.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     108        ControllerOne.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila1, nopeusalas); 
     109        ControllerOne.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     110 
     111        ControllerTwo.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila2, nopeusylos); 
     112        ControllerTwo.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     113        ControllerTwo.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila2, nopeusalas); 
     114        ControllerTwo.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     115 
     116        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 
     117        ControllerTwo.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 
     118 
     119         
     120 
     121 
     122 
     123 
     124 
     125 
    75126 
    76127    } 
    77     void AsetaNopeus( PhysicsObject maila, Vector nopeus ) 
     128    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
     129    { 
     130        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
     131        { 
     132 
     133            maila.Velocity = Vector.Zero; 
     134            return; 
     135        } 
     136 
     137        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
     138        { 
     139            maila.Velocity = Vector.Zero; 
     140            return; 
     141 
     142        } 
     143        maila.Velocity = nopeus; 
     144    } 
     145    void Listaalaskuri() 
    78146{ 
    79     maila.Velocity = nopeus; 
     147    pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     148    pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
    80149 
    81150} 
    82151 
     152    IntMeter LuoPisteLaskuri( double X, double Y ) 
     153{ 
     154    IntMeter laskuri = new IntMeter( 0 ); 
     155    laskuri.MaxValue = 10; 
     156    Label naytto = new Label(); 
     157    naytto.BindTo(laskuri); 
     158    naytto.X = X ; 
     159    naytto.Y = Y ; 
     160    naytto.TextColor = Color.White; 
     161    Add(naytto); 
     162    return laskuri; 
     163 
    83164} 
     165 
     166 
     167    void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     168    { 
     169        if (kohde == oikeaReuna) 
     170        { 
     171            pelaajan1Pisteet.Value += 1; 
     172        } 
     173        else if (kohde == vasenReuna) 
     174        { 
     175            pelaajan2Pisteet.Value += 1; 
     176        } 
     177 
     178 
     179    } 
     180} 
Note: See TracChangeset for help on using the changeset viewer.