Changeset 6765 for 2015/27


Ignore:
Timestamp:
2015-07-02 15:00:47 (4 years ago)
Author:
jasukuva
Message:

Peliin yksi uusi kentta. ja mahdollisuus kahdelle pelaajalle

Location:
2015/27/JaakkoS/Tikku
Files:
11 added
17 edited

Legend:

Unmodified
Added
Removed
  • 2015/27/JaakkoS/Tikku/Tikku/Tikku/Tikku.cs

    r6734 r6765  
    99public class Tikku : PhysicsGame 
    1010{ 
    11     const double nopeus = 200; 
     11 
     12    const double nopeus = 300; 
    1213    const double hyppyNopeus = 750; 
    1314    const int RUUDUN_KOKO = 40; 
     
    1516    int kenttaNro = 1; 
    1617 
    17  
     18     
    1819 
    1920    PlatformCharacter pelaaja1; 
    2021    PlatformCharacter vihu1; 
    2122 
    22     List<Label> valintakohdat; 
    2323 
    2424    IntMeter elamalaskuri; 
     25 
    2526 
    2627    List<Widget> pelaajansydammet = new List<Widget>(); 
     
    3031    Image vihuKuva = LoadImage("AUTO"); 
    3132    Image kynaKuva = LoadImage("kyna"); 
     33    Image MaaKuva = LoadImage("Maa"); 
     34    Image palikkaKuva = LoadImage("palikka"); 
    3235 
    3336    SoundEffect maaliAani = LoadSoundEffect("maali"); 
     
    3639    Widget sydammet; 
    3740 
     41    int pelaajia; 
    3842 
    3943    public override void Begin() 
     
    4145        SeuraavaKentta(); 
    4246        SmoothTextures = false; 
    43         Valikko(); 
     47 
     48        MultiSelectWindow valikko = new MultiSelectWindow("Alkuvalikko", "Aloita", "Lopeta"); 
     49        Add(valikko); 
     50        valikko.AddItemHandler(0, valikko2); 
     51        valikko.AddItemHandler(1, Exit); 
     52 
    4453        IsMouseVisible = true; 
    4554    } 
    4655 
     56    void valikko2() 
     57    { 
     58        MultiSelectWindow valikko2 = new MultiSelectWindow("Pelaaja määrä?", "1", "2"); 
     59        Add(valikko2); 
     60        valikko2.AddItemHandler(0, delegate { pelaajia = 1; SeuraavaKentta(); }); 
     61        valikko2.AddItemHandler(1, delegate { pelaajia = 2;  SeuraavaKentta(); }); 
     62    } 
     63 
     64 
     65    void LiikutaPelaajaa(AnalogState tatinTila) 
     66    { 
     67        Vector tatinAsento = tatinTila.StateVector.Normalize(); 
     68         
     69        if (tatinAsento == new Vector(1,0)) // oikealle 
     70        { 
     71            pelaaja1.Walk(nopeus); 
     72        } 
     73        else if (tatinAsento == new Vector(-1, 0)) // vasemmalle 
     74        { 
     75            pelaaja1.Walk(-nopeus); 
     76        } 
     77 
     78    } 
    4779   
    4880    void LuoKentta(string kenttaTiedostonNimi) 
     
    5587        kentta.SetTileMethod('V', LisaaVihu); 
    5688        kentta.SetTileMethod('K', Lisaakyna); 
     89        kentta.SetTileMethod('M', LisaaMaa); 
    5790 
    5891        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
     
    81114        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    82115        taso.Position = paikka; 
    83         taso.Color = Color.Brown; 
     116        taso.Image = palikkaKuva; 
    84117        Add(taso); 
    85118    } 
     119 
     120    void LisaaMaa(Vector paikka, double leveys, double korkeus) 
     121    { 
     122        PhysicsObject maa = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     123        maa.Position = paikka; 
     124        maa.Image = MaaKuva; 
     125        Add(maa); 
     126    } 
     127 
     128 
    86129    void LisaaTappavaTaso(Vector paikka, double leveys, double korkeus) 
    87130    { 
    88131        PhysicsObject tappavataso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    89132        tappavataso.Position = paikka; 
    90         tappavataso.Color = Color.Brown; 
     133        tappavataso.Image = palikkaKuva; 
    91134        tappavataso.Tag = "tappavapalikka"; 
    92135        Add(tappavataso); 
     
    149192        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    150193 
    151         Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
    152         Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    153  
    154         ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
    155  
    156  
    157         ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 
    158         ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    159  
    160         Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, Aloita, null); 
     194         
     195 
     196        if (pelaajia == 2) 
     197        { 
     198            Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu oikalle", pelaaja1, nopeus); 
     199            Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
     200            Keyboard.Listen(Key.Space, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     201 
     202            ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     203 
     204            ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 
     205            ControllerTwo.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja Liikkuu vasemmalle", pelaaja1, -nopeus); 
     206            ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     207            ControllerTwo.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     208        } 
     209 
     210        if (pelaajia == 1) 
     211        { 
     212            Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu oikalle", pelaaja1, nopeus); 
     213            Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
     214            Keyboard.Listen(Key.Space, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     215 
     216            ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     217            ControllerOne.ListenAnalog(AnalogControl.LeftStick, 0.1, LiikutaPelaajaa, "Liikuta pelaajaa tattia pyörittämällä."); 
     218            ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     219        } 
     220 
    161221 
    162222        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
     
    184244    void TormaaKynaan(PhysicsObject hahmo, PhysicsObject kyna) 
    185245    { 
    186         MessageDisplay.Add("Sait lisää elämää!"); 
    187         elamalaskuri.Value++; 
     246         
    188247        kyna.Destroy(); 
    189         LisaaYksiUusiSydan(); 
     248        if (elamalaskuri.Value < 3) 
     249        { 
     250            MessageDisplay.Add("Sait lisää elämää!"); 
     251            elamalaskuri.Value++; 
     252            LisaaYksiUusiSydan(); 
     253        } 
    190254    } 
    191255 
     
    234298 
    235299        pelaajansydammet.Clear(); 
    236         for (int i = 0; i < 3; i++) 
     300        for ( 
     301            int i = 0; i < 3; i++) 
    237302        { 
    238303            LisaaYksiUusiSydan(); 
     
    250315    void SeuraavaKentta() 
    251316    { 
     317         
    252318 
    253319        ClearAll(); 
     
    258324        if (kenttaNro == 1) LuoKentta("kentta1"); 
    259325        else if (kenttaNro == 2) LuoKentta("kentta2"); 
    260         else if (kenttaNro == 3) MessageDisplay.Add("Voitit pelin"); 
    261         if (kenttaNro == 3) Timer.SingleShot(3.0, Exit); 
     326        else if (kenttaNro == 3) LuoKentta("kentta3"); 
     327        else if (kenttaNro == 4) MessageDisplay.Add("Voitit pelin"); 
     328        if (kenttaNro == 4) Timer.SingleShot(3.0, Exit); 
    262329 
    263330 
     
    274341    } 
    275342 
    276     void Valikko() 
    277     { 
    278         ClearAll(); 
    279  
    280         valintakohdat = new List<Label>(); 
    281  
    282         Label kohta1 = new Label("Aloita"); 
    283         kohta1.Position = new Vector(0, 40); 
    284         valintakohdat.Add(kohta1); 
    285  
    286         Label kohta2 = new Label("Lopeta"); 
    287         kohta2.Position = new Vector(0, 50); 
    288         valintakohdat.Add(kohta2); 
    289  
    290         foreach (Label valintaKohta in valintakohdat) 
    291         { 
    292             Add(valintaKohta); 
    293         } 
    294     } 
    295  
    296343} 
  • 2015/27/JaakkoS/Tikku/Tikku/Tikku/Tikku.csproj.Debug.cachefile

    r6734 r6765  
    77Content\kentta1.xnb 
    88Content\kentta2.xnb 
     9Content\kentta3.xnb 
     10Content\palikka.xnb 
     11Content\Maa.xnb 
    912Content\kentta2.txt 
  • 2015/27/JaakkoS/Tikku/Tikku/Tikku/bin/x86/Debug/Content/kentta2.txt

    r6682 r6765  
    99....................####.......####..............##########.......#...# 
    1010.....N........................................#############..........*# 
    11 ##########################...########################################## 
     11MMMMMMMMMMMMMMMMMMMMMMMMMMM...MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 
  • 2015/27/JaakkoS/Tikku/Tikku/Tikku/obj/x86/Debug/Tikku.csproj.FileListAbsolute.txt

    r6682 r6765  
    1616C:\MyTemp\JaakkoS\Tikku\Tikku\Tikku\bin\x86\Debug\Content\AUTO.xnb 
    1717C:\MyTemp\JaakkoS\Tikku\Tikku\Tikku\bin\x86\Debug\Content\kyna.xnb 
     18C:\MyTemp\JaakkoS\Tikku\Tikku\Tikku\bin\x86\Debug\Content\kentta3.xnb 
     19C:\MyTemp\JaakkoS\Tikku\Tikku\Tikku\bin\x86\Debug\Content\palikka.xnb 
     20C:\MyTemp\JaakkoS\Tikku\Tikku\Tikku\bin\x86\Debug\Content\Maa.xnb 
  • 2015/27/JaakkoS/Tikku/Tikku/Tikku/obj/x86/Debug/cachefile-{70F78017-3504-40A5-864B-07486E7AEB1B}-targetpath.txt

    r6734 r6765  
    77Content\kentta1.xnb 
    88Content\kentta2.xnb 
     9Content\kentta3.xnb 
     10Content\palikka.xnb 
     11Content\Maa.xnb 
    912Content\kentta2.txt 
  • 2015/27/JaakkoS/Tikku/Tikku/TikkuContent/TikkuContent.contentproj

    r6682 r6765  
    9696    </Compile> 
    9797  </ItemGroup> 
     98  <ItemGroup> 
     99    <Compile Include="kentta3.txt"> 
     100      <Name>kentta3</Name> 
     101      <Importer>TextFileImporter</Importer> 
     102      <Processor>TextFileContentProcessor</Processor> 
     103    </Compile> 
     104  </ItemGroup> 
     105  <ItemGroup> 
     106    <Compile Include="palikka.png"> 
     107      <Name>palikka</Name> 
     108      <Importer>TextureImporter</Importer> 
     109      <Processor>TextureProcessor</Processor> 
     110    </Compile> 
     111  </ItemGroup> 
     112  <ItemGroup> 
     113    <Compile Include="Maa.png"> 
     114      <Name>Maa</Name> 
     115      <Importer>TextureImporter</Importer> 
     116      <Processor>TextureProcessor</Processor> 
     117    </Compile> 
     118  </ItemGroup> 
    98119  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    99120  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2015/27/JaakkoS/Tikku/Tikku/TikkuContent/kentta1.txt

    r6734 r6765  
    88                  !!!!!              K                           ####### 
    99                                    ####  #####                  ###   #                             
    10         N               *                                             *# 
    11 #######################################     ############################ 
     10        N                                                             *# 
     11MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM     MMMMMMMMMMMMMMMMMMMMMMMMMMMM 
  • 2015/27/JaakkoS/Tikku/Tikku/TikkuContent/kentta2.txt

    r6682 r6765  
    99....................####.......####..............##########.......#...# 
    1010.....N........................................#############..........*# 
    11 ##########################...########################################## 
     11MMMMMMMMMMMMMMMMMMMMMMMMMMM...MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 
  • 2015/27/JaakkoS/Tikku/Tikku/TikkuContent/obj/x86/Debug/ContentPipeline.xml

    r6734 r6765  
    6363      <Options>None</Options> 
    6464      <Output>C:\MyTemp\JaakkoS\Tikku\Tikku\Tikku\bin\x86\Debug\Content\kentta1.xnb</Output> 
    65       <Time>2015-07-02T10:27:53.1372092+03:00</Time> 
     65      <Time>2015-07-02T14:09:41.6735026+03:00</Time> 
    6666    </Item> 
    6767    <Item> 
     
    7272      <Options>None</Options> 
    7373      <Output>C:\MyTemp\JaakkoS\Tikku\Tikku\Tikku\bin\x86\Debug\Content\kentta2.xnb</Output> 
    74       <Time>2015-07-02T09:28:33.5567092+03:00</Time> 
     74      <Time>2015-07-02T14:09:41.6891026+03:00</Time> 
     75    </Item> 
     76    <Item> 
     77      <Source>kentta3.txt</Source> 
     78      <Name>kentta3</Name> 
     79      <Importer>TextFileImporter</Importer> 
     80      <Processor>TextFileContentProcessor</Processor> 
     81      <Options>None</Options> 
     82      <Output>C:\MyTemp\JaakkoS\Tikku\Tikku\Tikku\bin\x86\Debug\Content\kentta3.xnb</Output> 
     83      <Time>2015-07-02T14:09:41.6579026+03:00</Time> 
     84    </Item> 
     85    <Item> 
     86      <Source>palikka.png</Source> 
     87      <Name>palikka</Name> 
     88      <Importer>TextureImporter</Importer> 
     89      <Processor>TextureProcessor</Processor> 
     90      <Options>None</Options> 
     91      <Output>C:\MyTemp\JaakkoS\Tikku\Tikku\Tikku\bin\x86\Debug\Content\palikka.xnb</Output> 
     92      <Time>2015-07-02T14:01:34.798042+03:00</Time> 
     93    </Item> 
     94    <Item> 
     95      <Source>Maa.png</Source> 
     96      <Name>Maa</Name> 
     97      <Importer>TextureImporter</Importer> 
     98      <Processor>TextureProcessor</Processor> 
     99      <Options>None</Options> 
     100      <Output>C:\MyTemp\JaakkoS\Tikku\Tikku\Tikku\bin\x86\Debug\Content\Maa.xnb</Output> 
     101      <Time>2015-07-02T14:22:56.0241026+03:00</Time> 
    75102    </Item> 
    76103    <BuildSuccessful>true</BuildSuccessful> 
Note: See TracChangeset for help on using the changeset viewer.