Changeset 9375


Ignore:
Timestamp:
2017-08-03 09:38:55 (6 years ago)
Author:
nupeohje
Message:

Alkuvalikko tehty

Location:
2017/31/JouniP
Files:
5 added
11 edited

Legend:

Unmodified
Added
Removed
  • 2017/31/JouniP/Avaruuspeli/Avaruuspeli/Avaruuspeli/Avaruuspeli.cs

    r9333 r9375  
    77using Jypeli.Widgets; 
    88 
     9/// <summary> 
     10/// Lisenssi: CC0 
     11/// </summary> 
    912public class Avaruuspeli : PhysicsGame 
    1013{ 
    1114    Image olionKuva = LoadImage("raketti"); 
    1215    Image vihollisenKuva = LoadImage("hirvio"); 
    13     Image taustakuva = LoadImage("avaruuspelin_suunnitelma"); 
     16    Image taustakuva = LoadImage("sinertava_tausta"); 
    1417 
    1518    PhysicsObject jouninAlus; 
     19    DoubleMeter alaspainLaskuri; 
     20    Timer aikaLaskuri; 
    1621 
    1722    public override void Begin() 
     23    { 
     24        Alkuvalikko(); 
     25    } 
     26 
     27    void Alkuvalikko() 
     28    { 
     29        Level.Background.Color = Color.Black; 
     30        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", 
     31"Aloita peli", "Parhaat pisteet", "Lopeta"); 
     32        Add(alkuValikko); 
     33 
     34        alkuValikko.AddItemHandler(0, AloitaPeli); 
     35        alkuValikko.AddItemHandler(1, ParhaatPisteet); 
     36        alkuValikko.AddItemHandler(2, Exit); 
     37 
     38        alkuValikko.DefaultCancel = 2; // Oletuksena lopetetaan peli ESC-napilla 
     39        alkuValikko.Color = Color.AshGray; 
     40        alkuValikko.SetButtonColor(Color.Black); 
     41        alkuValikko.Image = taustakuva; 
     42 
     43    } 
     44    void ParhaatPisteet() 
     45    { 
     46 
     47    } 
     48 
     49    void AloitaPeli() 
    1850    { 
    1951        LisaaAlus(); 
    2052        LisaaVihollinen(); 
    2153        TeeKentta(); 
     54        LuoAikaLaskuri(); 
    2255 
    2356        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     
    3164        Camera.Follow(jouninAlus); 
    3265    } 
    33  
    3466    void LiikutaPelaajaa(Vector vektori) 
    3567    { 
     
    5991        Level.Background.CreateStars(); 
    6092        Level.CreateBorders(); 
     93 
    6194        //Level.Background.Image = taustakuva; // tällä saa erillisen kuvan, joka on ladattu ylempänä Beginin yläpuolella muuttujaan 
    6295 
     
    82115        vihollinen.Image = vihollisenKuva; 
    83116        Add(vihollinen); 
     117 
     118        FollowerBrain seuraajanAivot = new FollowerBrain(jouninAlus); 
     119        seuraajanAivot.Speed = 100;                 // Millä nopeudella kohdetta seurataan 
     120        seuraajanAivot.DistanceFar = 600;           // Etäisyys jolla aletaan seurata kohdetta 
     121        seuraajanAivot.DistanceClose = 200;         // Etäisyys jolloin ollaan lähellä kohdetta 
     122        seuraajanAivot.StopWhenTargetClose = false;  // Pysähdytään kun ollaan lähellä kohdetta 
     123        //seuraajanAivot.FarBrain = satunnaisAivot;   // Käytetään satunnaisaivoja kun ollaan kaukana 
     124 
     125        // Tapahtuma, joka tapahtuu kun ollaan lähellä kohdetta 
     126        seuraajanAivot.TargetClose += mitaTapahtuuKunOllaanLahella; 
     127 
     128        vihollinen.Brain = seuraajanAivot; 
     129    } 
     130 
     131    // Aliohjelma joka ajetaan kun olio on tarpeeksi lähellä kohdetta: 
     132    void mitaTapahtuuKunOllaanLahella() 
     133    { 
     134         
    84135    } 
    85136 
     
    105156        MessageDisplay.Add("Osuit viholliseen ja menetit energiaa!"); 
    106157        kukaTormasi.Destroy(); 
     158        aikaLaskuri.Stop(); 
     159    } 
     160 
     161 
     162    void LuoAikaLaskuri() 
     163    { 
     164        alaspainLaskuri = new DoubleMeter(15); 
     165 
     166        aikaLaskuri = new Timer(); 
     167        aikaLaskuri.Interval = 0.1; 
     168        aikaLaskuri.Timeout += LaskeAlaspain; 
     169        aikaLaskuri.Start(); 
     170 
     171        Label aikaNaytto = new Label(); 
     172        aikaNaytto.TextColor = Color.White; 
     173        aikaNaytto.DecimalPlaces = 1; 
     174        aikaNaytto.BindTo(alaspainLaskuri); 
     175        aikaNaytto.X = Screen.Left+300.0; 
     176        aikaNaytto.Y = Screen.Top-100.0; 
     177        Add(aikaNaytto); 
     178    } 
     179 
     180    void LaskeAlaspain() 
     181    { 
     182        alaspainLaskuri.Value -= 0.1; 
     183 
     184        if (alaspainLaskuri.Value <= 0) 
     185        { 
     186            MessageDisplay.Add("Aika loppui..."); 
     187            aikaLaskuri.Stop(); 
     188            IsPaused = true; // TODO Esc-napilla voi silti jatkaa peliä! Pitää korjata niin, ettei voi! 
     189        } 
    107190    } 
    108191 
  • 2017/31/JouniP/Avaruuspeli/Avaruuspeli/Avaruuspeli/Avaruuspeli.csproj.Debug.cachefile

    r9333 r9375  
    22Content\raketti.xnb 
    33Content\hirvio.xnb 
     4Content\sinertava_tausta.xnb 
  • 2017/31/JouniP/Avaruuspeli/Avaruuspeli/Avaruuspeli/obj/x86/Debug/Avaruuspeli.csproj.FileListAbsolute.txt

    r9333 r9375  
    1010C:\MyTemp\JouniP\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\raketti.xnb 
    1111C:\MyTemp\JouniP\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\hirvio.xnb 
     12C:\MyTemp\JouniP\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\sinertava_tausta.xnb 
  • 2017/31/JouniP/Avaruuspeli/Avaruuspeli/Avaruuspeli/obj/x86/Debug/ContentPipeline-{5A5F2164-61AF-4371-8A88-49475E86DCAE}.xml

    r9333 r9375  
    2828      <Output>C:\MyTemp\JouniP\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\hirvio.xnb</Output> 
    2929      <Time>2017-08-02T09:34:11.2959375+03:00</Time> 
     30    </Item> 
     31    <Item> 
     32      <Source>sinertava_tausta.jpg</Source> 
     33      <Name>sinertava_tausta</Name> 
     34      <Importer>TextureImporter</Importer> 
     35      <Processor>TextureProcessor</Processor> 
     36      <Options>None</Options> 
     37      <Output>C:\MyTemp\JouniP\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\sinertava_tausta.xnb</Output> 
     38      <Time>2017-08-03T08:59:59.5591014+03:00</Time> 
    3039    </Item> 
    3140    <BuildSuccessful>true</BuildSuccessful> 
  • 2017/31/JouniP/Avaruuspeli/Avaruuspeli/Avaruuspeli/obj/x86/Debug/cachefile-{5A5F2164-61AF-4371-8A88-49475E86DCAE}-targetpath.txt

    r9333 r9375  
    22Content\raketti.xnb 
    33Content\hirvio.xnb 
     4Content\sinertava_tausta.xnb 
  • 2017/31/JouniP/Avaruuspeli/Avaruuspeli/AvaruuspeliContent/AvaruuspeliContent.contentproj

    r9333 r9375  
    6666    </Compile> 
    6767  </ItemGroup> 
     68  <ItemGroup> 
     69    <Compile Include="sinertava_tausta.jpg"> 
     70      <Name>sinertava_tausta</Name> 
     71      <Importer>TextureImporter</Importer> 
     72      <Processor>TextureProcessor</Processor> 
     73    </Compile> 
     74  </ItemGroup> 
    6875  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    6976  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
Note: See TracChangeset for help on using the changeset viewer.