Changeset 1020


Ignore:
Timestamp:
2010-06-21 08:32:56 (9 years ago)
Author:
anlakane
Message:
 
Location:
2010/24/anlakane/Muistipeli
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • 2010/24/anlakane/Muistipeli/Kortti.cs

    r964 r1020  
    1111    { 
    1212        protected Vector alkuperainenKoko; 
    13         protected enum Liikkeentila { Pysahtynyt, Pienentyy, Suurentuu } 
     13        private enum Liikkeentila { Pysahtynyt, Pienentyy, Suurentuu } 
    1414        Liikkeentila liikkeenTila; 
    1515        PuoliEsilla puoliEsilla; 
     
    1818 
    1919        public enum PuoliEsilla { Kuva, Taka } 
    20         public Jypeli.Color kuvapuoliVari; 
    21         public Jypeli.Color takaVari; 
    2220 
    23         protected bool onkoPoistettuPelista; 
     21        private bool onkoPoistettuPelista; 
    2422        public bool OnkoPoistettuPelista  
    2523        { 
  • 2010/24/anlakane/Muistipeli/Muistipeli.csproj

    r923 r1020  
    5757  </PropertyGroup> 
    5858  <ItemGroup> 
    59     <Reference Include="Jypeli2, Version=2.1.6.0, Culture=neutral, processorArchitecture=x86"> 
     59    <Reference Include="Jypeli2, Version=2.1.9.0, Culture=neutral, processorArchitecture=x86"> 
    6060      <SpecificVersion>False</SpecificVersion> 
    61       <HintPath>..\..\lib\Jypeli2.dll</HintPath> 
     61      <HintPath>..\..\..\..\..\lib\2.1.9\Jypeli2.dll</HintPath> 
    6262    </Reference> 
    6363    <Reference Include="Microsoft.Xna.Framework, Version=3.1.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d" /> 
  • 2010/24/anlakane/Muistipeli/Peli2.cs

    r964 r1020  
    11using System; 
     2using System.IO; 
    23using System.Collections.Generic; 
    34using Jypeli; 
     
    3334            piilotusAjastin.Trigger += PiilotaKaannetyt; 
    3435            Add(piilotusAjastin); 
     36 
     37            LisaaKuvat(); 
    3538 
    3639            montakoKorttia = 52; 
     
    4649            KortitRuudulle(montakoKorttia); 
    4750            LisaaHighLighter(); 
    48             AsetaNappaimet(); 
    4951 
    5052            // Laitetaan kenttä sopivan kokoiseksi että kortit täyttävät aina mahollisimman paljon ruutukapasiteetista 
     
    5254            Level.Height = montakoRivia * (korttienVali + kortinKorkeus) + kortinKorkeus; 
    5355            Camera.ZoomToLevel(); 
     56 
    5457            AloitaPeli(); 
     58            AsetaNappaimet(); 
     59        } 
     60 
     61        private void LisaaKuvat() 
     62        { 
     63            List<String> kuvat = new List<string>(); 
     64            String[] kuvatiedostot = Directory.GetFiles("Content"); 
     65            char[] erottimet = new char[] { '\\', '.' }; 
     66            foreach (var kuva in kuvatiedostot) 
     67            { 
     68                String[] splitattu = kuva.Split(erottimet); 
     69                if (splitattu.Length > 1) 
     70                { 
     71                    if (splitattu[1] != "highlight" && splitattu[1] != "taka") 
     72                        kuvat.Add(splitattu[1]); 
     73                } 
     74            } 
    5575        } 
    5676 
     
    5878        /// Korostetaan ensimmäinen kortti. 
    5979        /// </summary> 
    60         public void AloitaPeli() 
     80        void AloitaPeli() 
    6181        { 
    6282            korostettuKortti = new int[2, 1]; 
     
    6585        } 
    6686 
    67         private void LisaaHighLighter() 
     87        void LisaaHighLighter() 
    6888        { 
    6989            highlighter = new GameObject(kortinLeveys, kortinKorkeus); 
     
    100120                    { 
    101121                        // Jos kaksi korttia on käännetty niin ajastin lähtee käyntiin eikä sinä aikana voi kääntää kortteja 
    102                         voikoKaantaa = false;  
     122                        voikoKaantaa = false; 
    103123                        piilotusAjastin.Start(); 
    104124                    } 
     
    124144            Kortti.PuoliEsilla puoliesilla = kortit[kortinNro[0, 0], kortinNro[1, 0]].KumpiPuoliEsilla(); 
    125145            korostettuKortti = kortinNro; 
    126              
    127         } 
    128  
     146        } 
     147 
     148        /// <summary> 
     149        /// Aliohjelma pitää huolen, että valittu kortti on aina 
     150        /// rivi- ja sarakeindeksien sisäpuolella. Toisin sanoen  
     151        /// rivistä/sarakkeesta "yli" hypättäessä kursori palautuu  
     152        /// oikeaan paikkaan. 
     153        /// </summary> 
     154        /// <param name="kortinNro">Kortin rivi, sarake</param> 
     155        /// <returns>"Korjatut" koordinaatit</returns> 
    129156        private int[,] TarkistaKortinNro(int[,] kortinNro) 
    130157        { 
     158            // Viimeisen rivin jälkeen palataan ensimmäiselle riville 
    131159            if (kortinNro[0, 0] >= montakoRivia) 
    132             { 
    133160                kortinNro[0, 0] = 0; 
    134             } 
    135  
     161 
     162            // Viimeisen sarakkeen jälkeen palataan ensimmäiseen sarakkeeseen 
    136163            if (kortinNro[1, 0] >= montakoSaraketta) 
    137             { 
    138164                kortinNro[1, 0] = 0; 
    139             } 
    140  
     165 
     166            // Ensimmäisestä rivistä "taaksepäin" liikuttaessa 
     167            // hypätään viimeiselle riville 
    141168            if (kortinNro[0, 0] < 0) 
    142             { 
    143169                kortinNro[0, 0] = montakoRivia - 1; 
    144             } 
    145  
     170 
     171            // Ensimmäisestä sarakkeesta "taaksepäin" liikuttaessa 
     172            // hypätään viimeiseen sarakkeeseen 
    146173            if (kortinNro[1, 0] < 0) 
    147             { 
    148174                kortinNro[1, 0] = montakoSaraketta - 1; 
    149             } 
    150  
    151             if (kortit[kortinNro[0, 0], kortinNro[1, 0]] == null) // Mentiin pelipakan "tyhjälle alueelle" 
    152             { 
     175 
     176            // Mentiin pelipakan "tyhjälle alueelle" 
     177            if (kortit[kortinNro[0, 0], kortinNro[1, 0]] == null) 
    153178                kortinNro = TultiinNullViitteeseen(kortinNro); 
    154             } 
    155179 
    156180            return kortinNro; 
     
    160184        { 
    161185            if (mihinSuuntaanMenossa == Suunta.Vasen) 
    162             { 
    163186                return new int[2, 1] { { korostettuKortti[0, 0] }, { (montakoKorttia % montakoSaraketta) - 1 } }; 
    164             } 
    165187            if (mihinSuuntaanMenossa == Suunta.Oikea) 
    166             { 
    167188                return new int[2, 1] { { korostettuKortti[0, 0] }, { 0 } }; 
    168             } 
    169189            if (mihinSuuntaanMenossa == Suunta.Ylos) 
    170             { 
    171190                return new int[2, 1] { { montakoRivia - 2 }, { korostettuKortti[1, 0] } }; 
    172  
    173             } 
    174191 
    175192            // alas 
     
    198215 
    199216            } 
    200  
     217            //KorostaKortti(kortti); 
    201218        } 
    202219 
     
    207224        /// <param name="montakoKorttiaLisataan">Kuinka monta korttia taulukkoon (attribuutti) lisätään.</param> 
    208225        void KortitRuudulle(int montakoKorttiaLisataan) 
    209         {             
     226        { 
    210227            int montakoKorttiaLisatty = 0; 
    211228 
     
    226243 
    227244                    kortit[r, s].X = KortinX(s); 
    228                     kortit[r, s].Y = KortinY(r);                     
     245                    kortit[r, s].Y = KortinY(r); 
    229246 
    230247                    montakoKorttiaLisatty++; 
Note: See TracChangeset for help on using the changeset viewer.