Changeset 6524


Ignore:
Timestamp:
2015-06-29 14:51:53 (4 years ago)
Author:
misakana
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2015/27/JaakkoS/Pong/Pong/Pong/Pong.cs

    r6506 r6524  
    99public class Pong : PhysicsGame 
    1010{ 
     11    Vector nopeusYlos = new Vector(0, 200); 
     12    Vector nopeusAlas = new Vector(0, -200); 
     13 
    1114    PhysicsObject pallo; 
     15 
     16    PhysicsObject maila1; 
     17    PhysicsObject maila2; 
     18 
     19    IntMeter pelaajan1Pisteet; 
     20    IntMeter pelaajan2Pisteet; 
    1221 
    1322    public override void Begin() 
     
    1625        AloitaPeli(); 
    1726        AsetaOhjaimet(); 
     27        LisaaLaskurit(); 
    1828 
    1929 
     
    2939        Add(pallo); 
    3040 
    31         LuoMaila (Level.Left + 20.0, 0.0); 
    32         LuoMaila(Level.Right - 20.0, 0.0); 
     41       maila1 = LuoMaila (Level.Left + 20.0, 0.0); 
     42       maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
    3343 
    3444        Level.CreateBorders(1.0, false); 
     
    4656    } 
    4757 
    48     void LuoMaila(double x, double y) 
     58  PhysicsObject LuoMaila(double x, double y) 
    4959    { 
    5060        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
     
    5565        maila.Color = Color.LightGreen; 
    5666        Add(maila); 
     67        return maila; 
    5768    } 
    5869    void AsetaOhjaimet() 
    5970    { 
    60         Keyboard.Listen(Key.A, ButtonState.Down, LiikutaMaila1Ylos, "Pelaaja 1: Liikuta mailaasi ylös"); 
    61         Keyboard.Listen(Key.A, ButtonState.Released, PysaytaMaila1, null); 
     71        Keyboard.Listen(Key.W, ButtonState.Down, AsetaNopeus, "Pelaaja1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     72        Keyboard.Listen(Key.W, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     73        Keyboard.Listen(Key.S, ButtonState.Down, AsetaNopeus, "Pelaaja1: Liikuta mailaa alas", maila1, nopeusAlas); 
     74        Keyboard.Listen(Key.S, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
    6275 
     76        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     77        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     78        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja2: Liikuta mailaa alas", maila2, nopeusAlas); 
     79        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     80 
     81        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    6382        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    6483    } 
    6584    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
    6685    { 
     86        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
     87        { 
     88            maila.Velocity = Vector.Zero; 
     89            return; 
     90        } 
     91        if ((nopeus.Y > 0) && (maila.Bottom > Level.Bottom)) 
     92        { 
     93            maila.Velocity = Vector.Zero; 
     94            return; 
     95        } 
     96 
    6797        maila.Velocity = nopeus; 
     98    } 
     99    void LisaaLaskurit() 
     100    { 
     101        pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     102        pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right + 100.0, Screen.Top - 100.0); 
     103    } 
     104    IntMeter LisaaPisteLaskurit() 
     105    { 
     106        IntMeter laskuri = new IntMeter(0); 
     107        laskuri.MaxValue = 10; 
     108         
     109 
     110        Label naytto = new Label(); 
     111        naytto.BindTo(laskuri); 
     112        naytto.X = x; 
     113        naytto.Y = y; 
     114        naytto.TextColor = Color.White; 
     115        naytto.BorderColor = Level.Background.Color; 
     116        naytto.Color = Level.Background.Color; 
     117        Add(naytto); 
     118 
     119        return laskuri; 
    68120    } 
    69121} 
Note: See TracChangeset for help on using the changeset viewer.