Changeset 3324 for 2012/26


Ignore:
Timestamp:
2012-06-28 15:00:51 (7 years ago)
Author:
jikakuus
Message:

Talletus.

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

Legend:

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

    r3284 r3324  
    11//The Last Battle 
    22//By: Kasperi Kuusipuro 
    3 //Älä aja Ongelma 
     3//vk26 2012 
     4 
     5//Tee asteroidit LOPPUUN!!!!!!!!!! <---------TÄRKEÄÄÄ!!!!!!!!!!!!!!!!!! 
     6 
    47using System; 
    58using System.Collections.Generic; 
     
    1518    PhysicsObject Pelaaja1; 
    1619    PhysicsObject Pelaaja2; 
     20    PhysicsObject Asteroidi; 
    1721     
    1822    Image IhmisAlus = LoadImage("IhmisAlus"); 
     
    2125    Image AlienAlus2 = LoadImage("AlienAlus2"); 
    2226    Image IhmisAlus2 = LoadImage("IhmisAlus2"); 
     27    Image AsteroidiKuva = LoadImage("asteroidi"); 
    2328 
    2429    PlasmaCannon plasmaTykkiP1; 
     
    2833    DoubleMeter elkkuMittariP2; 
    2934 
     35    IntMeter pistelaskuriP1; 
     36    IntMeter pistelaskuriP2; 
     37 
     38    int AsteroidiLaskuri = 0; 
     39 
     40 
    3041    public override void Begin() 
    3142    { 
    3243       //Kutsutaan Pelin luovat aliohjelmat 
     44        Pelaaja1 = LuoPelaaja(IhmisAlus, Level.Left + 50); 
     45        Pelaaja2 = LuoPelaaja(AlienAlus, Level.Right - 50); 
     46 
    3347        LuoKentta(); 
    3448        LisaaOhjaimet(); 
    35     } 
    36  
    37    // Luodaan pelaajat  ja Kenttä 
     49        
     50         
     51        elkkuMittariP1 = LisaaElkut(Level.Left + 50, Level.Top, Color.Red); 
     52        elkkuMittariP2 = LisaaElkut(Level.Right - 50, Level.Top, Color.LimeGreen); 
     53 
     54        LisaaNaytot(); 
     55        pistelaskuriP1 = LisaaLaskurit(Level.Left + 20, Level.Top - 50); 
     56        pistelaskuriP2 = LisaaLaskurit(Level.Right + 20, Level.Top - 50); 
     57 
     58        while (AsteroidiLaskuri < 15) 
     59        { 
     60            LuoSatunnainenAsteroidi(); 
     61            AsteroidiLaskuri++; 
     62        } 
     63 
     64    } 
     65 
     66   // Luodaan Kenttä 
    3867    void LuoKentta() 
    3968    { 
     
    4372        Camera.ZoomToLevel(); 
    4473 
    45         Pelaaja1 = new PhysicsObject(40, 50); 
    46         Pelaaja1.Image = IhmisAlus; 
    47         Pelaaja1.Restitution = 0.5; 
    48         Pelaaja1.X = Level.Left + 50; 
    49         Pelaaja1.Mass = 100; 
    50         Add(Pelaaja1); 
    5174 
    5275        //Luodaan plasmatykki 
     
    5679        plasmaTykkiP1.InfiniteAmmo = true; 
    5780        Pelaaja1.Add(plasmaTykkiP1); 
    58  
    59         Pelaaja2 = new PhysicsObject(40, 50); 
    60         Pelaaja2.Image = AlienAlus; 
    61         Pelaaja2.Restitution = 0.5; 
    62         Pelaaja2.X = Level.Right - 50; 
    63         Pelaaja2.Mass = 100.0; 
    64         Add(Pelaaja2); 
    6581 
    6682        //Luodaan plasmatykki 
     
    7288        Pelaaja2.Add(plasmaTykkiP2); 
    7389 
    74         //Kutsutaan elkkumittareita 
    75         LisaaElkut(Level.Left + 50, Level.Top , Color.Red, elkkuMittariP1); 
    76         LisaaElkut(Level.Right - 50, Level.Top, Color.LimeGreen, elkkuMittariP2); 
    77     } 
     90    } 
     91 
     92    PhysicsObject LuoPelaaja(Image kuva, double x) 
     93    { 
     94        PhysicsObject Pelaaja = new PhysicsObject(40, 50); 
     95        Pelaaja.Image = kuva; 
     96        Pelaaja.Restitution = 0.5; 
     97        Pelaaja.X = x; 
     98        Pelaaja.Mass = 100.0; 
     99        Add(Pelaaja); 
     100        return Pelaaja; 
     101    } 
     102 
     103    void LuoSatunnainenAsteroidi() 
     104    { 
     105        double asteroidiX = RandomGen.NextDouble(Level.Left + 100.0, Level.Right - 100.0); 
     106        double asteroidiy = RandomGen.NextDouble(Level.Bottom, Level.Top); 
     107        Asteroidi = new PhysicsObject(50, 50); 
     108        Asteroidi.Image = AsteroidiKuva; 
     109        Asteroidi.X = asteroidiX; 
     110        Asteroidi.Y = asteroidiy; 
     111        Asteroidi.Mass = 10000; 
     112        Add(Asteroidi); 
     113    } 
     114 
    78115 
    79116    //Aliohjelma elkkumittareiden tekemiseen 
    80     void LisaaElkut(double x, double y, Color vari, DoubleMeter mittari) 
    81     { 
    82         mittari = new DoubleMeter(100); 
    83         mittari.MaxValue = 100; 
     117    DoubleMeter LisaaElkut(double x, double y, Color vari) 
     118    { 
     119       DoubleMeter mittari = new DoubleMeter(1); 
     120        mittari.MaxValue = 1; 
    84121        ProgressBar elkkuPalkki = new ProgressBar(200, 25); 
    85122        elkkuPalkki.BindTo(mittari); 
    86123        Add(elkkuPalkki); 
     124 
     125        mittari.LowerLimit += elkutLoppu; 
    87126 
    88127        elkkuPalkki.X = x; 
     
    90129        elkkuPalkki.BarColor = vari; 
    91130        elkkuPalkki.BorderColor = vari; 
    92  
     131        return mittari; 
    93132    } 
    94133 
     
    116155       Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    117156    } 
    118  
    119    //Aliohjelma Pelaajan liikuttamiseen 
     157  
     158    //Aliohjelma Pelaajan liikuttamiseen 
    120159    void LiikutaPelaajaa(PhysicsObject pelaaja, double nopeus, Image kuva) 
    121160   { 
     
    124163       pelaaja.Image = kuva; 
    125164   } 
     165 
    126166    //Aliohjelma pelaajan kääntämiseen 
    127167    void KaannaPelaajaa(PhysicsObject pelaaja, double voima) 
     
    130170   } 
    131171 
     172    
     173    IntMeter LisaaLaskurit( double x, double y) 
     174    { 
     175    IntMeter pisteLaskuri = new IntMeter(0); 
     176    pisteLaskuri.MaxValue = 5; 
     177    Label pisteNaytto = new Label();  
     178    pisteNaytto.X = x; 
     179    pisteNaytto.Y = y; 
     180    pisteNaytto.TextColor = Color.Black; 
     181    pisteNaytto.Color = Color.White; 
     182    pisteNaytto.Title = "Pisteet"; 
     183    pisteNaytto.BindTo(pisteLaskuri); 
     184 
     185    pisteLaskuri.UpperLimit += Pelaajavoittaa; 
     186    Add(pisteNaytto); 
     187    return pisteLaskuri; 
     188    } 
     189     
     190 
     191 
     192  
     193     
     194    void LisaaNaytot() 
     195{ 
     196    Label pelaaja1text = new Label("Pelaaja 1"); 
     197    Label pelaaja2text = new Label("Pelaaja 2"); 
     198    pelaaja1text.X = Level.Left + 10; 
     199    pelaaja1text.Y = Level.Top; 
     200    pelaaja2text.X = Level.Right - 10; 
     201    pelaaja2text.Y = Level.Top; 
     202    pelaaja1text.TextColor = Color.White; 
     203    pelaaja2text.TextColor = Color.White; 
     204    Add(pelaaja1text); 
     205    Add(pelaaja2text); 
     206} 
     207 
    132208    //Aliohjelma plasmapallon osumiseen 
    133209    void PlasmaPalloOsuu(PhysicsObject ammus, PhysicsObject kohde) 
    134210   { 
    135211       ammus.Destroy(); 
    136        Explosion rajahdys = new Explosion(10); 
     212       Explosion rajahdys = new Explosion(20); 
    137213       rajahdys.Position = ammus.Position; 
    138214       rajahdys.Force = 10; 
     
    141217       if (kohde == Pelaaja1) 
    142218       { 
    143            elkkuMittariP1.Value--;//Tässä Pieni ongelma 
     219           elkkuMittariP1.Value --; 
    144220       } 
    145         
     221       else if (kohde == Pelaaja2) 
     222       { 
     223           elkkuMittariP2.Value--; 
     224       } 
    146225   } 
    147226 
     
    162241   } 
    163242 
     243    void elkutLoppu() 
     244    { 
     245        if (elkkuMittariP1.Value == 0) 
     246        { 
     247            elkkuMittariP1.Value = 100; 
     248            Remove(Pelaaja1); 
     249            Explosion rajahdys = new Explosion(100); 
     250            rajahdys.Position = Pelaaja1.Position; 
     251            rajahdys.Force = 100; 
     252            Add(rajahdys); 
     253            pistelaskuriP2.Value++; 
     254            if (pistelaskuriP2.Value == 5) { return; } 
     255            MessageDisplay.Add("Pelaaja1 tuhottu."); 
     256            Timer.SingleShot(2.0, respaaP1); 
     257 
     258        } 
     259        else if (elkkuMittariP2.Value == 0) 
     260        { 
     261            elkkuMittariP2.Value = 100; 
     262            Remove(Pelaaja2); 
     263            Explosion rajahdys = new Explosion(100); 
     264            rajahdys.Position = Pelaaja2.Position; 
     265            rajahdys.Force = 100; 
     266            Add(rajahdys); 
     267            pistelaskuriP1.Value++; 
     268            if (pistelaskuriP1.Value == 5) { return; } 
     269            MessageDisplay.Add("Pelaaja2 tuhottu."); 
     270            Timer.SingleShot(2.0, respaaP2); 
     271 
     272        } 
     273    } 
     274 
     275    void respaaP1() 
     276    { 
     277        Pelaaja1.X = Level.Left + 50; 
     278        Pelaaja1.Y = 0; 
     279        Pelaaja1.Angle = Angle.Zero; 
     280        Add(Pelaaja1); 
     281    } 
     282    void respaaP2() 
     283    { 
     284        Pelaaja2.X = Level.Right - 50; 
     285        Pelaaja2.Y = 0; 
     286        Pelaaja2.Angle = Angle.Zero; 
     287        Add(Pelaaja2); 
     288    } 
     289 
     290    void Pelaajavoittaa() 
     291    { 
     292        ClearAll(); 
     293        string voittaja = ""; 
     294        if (pistelaskuriP1.Value == 5) 
     295        { voittaja = "Pelaaja 1 "; } 
     296 
     297        else if (pistelaskuriP2.Value == 5) 
     298        { voittaja = "Pelaaja 2"; } 
     299        Level.Background.Image = taustaKuva; 
     300        Level.Background.FitToLevel(); 
     301 
     302        Label tekstikentta = new Label(voittaja + " " + "voitti pelin!!!"); 
     303        tekstikentta.TextColor = Color.HotPink; 
     304        tekstikentta.TextScale = new Vector(5.0, 5.0); 
     305        Add(tekstikentta); 
     306 
     307        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
     308        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     309 
     310    } 
    164311} 
  • 2012/26/KasperiK/TheLastBattle/TheLastBattle/TheLastBattleContent/TheLastBattleContent.contentproj

    r3284 r3324  
    7575    </Compile> 
    7676  </ItemGroup> 
     77  <ItemGroup> 
     78    <Compile Include="asteroidi.png"> 
     79      <Name>asteroidi</Name> 
     80      <Importer>TextureImporter</Importer> 
     81      <Processor>TextureProcessor</Processor> 
     82    </Compile> 
     83  </ItemGroup> 
    7784  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    7885  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
Note: See TracChangeset for help on using the changeset viewer.