Changeset 882 for 2010/24


Ignore:
Timestamp:
2010-06-15 19:22:52 (9 years ago)
Author:
anlakane
Message:
 
Location:
2010/24/anlakane/Muistipeli
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • 2010/24/anlakane/Muistipeli/Muistipeli.csproj

    r874 r882  
    8282  </ItemGroup> 
    8383  <ItemGroup> 
     84    <Compile Include="Kortti.cs" /> 
    8485    <Compile Include="Properties\AssemblyInfo.cs" /> 
    8586    <Compile Include="Ohjelma.cs" /> 
  • 2010/24/anlakane/Muistipeli/Ohjelma.cs

    r874 r882  
    11using System; 
    2  
    3 static class Ohjelma 
     2namespace Muistipeli 
    43{ 
    5     /// <summary> 
    6     /// The main entry point for the application. 
    7     /// </summary> 
    8     static void Main(string[] args) 
     4    static class Ohjelma 
    95    { 
    10         using (Peli game = new Peli()) 
     6        /// <summary> 
     7        /// The main entry point for the application. 
     8        /// </summary> 
     9        static void Main(string[] args) 
    1110        { 
    12             game.Run(); 
     11            using (Peli game = new Peli()) 
     12            { 
     13                game.Run(); 
     14            } 
    1315        } 
    1416    } 
     17 
    1518} 
    16  
  • 2010/24/anlakane/Muistipeli/Peli.cs

    r881 r882  
    55using Jypeli.Assets; 
    66 
    7 public class Peli : Game 
     7namespace Muistipeli 
    88{ 
    9     List<GameObject> kortit = new List<GameObject>(); 
    10     double kortinLeveys = 80; 
    11     double kortinKorkeus = 100; 
    12     int korostettuKortti; 
    13     int montakoKorttiaRiviin; 
     9    public class Peli : Game 
     10    { 
     11        List<GameObject> kortit = new List<GameObject>(); 
     12        double kortinLeveys = 80; 
     13        double kortinKorkeus = 100; 
     14        int korostettuKortti; 
     15        int montakoKorttiaRiviin; 
    1416 
    15     public enum Suunta { Vasen, Oikea, Ylos, Alas } 
     17        public enum Suunta { Vasen, Oikea, Ylos, Alas } 
    1618 
    17     protected override void Begin() 
    18     { 
    19         TeeKortit(); 
    20         AsetaNappaimet(); 
    21         KortitRuudulle(kortit); 
    22         ValitseEnsimmainen(); 
    23     } 
     19        Kortti kortti1; 
    2420 
    25     void ValitseEnsimmainen() 
    26     { 
    27         KorostaKortti(kortit.Count / 2); 
    28         korostettuKortti = kortit.Count / 2; 
    29     } 
     21        protected override void Begin() 
     22        { 
     23            kortti1 = new Kortti(80, 100); 
     24            Add(kortti1); 
     25            AsetaNappaimet(); 
    3026 
    31     int KortinNumeronTarkistus(int kortinNro) 
    32     { 
    33         if (kortinNro < 0) 
    34         { 
    35             kortinNro = kortit.Count - 1; 
    3627        } 
    3728 
    38         if (kortinNro > kortit.Count - 1) 
     29        //protected override void Begin2() 
     30        void Begin2() 
    3931        { 
    40             kortinNro = 0; 
     32            TeeKortit(); 
     33            AsetaNappaimet(); 
     34            KortitRuudulle(kortit); 
     35            ValitseEnsimmainen(); 
    4136        } 
    4237 
    43         return kortinNro; 
    44     } 
     38        void ValitseEnsimmainen() 
     39        { 
     40            KorostaKortti(kortit.Count / 2); 
     41            korostettuKortti = kortit.Count / 2; 
     42        } 
    4543 
    46     void KorostaKortti(int kortinNro) 
    47     { 
    48         kortinNro = KortinNumeronTarkistus(kortinNro); 
    49         kortit[kortinNro].Color = Color.Gray; 
    50         korostettuKortti = kortinNro; 
    51     } 
     44        int KortinNumeronTarkistus(int kortinNro) 
     45        { 
     46            if (kortinNro < 0) 
     47            { 
     48                kortinNro = kortit.Count - 1; 
     49            } 
    5250 
    53     void PoistaKorostus(int kortinNro) 
    54     { 
    55         kortinNro = KortinNumeronTarkistus(kortinNro); 
    56         kortit[kortinNro].Color = Color.White; 
    57     } 
     51            if (kortinNro > kortit.Count - 1) 
     52            { 
     53                kortinNro = 0; 
     54            } 
    5855 
    59     void AsetaNappaimet() 
    60     { 
    61         Keyboard.Listen(Key.Left, ButtonState.Pressed, KortinValinta, null, Suunta.Vasen); 
    62         Keyboard.Listen(Key.Right, ButtonState.Pressed, KortinValinta, null, Suunta.Oikea); 
    63         Keyboard.Listen(Key.Up, ButtonState.Pressed, KortinValinta, null, Suunta.Ylos); 
    64         Keyboard.Listen(Key.Down, ButtonState.Pressed, KortinValinta, null, Suunta.Alas); 
    65     } 
     56            return kortinNro; 
     57        } 
    6658 
    67     void KortinValinta(Suunta suunta) 
    68     { 
    69         bool rivinAlussa = false; 
    70         bool rivinLopussa = false; 
    71         if (korostettuKortti % (montakoKorttiaRiviin +1) == 0) 
    72             rivinAlussa = true; 
    73         if ((korostettuKortti+1) % (montakoKorttiaRiviin+1) == 0) 
    74             rivinLopussa = true; 
     59        void KorostaKortti(int kortinNro) 
     60        { 
     61            kortinNro = KortinNumeronTarkistus(kortinNro); 
     62            kortit[kortinNro].Color = Color.Gray; 
     63            korostettuKortti = kortinNro; 
     64        } 
     65 
     66        void PoistaKorostus(int kortinNro) 
     67        { 
     68            kortinNro = KortinNumeronTarkistus(kortinNro); 
     69            kortit[kortinNro].Color = Color.White; 
     70        } 
     71 
     72        void AsetaNappaimet() 
     73        { 
     74            Keyboard.Listen(Key.Left, ButtonState.Pressed, KortinValinta, null, Suunta.Vasen); 
     75            Keyboard.Listen(Key.Right, ButtonState.Pressed, KortinValinta, null, Suunta.Oikea); 
     76            Keyboard.Listen(Key.Up, ButtonState.Pressed, KortinValinta, null, Suunta.Ylos); 
     77            Keyboard.Listen(Key.Down, ButtonState.Pressed, KortinValinta, null, Suunta.Alas); 
     78            Keyboard.Listen(Key.Space, ButtonState.Pressed, KaannaKortti, null); 
     79        } 
     80 
     81        void KaannaKortti() 
     82        { 
     83            //b ool onkoKaannetty = kortti1.Kaanna(); 
     84            kortti1.Kaanna(); 
     85            //MessageDisplay.Add(onkoKaannetty.ToString()); 
     86        } 
     87 
     88        void KortinValinta(Suunta suunta) 
     89        { 
     90            bool rivinAlussa = false; 
     91            bool rivinLopussa = false; 
     92            if (korostettuKortti % (montakoKorttiaRiviin + 1) == 0) 
     93                rivinAlussa = true; 
     94            if ((korostettuKortti + 1) % (montakoKorttiaRiviin + 1) == 0) 
     95                rivinLopussa = true; 
    7596 
    7697 
    77         if (suunta == Suunta.Vasen) 
    78         { 
    79             PoistaKorostus(korostettuKortti); 
    80             if (rivinAlussa) 
     98            if (suunta == Suunta.Vasen) 
    8199            { 
    82                 KorostaKortti(korostettuKortti + montakoKorttiaRiviin); 
    83                 MessageDisplay.Add("Korostettu kortti: " + korostettuKortti); 
    84                 return; 
    85             } 
     100                PoistaKorostus(korostettuKortti); 
     101                if (rivinAlussa) 
     102                { 
     103                    KorostaKortti(korostettuKortti + montakoKorttiaRiviin); 
     104                    MessageDisplay.Add("Korostettu kortti: " + korostettuKortti); 
     105                    return; 
     106                } 
    86107                KorostaKortti(--korostettuKortti); 
    87108                MessageDisplay.Add("Korostettu kortti: " + korostettuKortti); 
    88109 
     110            } 
     111 
     112            if (suunta == Suunta.Oikea) 
     113            { 
     114                PoistaKorostus(korostettuKortti); 
     115                if (rivinLopussa) 
     116                { 
     117                    KorostaKortti(korostettuKortti - montakoKorttiaRiviin); 
     118                    MessageDisplay.Add("Korostettu kortti: " + korostettuKortti); 
     119 
     120                    return; 
     121                } 
     122                KorostaKortti(++korostettuKortti); 
     123                MessageDisplay.Add("Korostettu kortti: " + korostettuKortti); 
     124 
     125            } 
     126 
     127            if (suunta == Suunta.Ylos) 
     128            { 
     129                PoistaKorostus(korostettuKortti); 
     130                KorostaKortti(korostettuKortti - montakoKorttiaRiviin - 1); 
     131                MessageDisplay.Add("Korostettu kortti: " + korostettuKortti); 
     132 
     133            } 
     134 
     135            if (suunta == Suunta.Alas) 
     136            { 
     137                PoistaKorostus(korostettuKortti); 
     138                KorostaKortti(korostettuKortti + montakoKorttiaRiviin + 1); 
     139                MessageDisplay.Add("Korostettu kortti: " + korostettuKortti); 
     140 
     141            } 
     142            //MessageDisplay.Add(montakoKorttiaRiviin.ToString()); 
     143            //MessageDisplay.Add((korostettuKortti % (montakoKorttiaRiviin +1)).ToString()); 
    89144        } 
    90145 
    91         if (suunta == Suunta.Oikea) 
     146        void TeeKortit() 
    92147        { 
    93             PoistaKorostus(korostettuKortti); 
    94             if (rivinLopussa) 
     148            for (int i = 0; i < 15; i++) 
    95149            { 
    96                 KorostaKortti(korostettuKortti - montakoKorttiaRiviin); 
    97                 MessageDisplay.Add("Korostettu kortti: " + korostettuKortti); 
    98  
    99                 return; 
    100             }             
    101             KorostaKortti(++korostettuKortti); 
    102             MessageDisplay.Add("Korostettu kortti: " + korostettuKortti); 
    103  
     150                TeeKortti(); 
     151            } 
    104152        } 
    105153 
    106         if (suunta == Suunta.Ylos) 
     154        private void KortitRuudulle(List<GameObject> kortit) 
    107155        { 
    108             PoistaKorostus(korostettuKortti); 
    109             KorostaKortti(korostettuKortti - montakoKorttiaRiviin-1); 
    110             MessageDisplay.Add("Korostettu kortti: " + korostettuKortti); 
     156            int montakoKorttia = kortit.Count; 
     157            //int montakoKorttiaRiviin = 8; 
     158            montakoKorttiaRiviin = (int)Math.Sqrt(kortit.Count); 
     159            int montakoRivia = (kortit.Count / montakoKorttiaRiviin); 
    111160 
     161            int i = 0; 
     162            int rivi = 1; 
     163            int rivilla = 0; 
     164            foreach (GameObject kortti in kortit) 
     165            { 
     166                Add(kortti); 
     167                //kortti.X = (-(montakoKorttia * (kortinLeveys + 20)) / 2) + (i * (kortinLeveys + 20)); 
     168                kortti.X = (-(montakoKorttiaRiviin * (kortinLeveys + 20)) / 2) + (rivilla * (kortinLeveys + 20)); 
     169                kortti.Y = (montakoRivia * (kortinKorkeus + 20)) / 2 - rivi * (kortinKorkeus + 20); 
     170                i++; 
     171                rivilla++; 
     172                if (rivilla > montakoKorttiaRiviin) 
     173                { 
     174                    rivi++; 
     175                    rivilla = 0; 
     176                } 
     177            } 
    112178        } 
    113179 
    114         if (suunta == Suunta.Alas) 
     180        void TeeKortti() 
    115181        { 
    116             PoistaKorostus(korostettuKortti); 
    117             KorostaKortti(korostettuKortti + montakoKorttiaRiviin + 1); 
    118             MessageDisplay.Add("Korostettu kortti: " + korostettuKortti); 
    119  
    120         } 
    121         //MessageDisplay.Add(montakoKorttiaRiviin.ToString()); 
    122         //MessageDisplay.Add((korostettuKortti % (montakoKorttiaRiviin +1)).ToString()); 
    123     } 
    124  
    125     void TeeKortit() 
    126     { 
    127         for (int i = 0; i < 15; i++) 
    128         { 
    129             TeeKortti(); 
     182            GameObject kortti = new GameObject(kortinLeveys, kortinKorkeus, Shapes.Rectangle); 
     183            kortti.Color = Color.White; 
     184            kortit.Add(kortti); 
    130185        } 
    131186    } 
    132  
    133     private void KortitRuudulle(List<GameObject> kortit) 
    134     { 
    135         int montakoKorttia = kortit.Count; 
    136         //int montakoKorttiaRiviin = 8; 
    137         montakoKorttiaRiviin = (int)Math.Sqrt(kortit.Count); 
    138         int montakoRivia = (kortit.Count / montakoKorttiaRiviin); 
    139  
    140         int i = 0; 
    141         int rivi = 1; 
    142         int rivilla = 0; 
    143         foreach (GameObject kortti in kortit) 
    144         { 
    145             Add(kortti); 
    146             //kortti.X = (-(montakoKorttia * (kortinLeveys + 20)) / 2) + (i * (kortinLeveys + 20)); 
    147             kortti.X = (-(montakoKorttiaRiviin * (kortinLeveys + 20)) / 2) + (rivilla * (kortinLeveys + 20)); 
    148             kortti.Y = (montakoRivia * (kortinKorkeus + 20)) / 2 - rivi * (kortinKorkeus + 20); 
    149             i++; 
    150             rivilla++; 
    151             if (rivilla > montakoKorttiaRiviin) 
    152             { 
    153                 rivi++; 
    154                 rivilla = 0; 
    155             } 
    156         } 
    157     } 
    158  
    159     void TeeKortti() 
    160     {         
    161         GameObject kortti = new GameObject(kortinLeveys, kortinKorkeus, Shapes.Rectangle); 
    162         kortti.Color = Color.White; 
    163         kortit.Add(kortti); 
    164     } 
    165187} 
Note: See TracChangeset for help on using the changeset viewer.