Changeset 9121 for 2017/utsjoki/TorstiK


Ignore:
Timestamp:
2017-07-26 12:58:25 (2 years ago)
Author:
sieerinn
Message:
 
Location:
2017/utsjoki/TorstiK
Files:
13 added
15 edited

Legend:

Unmodified
Added
Removed
  • 2017/utsjoki/TorstiK/GreatMonsters/GreatMonsters/GreatMonsters/GreatMonsters.cs

    r9089 r9121  
    1313    const int RUUDUN_KOKO = 40; 
    1414 
     15    int kenttaNro = 1; 
     16 
    1517    PlatformCharacter pelaaja1; 
    1618 
    17     Image pelaajanKuva = LoadImage("Monster3"); 
     19    Image pelaajanKuva = LoadImage("Monster2"); 
    1820    Image tahtiKuva = LoadImage("Star"); 
    1921    Image piikkikuva = LoadImage("Piikki"); 
     
    2123    Image pikkuarkkukuva = LoadImage("Pikkuarkku"); 
    2224    Image voittoarkkukuva = LoadImage("Voittoarkku"); 
     25    Image sydanpydanKuva = LoadImage("Sydanpydan"); 
     26 
     27    IntMeter pistelaskuri = new IntMeter(0); 
     28    IntMeter elämälaskuri = new IntMeter(3); 
     29 
     30    Inventory tähdet; 
     31    Inventory sydämet; 
    2332 
    2433    SoundEffect maaliAani = LoadSoundEffect("maali"); 
     
    2635    public override void Begin() 
    2736    { 
     37        ClearAll(); 
    2838        Gravity = new Vector(0, -1000); 
    2939 
    3040        LuoKentta(); 
    3141        LisaaNappaimet(); 
     42        LuoPistelaskuri(); 
     43        LuoElämälaskuri(); 
    3244 
    3345        Camera.Follow(pelaaja1); 
     
    3648    } 
    3749 
     50 
     51    void LuoPistelaskuri() 
     52    { 
     53        pistelaskuri = new IntMeter(0); 
     54        //Label pisteNaytto = new Label(); 
     55        //pisteNaytto.X = Screen.Right + 100; 
     56        //pisteNaytto.Y = Screen.Top - 100; 
     57        ////pisteNaytto.SetImage = tahtiKuva; 
     58 
     59        //pisteNaytto.BindTo(pistelaskuri); 
     60        //Add(pisteNaytto); 
     61 
     62        tähdet = new Inventory(); 
     63        tähdet.Top = Screen.Top - 50; 
     64        Add(tähdet); 
     65    } 
     66    void LuoElämälaskuri() 
     67    { 
     68        //elämälaskuri = new IntMeter(3); 
     69        sydämet = new Inventory(); 
     70        sydämet.Top = Screen.Top - 150; 
     71        Add(sydämet); 
     72 
     73        for (int i = 0; i < elämälaskuri.Value; i++) 
     74        { 
     75            sydämet.AddItem(null, sydanpydanKuva); 
     76        } 
     77    } 
    3878    void LuoKentta() 
    3979    { 
    40         TileMap kentta = TileMap.FromLevelAsset("kentta1"); 
     80 
     81        TileMap kentta = TileMap.FromLevelAsset("kentta" + kenttaNro); 
    4182        kentta.SetTileMethod('#', LisaaTaso); 
    4283        kentta.SetTileMethod('*', LisaaTahti); 
     
    68109        Add(tahti); 
    69110    } 
    70     void LisaaPiikki (Vector paikka, double leveys, double korkeus) 
     111    void LisaaPiikki(Vector paikka, double leveys, double korkeus) 
    71112    { 
    72113        PhysicsObject Piikki = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    73         Piikki.IgnoresCollisionResponse = true; 
    74114        Piikki.Position = paikka; 
    75115        Piikki.Image = piikkikuva; 
    76         Piikki.Tag = " Piikki"; 
     116        Piikki.Tag = "Piikki"; 
    77117        Add(Piikki); 
    78118    } 
     
    83123        Kallo.Position = paikka; 
    84124        Kallo.Image = kallokuva; 
    85         Kallo.Tag = " Kallo"; 
     125        Kallo.Tag = "Kallo"; 
    86126        Add(Kallo); 
    87127    } 
     
    92132        Pikkuarkku.Position = paikka; 
    93133        Pikkuarkku.Image = pikkuarkkukuva; 
    94         Pikkuarkku.Tag = " Pikkuarkku"; 
     134        Pikkuarkku.Tag = "Pikkuarkku"; 
    95135        Add(Pikkuarkku); 
    96136    } 
    97     void LisaaVoittoarkku (Vector paikka, double leveys, double korkeus) 
     137    void LisaaVoittoarkku(Vector paikka, double leveys, double korkeus) 
    98138    { 
    99139        PhysicsObject Voittoarkku = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     
    111151        pelaaja1.Image = pelaajanKuva; 
    112152        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
     153        AddCollisionHandler(pelaaja1, "Piikki", TormaaPiikkiin); 
     154        AddCollisionHandler(pelaaja1, "Kallo", TormaaKalloon); 
     155        AddCollisionHandler(pelaaja1, "Pikkuarkku", TormaaPikkuarkkuun); 
     156        AddCollisionHandler(pelaaja1, "Voittoarkku", TormaaPikkuarkkuun); 
    113157        Add(pelaaja1); 
    114158    } 
     
    147191        MessageDisplay.Add("Keräsit tähden!"); 
    148192        tahti.Destroy(); 
     193 
     194        tähdet.AddItem(null, tahtiKuva); 
     195    } 
     196    void Kuole() 
     197    { 
     198        elämälaskuri.Value -= 1; 
     199        if (sydämet.ObjectCount > 0) 
     200            sydämet.Objects[0].Destroy(); 
     201 
     202        Timer.SingleShot(2, delegate 
     203        { 
     204            ClearAll(); 
     205            Begin(); 
     206        }); 
     207    } 
     208    void TormaaPiikkiin(PhysicsObject hahmo, PhysicsObject piikki) 
     209    { 
     210        if (Math.Abs(pelaaja1.Bottom - piikki.Top) < 5) 
     211        { 
     212            MessageDisplay.Add("Menetit elämän!"); 
     213            pelaaja1.Destroy(); 
     214            Kuole(); 
     215        } 
     216 
     217    } 
     218    void TormaaKalloon(PhysicsObject hahmo, PhysicsObject kallo) 
     219    { 
     220        MessageDisplay.Add("Menetit elämän!"); 
     221        pelaaja1.Destroy(); 
     222        kallo.Destroy(); 
     223        Kuole(); 
     224    } 
     225    void TormaaPikkuarkkuun(PhysicsObject hahmo, PhysicsObject pikkuarkku) 
     226    { 
     227        if (elämälaskuri.Value < 3) 
     228        { 
     229            MessageDisplay.Add("Sait elämän!"); 
     230            pikkuarkku.Destroy(); 
     231            sydämet.AddItem(null, sydanpydanKuva); 
     232            elämälaskuri.Value += 1; 
     233        } 
     234 
     235 
     236    } 
     237    void TormaaVoittoarkkuun(PhysicsObject hahmo, PhysicsObject voittoarkku) 
     238    { 
     239        MessageDisplay.Add("Voitit!"); 
     240 
     241        if(pistelaskuri.Value >= 10) 
     242        { 
     243            kenttaNro += 1; 
     244            Begin(); 
     245        } 
    149246    } 
    150247} 
     248 
     249 
     250class Inventory : Widget 
     251{ 
     252    /// <summary> 
     253    /// Tapahtuma, kun esine on valittu. 
     254    /// </summary> 
     255    public event Action<PhysicsObject> ItemSelected; 
     256 
     257    /// <summary> 
     258    /// Luo uuden esinevalikon. 
     259    /// </summary> 
     260    public Inventory() 
     261        : base(new HorizontalLayout()) 
     262    { 
     263    } 
     264 
     265    /// <summary> 
     266    /// Lisää esineen. 
     267    /// </summary> 
     268    /// <param name="item">Lisättävä esine.</param> 
     269    /// <param name="kuva">Esineen ikoni, joka näkyy valikossa.</param> 
     270    public void AddItem(PhysicsObject item, Image kuva) 
     271    { 
     272        PushButton icon = new PushButton(60, 60); 
     273        icon.Image = kuva; 
     274        Add(icon); 
     275        icon.Clicked += delegate () { SelectItem(item); }; 
     276    } 
     277 
     278    void SelectItem(PhysicsObject item) 
     279    { 
     280        if (ItemSelected != null) 
     281        { 
     282            ItemSelected(item); 
     283        } 
     284    } 
     285} 
  • 2017/utsjoki/TorstiK/GreatMonsters/GreatMonsters/GreatMonsters/GreatMonsters.csproj.Debug.cachefile

    r9089 r9121  
    1111Content\Voittoarkku.xnb 
    1212Content\Kallo.xnb 
     13Content\Udiboo.xnb 
     14Content\Sydanpydan.xnb 
  • 2017/utsjoki/TorstiK/GreatMonsters/GreatMonsters/GreatMonsters/obj/x86/Debug/ContentPipeline-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}.xml

    r9089 r9121  
    3636      <Options>None</Options> 
    3737      <Output>C:\MyTemp\GreatMonsters\GreatMonsters\GreatMonsters\bin\x86\Debug\Content\kentta1.xnb</Output> 
    38       <Time>2017-07-25T14:20:44.4916777+03:00</Time> 
     38      <Time>2017-07-26T12:42:29.4602168+03:00</Time> 
    3939    </Item> 
    4040    <Item> 
     
    110110      <Time>2017-07-25T13:37:12.8033468+03:00</Time> 
    111111    </Item> 
     112    <Item> 
     113      <Source>Udiboo.png</Source> 
     114      <Name>Udiboo</Name> 
     115      <Importer>TextureImporter</Importer> 
     116      <Processor>TextureProcessor</Processor> 
     117      <Options>None</Options> 
     118      <Output>C:\MyTemp\GreatMonsters\GreatMonsters\GreatMonsters\bin\x86\Debug\Content\Udiboo.xnb</Output> 
     119      <Time>2017-07-26T09:10:47.5540772+03:00</Time> 
     120    </Item> 
     121    <Item> 
     122      <Source>Sydanpydan.png</Source> 
     123      <Name>Sydanpydan</Name> 
     124      <Importer>TextureImporter</Importer> 
     125      <Processor>TextureProcessor</Processor> 
     126      <Options>None</Options> 
     127      <Output>C:\MyTemp\GreatMonsters\GreatMonsters\GreatMonsters\bin\x86\Debug\Content\Sydanpydan.xnb</Output> 
     128      <Time>2017-07-26T12:30:32.9627133+03:00</Time> 
     129    </Item> 
     130    <Item> 
     131      <Source>kentta2.txt</Source> 
     132      <Name>kentta2</Name> 
     133      <Importer>TextFileImporter</Importer> 
     134      <Processor>TextFileContentProcessor</Processor> 
     135      <Options>None</Options> 
     136      <Output>C:\MyTemp\GreatMonsters\GreatMonsters\GreatMonsters\bin\x86\Debug\Content\kentta2.xnb</Output> 
     137      <Time>2017-07-26T11:03:59.64828+03:00</Time> 
     138    </Item> 
    112139    <BuildSuccessful>true</BuildSuccessful> 
    113140    <Settings> 
  • 2017/utsjoki/TorstiK/GreatMonsters/GreatMonsters/GreatMonsters/obj/x86/Debug/GreatMonsters.csproj.FileListAbsolute.txt

    r9089 r9121  
    1919C:\MyTemp\GreatMonsters\GreatMonsters\GreatMonsters\bin\x86\Debug\Content\Voittoarkku.xnb 
    2020C:\MyTemp\GreatMonsters\GreatMonsters\GreatMonsters\bin\x86\Debug\Content\Kallo.xnb 
     21C:\MyTemp\GreatMonsters\GreatMonsters\GreatMonsters\bin\x86\Debug\Content\Udiboo.xnb 
     22C:\MyTemp\GreatMonsters\GreatMonsters\GreatMonsters\bin\x86\Debug\Content\Sydanpydan.xnb 
  • 2017/utsjoki/TorstiK/GreatMonsters/GreatMonsters/GreatMonsters/obj/x86/Debug/cachefile-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}-targetpath.txt

    r9089 r9121  
    1111Content\Voittoarkku.xnb 
    1212Content\Kallo.xnb 
     13Content\Udiboo.xnb 
     14Content\Sydanpydan.xnb 
     15Content\kentta2.xnb 
  • 2017/utsjoki/TorstiK/GreatMonsters/GreatMonsters/GreatMonstersContent/GreatMonstersContent.contentproj

    r9089 r9121  
    6161      <Processor>TextureProcessor</Processor> 
    6262    </Compile> 
    63     <Compile Include="kentta1.txt"> 
    64       <Name>kentta1</Name> 
     63    <Compile Include="kentta2.txt"> 
     64      <Name>kentta2</Name> 
    6565      <Importer>TextFileImporter</Importer> 
    6666      <Processor>TextFileContentProcessor</Processor> 
     
    119119    </Compile> 
    120120  </ItemGroup> 
     121  <ItemGroup> 
     122    <Compile Include="Udiboo.png"> 
     123      <Name>Udiboo</Name> 
     124      <Importer>TextureImporter</Importer> 
     125      <Processor>TextureProcessor</Processor> 
     126    </Compile> 
     127  </ItemGroup> 
     128  <ItemGroup> 
     129    <Compile Include="Sydanpydan.png"> 
     130      <Name>Sydanpydan</Name> 
     131      <Importer>TextureImporter</Importer> 
     132      <Processor>TextureProcessor</Processor> 
     133    </Compile> 
     134  </ItemGroup> 
     135  <ItemGroup> 
     136    <Compile Include="kentta1.txt"> 
     137      <Name>kentta1</Name> 
     138      <Importer>TextFileImporter</Importer> 
     139      <Processor>TextFileContentProcessor</Processor> 
     140    </Compile> 
     141  </ItemGroup> 
    121142  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    122143  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2017/utsjoki/TorstiK/GreatMonsters/GreatMonsters/GreatMonstersContent/kentta1.txt

    r9089 r9121  
    11 
     2######################### 
     3                 * 
    24 
    3  
    4  
    5  
    6  
    7  
    8                         *  *  *  *  *  P  P  P  PPPP  PP PPP   PPPP   PPP 
    9         N       K       K       #######################################################           p p  K                              V 
    10 ####################################################################################################################################### 
     5                 #                           *         * 
     6                ## 
     7             * ###         *  *  *  *  *     P    P    K     
     8N                ############################################################      p      *   p       K                         V 
     9############################################################################################################################# 
Note: See TracChangeset for help on using the changeset viewer.