Changeset 6140 for 2015/26/Tuisku


Ignore:
Timestamp:
2015-06-22 14:56:21 (4 years ago)
Author:
iisaaira
Message:
 
Location:
2015/26/Tuisku
Files:
41 added
6 edited

Legend:

Unmodified
Added
Removed
  • 2015/26/Tuisku/pong/pong/pong/pong.cs

    r6125 r6140  
    99public class pong : PhysicsGame 
    1010{ 
    11     PhysicsObject pallo;  
     11    PhysicsObject pallo; 
    1212    PhysicsObject maila1; 
    1313    PhysicsObject maila2; 
     14    PhysicsObject vasenReuna; 
     15    PhysicsObject oikeaReuna; 
     16 
     17    IntMeter pelaajan1Pisteet; 
     18    IntMeter pelaajan2Pisteet; 
     19 
     20    Vector nopeusYlös = new Vector(0.0, 200.0); 
     21    Vector nopeusAlas = new Vector(0.0, -200.0); 
     22 
    1423 
    1524    public override void Begin() 
     
    1827        AsetaOhjaimet(); 
    1928        AloitaPeli(); 
     29        lisaalaskuri(); 
    2030 
    21         Vector nopeusYlös = new Vector(0.0, 200.0); 
    22         Vector nopeusAlas = new Vector(0.0, -200.0); 
     31    } 
    2332 
    24         PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    25         Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    26     } 
     33 
    2734    void luokenttä() 
    2835    { 
     
    3239        pallo.X = -200.0; 
    3340        pallo.Y = 0.0; 
    34         Level.CreateBorders(1.0, false); 
     41        vasenReuna = Level.CreateLeftBorder(); 
     42        vasenReuna.Restitution = 1.0; 
     43        vasenReuna.IsVisible = false; 
     44        oikeaReuna = Level.CreateRightBorder(); 
     45        oikeaReuna.Restitution = 1.0; 
     46        oikeaReuna.IsVisible = false; 
     47        PhysicsObject alaReuna = Level.CreateBottomBorder(); 
     48        alaReuna.Restitution = 1.0; 
     49        alaReuna.IsVisible = false; 
     50        PhysicsObject yläReuna = Level.CreateTopBorder(); 
     51        yläReuna.Restitution = 1.0; 
     52        yläReuna.IsVisible = false; 
     53 
     54 
     55 
    3556        pallo.Restitution = 1.0; 
    3657 
     
    3859        maila2 = LuoMaila(Level.Right + 20.0, 0.0); 
    3960 
    40          Level.BackgroundColor = Color.Black; 
    41     
     61        Level.BackgroundColor = Color.Black; 
    4262 
     63        Camera.ZoomToLevel(); 
     64 
     65        AddCollisionHandler(pallo, KasittelePallonTormays); 
    4366 
    4467 
     
    4871    void AloitaPeli() 
    4972    { 
    50         Vector impulssi = new Vector(500.0, 0.0); 
     73        Vector impulssi = new Vector(500.0, 1.0); 
    5174        pallo.Hit(impulssi); 
    52         LuoMaila(Level.Left + 20.0, 0.0); 
    53         LuoMaila(Level.Right + 20.0, 0.0); 
    5475 
    5576    } 
     
    7697    } 
    7798 
    78       
    79          void AsetaOhjaimet() 
    80          {  
    81             Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    8299 
    83             Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös",maila1); 
    84  
    85             Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
    86  
    87  
    88          } 
    89  
    90          
    91        void AsetaNopeus(PhysicsObject maila, Vector 20) 
     100    void AsetaOhjaimet() 
    92101    { 
    93         maila.Velocity = 20; 
    94     } 
    95  
    96   void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
    97  { 
    98    maila.Velocity = nopeus; 
    99  } 
    100  
    101          { 
    102         Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 
     102        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlös); 
    103103        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
    104104        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 
    105105        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 
    106106 
    107         Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 
     107        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlös); 
    108108        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 
    109109        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 
     
    112112        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    113113        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     114 
    114115    } 
    115116 
     117 
     118 
     119    void AsetaNopeus(PhysicsObject maila, Vector nopeus) 
     120    { 
     121        if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 
     122        { 
     123            maila.Velocity = Vector.Zero; 
     124            return; 
     125        } 
     126 
     127 
     128        if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 
     129        { 
     130            maila.Velocity = Vector.Zero; 
     131            return; 
     132        } 
     133        maila.Velocity = nopeus; 
     134    } 
     135 
     136 
     137    void lisaalaskuri() 
     138    { 
     139        pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
     140        pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 
     141 
     142    } 
     143 
     144    IntMeter LuoPisteLaskuri(double x, double y) 
     145    { 
     146        IntMeter laskuri = new IntMeter(0); 
     147        laskuri.MaxValue = 10; 
     148 
     149 
     150        Label naytto = new Label(); 
     151        naytto.BindTo(laskuri); 
     152        naytto.X = x; 
     153        naytto.Y = y; 
     154        naytto.TextColor = Color.White; 
     155        naytto.BorderColor = Level.Background.Color; 
     156        naytto.Color = Level.Background.Color; 
     157        Add(naytto); 
     158 
     159        return laskuri; 
     160 
     161 
     162    } 
     163 
     164 
     165    void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 
     166    { 
     167        if (kohde == oikeaReuna) 
     168        { 
     169            pelaajan1Pisteet.Value += 1; 
     170        } 
     171        else if (kohde == vasenReuna) 
     172        { 
     173            pelaajan2Pisteet.Value += 1; 
     174        } 
     175    } 
    116176} 
Note: See TracChangeset for help on using the changeset viewer.