Ignore:
Timestamp:
2011-06-17 12:23:29 (8 years ago)
Author:
paaaanro
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2011/24/PauliN/Jalkapallopeli/Jalkapallopeli/Jalkapallopeli/Peli.cs

    r2048 r2097  
    1515    Image pelaaja2vasKuva = LoadImage("pelaaja2vas"); 
    1616    Image tausta = LoadImage("tausta"); 
     17    Image maali1Kuva = LoadImage("maali1"); 
     18    Image maali2Kuva = LoadImage("maali2"); 
    1719 
    1820    PhysicsObject pallo; 
     
    2224    PhysicsObject pelaaja1; 
    2325    PhysicsObject pelaaja2; 
     26    PhysicsObject raja1; 
     27    PhysicsObject raja2; 
     28 
     29     
    2430 
    2531    IntMeter Pelaajan1Pisteet; 
     
    2733 
    2834     
    29  
    3035    Vector NopeusVasemmalle = new Vector(-150, 0); 
    3136    Vector NopeusOikealle = new Vector(150, 0); 
    32     Vector HyppyVoima = new Vector(0, 400); 
     37    Vector HyppyVoima = new Vector(0, 400);     
    3338        
    3439    public override void Begin() 
     
    4348    void LuoKentta() 
    4449    { 
     50        PhysicsObject raja1 = PhysicsObject.CreateStaticObject(10, 1000); 
     51        raja1.X = Level.Left + 50; 
     52        raja1.Y = 0; 
     53        raja1.IsVisible = false; 
     54        Add(raja1); 
     55 
     56        PhysicsObject raja2 = PhysicsObject.CreateStaticObject(10, 1000); 
     57        raja2.X = Level.Right - 50; 
     58        raja2.Y = 0; 
     59        raja2.IsVisible = false; 
     60        Add(raja2); 
     61 
    4562        pallo = new PhysicsObject(45, 45); 
    4663        pallo.Image = pallonKuva; 
    4764        pallo.X = 0; 
    4865        pallo.Y = 300; 
    49         pallo.Mass = 1; 
     66        pallo.Mass = 0.2; 
     67        pallo.Restitution = 1; 
    5068        Add(pallo); 
     69 
     70        
     71 
    5172 
    5273        Level.Background.Image = tausta; 
     
    6182 
    6283         
    63         maali1 = PhysicsObject.CreateStaticObject(20, 120); 
    64         maali1.Shape = Shape.Rectangle; 
     84        maali1 = PhysicsObject.CreateStaticObject(100, 180); 
     85        maali1.Image = maali1Kuva;        
    6586        maali1.X = Level.Left + 20; 
    6687        maali1.Y = Level.Bottom + 75; 
    6788        Add(maali1); 
    6889 
    69         maali2 = PhysicsObject.CreateStaticObject(20, 120); 
    70         maali2.Shape = Shape.Rectangle; 
     90        maali2 = PhysicsObject.CreateStaticObject(100, 180); 
     91        maali2.Image = maali2Kuva; 
    7192        maali2.X = Level.Right - 20; 
    7293        maali2.Y = Level.Bottom + 75; 
     
    79100 
    80101        Camera.ZoomToLevel(); 
    81         Camera.Follow(pallo);         
     102        //Camera.Follow(pallo);         
    82103 
    83104        pelaaja1 = LuoPelaaja(Level.Left + 200, 0); 
     
    96117    void AloitaPeli() 
    97118    { 
    98         Gravity = new Vector(0.0, -400); 
     119        Gravity = new Vector(0.0, -600); 
    99120    } 
    100121 
     
    153174 
    154175        Keyboard.Listen(Key.Up, ButtonState.Pressed, AsetaHyppy, "Pelaaja2: Hyppaa", pelaaja2, HyppyVoima); 
    155          
    156  
    157  
    158  
    159  
    160  
     176 
     177        Keyboard.Listen(Key.LeftControl, ButtonState.Released, Potkaise, "Pelaaja1: Potkaise", pelaaja1); 
     178        Keyboard.Listen(Key.RightControl, ButtonState.Released, Potkaise, "Pelaaja2: Potkaise", pelaaja2); 
     179         
    161180 
    162181    } 
     
    164183    void AsetaNopeus(PhysicsObject pelaaja, Vector nopeus) 
    165184    {                
    166         pelaaja.Velocity = nopeus; 
     185        pelaaja.Velocity = nopeus + new Vector(0, pelaaja.Velocity.Y); 
    167186        if (nopeus.X > 0) 
    168187        { 
     
    188207    void AsetaHyppy(PhysicsObject pelaaja, Vector voima) 
    189208    { 
    190         pelaaja.Hit (voima); 
     209         
     210 
     211        if (pelaaja.Y < -350) 
     212        { 
     213            pelaaja.Hit (voima); 
     214        } 
    191215 
    192216    } 
     
    201225            pelaaja1.X = -200; 
    202226            pelaaja2.X = 200; 
     227            pallo.Stop(); 
    203228        } 
    204229        else if (kohde == maali1) 
     
    209234            pelaaja2.X = 200; 
    210235            Pelaajan2Pisteet.Value += 1; 
    211         } 
    212  
    213          
     236            pallo.Stop(); 
     237        } 
     238 
     239         
     240         
     241 
     242    } 
     243    void Potkaise(PhysicsObject pelaaja) 
     244    { 
     245 
     246          
     247        Vector suunta = (pallo.Position - pelaaja.Position); 
     248        if (suunta.Magnitude < 60) 
     249        { 
     250            Vector potku = suunta + new Vector(0, 80); 
     251            if ((pelaaja.Image == pelaaja1oikKuva) || (pelaaja.Image == pelaaja2Kuva)) 
     252            { 
     253                if (pelaaja.X < pallo.X) 
     254                {  
     255                    pallo.Hit(potku * 0.8); 
     256                } 
     257            } 
     258            else 
     259            { 
     260                if (pelaaja.X > pallo.X) 
     261                { 
     262                    pallo.Hit(potku * 0.8); 
     263                } 
     264            } 
     265 
     266             
     267        }    
     268      
    214269 
    215270 
Note: See TracChangeset for help on using the changeset viewer.