- Timestamp:
- 2010-06-21 08:32:56 (11 years ago)
- Location:
- 2010/24/anlakane/Muistipeli
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/24/anlakane/Muistipeli/Kortti.cs
r964 r1020 11 11 { 12 12 protected Vector alkuperainenKoko; 13 pr otectedenum Liikkeentila { Pysahtynyt, Pienentyy, Suurentuu }13 private enum Liikkeentila { Pysahtynyt, Pienentyy, Suurentuu } 14 14 Liikkeentila liikkeenTila; 15 15 PuoliEsilla puoliEsilla; … … 18 18 19 19 public enum PuoliEsilla { Kuva, Taka } 20 public Jypeli.Color kuvapuoliVari;21 public Jypeli.Color takaVari;22 20 23 pr otectedbool onkoPoistettuPelista;21 private bool onkoPoistettuPelista; 24 22 public bool OnkoPoistettuPelista 25 23 { -
2010/24/anlakane/Muistipeli/Muistipeli.csproj
r923 r1020 57 57 </PropertyGroup> 58 58 <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"> 60 60 <SpecificVersion>False</SpecificVersion> 61 <HintPath>..\..\ lib\Jypeli2.dll</HintPath>61 <HintPath>..\..\..\..\..\lib\2.1.9\Jypeli2.dll</HintPath> 62 62 </Reference> 63 63 <Reference Include="Microsoft.Xna.Framework, Version=3.1.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d" /> -
2010/24/anlakane/Muistipeli/Peli2.cs
r964 r1020 1 1 using System; 2 using System.IO; 2 3 using System.Collections.Generic; 3 4 using Jypeli; … … 33 34 piilotusAjastin.Trigger += PiilotaKaannetyt; 34 35 Add(piilotusAjastin); 36 37 LisaaKuvat(); 35 38 36 39 montakoKorttia = 52; … … 46 49 KortitRuudulle(montakoKorttia); 47 50 LisaaHighLighter(); 48 AsetaNappaimet();49 51 50 52 // Laitetaan kenttä sopivan kokoiseksi että kortit täyttävät aina mahollisimman paljon ruutukapasiteetista … … 52 54 Level.Height = montakoRivia * (korttienVali + kortinKorkeus) + kortinKorkeus; 53 55 Camera.ZoomToLevel(); 56 54 57 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 } 55 75 } 56 76 … … 58 78 /// Korostetaan ensimmäinen kortti. 59 79 /// </summary> 60 publicvoid AloitaPeli()80 void AloitaPeli() 61 81 { 62 82 korostettuKortti = new int[2, 1]; … … 65 85 } 66 86 67 privatevoid LisaaHighLighter()87 void LisaaHighLighter() 68 88 { 69 89 highlighter = new GameObject(kortinLeveys, kortinKorkeus); … … 100 120 { 101 121 // 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; 103 123 piilotusAjastin.Start(); 104 124 } … … 124 144 Kortti.PuoliEsilla puoliesilla = kortit[kortinNro[0, 0], kortinNro[1, 0]].KumpiPuoliEsilla(); 125 145 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> 129 156 private int[,] TarkistaKortinNro(int[,] kortinNro) 130 157 { 158 // Viimeisen rivin jälkeen palataan ensimmäiselle riville 131 159 if (kortinNro[0, 0] >= montakoRivia) 132 {133 160 kortinNro[0, 0] = 0; 134 } 135 161 162 // Viimeisen sarakkeen jälkeen palataan ensimmäiseen sarakkeeseen 136 163 if (kortinNro[1, 0] >= montakoSaraketta) 137 {138 164 kortinNro[1, 0] = 0; 139 } 140 165 166 // Ensimmäisestä rivistä "taaksepäin" liikuttaessa 167 // hypätään viimeiselle riville 141 168 if (kortinNro[0, 0] < 0) 142 {143 169 kortinNro[0, 0] = montakoRivia - 1; 144 } 145 170 171 // Ensimmäisestä sarakkeesta "taaksepäin" liikuttaessa 172 // hypätään viimeiseen sarakkeeseen 146 173 if (kortinNro[1, 0] < 0) 147 {148 174 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) 153 178 kortinNro = TultiinNullViitteeseen(kortinNro); 154 }155 179 156 180 return kortinNro; … … 160 184 { 161 185 if (mihinSuuntaanMenossa == Suunta.Vasen) 162 {163 186 return new int[2, 1] { { korostettuKortti[0, 0] }, { (montakoKorttia % montakoSaraketta) - 1 } }; 164 }165 187 if (mihinSuuntaanMenossa == Suunta.Oikea) 166 {167 188 return new int[2, 1] { { korostettuKortti[0, 0] }, { 0 } }; 168 }169 189 if (mihinSuuntaanMenossa == Suunta.Ylos) 170 {171 190 return new int[2, 1] { { montakoRivia - 2 }, { korostettuKortti[1, 0] } }; 172 173 }174 191 175 192 // alas … … 198 215 199 216 } 200 217 //KorostaKortti(kortti); 201 218 } 202 219 … … 207 224 /// <param name="montakoKorttiaLisataan">Kuinka monta korttia taulukkoon (attribuutti) lisätään.</param> 208 225 void KortitRuudulle(int montakoKorttiaLisataan) 209 { 226 { 210 227 int montakoKorttiaLisatty = 0; 211 228 … … 226 243 227 244 kortit[r, s].X = KortinX(s); 228 kortit[r, s].Y = KortinY(r); 245 kortit[r, s].Y = KortinY(r); 229 246 230 247 montakoKorttiaLisatty++;
Note: See TracChangeset
for help on using the changeset viewer.