Changeset 3284


Ignore:
Timestamp:
2012-06-27 15:01:26 (11 years ago)
Author:
jikakuus
Message:

Talletus.

Location:
2012/26/KasperiK/TheLastBattle/TheLastBattle
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • 2012/26/KasperiK/TheLastBattle/TheLastBattle/TheLastBattle/TheLastBattle.cs

    r3232 r3284  
    1 using System; 
     1//The Last Battle 
     2//By: Kasperi Kuusipuro 
     3//Älä aja Ongelma 
     4using System; 
    25using System.Collections.Generic; 
    36using Jypeli; 
     
    912public class TheLastBattle : PhysicsGame 
    1013{ 
     14   //Alustetaan Muuttujia 
    1115    PhysicsObject Pelaaja1; 
     16    PhysicsObject Pelaaja2; 
     17     
    1218    Image IhmisAlus = LoadImage("IhmisAlus"); 
    13     PhysicsObject Pelaaja2; 
    1419    Image AlienAlus = LoadImage("AlienAlus"); 
    1520    Image taustaKuva = LoadImage("tausta"); 
     21    Image AlienAlus2 = LoadImage("AlienAlus2"); 
     22    Image IhmisAlus2 = LoadImage("IhmisAlus2"); 
    1623 
     24    PlasmaCannon plasmaTykkiP1; 
     25    PlasmaCannon plasmaTykkiP2; 
    1726 
     27    DoubleMeter elkkuMittariP1; 
     28    DoubleMeter elkkuMittariP2; 
    1829 
    1930    public override void Begin() 
    2031    { 
     32       //Kutsutaan Pelin luovat aliohjelmat 
    2133        LuoKentta(); 
    2234        LisaaOhjaimet(); 
    23  
    2435    } 
    2536 
     37   // Luodaan pelaajat  ja Kenttä 
    2638    void LuoKentta() 
    2739    { 
    28         Level.CreateBorders(1.0, false); 
     40        Level.CreateBorders(0.5, false); 
    2941        Level.Background.Image = taustaKuva; 
    3042        Level.Background.FitToLevel(); 
     
    3345        Pelaaja1 = new PhysicsObject(40, 50); 
    3446        Pelaaja1.Image = IhmisAlus; 
    35         Pelaaja1.Restitution = 1.0; 
     47        Pelaaja1.Restitution = 0.5; 
    3648        Pelaaja1.X = Level.Left + 50; 
     49        Pelaaja1.Mass = 100; 
    3750        Add(Pelaaja1); 
     51 
     52        //Luodaan plasmatykki 
     53        plasmaTykkiP1 = new PlasmaCannon(20, 5); 
     54        plasmaTykkiP1.ProjectileCollision = PlasmaPalloOsuu; 
     55        plasmaTykkiP1.IsVisible = false; 
     56        plasmaTykkiP1.InfiniteAmmo = true; 
     57        Pelaaja1.Add(plasmaTykkiP1); 
    3858 
    3959        Pelaaja2 = new PhysicsObject(40, 50); 
    4060        Pelaaja2.Image = AlienAlus; 
    41         Pelaaja2.Restitution = 1.0; 
     61        Pelaaja2.Restitution = 0.5; 
    4262        Pelaaja2.X = Level.Right - 50; 
     63        Pelaaja2.Mass = 100.0; 
    4364        Add(Pelaaja2); 
     65 
     66        //Luodaan plasmatykki 
     67        plasmaTykkiP2 = new PlasmaCannon(20, 5); 
     68        plasmaTykkiP2.ProjectileCollision = PlasmaPalloOsuu; 
     69        plasmaTykkiP2.IsVisible = false; 
     70        plasmaTykkiP2.InfiniteAmmo = true; 
     71        plasmaTykkiP2.Angle = Angle.StraightAngle; 
     72        Pelaaja2.Add(plasmaTykkiP2); 
     73 
     74        //Kutsutaan elkkumittareita 
     75        LisaaElkut(Level.Left + 50, Level.Top , Color.Red, elkkuMittariP1); 
     76        LisaaElkut(Level.Right - 50, Level.Top, Color.LimeGreen, elkkuMittariP2); 
     77    } 
     78 
     79    //Aliohjelma elkkumittareiden tekemiseen 
     80    void LisaaElkut(double x, double y, Color vari, DoubleMeter mittari) 
     81    { 
     82        mittari = new DoubleMeter(100); 
     83        mittari.MaxValue = 100; 
     84        ProgressBar elkkuPalkki = new ProgressBar(200, 25); 
     85        elkkuPalkki.BindTo(mittari); 
     86        Add(elkkuPalkki); 
     87 
     88        elkkuPalkki.X = x; 
     89        elkkuPalkki.Y = y; 
     90        elkkuPalkki.BarColor = vari; 
     91        elkkuPalkki.BorderColor = vari; 
    4492 
    4593    } 
    4694 
    47    void LisaaOhjaimet() 
     95   //Lisätään ohjaimet 
     96    void LisaaOhjaimet() 
    4897  { 
    49        Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, "Pelaaja1 kaasu", new Vector(300,0)); 
     98       Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, "Pelaaja1 kaasu",Pelaaja1, 5000.0, IhmisAlus2); 
     99       Keyboard.Listen(Key.W, ButtonState.Released, LiikutaPelaajaa, null, Pelaaja1, 0.0, IhmisAlus); 
     100       Keyboard.Listen(Key.A, ButtonState.Down, KaannaPelaajaa, "Pelaaja1 käänny vasemmalle", Pelaaja1, 3.0); 
     101       Keyboard.Listen(Key.A, ButtonState.Released, KaannaPelaajaa, null, Pelaaja1, 0.0); 
     102       Keyboard.Listen(Key.D, ButtonState.Down, KaannaPelaajaa, "Pelaaja1 käänny oikealle", Pelaaja1, -3.0); 
     103       Keyboard.Listen(Key.D, ButtonState.Released, KaannaPelaajaa, null, Pelaaja1, 0.0); 
     104       Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Pelaaja1 ammu aseella", plasmaTykkiP1); 
    50105 
     106       Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, "Pelaaja2 kaasu", Pelaaja2, -5000.0, AlienAlus2); 
     107       Keyboard.Listen(Key.Up, ButtonState.Released, LiikutaPelaajaa, null, Pelaaja2, 0.0, AlienAlus); 
     108       Keyboard.Listen(Key.Left, ButtonState.Down, KaannaPelaajaa, "Pelaaja2 käänny vasemmalle", Pelaaja2, 3.0); 
     109       Keyboard.Listen(Key.Left, ButtonState.Released, KaannaPelaajaa, null, Pelaaja2, 0.0); 
     110       Keyboard.Listen(Key.Right, ButtonState.Down, KaannaPelaajaa, "Pelaaja2 käänny oikealle", Pelaaja2, -3.0); 
     111       Keyboard.Listen(Key.Right, ButtonState.Released, KaannaPelaajaa, null, Pelaaja2, 0.0); 
     112       Keyboard.Listen(Key.RightControl, ButtonState.Down, AmmuAseella, "Pelaaja2 ammu aseella", plasmaTykkiP2); 
     113 
     114       Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Ohjeet"); 
    51115       PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    52116       Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    53117    } 
    54118 
    55    void LiikutaPelaajaa(Vector vektori) 
     119   //Aliohjelma Pelaajan liikuttamiseen 
     120    void LiikutaPelaajaa(PhysicsObject pelaaja, double nopeus, Image kuva) 
    56121   { 
    57        Pelaaja1.Push(vektori); 
     122       Vector pelaajanSuunta = Vector.FromLengthAndAngle(nopeus, pelaaja.Angle); 
     123       pelaaja.Push(pelaajanSuunta); 
     124       pelaaja.Image = kuva; 
     125   } 
     126    //Aliohjelma pelaajan kääntämiseen 
     127    void KaannaPelaajaa(PhysicsObject pelaaja, double voima) 
     128   { 
     129       pelaaja.AngularVelocity = voima; 
     130   } 
     131 
     132    //Aliohjelma plasmapallon osumiseen 
     133    void PlasmaPalloOsuu(PhysicsObject ammus, PhysicsObject kohde) 
     134   { 
     135       ammus.Destroy(); 
     136       Explosion rajahdys = new Explosion(10); 
     137       rajahdys.Position = ammus.Position; 
     138       rajahdys.Force = 10; 
     139       Add(rajahdys); 
     140 
     141       if (kohde == Pelaaja1) 
     142       { 
     143           elkkuMittariP1.Value--;//Tässä Pieni ongelma 
     144       } 
     145        
     146   } 
     147 
     148    //Aliohjelma aseella ampumiseen 
     149    void AmmuAseella(PlasmaCannon tykki) 
     150   { 
     151       PhysicsObject ammus = tykki.Shoot(); 
     152 
     153       if (ammus != null) 
     154       { 
     155           ammus.Size *= 1; 
     156            
     157           if (tykki == plasmaTykkiP1) 
     158           { 
     159               ammus.Color = Color.Red; // Pelaaja1 ammusten väri vaihdetaan punaiseksi 
     160           }     
     161        }       
    58162   } 
    59163 
  • 2012/26/KasperiK/TheLastBattle/TheLastBattle/TheLastBattleContent/TheLastBattleContent.contentproj

    r3232 r3284  
    5757      <Processor>TextureProcessor</Processor> 
    5858    </Compile> 
     59    <Compile Include="IhmisAlus.png"> 
     60      <Name>IhmisAlus</Name> 
     61      <Importer>TextureImporter</Importer> 
     62      <Processor>TextureProcessor</Processor> 
     63    </Compile> 
    5964  </ItemGroup> 
    6065  <ItemGroup> 
    61     <Compile Include="IhmisAlus.png"> 
    62       <Name>IhmisAlus</Name> 
     66    <Compile Include="AlienAlus2.png"> 
     67      <Name>AlienAlus2</Name> 
     68      <Importer>TextureImporter</Importer> 
     69      <Processor>TextureProcessor</Processor> 
     70    </Compile> 
     71    <Compile Include="IhmisAlus2.png"> 
     72      <Name>IhmisAlus2</Name> 
    6373      <Importer>TextureImporter</Importer> 
    6474      <Processor>TextureProcessor</Processor> 
Note: See TracChangeset for help on using the changeset viewer.