Changeset 7533 for 2016/26/MikkoJ


Ignore:
Timestamp:
2016-06-27 14:58:09 (3 years ago)
Author:
mijuntti
Message:

laskurit laitettu

Location:
2016/26/MikkoJ/Bongi
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • 2016/26/MikkoJ/Bongi/Bongi/Bongi/Bongi.cs

    r7522 r7533  
    99public class Bongi : PhysicsGame 
    1010{ 
     11    Vector nopeusYlos = new Vector(0, 200); 
     12    Vector nopeusAlas = new Vector(0, -200); 
     13 
    1114    PhysicsObject pallo; 
    12      
     15    PhysicsObject maila1; 
     16    PhysicsObject maila2; 
     17 
     18    IntMeter pelaajan1pisteet; 
     19    IntMeter pelaajan2pisteet; 
     20 
    1321    public override void Begin() 
    1422    { 
    1523        LuoKentta(); 
     24        AsetaOhjaimet(); 
     25        LisaaLaskurit(); 
    1626        AloitaPeli(); 
    1727         
    18         Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    1928    } 
    2029 
     
    2938        Add(pallo); 
    3039 
    31         LuoMaila(Level.Left + 20.0, 0.0); 
    32         LuoMaila(Level.Right - 20.0, 0.0); 
     40        maila1 = LuoMaila(Level.Left + 20.0, 0.0); 
     41        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
    3342 
    3443        Level.CreateBorders(1.0, false); 
     
    3948    void AloitaPeli() 
    4049    { 
    41         Vector pallovektori = new Vector(500.0, 0.0); 
     50        Vector pallovektori = new Vector(700.0, 0.0); 
    4251        pallo.Hit(pallovektori); 
    4352    } 
    44     void LuoMaila(double x, double y) 
     53    PhysicsObject LuoMaila(double x, double y) 
    4554    { 
    4655        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
     
    5160        maila.Color = Color.HotPink; 
    5261        Add(maila); 
     62        return maila; 
    5363    }     
     64    void AsetaOhjaimet() 
     65    { 
     66        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     67        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     68        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusAlas); 
     69        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     70 
     71        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     72        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     73        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2:Liikuta mailaa alas", maila2, nopeusAlas); 
     74        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     75 
     76        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     77        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     78    } 
     79    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
     80    { 
     81        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
     82        { 
     83            maila.Velocity = Vector.Zero; 
     84            return; 
     85        } 
     86        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
     87        { 
     88            maila.Velocity = Vector.Zero; 
     89            return; 
     90        } 
     91        maila.Velocity = nopeus; 
     92    } 
     93    void LisaaLaskurit() 
     94    { 
     95        pelaajan1pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     96        pelaajan2pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     97    } 
     98    IntMeter LuoPisteLaskuri(double x, double y) 
     99    { 
     100        IntMeter laskuri = new IntMeter(0); 
     101        laskuri.MaxValue = 10; 
     102 
     103        Label naytto = new Label(); 
     104        naytto.BindTo(laskuri); 
     105        naytto.X = x; 
     106        naytto.Y = y; 
     107        naytto.TextColor = Color.White; 
     108        naytto.BorderColor = Level.BackgroundColor; 
     109        naytto.Color = Level.Background.Color; 
     110        Add(naytto); 
     111 
     112        return laskuri; 
     113    } 
    54114} 
Note: See TracChangeset for help on using the changeset viewer.