Changeset 5854 for 2015/23


Ignore:
Timestamp:
2015-06-01 16:07:19 (8 years ago)
Author:
sieerinn
Message:

all done vielä hieman border korjauksia

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2015/23/HenriK/Pong/Pong.cs

    r5853 r5854  
    1515        PhysicsObject maila2; 
    1616 
     17        PhysicsObject alaReuna, oikeaReuna, vasenReuna, yläReuna; 
     18 
     19        IntMeter pelaajan1Pisteet; 
     20        IntMeter pelaajan2Pisteet; 
     21 
    1722        public override void Begin () 
    1823        { 
    1924                LuoKentta (); 
     25                AddCollisionHandler(pallo, KasittelePallonTormays); 
    2026                LuoReunat (); 
    2127                AsetaOhjaimet (); 
     28                LisaaLaskurit(); 
    2229                AloitaPeli (); 
     30 
    2331 
    2432        } 
     
    4452        void LuoReunat() 
    4553        { 
    46                 PhysicsObject alaReuna = Level.CreateBottomBorder (); 
     54                alaReuna = Level.CreateBottomBorder (); 
     55                alaReuna.Restitution = 1.0; 
     56                alaReuna.IsVisible = false; 
    4757                alaReuna.Y = -425; 
    4858                alaReuna.IsVisible = true; 
    49                 PhysicsObject yläReuna = Level.CreateTopBorder (); 
     59                yläReuna = Level.CreateTopBorder (); 
     60                yläReuna.Restitution = 1.0; 
     61                yläReuna.IsVisible = false; 
    5062                yläReuna.Y = 425; 
    5163                yläReuna.IsVisible = true; 
    52                 PhysicsObject vasenReuna = Level.CreateLeftBorder (); 
     64                vasenReuna = Level.CreateLeftBorder (); 
     65                vasenReuna.Restitution = 1.0; 
     66                vasenReuna.IsVisible = false; 
    5367                vasenReuna.Y = 0; 
    5468                vasenReuna.IsVisible = true; 
    55                 PhysicsObject oikeaReuna = Level.CreateRightBorder (); 
     69                oikeaReuna = Level.CreateRightBorder (); 
     70                oikeaReuna.Restitution = 1.0; 
     71                oikeaReuna.IsVisible = false; 
    5672                oikeaReuna.Y = 0; 
    5773                oikeaReuna.IsVisible = true; 
     
    7995                Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
    8096                Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
    81                 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    82                 Keyboard.Listen(Key.5, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila1, nopeusYlos); 
    83                 Keyboard.Listen(Key.5, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
    84                 Keyboard.Listen(Key.2, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila1, nopeusAlas); 
    85                 Keyboard.Listen(Key.2, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     97 
     98                Keyboard.Listen(Key.NumPad5, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     99                Keyboard.Listen(Key.NumPad5, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
     100                Keyboard.Listen(Key.NumPad2, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     101                Keyboard.Listen(Key.NumPad2, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
    86102                Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    87103        } 
     104 
    88105        void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
    89106        { 
     107                if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
     108                { 
     109                        maila.Velocity = Vector.Zero; 
     110                        return; 
     111                } 
     112                if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
     113                { 
     114                        maila.Velocity = Vector.Zero; 
     115                        return; 
     116                } 
     117 
    90118                maila.Velocity = nopeus; 
    91119        } 
     120        void LisaaLaskurit() 
     121        { 
     122                pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     123                pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     124        } 
     125 
     126 
     127        IntMeter LuoPisteLaskuri(double x, double y) 
     128        { 
     129                IntMeter laskuri = new IntMeter(0); 
     130                laskuri.MaxValue = 10; 
     131 
     132                Label naytto = new Label(); 
     133                naytto.BindTo(laskuri); 
     134                naytto.X = x; 
     135                naytto.Y = y; 
     136                naytto.TextColor = Color.White; 
     137                naytto.BorderColor = Level.Background.Color; 
     138                naytto.Color = Level.Background.Color; 
     139                Add(naytto); 
     140 
     141 
     142                return laskuri; 
     143        } 
     144        void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     145        { 
     146                if (kohde == oikeaReuna) 
     147                { 
     148                        pelaajan1Pisteet.Value += 1; 
     149                } 
     150                else if (kohde == vasenReuna) 
     151                { 
     152                        pelaajan2Pisteet.Value += 1; 
     153                } 
     154        } 
     155 
     156 
    92157 
    93158 
Note: See TracChangeset for help on using the changeset viewer.