Changeset 1228 for 2010/27


Ignore:
Timestamp:
2010-07-09 13:03:36 (9 years ago)
Author:
akrauhan
Message:

Peli valmis, kai.

Location:
2010/27/akrauhan/Wooden Warfare
Files:
6 added
2 edited

Legend:

Unmodified
Added
Removed
  • 2010/27/akrauhan/Wooden Warfare/Content/Content.contentproj

    r1194 r1228  
    8585    </Compile> 
    8686  </ItemGroup> 
     87  <ItemGroup> 
     88    <Compile Include="Rekka.png"> 
     89      <Name>Rekka</Name> 
     90      <Importer>TextureImporter</Importer> 
     91      <Processor>TextureProcessor</Processor> 
     92    </Compile> 
     93  </ItemGroup> 
     94  <ItemGroup> 
     95    <Compile Include="Rekka2.png"> 
     96      <Name>Rekka2</Name> 
     97      <Importer>TextureImporter</Importer> 
     98      <Processor>TextureProcessor</Processor> 
     99    </Compile> 
     100  </ItemGroup> 
     101  <ItemGroup> 
     102    <Compile Include="uusjouus.png"> 
     103      <Name>uusjouus</Name> 
     104      <Importer>TextureImporter</Importer> 
     105      <Processor>TextureProcessor</Processor> 
     106    </Compile> 
     107  </ItemGroup> 
     108  <ItemGroup> 
     109    <Compile Include="uusjouus2.png"> 
     110      <Name>uusjouus2</Name> 
     111      <Importer>TextureImporter</Importer> 
     112      <Processor>TextureProcessor</Processor> 
     113    </Compile> 
     114  </ItemGroup> 
     115  <ItemGroup> 
     116    <Compile Include="uusjouus3.png"> 
     117      <Name>uusjouus3</Name> 
     118      <Importer>TextureImporter</Importer> 
     119      <Processor>TextureProcessor</Processor> 
     120    </Compile> 
     121  </ItemGroup> 
    87122</Project> 
  • 2010/27/akrauhan/Wooden Warfare/Peli.cs

    r1194 r1228  
    1 using System; 
     1//Akseli Rauhansalo 
     2 
     3using System; 
    24using Jypeli; 
    35using Jypeli.Widgets; 
     
    1517    const int ruudunKorkeus = 50; 
    1618    IntMeter pisteLaskuri; 
     19    IntMeter Energiamittari; 
    1720    ExplosionSystem rajahdys; 
    1821    PhysicsObject PistePalikka; 
    19     Timer powerup; 
     22    PhysicsObject RandomPalikka; 
     23     
    2024    Timer pomminPudotusAjastin; 
    2125    ObjectIgnorer ignorer = new ObjectIgnorer(); 
     
    2832        KaynnistaPomminpudotusAjastin(); 
    2933        Ohjaimet(); 
    30         // aikaLaskuri.Start();       
     34         
    3135        LataaRajahdykset(); 
    3236        LuoAikaLaskuri(); 
    3337        LuoPisteLaskuri(); 
    34  
    35     } 
    36  
     38        LuoEnergia(); 
     39         
     40         
     41    } 
    3742    private void LataaRajahdykset() 
    3843    { 
     
    5257    void NopeutaPommienPutoamista() 
    5358    { 
    54         pomminPudotusAjastin.Interval /= 1.5; 
     59        pomminPudotusAjastin.Interval /= 2; 
    5560    } 
    5661 
    5762    void Pommeja(Timer ajastin) 
    5863    { 
    59         Add(LuoPommi(20, 40, new Vector(0, -200), "pommi")); 
    60         Add(LuoPommi(30, 50, new Vector(0, -100), "pommi2")); 
    61         Add(LuoPommi(50, 70, new Vector(0, -50), "pommi3")); 
    62     } 
    63     void PowerUp(Timer powerup) 
    64     { 
    65         //Add(KerattavaEsine); 
    66     } 
     64        Add(LuoPommi(20, 40, new Vector(0, -200), "pommi", "heikko")); 
     65        Add(LuoPommi(30, 50, new Vector(0, -100), "pommi2","normaali")); 
     66        Add(LuoPommi(50, 70, new Vector(0, -50), "pommi3", "vahva")); 
     67    } 
     68 
    6769     
    6870 
     
    7173    void LuoKentta() 
    7274    { 
    73         varsijousi = new PhysicsObject(75, 30); 
     75        varsijousi = new PhysicsObject(100, 70); 
    7476        varsijousi.CollisionIgnorer = ignorer; 
    7577        varsijousi.Shape = Shapes.Rectangle; 
     
    7779        varsijousi.Y = -200; 
    7880        varsijousi.IgnoresCollisionResponse = true; 
    79         varsijousi.Image = LoadImage("jousi1"); 
     81        varsijousi.Image = LoadImage("uusjouus"); 
     82         
    8083        Add(varsijousi); 
    81  
    82         PhysicsObject KerattavaEsine = new PhysicsObject(40,40); 
    83  
    8484        pyssy = new LaserGun(20, 5); 
    85          
     85        pyssy.AttackSound = null;  
    8686        varsijousi.Add(pyssy); 
    87  
    88         powerup = new Timer(); 
    89         powerup.Interval = 30; 
    90         powerup.Trigger += PowerUp; 
    9187        kuormaauto = new PhysicsObject(200.0, 100.0); 
    9288        kuormaauto.X = -550.0; 
    9389        kuormaauto.Y = -250.0; 
     90        kuormaauto.Image = LoadImage("Rekka"); 
    9491        Add(kuormaauto); 
    9592        PathFollowerBrain tietaseuraavatAivot = new PathFollowerBrain(); 
     
    9794        List<Vector> polku = new List<Vector>(); 
    9895        polku.Add(new Vector(-800.0, -250.0)); 
     96        polku.Add(new Vector(0.0, -250.0)); 
    9997        polku.Add(new Vector(800.0, -250.0)); 
     98        polku.Add(new Vector(0.0, -250.0)); 
    10099        tietaseuraavatAivot.Path = polku; 
    101         tietaseuraavatAivot.Speed = 100; 
     100        tietaseuraavatAivot.Speed = 150; 
    102101        kuormaauto.IgnoresCollisionResponse = true; 
    103102        TileMap ruudut = TileMap.FromFile("kenttä"); 
     
    107106        PistePalikka.X = -800.0; 
    108107        PistePalikka.Y = -250.0; 
     108        RandomPalikka = new PhysicsObject(30, 30); 
     109        RandomPalikka.X = 799.0; 
     110        RandomPalikka.Y = -250.0; 
     111        Add(RandomPalikka); 
    109112        Add(PistePalikka); 
    110113        ruudut.Insert(40.0, 40.0); 
    111114        Level.Background.Image = LoadImage("Winter"); 
    112115        Level.Background.FitToLevel(); 
     116         
    113117        AddCollisionHandler(kuormaauto, KasitteleTormays4); 
    114         AddCollisionHandler(varsijousi, KasitteleTormays5); 
    115  
    116     } 
    117     void KasitteleTormays5(PhysicsObject varsijousi, PhysicsObject kohde) 
    118     { 
    119        // if (kohde == //KerattavaEsine) 
    120          
    121  
    122          
    123     } 
     118        AddCollisionHandler(kuormaauto, KasittelePomminTormays); 
     119        AddCollisionHandler(kuormaauto, KasittelePomminTormays2); 
     120        AddCollisionHandler(kuormaauto, KasittelePomminTormays3); 
     121        AddCollisionHandler(kuormaauto, KasitteleTormays5); 
     122         
     123        Camera.ZoomToLevel(); 
     124 
     125         
     126         
     127 
     128    } 
     129    void KasitteleTormays5(PhysicsObject kuormaauto, PhysicsObject kohde6) 
     130    { 
     131        if (kohde6 == RandomPalikka) 
     132        { 
     133            kuormaauto.Image = LoadImage("Rekka2"); 
     134        } 
     135    } 
     136 
     137    void KasittelePomminTormays(PhysicsObject kuormaauto, PhysicsObject kohde2) 
     138    { 
     139        if (kohde2.Tag.ToString() == "heikko") 
     140        { 
     141            Energiamittari.Value -= 10; 
     142        } 
     143      
     144    } 
     145 
     146    void KasittelePomminTormays2(PhysicsObject kuormaauto, PhysicsObject kohde3) 
     147    { 
     148        if (kohde3.Tag.ToString() == "normaali") 
     149        { 
     150            Energiamittari.Value -= 30; 
     151        } 
     152    } 
     153 
     154    void KasittelePomminTormays3(PhysicsObject kuormaauto, PhysicsObject kohde4) 
     155    { 
     156        if (kohde4.Tag.ToString() == "vahva") 
     157        { 
     158            Energiamittari.Value -= 50; 
     159        } 
     160    } 
     161 
    124162    void KasitteleTormays4(PhysicsObject kuormaauto, PhysicsObject kohde) 
    125163    { 
     
    127165        { 
    128166            pisteLaskuri.Value += 100; 
     167            kuormaauto.Image = LoadImage("rekka"); 
    129168        } 
    130169    } 
     
    141180        Keyboard.Listen(Key.Right, ButtonState.Released, Pysahdy2, "Käänny Vasemmalle"); 
    142181        Keyboard.Listen(Key.Space, ButtonState.Down, Ammu, "Käytä asetta"); 
     182        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu Pelistä"); 
     183        Keyboard.Listen(Key.Enter, ButtonState.Pressed, AloitAlusta, "Aloita alusta."); 
     184 
    143185    } 
    144186 
     
    153195            ammus.CollisionIgnorer = new ObjectIgnorer(); 
    154196            ammus.Image = LoadImage("nuoli"); 
     197            Image[] ampuminen = LoadImages("uusjouus", "uusjouus2", "uusjouus3"); 
     198            varsijousi.Animation = new Animation(ampuminen); 
     199            varsijousi.Animation.Start(1); 
     200             
    155201        } 
    156202    } 
     
    159205    { 
    160206        Vector suunta = Vector.FromLengthAndAngle(1.0, varsijousi.Angle); 
    161         varsijousi.Velocity = suunta * 100; 
    162         if (varsijousi.Y >= Level.Top) 
    163         { 
    164             varsijousi.Velocity = Vector.Zero; 
    165             return; 
    166         } 
     207        varsijousi.Velocity = suunta * 100;           
     208         
    167209    } 
    168210    void LiikuTaakse() 
     
    209251    } 
    210252 
    211     PhysicsObject LuoPommi(double leveys, double korkeus, Vector tippumisvoima, String kuva) 
     253    PhysicsObject LuoPommi(double leveys, double korkeus, Vector tippumisvoima, String kuva, String vahvuus) 
    212254    { 
    213255        PhysicsObject pommi = new PhysicsObject(leveys, korkeus); 
     
    220262        pommi.Y = y; 
    221263        pommi.Hit(tippumisvoima); 
     264        pommi.Tag = vahvuus; 
    222265        return pommi; 
    223266    } 
     
    288331        Add(pisteNaytto); 
    289332 
    290         Label pisteTeksti = new Label("Pisteitä:"); 
     333        Label pisteTeksti = new Label("Pisteitä:   "); 
    291334        pisteTeksti.X = Screen.Left + 50; 
    292335        pisteTeksti.Y = Screen.Top - 100; 
     
    294337        Add(pisteTeksti); 
    295338 
    296         if (pisteLaskuri.Value >= 300) 
     339        if (pisteLaskuri.Value >= 200) 
    297340        { 
    298341            NopeutaPommienPutoamista(); 
    299342        } 
    300         if (pisteLaskuri.Value >= 600) 
     343        if (pisteLaskuri.Value >= 400) 
    301344        { 
    302345            NopeutaPommienPutoamista(); 
    303346        } 
    304         if (pisteLaskuri.Value >= 1000) 
     347        if (pisteLaskuri.Value >= 700) 
    305348        { 
    306349            NopeutaPommienPutoamista(); 
    307350        } 
    308351    } 
    309  
    310  
    311352    void LuoEnergia() 
    312353    { 
    313354        Energiamittari = new IntMeter(100); 
     355        Energiamittari.MinValue = 0; 
     356        Energiamittari.LowerLimit += RekkaTuhoutuu; 
    314357 
    315358        Label EnergiaNaytto = new Label(); 
     
    317360        EnergiaNaytto.Y = Screen.Bottom + 100; 
    318361        EnergiaNaytto.TextColor = Color.Green; 
     362         
    319363 
    320364        EnergiaNaytto.BindTo(Energiamittari); 
    321365        Add(EnergiaNaytto); 
    322366 
    323         if (LuoEnergia.Value <= 1) 
    324         { 
    325             kuormaauto.Destroy; 
    326         } 
    327     } 
    328      
     367 
     368    } 
     369    void RekkaTuhoutuu(int arvo) 
     370    { 
     371        MessageDisplay.TextColor = Color.Red; 
     372        MessageDisplay.Add("Tuhouduit. Paina ENTER aloittaaksesi alusta."); 
     373        pomminPudotusAjastin.Stop(); 
     374        Explosion rajahdys = new Explosion(300); 
     375        rajahdys.Position = kuormaauto.Position; 
     376        kuormaauto.Destroy(); 
     377        aikaLaskuri.Stop(); 
     378        Add(rajahdys); 
     379 
     380    } 
     381 
     382    void AloitAlusta() 
     383    { 
     384        ClearAll(); 
     385        LuoKentta(); 
     386        pomminPudotusAjastin = new Timer();        
     387        KaynnistaPomminpudotusAjastin(); 
     388        Ohjaimet(); 
     389             
     390        LataaRajahdykset(); 
     391        LuoAikaLaskuri(); 
     392        LuoPisteLaskuri(); 
     393        LuoEnergia(); 
     394 
     395    } 
    329396 
    330397     
Note: See TracChangeset for help on using the changeset viewer.