Changeset 1197 for 2010/27


Ignore:
Timestamp:
2010-07-08 14:57:24 (13 years ago)
Author:
oteehann
Message:

tein kaksinpelin.

Location:
2010/27/oteehann/tank wars
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • 2010/27/oteehann/tank wars/Content/Content.contentproj

    r1153 r1197  
    4848    </Compile> 
    4949  </ItemGroup> 
     50  <ItemGroup> 
     51    <Compile Include="piippu.png"> 
     52      <Name>piippu</Name> 
     53      <Importer>TextureImporter</Importer> 
     54      <Processor>TextureProcessor</Processor> 
     55    </Compile> 
     56  </ItemGroup> 
     57  <ItemGroup> 
     58    <Compile Include="tankki2.png"> 
     59      <Name>tankki2</Name> 
     60      <Importer>TextureImporter</Importer> 
     61      <Processor>TextureProcessor</Processor> 
     62    </Compile> 
     63  </ItemGroup> 
    5064</Project> 
  • 2010/27/oteehann/tank wars/Peli.cs

    r1153 r1197  
    77{ 
    88    Tank tankki; 
     9    Tank tankki2; 
    910     
    1011    protected override void Begin() 
     
    1213        Image tekstuuri = LoadImage("maantausta"); 
    1314        int maastonVaihtelu = 20; 
    14         Level.CreateGround(20,50,20, Color.Black, tekstuuri, maastonVaihtelu); 
     15        Level.CreateGround(20,60,17, Color.Black, tekstuuri, maastonVaihtelu); 
    1516        Gravity = new Vector(0.0, -500.0); 
     17         
     18         
     19        Level.CreateBorders(); 
     20 
     21        LuoTankki(); 
     22        LuoTankki2(); 
     23        LisaaNappaimet(); 
     24    } 
     25 
     26    void LuoTankki() 
     27    { 
    1628        tankki = new Tank(40, 20); 
    17         tankki.Shape = Shapes.Rectangle; 
    18         tankki.Position = new Vector(0, Level.Bottom+50); 
     29        
     30        tankki.Position = new Vector(0, Level.Bottom + 70); 
    1931        tankki.Mass = 100.0; 
    20         //tankki.Size = new Vector(100, 80); 
     32        
     33       //Image piipunkuva = LoadImage("piippu"); // <-- Tee piippu.png -kuva ja lisää Contentiin 
     34        //tankki.Cannon.Image = piipunkuva; 
     35        tankki.Cannon.CannonBallCollision = AmmusOsuu; 
    2136        Add(tankki); 
    2237        tankki.Image = LoadImage("tankki"); 
    23         Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", 1.0); 
    24         Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", -1.0); 
    25         Mouse.Listen(MouseButton.Left, ButtonState.Pressed, Ammu, "Ammu aseella."); 
    26         Keyboard.Listen(Key 
    27         Level.CreateBorders(); 
    28     } 
    29     void tykinKulma() 
    30     { 
     38        
     39         
    3140    } 
    3241 
    33     void Liikuta(double suunta) 
     42    void LuoTankki2() 
    3443    { 
    35         //tankki.X += suunta.X; 
    36         //tankki.Y += suunta.Y; 
    37         tankki.Accelerate(suunta); 
     44        tankki2 = new Tank(40.0, 20.0); 
     45        tankki2.Position = new Vector(70, Level.Bottom + 70); 
     46        tankki2.Mass = 100.0; 
     47        tankki2.Image = LoadImage("tankki2"); 
     48        tankki2.Cannon.CannonBallCollision = AmmusOsuu; 
     49        Add(tankki2); 
     50         
    3851    } 
    39     void Ammu() 
     52    IntMeter pisteLaskuri; 
     53 
     54    void LuoLaskuri() 
    4055    { 
    41         tankki.Shoot(1000); 
     56        pisteLaskuri = new IntMeter(0); 
     57 
     58        Label pisteNaytto = new Label(); 
     59        pisteNaytto.X = Screen.Left + 100; 
     60        pisteNaytto.Y = Screen.Top - 100; 
     61        pisteNaytto.TextColor = Color.Red; 
     62        pisteNaytto.BindTo(pisteLaskuri); 
     63        Add(pisteNaytto); 
     64        pisteNaytto.BindTo(pisteLaskuri); 
     65        Add(pisteNaytto); 
     66 
     67        Label pisteTeksti = new Label("Pisteitä: "); 
     68        pisteTeksti.X = Screen.Left + 50; 
     69        pisteTeksti.Y = Screen.Top - 100; 
     70        pisteTeksti.TextColor = Color.Red; 
     71        Add(pisteTeksti); 
     72 
     73        pisteLaskuri.Value++; 
     74        pisteLaskuri.Value += 1; 
     75        pisteLaskuri.Value = pisteLaskuri.Value + 1; 
     76         
     77        IntMeter laskuri = new IntMeter(0); 
     78        laskuri.MaxValue = 10; 
     79        laskuri.UpperLimit += laskuriYlarajassa; 
    4280    } 
     81 
     82    void laskuriYlarajassa(int arvo) 
     83    { 
     84        MessageDisplay.TextColor = Color.White; 
     85        MessageDisplay.Add("Pelaaja 1 voitti pelin."); 
     86        MessageDisplay.TextColor = Color.White; 
     87        MessageDisplay.Add("Pelaaja 2 voitti pelin."); 
     88 
     89         
     90    } 
     91 
     92 
     93 
     94 
     95 
     96     
     97    
     98 
     99 
     100    void LisaaNappaimet() 
     101    { 
     102        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", 1.0, tankki); 
     103        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", -1.0, tankki); 
     104        Keyboard.Listen(Key.Up, ButtonState.Pressed, MuutaTykinKulmaa, "liikuta tykkia ylos", tankki, Angle.Radians(1.0)); 
     105        Keyboard.Listen(Key.Down, ButtonState.Pressed, MuutaTykinKulmaa, "liikuta tykkia alas", tankki, Angle.Radians(-1.0)); 
     106        Mouse.Listen(MouseButton.Left, ButtonState.Pressed, Ammu, "Ammu aseella.", tankki); 
     107 
     108        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", 1.0, tankki2); 
     109        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", -1.0, tankki2); 
     110        Keyboard.Listen(Key.W, ButtonState.Pressed, MuutaTykinKulmaa, "liikuta tykkia ylos", tankki2, Angle.Radians(1.0)); 
     111        Keyboard.Listen(Key.S, ButtonState.Pressed, MuutaTykinKulmaa, "liikuta tykkia alas", tankki2, Angle.Radians(-1.0)); 
     112        Keyboard.Listen(Key.Space, ButtonState.Pressed, Ammu, "Ammu aseella.", tankki2); 
     113    } 
     114     
     115      
    43116     
    44117     
    45118     
    46119 
     120    void MuutaTykinKulmaa(Tank tank, Angle kulma) 
     121    { 
     122        if (tank == tankki) 
     123            tankki.Cannon.Angle += kulma; 
     124        if (tank == tankki2) 
     125            tankki2.Cannon.Angle += kulma; 
     126    } 
     127 
     128    void Liikuta(double suunta, Tank tank) 
     129    {  if (tank==tankki) 
     130          tankki.Accelerate(suunta); 
     131       if (tank==tankki2) 
     132          tankki2.Accelerate(suunta); 
     133    } 
     134 
     135    void Ammu(Tank tank) 
     136    {if (tank==tankki) 
     137        tankki.Shoot(10000); 
     138     if (tank==tankki2) 
     139        tankki2.Shoot(10000); 
     140    } 
     141 
     142    void AmmusOsuu(PhysicsObject ammus, PhysicsObject kohde) 
     143    { 
     144 
     145        Explosion rajahdys = new Explosion(100); 
     146        rajahdys.Position = ammus.Position; 
     147        rajahdys.Speed = 700.0; 
     148        rajahdys.Force = 1000.0; 
     149        rajahdys.ShockwaveColor = Color.OrangeRed; 
     150        Add(rajahdys); 
     151        ammus.Destroy(); 
     152        //AddCollisionHandler(ammus, KasitteleammuksenTormays,tormayksestatuleePiste); 
     153    } 
     154    void Ammus2Osuu(PhysicsObject ammus2, PhysicsObject kohde) 
     155    { 
     156        Explosion rajahdys2 = new Explosion(100); 
     157        rajahdys2.Position = ammus2.Position; 
     158        rajahdys2.Speed = 700.0; 
     159        rajahdys2.Force = 1000.0; 
     160        rajahdys2.ShockwaveColor = Color.OrangeRed; 
     161        Add(rajahdys2); 
     162        ammus2.Destroy(); 
     163        //AddCollisionHandler(ammus2, KasitteleammuksenTormays,tormayksestatuleePiste); 
     164    } 
     165 
     166 
    47167} 
Note: See TracChangeset for help on using the changeset viewer.