Ignore:
Timestamp:
2016-06-28 14:32:52 (3 years ago)
Author:
vivivaur
Message:

sain sen valmiiksi

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2016/26/ViiviV/Ping pong/Ping pong/Ping_pong/Ping_pong.cs

    r7548 r7553  
    88 
    99public class Ping_pong : PhysicsGame 
    10  
    11  
    1210{ 
    1311    Vector nopeusYlos = new Vector(0, 200); 
     
    1513    PhysicsObject maila1; 
    1614    PhysicsObject maila2; 
     15    IntMeter pelaajan1Pisteet; 
     16    IntMeter pelaajan2Pisteet; 
     17    PhysicsObject vasenReuna; 
     18    PhysicsObject oikeaReuna; 
     19 
    1720 
    1821 
     
    2326        LuoKentta(); 
    2427        AsetaOhjaimet(); 
     28        LisaaLaskurit(); 
     29        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    2530 
    26         Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    27         
    28         Vector impulssi = new Vector(500.0 ,100.50); 
     31        Vector impulssi = new Vector(500.0, 100.50); 
    2932        Level.CreateBorders(1.0, false); 
    3033        pallo.Hit(impulssi); 
    31  
    3234 
    3335    } 
     
    3537    void LuoKentta() 
    3638    { 
    37          pallo = new PhysicsObject(40.0, 40.0); 
     39        pallo = new PhysicsObject(40.0, 40.0); 
    3840        Add(pallo); 
    3941        pallo.Shape = Shape.Circle; 
    4042        pallo.X = -200.0; 
    41         Level.CreateBorders(1.0, false); 
     43 
     44         vasenReuna = Level.CreateLeftBorder(); 
     45        vasenReuna.Restitution = 1.0; 
     46        vasenReuna.IsVisible = false; 
     47 
     48         oikeaReuna = Level.CreateRightBorder(); 
     49        oikeaReuna.Restitution = 1.0; 
     50       oikeaReuna.IsVisible = false; 
     51 
     52 
    4253        pallo.Restitution = 1.0; 
    4354        Level.Background.Color = Color.Black; 
    44         Camera. ZoomToLevel(); 
    45   maila1 = LuoMaila(Level.Left + 20.0, 0.0); 
    46   maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
     55        Camera.ZoomToLevel(); 
     56        maila1 = LuoMaila(Level.Left + 20.0, 0.0); 
     57        maila2 = LuoMaila(Level.Right - 20.0, 0.0); 
     58        AddCollisionHandler(pallo, KasittelePallonTormays); 
    4759 
    4860    } 
    49    void Aloitapeli() 
     61    void Aloitapeli() 
    5062    { 
    5163        Vector impulssi = new Vector(500.0, 0.0); 
     
    6678    { 
    6779        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopetapeli"); 
    68         Keyboard.Listen(Key.A, ButtonState.Down,AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös",maila1, nopeusYlos); 
     80        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
    6981        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
    7082        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     
    7688        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    7789    } 
     90 
    7891    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
    7992    { 
     93        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
     94        { 
     95            maila.Velocity = Vector.Zero; 
     96            return; 
     97        } 
     98        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
     99        { 
     100            maila.Velocity = Vector.Zero; 
     101            return; 
     102 
     103 
     104            
     105 
     106 
     107        } 
    80108        maila.Velocity = nopeus; 
    81         if (maila.Top > ) 
    82109    } 
     110    void LisaaLaskurit() 
     111    { 
     112        pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     113        pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     114    } 
     115    IntMeter LuoPisteLaskuri(double x, double y) 
     116    { 
     117        IntMeter laskuri = new IntMeter(0); 
     118        laskuri.MaxValue = 10; 
     119        
     120        Label naytto = new Label(); 
     121        naytto.BindTo(laskuri); 
     122        naytto.X = x; 
     123        naytto.Y = y; 
     124        naytto.TextColor = Color.White; 
     125        naytto.BorderColor = Level.Background.Color; 
     126        naytto.Color = Level.Background.Color; 
     127        Add(naytto); 
     128        return laskuri; 
     129 
     130    } 
     131    void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     132    { 
     133        
     134         
     135            if (kohde == oikeaReuna) 
     136            { 
     137                pelaajan1Pisteet.Value += 1; 
     138            } 
     139            else if (kohde == vasenReuna) 
     140            { 
     141                pelaajan2Pisteet.Value += 1; 
     142            } 
     143         
     144 
     145    } 
     146 
    83147} 
    84     
     148 
     149 
Note: See TracChangeset for help on using the changeset viewer.