Changeset 2506


Ignore:
Timestamp:
2011-08-02 14:59:15 (12 years ago)
Author:
alromaju
Message:

Talletus.

Location:
2011/31/AlisaJ
Files:
20 added
5 edited

Legend:

Unmodified
Added
Removed
  • 2011/31/AlisaJ/pong/pong/Peli.cs

    r2470 r2506  
    88 
    99public class Peli : PhysicsGame 
    10 {    PhysicsObject pallo; 
     10{ 
     11        Vector nopeusYlos = new Vector (0, 200) ; 
     12        Vector nopeusAlas = new Vector (0, -200); 
     13 
     14         PhysicsObject pallo; 
     15         PhysicsObject maila1; 
     16         PhysicsObject maila2; 
     17         PhysicsObject vasenReuna; 
     18         PhysicsObject oikeaReuna; 
     19 
     20 
     21         IntMeter pelaajan1pisteet; 
     22         IntMeter pelaajan2pisteet; 
    1123 
    1224    public override void Begin() 
     
    1426        LuoKenttä(); 
    1527        AsetaOhjaimet(); 
     28        LisaaLaskurit(); 
    1629        Aloitapeli (); 
    1730              
     
    2437        Add(pallo); 
    2538        pallo.X = 200.0; 
    26         pallo.Y = 0.0;  
    27         Level.CreateBorders(1.0, false); 
     39        pallo.Y = 0.0; 
     40 
     41         vasenReuna = Level.CreateLeftBorder(); 
     42        vasenReuna.Restitution = 1.0; 
     43        vasenReuna.IsVisible = false; 
     44 
     45         oikeaReuna = Level.CreateRightBorder(); 
     46        oikeaReuna.Restitution = 1.0; 
     47        oikeaReuna.IsVisible = false; 
     48 
     49        PhysicsObject AlaReuna = Level.CreateBottomBorder(); 
     50        AlaReuna.Restitution = 1.0; 
     51        AlaReuna.IsVisible = false; 
     52        PhysicsObject YlaReuna = Level.CreateTopBorder(); 
     53        YlaReuna.Restitution = 1.0; 
     54        YlaReuna.IsVisible = false; 
     55 
     56 
    2857        pallo.Restitution = 1.0; 
    2958        Level.BackgroundColor = Color.Black; 
    3059        Camera.ZoomToLevel(); 
    31         LuoMaila(Level.Left + 20.0, 0.00); 
    32         LuoMaila(Level.Right - 20.0, 0.00); 
     60        maila1 =LuoMaila (Level.Left + 20.0, 0.0); 
     61        maila2 = LuoMaila (Level.Right - 20.0, 0.0); 
     62        AddCollisionHandler ( pallo, KasittelePallonTormays ) ; 
    3363 
    3464        } 
     
    4272 
    4373 
    44  
    45             void LuoMaila ( double x, double y) 
     74             PhysicsObject LuoMaila ( double x, double y) 
    4675        { 
    4776            PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 
     
    5180            maila.Restitution = 1.0; 
    5281            Add(maila); 
     82            return maila; 
     83 
    5384            } 
    5485 
     
    5889            { 
    5990                Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "poistu" ); 
    60                 Keyboard.Listen(Key.A,ButtonState.Down,LiikutaMailaaYlos, "Pelaaja 1: Liikuta mailaa ylös" ); 
    61                 Keyboard.Listen(Key.A,ButtonState.Released, PysaytaMaila, null ); 
    62                 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "poistu" ); 
    63             }  
    64 } 
    65    
     91                Keyboard.Listen(Key.A,ButtonState.Down,AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös",maila1,nopeusYlos ); 
     92                Keyboard.Listen(Key.A,ButtonState.Released, AsetaNopeus, null, maila1, Vector. Zero ); 
     93                Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu" ); 
     94                Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
     95                Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
     96 
     97                Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     98                Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     99                Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     100                Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     101 
     102                Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     103 
     104            } 
     105 
     106 
     107            void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
     108 
     109            { 
     110                if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
     111                { 
     112                    maila.Velocity = Vector.Zero; 
     113                    return; 
     114                } 
     115 
     116                if ((nopeus.Y > 0) && ( maila.Top > Level.Top) ) 
     117                { 
     118                    maila.Velocity = Vector.Zero; 
     119                    return; 
     120                } 
     121                maila.Velocity = nopeus; 
     122 
     123            } 
     124 
     125 
     126            void LisaaLaskurit() 
     127            { pelaajan1pisteet = LuoPisteLaskuri ( Screen.Left + 100.0, Screen. Top -100.0); 
     128              pelaajan2pisteet = LuoPisteLaskuri  ( Screen. Right -100.0, Screen. Top -100.0); 
     129                             
     130            } 
     131            IntMeter LuoPisteLaskuri(double x, double y) 
     132            { 
     133                IntMeter laskuri = new IntMeter(0); 
     134                laskuri.MaxValue = 10; 
     135                Label naytto = new Label(); 
     136                naytto.BindTo(laskuri); 
     137                naytto.X = x; 
     138                naytto.Y = y; 
     139                naytto.TextColor = Color.White; 
     140                naytto.BorderColor = Level.BackgroundColor; 
     141                naytto.Color = Level.BackgroundColor; 
     142                Add(naytto); 
     143 
     144                return laskuri; 
     145 
     146 
     147            } 
     148 
     149            void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     150            { 
     151                 
     152          
     153                    if (kohde == oikeaReuna) 
     154                    { 
     155                        pelaajan1pisteet.Value += 1; 
     156                    } 
     157                    else if (kohde == vasenReuna) 
     158                    { 
     159                        pelaajan2pisteet.Value += 1; 
     160                    } 
     161 
     162                 
     163 
     164            } 
     165}  
Note: See TracChangeset for help on using the changeset viewer.