Changeset 8036 for 2016/27


Ignore:
Timestamp:
2016-07-08 11:29:49 (3 years ago)
Author:
anvinurm
Message:
 
Location:
2016/27/AnttiN/SalainenTehtävä
Files:
3 added
12 edited

Legend:

Unmodified
Added
Removed
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä.cs

    r7960 r8036  
    1010{ 
    1111 
     12    private bool onkoteepohjassa = false; 
    1213     
    1314    private const double nopeus = 2000; 
     
    1718    private IntMeter tahtiMittari; 
    1819    private int kenttaNRO = 1; 
    19     private const int maxKentat = 1; 
     20    private const int maxKentat = 2; 
    2021 
    2122    int pelaajia = 1; 
     
    2425 
    2526    private Dictionary<int, int> tahtiaKeratty = new Dictionary<int, int>(); 
     27    private Dictionary<int, bool> tasotSuoritettu = new Dictionary<int, bool>(); 
    2628 
    2729    [Save] public int[] tahtiaKerattyTaulukko = new int[maxKentat]; 
     30    [Save] public bool[] tasotSuoritettuTaulukko = new bool[maxKentat]; 
    2831 
    2932    private Image pelaajanKuva = LoadImage("Hahmo"); 
     
    4750    { 
    4851        ClearAll(); 
    49         LataaTahdet(); 
     52        Lataa(); 
    5053        LuoPaavalikko(); 
    51     } 
    52  
    53     void LataaTahdet() 
    54     { 
     54        Keyboard.Listen(Key.N, ButtonState.Down, TarkistaPisteidenNollaus, null); 
     55        Keyboard.Listen(Key.T, ButtonState.Down, TeetaPainettu, null); 
     56        Keyboard.Listen(Key.T, ButtonState.Released, TeeLoysatty, null); 
     57 
     58    } 
     59 
     60    void Lataa() 
     61    { 
     62        //kerätyt tähdet alustus tyhjään 
    5563        for (int i = 1; i <= maxKentat; i++) 
    5664        { 
    5765            tahtiaKeratty.Add(i, 0); 
     66        } 
     67 
     68        // suoritukset alustus tyhjään 
     69        for (int i = 1; i <= maxKentat; i++) 
     70        { 
     71            tasotSuoritettu.Add(i, false); 
     72 
    5873        } 
    5974 
     
    6378            LoadGame("tilanne.xml"); 
    6479            int j = 0; 
    65             for (int i = 1; i <= maxKentat; i++) 
     80            for (int i = 1; i <= maxKentat; i++, j++) 
    6681            { 
    6782                tahtiaKeratty[i] = tahtiaKerattyTaulukko[j]; 
     83                tasotSuoritettu[i] = tasotSuoritettuTaulukko[j]; 
    6884            } 
    6985        } 
    70          
     86 
    7187    } 
    7288 
     
    8298        Camera.ZoomToLevel(); 
    8399        Level.Background.Color = Color.Blue; 
    84         MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko","Pelaa", "Lopeta"); 
     100        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko","Pelaa","Lopeta"); 
    85101        Add(alkuValikko); 
    86102        alkuValikko.AddItemHandler(0, Pelaa); 
     
    95111        Level.Background.Color = Color.Gray; 
    96112        MultiSelectWindow alkuValikko = new MultiSelectWindow("Valitse kenttä", 
    97         "Kenntä 1 | Tähtiä " + tahtiaKeratty[1], 
    98         /*"Kenntä 2 | Tähtiä " + tahtiaKeratty[2],*/ 
     113        "Kenttä 1 | Tähtiä " + tahtiaKeratty[1], 
     114        "Kenttä 2 | Tähtiä " + tahtiaKeratty[2], 
    99115        "Takaisin"); 
    100116        Add(alkuValikko); 
    101117        alkuValikko.AddItemHandler(0, delegate { ValitsePelaajat(1); }); 
    102         alkuValikko.AddItemHandler(1, LuoPaavalikko); 
     118        alkuValikko.AddItemHandler(1, delegate { if (tasotSuoritettu[1]) ValitsePelaajat(2); else Pelaa(); }); 
     119        alkuValikko.AddItemHandler(2, LuoPaavalikko); 
    103120 
    104121    } 
     
    106123    void ValitsePelaajat(int kentta) 
    107124    { 
    108         MultiSelectWindow alkuValikko = new MultiSelectWindow("Kenttä 1. Montako pelaajaa?", "1 Pelaaja", "2 Pelaajaa"); 
     125        MultiSelectWindow alkuValikko = new MultiSelectWindow("Kenttä "+kentta+". Montako pelaajaa?", "1 Pelaaja", "2 Pelaajaa"); 
    109126        Add(alkuValikko); 
    110127        alkuValikko.AddItemHandler(0, delegate { pelaajia = 1; AloitaPeli(kentta); }); 
     
    312329    { 
    313330        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    314         Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     331        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Tauko, "Lopeta peli"); 
    315332 
    316333        //Pelaajan 1 näppäimet 
     
    369386 
    370387        MessageDisplay.Add("Läpäisit tason"); 
     388        tasotSuoritettu[kenttaNRO] = true; 
    371389        if (tahtiaKeratty[kenttaNRO] < tahtiMittari.Value) tahtiaKeratty[kenttaNRO] = tahtiMittari.Value; 
    372390        Timer.SingleShot(1, Voitit); 
     
    427445        Add(rajahdys); 
    428446         
    429         Timer.SingleShot(2, delegate { if (pelaaja1.IsDestroyed && pelaaja2.IsDestroyed) 
     447        Timer.SingleShot(2, delegate { 
     448            if ((pelaajia == 1 && pelaaja1.IsDestroyed) || (pelaajia == 2 && (pelaaja1.IsDestroyed && pelaaja2.IsDestroyed)))  
    430449            { 
     450 
    431451                Mouse.Disable(MouseButton.Left); 
    432452                Havisit(); 
    433453            } 
     454             
    434455        }); 
    435456    } 
     
    462483    { 
    463484        int j = 0; 
    464         for (int i = 1; i <= maxKentat; i++) 
     485        for (int i = 1; i <= maxKentat; i++, j++) 
    465486        { 
    466487            tahtiaKerattyTaulukko[j] = tahtiaKeratty[i]; 
     488            tasotSuoritettuTaulukko[j] = tasotSuoritettu[i]; 
    467489        } 
    468490        SaveGame("tilanne.xml"); 
    469491        base.OnExiting(sender, args); 
    470492    } 
     493 
     494    void Tauko() 
     495    { 
     496        IsPaused = true; 
     497        MultiSelectWindow tauko = new MultiSelectWindow("Tauko", "Jatka", "Päävalikko", "Lopeta"); 
     498        Add(tauko); 
     499        tauko.AddItemHandler(0, delegate { tauko.Close(); IsPaused = false; }); 
     500        tauko.AddItemHandler(1, delegate { ClearAll();IsPaused = false; LuoPaavalikko(); }); 
     501        tauko.AddItemHandler(2, Exit); 
     502 
     503    } 
     504 
     505    void TarkistaPisteidenNollaus() // on painettu näppäintä 'N' 
     506    { 
     507        if (onkoteepohjassa == true) 
     508        { 
     509            MessageDisplay.Add("Pisteet nollattu!"); 
     510 
     511            for (int i = 1; i <= maxKentat; i++) 
     512            { 
     513                tahtiaKeratty[i] = 0; 
     514            } 
     515        } 
     516 
     517    } 
     518 
     519    void TeetaPainettu() 
     520    { 
     521        onkoteepohjassa = true; 
     522 
     523    } 
     524 
     525    void TeeLoysatty() 
     526    { 
     527        onkoteepohjassa = false; 
     528 
     529    } 
     530 
     531   
    471532 
    472533} 
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä.csproj.Debug.cachefile

    r7960 r8036  
    1616Content\vuoristo.xnb 
    1717Content\Hahmo2.xnb 
     18Content\kentta2.xnb 
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä/bin/x86/Debug/Data/tilanne.xml

    r7960 r8036  
    3636    <Array Type="System.Int32[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
    3737      <Item Index="0" Type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
    38         <Value>3</Value> 
     38        <Value>1</Value> 
     39      </Item> 
     40      <Item Index="1" Type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
     41        <Value>0</Value> 
     42      </Item> 
     43    </Array> 
     44  </Object> 
     45  <Object Name="tasotSuoritettuTaulukkoField" TypeAssembly="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Type="Boolean[]"> 
     46    <Array Type="System.Boolean[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
     47      <Item Index="0" Type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
     48        <Value>True</Value> 
     49      </Item> 
     50      <Item Index="1" Type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
     51        <Value>False</Value> 
    3952      </Item> 
    4053    </Array> 
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä/obj/x86/Debug/ContentPipeline-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}.xml

    r7960 r8036  
    154154      <Output>C:\MyTemp\AnttiN\SalainenTehtävä\SalainenTehtävä\SalainenTehtävä\bin\x86\Debug\Content\Hahmo2.xnb</Output> 
    155155      <Time>2016-07-07T14:33:50.1928461+03:00</Time> 
     156    </Item> 
     157    <Item> 
     158      <Source>kentta2.txt</Source> 
     159      <Name>kentta2</Name> 
     160      <Importer>TextFileImporter</Importer> 
     161      <Processor>TextFileContentProcessor</Processor> 
     162      <Options>None</Options> 
     163      <Output>C:\MyTemp\AnttiN\SalainenTehtävä\SalainenTehtävä\SalainenTehtävä\bin\x86\Debug\Content\kentta2.xnb</Output> 
     164      <Time>2016-07-08T10:48:35.0698124+03:00</Time> 
    156165    </Item> 
    157166    <BuildSuccessful>true</BuildSuccessful> 
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä/obj/x86/Debug/SalainenTehtävä.csproj.FileListAbsolute.txt

    r7960 r8036  
    2424C:\MyTemp\AnttiN\SalainenTehtÀvÀ\SalainenTehtÀvÀ\SalainenTehtÀvÀ\bin\x86\Debug\Content\vuoristo.xnb 
    2525C:\MyTemp\AnttiN\SalainenTehtÀvÀ\SalainenTehtÀvÀ\SalainenTehtÀvÀ\bin\x86\Debug\Content\Hahmo2.xnb 
     26C:\MyTemp\AnttiN\SalainenTehtÀvÀ\SalainenTehtÀvÀ\SalainenTehtÀvÀ\bin\x86\Debug\Content\kentta2.xnb 
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä/obj/x86/Debug/cachefile-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}-targetpath.txt

    r7960 r8036  
    1616Content\vuoristo.xnb 
    1717Content\Hahmo2.xnb 
     18Content\kentta2.xnb 
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtäväContent/SalainenTehtäväContent.contentproj

    r7960 r8036  
    158158    </Compile> 
    159159  </ItemGroup> 
     160  <ItemGroup> 
     161    <Compile Include="kentta2.txt"> 
     162      <Name>kentta2</Name> 
     163      <Importer>TextFileImporter</Importer> 
     164      <Processor>TextFileContentProcessor</Processor> 
     165    </Compile> 
     166  </ItemGroup> 
    160167  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    161168  <!--  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.