Changeset 4959 for 2014/24


Ignore:
Timestamp:
2014-06-11 14:59:06 (5 years ago)
Author:
sieerinn
Message:
 
Location:
2014/24/IlmariM
Files:
19 added
14 edited

Legend:

Unmodified
Added
Removed
  • 2014/24/IlmariM/hyppymies/hyppymies/hyppymies/hyppymies.cs

    r4935 r4959  
    1414 
    1515    PlatformCharacter pelaaja1; 
     16    Vector pelaajanAloitus; 
     17    int kenttaNro = 1; 
     18 
    1619 
    1720    Image pelaajanKuva = LoadImage("hyppymies"); 
     
    2023    Image lentopahkinakuva = LoadImage("lentopähkinä"); 
    2124    SoundEffect maaliAani = LoadSoundEffect("maali"); 
     25    Image mukulakivikuva = LoadImage("coblestone"); 
     26    Image avainkuva = LoadImage("avain"); 
     27    Image ovikuva = LoadImage("ovi"); 
     28    Image mossystonebrick = LoadImage("sammaleinenkivitiili"); 
     29    Image stonebrick = LoadImage("kivitiili"); 
    2230 
    2331    public override void Begin() 
    2432    { 
    25         Gravity = new Vector(0, -1000); 
    26  
    27         LuoKentta(); 
    28         LisaaNappaimet(); 
    29  
    30         Camera.Follow(pelaaja1); 
    31         Camera.ZoomFactor = 1.2; 
    32         Camera.StayInLevel = true; 
    33     } 
    34  
    35     void LuoKentta() 
    36     { 
    37         TileMap kentta = TileMap.FromLevelAsset("kentta1"); 
    38         kentta.SetTileMethod('#', LisaaTaso); 
     33        
     34 
     35       // LuoKentta("kentta2"); 
     36        //LisaaNappaimet(); 
     37        SeuraavaKentta(); 
     38 
     39         
     40    } 
     41 
     42    void LuoKentta(string kenttaTiedostonNimi) 
     43    { 
     44        TileMap kentta = TileMap.FromLevelAsset(kenttaTiedostonNimi); 
     45 
     46        PhysicsObject avain = PhysicsObject.CreateStaticObject(1, 1); 
     47        PhysicsObject ovi = PhysicsObject.CreateStaticObject(1, 1); 
     48        avain.Destroyed += ovi.Destroy; 
     49 
     50        kentta.SetTileMethod('#', Lisaalattia); 
    3951        kentta.SetTileMethod('o', Lisaadonitsi); 
    4052        kentta.SetTileMethod('m', LisaaPelaaja); 
     53        kentta.SetTileMethod('d', Lisaadonitsi); 
    4154        kentta.SetTileMethod('p', LisaaPahkina); 
    4255        kentta.SetTileMethod('l', LisaaLentopahkina); 
     56        kentta.SetTileMethod('c', LisaaMukulakivi); 
     57        kentta.SetTileMethod('s', LisaaKivitiili); 
     58        kentta.SetTileMethod('|', LisaaOvi, ovi); 
     59        kentta.SetTileMethod('k', LisaaMoss); 
     60        kentta.SetTileMethod('a', LisaaAvain, avain); 
     61 
     62 
    4363        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    4464        Level.CreateBorders(); 
     
    4666    } 
    4767 
    48     void LisaaTaso(Vector paikka, double leveys, double korkeus) 
    49     { 
    50         PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    51         taso.Position = paikka; 
    52         taso.Color = Color.Green; 
    53         Add(taso); 
     68    void Lisaalattia(Vector paikka, double leveys, double korkeus) 
     69    { 
     70        LisaaTaso(paikka, leveys, korkeus, mukulakivikuva); 
    5471    } 
    5572 
     
    6885        pelaaja1 = new PlatformCharacter(leveys, korkeus); 
    6986        pelaaja1.Position = paikka; 
     87        pelaajanAloitus = paikka; 
    7088        pelaaja1.Mass = 4.0; 
    7189        pelaaja1.Image = pelaajanKuva; 
    7290        AddCollisionHandler(pelaaja1, "donitsi", TormaaTahteen); 
    7391        AddCollisionHandler(pelaaja1, "pahkina", Tormaapahkinaan); 
     92        AddCollisionHandler(pelaaja1, "lentopahkina", Tormaapahkinaan); 
     93        AddCollisionHandler(pelaaja1, "avain", CollisionHandler.DestroyTarget); 
    7494        Add(pelaaja1); 
    7595    } 
     
    108128        MessageDisplay.Add("Sait donitsin!"); 
    109129        tahti.Destroy(); 
     130        SeuraavaKentta(); 
    110131    } 
    111132    void LisaaPahkina(Vector paikka, double leveys, double korkeus) 
    112133    { 
    113         PhysicsObject pahkina = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    114         pahkina.IgnoresCollisionResponse = true; 
     134        PlatformCharacter pahkina = new PlatformCharacter(leveys, korkeus); 
     135        pahkina.IgnoresCollisionResponse = false; 
    115136        pahkina.Position = paikka; 
    116137        pahkina.Image = pahkinakuva; 
    117138        pahkina.Tag = "pahkina"; 
     139        PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 
     140        tasoAivot.Speed = 30; 
     141 
     142        pahkina.Brain = tasoAivot; 
    118143        Add(pahkina); 
    119144    } 
    120145    void LisaaLentopahkina(Vector paikka, double leveys, double korkeus) 
    121146    { 
    122         PhysicsObject lentopahkina = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    123         lentopahkina.IgnoresCollisionResponse = true; 
     147        PhysicsObject lentopahkina = new PhysicsObject(leveys, korkeus); 
     148        lentopahkina.IgnoresGravity = true; 
     149        FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja1); 
     150        lentopahkina.Brain = seuraajanAivot; 
     151        seuraajanAivot.Speed = 70;                 // Millä nopeudella kohdetta seurataan 
     152        seuraajanAivot.DistanceFar = 300;           // Etäisyys jolla aletaan seurata kohdetta 
     153        seuraajanAivot.DistanceClose = 100;         // Etäisyys jolloin ollaan lähellä kohdetta 
     154        seuraajanAivot.StopWhenTargetClose = false;  // Pysähdytään kun ollaan lähellä kohdetta 
     155        lentopahkina.CanRotate = false; 
     156         
     157        lentopahkina.IgnoresCollisionResponse = false; 
    124158        lentopahkina.Position = paikka; 
    125159        lentopahkina.Image = lentopahkinakuva; 
     
    128162    } 
    129163 
    130     void kuoleminen() 
     164    void Kuoleminen() 
    131165    { 
    132166        MessageDisplay.Add("kuolit :("); 
    133         pelaaja1.Position = new Vector (-40,-250); 
     167        pelaaja1.Position = pelaajanAloitus; 
    134168    } 
    135169 
    136170    void Tormaapahkinaan(PhysicsObject hahmo, PhysicsObject pahkina) 
    137171    { 
    138         kuoleminen(); 
    139     } 
     172        Kuoleminen(); 
     173    } 
     174 
     175    void LisaaMukulakivi(Vector paikka, double leveys, double korkeus) 
     176    { 
     177        LisaaTaso(paikka, leveys, korkeus, mukulakivikuva); 
     178    } 
     179 
     180    void LisaaTaso(Vector paikka, double leveys, double korkeus,Image kuva) 
     181    { 
     182        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     183        taso.Position = paikka; 
     184        taso.Image = kuva; 
     185        Add(taso); 
     186    } 
     187 
     188    void LisaaAvain(Vector paikka, double leveys, double korkeus, PhysicsObject avain) 
     189    { 
     190        avain.Size = new Vector(leveys, korkeus); 
     191        avain.IgnoresCollisionResponse = true; 
     192        avain.Position = paikka; 
     193        avain.Image = avainkuva; 
     194        avain.Tag = "avain"; 
     195        Add(avain); 
     196    } 
     197 
     198    void LisaaOvi(Vector paikka, double leveys, double korkeus, PhysicsObject ovi) 
     199    { 
     200        ovi.Size = new Vector(leveys, korkeus); 
     201        ovi.IgnoresCollisionResponse = false; 
     202        ovi.Position = paikka; 
     203        ovi.Image = ovikuva; 
     204        ovi.Tag = "ovi"; 
     205        Add(ovi); 
     206    } 
     207 
     208    void LisaaMoss(Vector paikka, double leveys, double korkeus) 
     209    { 
     210        PhysicsObject mossystone = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     211        mossystone.IgnoresCollisionResponse = false; 
     212        mossystone.Position = paikka; 
     213        mossystone.Image = mossystonebrick; 
     214        mossystone.Tag = "sammaleinenkivitiili"; 
     215        Add(mossystone); 
     216    } 
     217 
     218    void LisaaKivitiili(Vector paikka, double leveys, double korkeus) 
     219    { 
     220        PhysicsObject kivitiili = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     221        kivitiili.IgnoresCollisionResponse = false; 
     222        kivitiili.Position = paikka; 
     223        kivitiili.Image = stonebrick; 
     224        kivitiili.Tag = "kivitiili"; 
     225        Add(kivitiili); 
     226    } 
     227     
     228    void SeuraavaKentta() 
     229    { 
     230        ClearAll(); 
     231 
     232        SmoothTextures = false; 
     233        Gravity = new Vector(0, -1000); 
     234        
     235 
     236        if (kenttaNro == 1) LuoKentta("kentta1"); 
     237        else if (kenttaNro == 2) LuoKentta("kentta2"); 
     238        else if (kenttaNro == 3) LuoKentta("kentta3"); 
     239        else if (kenttaNro > 3) Exit(); 
     240 
     241        LisaaNappaimet(); 
     242        Camera.Follow(pelaaja1); 
     243        Camera.ZoomFactor = 1.2; 
     244        Camera.StayInLevel = true; 
     245        kenttaNro++; 
     246    } 
     247     
    140248} 
  • 2014/24/IlmariM/hyppymies/hyppymies/hyppymies/hyppymies.csproj.Debug.cachefile

    r4935 r4959  
    77Content\lentopÀhkinÀ.xnb 
    88Content\pahkina.xnb 
     9Content\kentta2.xnb 
     10Content\ovi.xnb 
     11Content\kivitiili.xnb 
     12Content\sammaleinenkivitiili.xnb 
     13Content\avain.xnb 
     14Content\coblestone.xnb 
  • 2014/24/IlmariM/hyppymies/hyppymies/hyppymies/obj/x86/Debug/ContentPipeline-{C94F597B-3879-433B-8CA5-50A627A8B5B2}.xml

    r4935 r4959  
    3636      <Options>None</Options> 
    3737      <Output>C:\MyTemp\IlmariM\hyppymies\hyppymies\hyppymies\bin\x86\Debug\Content\kentta1.xnb</Output> 
    38       <Time>2014-06-10T13:21:50.2074959+03:00</Time> 
     38      <Time>2014-06-11T13:29:19.8829466+03:00</Time> 
    3939    </Item> 
    4040    <Item> 
     
    7373      <Output>C:\MyTemp\IlmariM\hyppymies\hyppymies\hyppymies\bin\x86\Debug\Content\pahkina.xnb</Output> 
    7474      <Time>2014-06-10T13:14:55.0219815+03:00</Time> 
     75    </Item> 
     76    <Item> 
     77      <Source>kentta2.txt</Source> 
     78      <Name>kentta2</Name> 
     79      <Importer>TextFileImporter</Importer> 
     80      <Processor>TextFileContentProcessor</Processor> 
     81      <Options>None</Options> 
     82      <Output>C:\MyTemp\IlmariM\hyppymies\hyppymies\hyppymies\bin\x86\Debug\Content\kentta2.xnb</Output> 
     83      <Time>2014-06-11T14:06:41.1942818+03:00</Time> 
     84    </Item> 
     85    <Item> 
     86      <Source>ovi.png</Source> 
     87      <Name>ovi</Name> 
     88      <Importer>TextureImporter</Importer> 
     89      <Processor>TextureProcessor</Processor> 
     90      <Options>None</Options> 
     91      <Output>C:\MyTemp\IlmariM\hyppymies\hyppymies\hyppymies\bin\x86\Debug\Content\ovi.xnb</Output> 
     92      <Time>2014-06-11T12:40:10.862074+03:00</Time> 
     93    </Item> 
     94    <Item> 
     95      <Source>kivitiili.png</Source> 
     96      <Name>kivitiili</Name> 
     97      <Importer>TextureImporter</Importer> 
     98      <Processor>TextureProcessor</Processor> 
     99      <Options>None</Options> 
     100      <Output>C:\MyTemp\IlmariM\hyppymies\hyppymies\hyppymies\bin\x86\Debug\Content\kivitiili.xnb</Output> 
     101      <Time>2014-06-11T13:03:09.6719412+03:00</Time> 
     102    </Item> 
     103    <Item> 
     104      <Source>sammaleinenkivitiili.png</Source> 
     105      <Name>sammaleinenkivitiili</Name> 
     106      <Importer>TextureImporter</Importer> 
     107      <Processor>TextureProcessor</Processor> 
     108      <Options>None</Options> 
     109      <Output>C:\MyTemp\IlmariM\hyppymies\hyppymies\hyppymies\bin\x86\Debug\Content\sammaleinenkivitiili.xnb</Output> 
     110      <Time>2014-06-11T13:05:53.5233247+03:00</Time> 
     111    </Item> 
     112    <Item> 
     113      <Source>avain.png</Source> 
     114      <Name>avain</Name> 
     115      <Importer>TextureImporter</Importer> 
     116      <Processor>TextureProcessor</Processor> 
     117      <Options>None</Options> 
     118      <Output>C:\MyTemp\IlmariM\hyppymies\hyppymies\hyppymies\bin\x86\Debug\Content\avain.xnb</Output> 
     119      <Time>2014-06-11T11:57:22.7492884+03:00</Time> 
     120    </Item> 
     121    <Item> 
     122      <Source>coblestone.png</Source> 
     123      <Name>coblestone</Name> 
     124      <Importer>TextureImporter</Importer> 
     125      <Processor>TextureProcessor</Processor> 
     126      <Options>None</Options> 
     127      <Output>C:\MyTemp\IlmariM\hyppymies\hyppymies\hyppymies\bin\x86\Debug\Content\coblestone.xnb</Output> 
     128      <Time>2014-06-11T13:04:20.5800313+03:00</Time> 
    75129    </Item> 
    76130    <BuildSuccessful>true</BuildSuccessful> 
  • 2014/24/IlmariM/hyppymies/hyppymies/hyppymies/obj/x86/Debug/cachefile-{C94F597B-3879-433B-8CA5-50A627A8B5B2}-targetpath.txt

    r4935 r4959  
    77Content\lentopÀhkinÀ.xnb 
    88Content\pahkina.xnb 
     9Content\kentta2.xnb 
     10Content\ovi.xnb 
     11Content\kivitiili.xnb 
     12Content\sammaleinenkivitiili.xnb 
     13Content\avain.xnb 
     14Content\coblestone.xnb 
  • 2014/24/IlmariM/hyppymies/hyppymies/hyppymies/obj/x86/Debug/hyppymies.csproj.FileListAbsolute.txt

    r4935 r4959  
    1515C:\MyTemp\IlmariM\hyppymies\hyppymies\hyppymies\bin\x86\Debug\Content\lentopÀhkinÀ.xnb 
    1616C:\MyTemp\IlmariM\hyppymies\hyppymies\hyppymies\bin\x86\Debug\Content\pahkina.xnb 
     17C:\MyTemp\IlmariM\hyppymies\hyppymies\hyppymies\bin\x86\Debug\Content\kentta2.xnb 
     18C:\MyTemp\IlmariM\hyppymies\hyppymies\hyppymies\bin\x86\Debug\Content\ovi.xnb 
     19C:\MyTemp\IlmariM\hyppymies\hyppymies\hyppymies\bin\x86\Debug\Content\kivitiili.xnb 
     20C:\MyTemp\IlmariM\hyppymies\hyppymies\hyppymies\bin\x86\Debug\Content\sammaleinenkivitiili.xnb 
     21C:\MyTemp\IlmariM\hyppymies\hyppymies\hyppymies\bin\x86\Debug\Content\avain.xnb 
     22C:\MyTemp\IlmariM\hyppymies\hyppymies\hyppymies\bin\x86\Debug\Content\coblestone.xnb 
  • 2014/24/IlmariM/hyppymies/hyppymies/hyppymiesContent/hyppymiesContent.contentproj

    r4935 r4959  
    9595    </Compile> 
    9696  </ItemGroup> 
     97  <ItemGroup> 
     98    <Compile Include="kentta2.txt"> 
     99      <Name>kentta2</Name> 
     100      <Importer>TextFileImporter</Importer> 
     101      <Processor>TextFileContentProcessor</Processor> 
     102    </Compile> 
     103  </ItemGroup> 
     104  <ItemGroup> 
     105    <Compile Include="kivitiili.png"> 
     106      <Name>kivitiili</Name> 
     107      <Importer>TextureImporter</Importer> 
     108      <Processor>TextureProcessor</Processor> 
     109    </Compile> 
     110  </ItemGroup> 
     111  <ItemGroup> 
     112    <Compile Include="sammaleinenkivitiili.png"> 
     113      <Name>sammaleinenkivitiili</Name> 
     114      <Importer>TextureImporter</Importer> 
     115      <Processor>TextureProcessor</Processor> 
     116    </Compile> 
     117  </ItemGroup> 
     118  <ItemGroup> 
     119    <Compile Include="avain.png"> 
     120      <Name>avain</Name> 
     121      <Importer>TextureImporter</Importer> 
     122      <Processor>TextureProcessor</Processor> 
     123    </Compile> 
     124  </ItemGroup> 
     125  <ItemGroup> 
     126    <Compile Include="coblestone.png"> 
     127      <Name>coblestone</Name> 
     128      <Importer>TextureImporter</Importer> 
     129      <Processor>TextureProcessor</Processor> 
     130    </Compile> 
     131  </ItemGroup> 
     132  <ItemGroup> 
     133    <Compile Include="ovi.png"> 
     134      <Name>ovi</Name> 
     135      <Importer>TextureImporter</Importer> 
     136      <Processor>TextureProcessor</Processor> 
     137    </Compile> 
     138  </ItemGroup> 
    97139  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    98140  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2014/24/IlmariM/hyppymies/hyppymies/hyppymiesContent/kentta1.txt

    r4935 r4959  
    22         ## 
    33 
    4   l           l 
     4  l    p      l 
    55       ##  ## 
    66 
Note: See TracChangeset for help on using the changeset viewer.