Changeset 5530 for 2014/30


Ignore:
Timestamp:
2014-07-22 10:57:46 (5 years ago)
Author:
jotapoti
Message:

jeee on valmis

Location:
2014/30/AkseliK/Pinkkiponkki
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • 2014/30/AkseliK/Pinkkiponkki/Pinkkiponkki/Pinkkiponkki/Pinkkiponkki.cs

    r5519 r5530  
    99public class Pinkkiponkki : PhysicsGame 
    1010{ 
    11  Vector nopeusYlos = new Vector(0, 200); 
    12  Vector nopeusAlas = new Vector(0, -200); 
     11    Vector nopeusYlos = new Vector(0, 200); 
     12    Vector nopeusAlas = new Vector(0, -200); 
    1313 
    1414    PhysicsObject pallo; 
     
    1616    PhysicsObject maila2; 
    1717 
     18    PhysicsObject vasenReuna; 
     19    PhysicsObject oikeaReuna; 
     20 
     21    IntMeter pelaajan1Pisteet; 
     22    IntMeter pelaajan2Pisteet; 
    1823    public override void Begin() 
    1924    { 
     
    2227        luokentta(); 
    2328        AloitaPeli(); 
     29        LisaaLaskurit(); 
    2430        AsetaOhjaimet(); 
    2531 
     
    3440        pallo.X = -200.0; 
    3541        pallo.Y = -0.0; 
    36        maila1 =  LuoMaila(Level.Left + 40.0, 0.0); 
    37        maila2 =  LuoMaila(Level.Right - 40.0, 0.0); 
     42        maila1 = LuoMaila(Level.Left + 40.0, 0.0); 
     43        maila2 = LuoMaila(Level.Right - 40.0, 0.0); 
     44        AddCollisionHandler(pallo, KasittelePallonTormays); 
    3845 
    39         Level.CreateBorders(1 - 0, false); 
     46        vasenReuna = Level.CreateLeftBorder(); 
     47        vasenReuna.Restitution = 1.0; 
     48        vasenReuna.IsVisible = false; 
     49        oikeaReuna = Level.CreateRightBorder(); 
     50        oikeaReuna.Restitution = 1.0; 
     51        oikeaReuna.IsVisible = false; 
     52 
     53        PhysicsObject ylaReuna = Level.CreateTopBorder(); 
     54        ylaReuna.Restitution = 1.0; 
     55        ylaReuna.IsVisible = false; 
     56 
     57        PhysicsObject alaReuna = Level.CreateBottomBorder(); 
     58        alaReuna.Restitution = 1.0; 
     59        alaReuna.IsVisible = false; 
     60 
    4061        pallo.Restitution = 1.0; 
    4162        Level.Background.Color = Color.BloodRed; 
     
    5980    void AsetaOhjaimet() 
    6081    { 
    61          
    62         Keyboard.Listen(Key.A, ButtonState.Down,AsetaNopeus, "pelaaja 1:liikuta mailaa ylös",maila1, nopeusYlos ); 
    63         Keyboard.Listen(Key.A, ButtonState.Released,AsetaNopeus, null,maila1, Vector.Zero); 
     82 
     83        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "pelaaja 1:liikuta mailaa ylös", maila1, nopeusYlos); 
     84        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
    6485        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
    6586        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     
    7091        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
    7192 
    72         Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");     
     93        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    7394        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    74      
    75          
    76       } 
     95 
     96 
     97    } 
    7798    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
    7899    { 
    79     if((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
    80      
    81  
     100        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
     101        { 
     102            maila.Velocity = Vector.Zero; 
     103            return; 
    82104        } 
    83105        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
     
    90112 
    91113 
     114 
     115    } 
     116 
     117    void LisaaLaskurit() 
     118    { 
     119        pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     120        pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     121    } 
     122    IntMeter LuoPisteLaskuri(double x, double y)             
     123    { 
     124        IntMeter laskuri = new IntMeter(0); 
     125        laskuri.MaxValue = 10; 
    92126         
     127         
     128        Label naytto = new Label(); 
     129        naytto.BindTo(laskuri); 
     130        naytto.X = x; 
     131        naytto.Y = y; 
     132        naytto.TextColor = Color.White; 
     133        naytto.BorderColor = Level.Background.Color; 
     134        naytto.Color = Level.Background.Color; 
     135        Add(naytto); 
     136 
     137        return laskuri; 
    93138    } 
     139    void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     140    { 
     141        if (kohde == oikeaReuna) 
     142        { 
     143            pelaajan1Pisteet.Value += 1; 
     144        } 
     145        else if (kohde == vasenReuna) 
     146        { 
     147            pelaajan2Pisteet.Value += 1; 
     148        } 
     149 
     150    } 
     151 
    94152} 
Note: See TracChangeset for help on using the changeset viewer.