Changeset 7017 for 2015/30


Ignore:
Timestamp:
2015-07-24 11:34:01 (4 years ago)
Author:
masorval
Message:

Peli on valmis @author markus Sorvali
pelin nimi: Maken Känninen Seikkailu

Location:
2015/30/MarkusS/git_gud_the_game
Files:
4 added
15 edited

Legend:

Unmodified
Added
Removed
  • 2015/30/MarkusS/git_gud_the_game/git_gud_the_game/git_gud_the_game/git_gud_the_game.cs

    r6985 r7017  
    77using Jypeli.Widgets; 
    88 
     9 
     10///@author Markus Sorvali  
     11/// <summary> 
     12///  
     13/// </summary> 
    914 
    1015public class Pelaaja : PhysicsObject 
     
    3944        ase.FireRate = 1; 
    4045        ase.CanHitOwner = false; 
    41         elamaLaskuri.LowerLimit += delegate  
    42         {  
     46        elamaLaskuri.LowerLimit += delegate 
     47        { 
    4348            this.Destroy(); 
    4449            this.ase.Destroy(); 
     
    101106    IntMeter pisteLaskuri; 
    102107    Image FinalBoss = LoadImage("FinalBoss"); 
     108    Image enkanKuva = LoadImage("Enkka"); 
     109    Image kalja = LoadImage("kalja"); 
    103110    const double nopeus = 400; 
    104111 
    105     const int ruudunkoko =60; 
     112    const int ruudunkoko = 60; 
    106113 
    107114    public override void Begin() 
     
    123130        ruudut.SetTileMethod(Color.Red, LuoVihollinen); 
    124131        ruudut.SetTileMethod(Color.FromHexCode("808080"), LuoEsine); 
    125         ruudut.SetTileMethod(Color.Harlequin, LuoHCVihollinen); 
     132        ruudut.SetTileMethod(Color.FromHexCode("1198FF"), LuoHCVihollinen); 
    126133        ruudut.SetTileMethod(Color.FromHexCode("B6FF00"), SpawnaaHaulikko); 
    127134        ruudut.Execute(ruudunkoko, ruudunkoko); 
     
    151158        pelaaja1.AngularDamping = 0.5; 
    152159 
    153         AddCollisionHandler(pelaaja1, "ammus", AmmusOsuuPelaajaan); 
     160        AddCollisionHandler(pelaaja1, "vihollisenAmmus", AmmusOsuuPelaajaan); 
    154161        pelaaja1.Tag = "pelaaja"; 
    155162 
    156163        AddCollisionHandler(pelaaja1, "Esine", Esinekerätty); 
     164 
     165        ProgressBar elamaPalkki = new ProgressBar(150, 20); 
     166        elamaPalkki.X = Screen.Left + 150; 
     167        elamaPalkki.Y = Screen.Top - 20; 
     168        elamaPalkki.BindTo(pelaaja1.ElamaLaskuri); 
     169        Add(elamaPalkki); 
    157170    } 
    158171 
     
    169182        pelaaja2.AngularDamping = 0.5; 
    170183 
    171         AddCollisionHandler(pelaaja2, "ammus", AmmusOsuuPelaajaan); 
     184        AddCollisionHandler(pelaaja2, "vihollisenAmmus", AmmusOsuuPelaajaan); 
    172185        pelaaja2.Tag = "pelaaja"; 
    173186 
    174187        AddCollisionHandler(pelaaja2, "Esine", Esinekerätty); 
     188 
     189        ProgressBar elamaPalkki = new ProgressBar(150, 20); 
     190        elamaPalkki.X = Screen.Right - 150; 
     191        elamaPalkki.Y = Screen.Top - 20; 
     192        elamaPalkki.BindTo(pelaaja2.ElamaLaskuri); 
     193        Add(elamaPalkki); 
    175194    } 
    176195 
     
    213232            int satunnainenLuku = RandomGen.NextInt(2); 
    214233            Pelaaja valittuPelaaja = pelaaja1; 
    215             if (satunnainenLuku == 0) valittuPelaaja = pelaaja1; 
    216             if (satunnainenLuku == 1) valittuPelaaja = pelaaja2; 
    217             Vector suunta = (valittuPelaaja.Position - vihollinen.ase.AbsolutePosition).Normalize(); 
    218             vihollinen.ase.Angle = suunta.Angle; 
    219             PhysicsObject ammus = vihollinen.ase.Shoot(); 
    220             if (ammus != null) 
     234            if (Vector.Distance(vihollinen.Position, pelaaja2.Position) < Vector.Distance(vihollinen.Position, pelaaja1.Position)) 
    221235            { 
    222                 ammus.Tag = "ammus"; 
     236                valittuPelaaja = pelaaja2; 
    223237            } 
     238 
     239            if (Vector.Distance(vihollinen.Position, valittuPelaaja.Position) < 500) 
     240            { 
     241                Vector suunta = (valittuPelaaja.Position - vihollinen.ase.AbsolutePosition).Normalize(); 
     242                vihollinen.ase.Angle = suunta.Angle; 
     243                PhysicsObject ammus = vihollinen.ase.Shoot(); 
     244                if (ammus != null) 
     245                { 
     246                    ammus.Tag = "vihollisenAmmus"; 
     247                } 
     248            } 
     249 
    224250        }; 
    225251        ajastin.Start(); 
     
    260286        { 
    261287            pelaaja.Image = kavelyYlos; 
    262             pelaaja.Move(new Vector(0,nopeus)); 
     288            pelaaja.Move(new Vector(0, nopeus)); 
    263289 
    264290        } 
     
    282308                ammus.Tag = "ammus"; 
    283309            } 
     310            ammus.LifetimeLeft = new TimeSpan(0, 0, 1); 
    284311        } 
    285312 
     
    288315    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
    289316    { 
     317        if (ammus.Tag.Equals("vihollisenAmmus") && kohde.Tag.Equals("vihollinen")) 
     318        { 
     319            return; 
     320        } 
    290321        ammus.Destroy(); 
    291322    } 
     
    297328    { 
    298329        ((Vihollinen)vihu).ElamaLaskuri.Value -= vahinko; 
     330        if (((Vihollinen)vihu).ElamaLaskuri.Value == 0) 
     331        { 
     332            LuoEnkka(vihu.Position, ruudunkoko, ruudunkoko); 
     333        } 
    299334    } 
    300335    void SpawnaaHaulikko(Vector paikka, double leveys, double korkeus) 
     
    326361        pisteLaskuri = new IntMeter(0); 
    327362        pisteLaskuri.MaxValue = 10; 
    328         pisteLaskuri.UpperLimit += delegate { KaikkiKeratty(new Vector(0, 0), ruudunkoko *1.5, ruudunkoko *1.5); }; 
     363        pisteLaskuri.UpperLimit += delegate { KaikkiKeratty(new Vector(0, 0), ruudunkoko * 1.5, ruudunkoko * 1.5); }; 
    329364 
    330365    } 
    331366    void KaikkiKeratty(Vector paikka, double leveys, double korkeus) 
    332367    { 
    333           
     368        LuoVihu(paikka, leveys, korkeus, 5, vihollisenKuva); 
    334369        LuoVihu(paikka, leveys, korkeus, 20, FinalBoss); 
     370        MessageDisplay.Add("Tapa Vihollisten Pomo!"); 
    335371    } 
    336372    void LuoEsine(Vector paikka, double leveys, double korkeus) 
    337373    { 
    338         PhysicsObject juttu = new PhysicsObject(20, 20); 
     374        PhysicsObject juttu = new PhysicsObject(40, 40); 
    339375        Add(juttu); 
    340376        juttu.Position = paikka; 
    341377        juttu.Tag = "Esine"; 
     378        juttu.Image = kalja; 
     379 
    342380    } 
    343381    void Esinekerätty(PhysicsObject Pelaaja, PhysicsObject Esine) 
     
    346384        pisteLaskuri.Value += 1; 
    347385    } 
     386    void LuoEnkka(Vector paikka, double leveys, double korkeus) 
     387    { 
     388        PhysicsObject enkka = new PhysicsObject(leveys, korkeus); 
     389        enkka.Position = paikka; 
     390        enkka.Image = enkanKuva; 
     391        Add(enkka); 
     392        AddCollisionHandler(enkka, "pelaaja", LisaaEnkka); 
     393    } 
     394    void LisaaEnkka(PhysicsObject enkka, PhysicsObject pelaaja) 
     395    { 
     396        Pelaaja tyyppi = pelaaja as Pelaaja; 
     397        tyyppi.ElamaLaskuri.Value += 2; 
     398        enkka.Destroy(); 
     399    } 
    348400} 
  • 2015/30/MarkusS/git_gud_the_game/git_gud_the_game/git_gud_the_game/git_gud_the_game.csproj.Debug.cachefile

    r6985 r7017  
    1010Content\pelaajanKuvaSivu.xnb 
    1111Content\pelaajanKuvaSivuVasen.xnb 
     12Content\Enkka.xnb 
     13Content\kalja.xnb 
  • 2015/30/MarkusS/git_gud_the_game/git_gud_the_game/git_gud_the_game/obj/x86/Debug/cachefile-{1C03E4EE-ABF7-43AF-8443-48178D554BFA}-targetpath.txt

    r6985 r7017  
    1010Content\pelaajanKuvaSivu.xnb 
    1111Content\pelaajanKuvaSivuVasen.xnb 
     12Content\Enkka.xnb 
     13Content\kalja.xnb 
  • 2015/30/MarkusS/git_gud_the_game/git_gud_the_game/git_gud_the_game/obj/x86/Debug/git_gud_the_game.csproj.FileListAbsolute.txt

    r6985 r7017  
    1818C:\MyTemp\MarkusS\git_gud_the_game\git_gud_the_game\git_gud_the_game\bin\x86\Debug\Content\pelaajanKuvaSivu.xnb 
    1919C:\MyTemp\MarkusS\git_gud_the_game\git_gud_the_game\git_gud_the_game\bin\x86\Debug\Content\pelaajanKuvaSivuVasen.xnb 
     20C:\MyTemp\MarkusS\git_gud_the_game\git_gud_the_game\git_gud_the_game\bin\x86\Debug\Content\Enkka.xnb 
     21C:\MyTemp\MarkusS\git_gud_the_game\git_gud_the_game\git_gud_the_game\bin\x86\Debug\Content\kalja.xnb 
  • 2015/30/MarkusS/git_gud_the_game/git_gud_the_game/git_gud_the_gameContent/git_gud_the_gameContent.contentproj

    r6985 r7017  
    118118    </Compile> 
    119119  </ItemGroup> 
     120  <ItemGroup> 
     121    <Compile Include="Enkka.png"> 
     122      <Name>Enkka</Name> 
     123      <Importer>TextureImporter</Importer> 
     124      <Processor>TextureProcessor</Processor> 
     125    </Compile> 
     126  </ItemGroup> 
     127  <ItemGroup> 
     128    <Compile Include="kalja.png"> 
     129      <Name>kalja</Name> 
     130      <Importer>TextureImporter</Importer> 
     131      <Processor>TextureProcessor</Processor> 
     132    </Compile> 
     133  </ItemGroup> 
    120134  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    121135  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2015/30/MarkusS/git_gud_the_game/git_gud_the_game/git_gud_the_gameContent/obj/x86/Debug/ContentPipeline.xml

    r6985 r7017  
    99      <Options>None</Options> 
    1010      <Output>C:\MyTemp\MarkusS\git_gud_the_game\git_gud_the_game\git_gud_the_game\bin\x86\Debug\Content\kentta1.xnb</Output> 
    11       <Time>2015-07-23T11:36:24.3032956+03:00</Time> 
     11      <Time>2015-07-24T10:14:09.3388044+03:00</Time> 
    1212    </Item> 
    1313    <Item> 
     
    1818      <Options>None</Options> 
    1919      <Output>C:\MyTemp\MarkusS\git_gud_the_game\git_gud_the_game\git_gud_the_game\bin\x86\Debug\Content\Seina.xnb</Output> 
    20       <Time>2015-07-23T10:13:21.0152956+03:00</Time> 
     20      <Time>2015-07-24T10:37:54.0806044+03:00</Time> 
    2121    </Item> 
    2222    <Item> 
     
    101101      <Time>2015-07-23T14:40:38.2908257+03:00</Time> 
    102102    </Item> 
     103    <Item> 
     104      <Source>Enkka.png</Source> 
     105      <Name>Enkka</Name> 
     106      <Importer>TextureImporter</Importer> 
     107      <Processor>TextureProcessor</Processor> 
     108      <Options>None</Options> 
     109      <Output>C:\MyTemp\MarkusS\git_gud_the_game\git_gud_the_game\git_gud_the_game\bin\x86\Debug\Content\Enkka.xnb</Output> 
     110      <Time>2015-07-24T10:01:56.9014044+03:00</Time> 
     111    </Item> 
     112    <Item> 
     113      <Source>kalja.png</Source> 
     114      <Name>kalja</Name> 
     115      <Importer>TextureImporter</Importer> 
     116      <Processor>TextureProcessor</Processor> 
     117      <Options>None</Options> 
     118      <Output>C:\MyTemp\MarkusS\git_gud_the_game\git_gud_the_game\git_gud_the_game\bin\x86\Debug\Content\kalja.xnb</Output> 
     119      <Time>2015-07-21T16:37:40+03:00</Time> 
     120    </Item> 
    103121    <BuildSuccessful>true</BuildSuccessful> 
    104122    <Settings> 
Note: See TracChangeset for help on using the changeset viewer.