Changeset 272 for santeri_h/Pong


Ignore:
Timestamp:
2009-08-04 14:58:08 (10 years ago)
Author:
saolhaka
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • santeri_h/Pong/Peli.cs

    r261 r272  
    2525 
    2626        PhysicsObject pallo; 
    27         PhysicsObject pallo2; 
    2827        PhysicsObject maila1; 
    2928        PhysicsObject maila2; 
     
    5554            AddCollisionHandler(pallo, KasittelePallonTormays); 
    5655            pallo.Color = Color.White; 
    57  
    58             IShape ympyra2 = Shapes.CreateRectangle(20.0, 200.0); 
    59             pallo2 = new PhysicsObject(1.0, ympyra2); 
    60             pallo.X = -200.0; 
    61             pallo.Y = 119.0; 
    62             pallo.Restitution = 1.0; 
    63             kentta.Objects.Add(pallo2); 
    64             pallo2.Color = Color.Green; 
    6556 
    6657            maila1 = LuoMaila(kentta.Left + 20.0, 0.0, kentta, ref ase1); 
     
    114105            pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
    115106            pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     107            pelaajan1Pisteet.UpperLimit += new Meter<int>.OnLimitHandler(laskuri1_UpperLimit); 
     108            pelaajan2Pisteet.UpperLimit += new Meter<int>.OnLimitHandler(laskuri2_UpperLimit); 
     109        } 
     110 
     111        void NollaaLaskurit() 
     112        { 
     113            pelaajan1Pisteet.Reset(); 
     114            pelaajan2Pisteet.Reset(); 
    116115        } 
    117116 
     
    125124            naytto.ValueColor = Color.White; 
    126125            Add(naytto); 
    127             laskuri.UpperLimit += new Meter<int>.OnLimitHandler(laskuri_UpperLimit); 
    128126            return laskuri; 
    129127        } 
    130128 
    131         void laskuri_UpperLimit(Meter<int> sender) 
    132         { 
    133             MessageDisplay.Add("Peli loppui"); 
    134             MessageDisplay.X = -50; 
     129        void laskuri1_UpperLimit(Meter<int> sender) 
     130        { 
     131            MessageDisplay.Add("Pelaaja 1 voittaa!"); 
     132            MessageDisplay.X = -100; 
    135133            MessageDisplay.Y = 0; 
    136134            MessageDisplay.TextColor = Color.White; 
     
    139137        } 
    140138 
     139        void laskuri2_UpperLimit(Meter<int> sender) 
     140        { 
     141            MessageDisplay.Add("Pelaaja 2 voittaa!"); 
     142            MessageDisplay.X = -100; 
     143            MessageDisplay.Y = 0; 
     144            MessageDisplay.TextColor = Color.White; 
     145            pallo.Destroy(); 
     146 
     147        } 
     148 
    141149        void KasittelePallonTormays(Collision collision) 
    142150        { 
     
    147155                collision.Obj.Hit(impulssi); 
    148156                pelaajan1Pisteet.Value += 1; 
     157                Controls.GameControllers[PlayerIndex.Two].Vibrate(1.0, 1.0, 1.0, 1.0, 0.1); 
    149158 
    150159            } 
     
    160169                collision.Obj.Hit(impulssi); 
    161170                pelaajan2Pisteet.Value += 1; 
     171                Controls.GameControllers[PlayerIndex.One].Vibrate(1.0, 1.0, 1.0, 1.0, 0.1); 
    162172            } 
    163173            else if (collision.Other == maila2) 
     
    172182            Vector2D impulssi = new Vector2D(1000.0, 0.0); 
    173183            pallo.Hit(impulssi); 
     184        } 
     185 
     186        private void lataaUusiKentta() 
     187        { 
     188            Level = LuoKentta(); 
     189            AsetaOhjaimet(); 
     190            NollaaLaskurit(); 
     191            MessageDisplay.Clear(); 
     192            AloitaPeli(); 
    174193        } 
    175194 
     
    189208            return false; 
    190209        } 
     210 
     211        private Boolean UusiPeli(ControlEvent e) 
     212        { 
     213            lataaUusiKentta(); 
     214            return true; 
     215        } 
     216 
    191217        void AsetaOhjaimet() 
    192218        { 
     219            Controls.Listen(Keys.F1, ButtonPosition.Pressed, UusiPeli, "Aloittaa uuden pelin"); 
     220 
    193221            Controls.Listen(Keys.A, ButtonPosition.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
    194222            Controls.Listen(Keys.A, ButtonPosition.Released, AsetaNopeus, null, maila1, Vector2D.Zero); 
     
    203231            Controls.Listen(Keys.Enter, ButtonPosition.Down, Ammu, null, ase2); 
    204232 
    205             AsetaGamePadOhjaimet(PlayerIndex.One, maila1); 
    206             AsetaGamePadOhjaimet(PlayerIndex.Two, maila2); 
    207         } 
    208  
    209         void AsetaGamePadOhjaimet(PlayerIndex pelaajaNumero, PhysicsObject maila) 
    210         { 
     233            AsetaGamePadOhjaimet(PlayerIndex.One, maila1, ase1); 
     234            AsetaGamePadOhjaimet(PlayerIndex.Two, maila2, ase2); 
     235        } 
     236 
     237        void AsetaGamePadOhjaimet(PlayerIndex pelaajaNumero, PhysicsObject maila, PlasmaCannon ase) 
     238        { 
     239            Controls.Listen(pelaajaNumero, Buttons.Start, ButtonPosition.Pressed, UusiPeli, "Aloittaa uuden pelin"); 
     240            Controls.Listen(pelaajaNumero, Buttons.LeftThumbstickUp, ButtonPosition.Down, AsetaNopeus, "Liikuta mailaa ylös", maila, nopeusYlos); 
     241            Controls.Listen(pelaajaNumero, Buttons.LeftThumbstickUp, ButtonPosition.Released, AsetaNopeus, null, maila, Vector2D.Zero); 
     242            Controls.Listen(pelaajaNumero, Buttons.LeftThumbstickDown, ButtonPosition.Down, AsetaNopeus, "Liikuta mailaa alas", maila, nopeusAlas); 
     243            Controls.Listen(pelaajaNumero, Buttons.LeftThumbstickDown, ButtonPosition.Released, AsetaNopeus, null, maila, Vector2D.Zero); 
     244            Controls.Listen(pelaajaNumero, Buttons.RightThumbstickUp, ButtonPosition.Down, AsetaNopeus, "Liikuta mailaa ylös", maila, nopeusYlos); 
     245            Controls.Listen(pelaajaNumero, Buttons.RightThumbstickUp, ButtonPosition.Released, AsetaNopeus, null, maila, Vector2D.Zero); 
     246            Controls.Listen(pelaajaNumero, Buttons.RightThumbstickDown, ButtonPosition.Down, AsetaNopeus, "Liikuta mailaa alas", maila, nopeusAlas); 
     247            Controls.Listen(pelaajaNumero, Buttons.RightThumbstickDown, ButtonPosition.Released, AsetaNopeus, null, maila, Vector2D.Zero); 
    211248            Controls.Listen(pelaajaNumero, Buttons.DPadUp, ButtonPosition.Down, AsetaNopeus, "Liikuta mailaa ylös", maila, nopeusYlos); 
    212249            Controls.Listen(pelaajaNumero, Buttons.DPadUp, ButtonPosition.Released, AsetaNopeus, null, maila, Vector2D.Zero); 
    213250            Controls.Listen(pelaajaNumero, Buttons.DPadDown, ButtonPosition.Down, AsetaNopeus, "Liikuta mailaa alas", maila, nopeusAlas); 
    214251            Controls.Listen(pelaajaNumero, Buttons.DPadDown, ButtonPosition.Released, AsetaNopeus, null, maila, Vector2D.Zero); 
    215         } 
     252            Controls.Listen(pelaajaNumero, Buttons.RightTrigger, ButtonPosition.Down, Ammu, null, ase); 
     253            Controls.Listen(pelaajaNumero, Buttons.LeftTrigger, ButtonPosition.Down, Ammu, null, ase); 
     254            Controls.Listen(pelaajaNumero, Buttons.RightShoulder, ButtonPosition.Down, Ammu, null, ase); 
     255            Controls.Listen(pelaajaNumero, Buttons.LeftShoulder, ButtonPosition.Down, Ammu, null, ase); 
     256            Controls.Listen(pelaajaNumero, Buttons.X, ButtonPosition.Down, Ammu, null, ase); 
     257            Controls.Listen(pelaajaNumero, Buttons.B, ButtonPosition.Down, Ammu, null, ase); 
     258            Controls.Listen(pelaajaNumero, Buttons.A, ButtonPosition.Down, Ammu, null, ase); 
     259            Controls.Listen(pelaajaNumero, Buttons.Y, ButtonPosition.Down, Ammu, null, ase); 
     260        } 
     261 
    216262 
    217263        bool AsetaNopeus(ControlEvent e) 
Note: See TracChangeset for help on using the changeset viewer.