Changeset 881 for 2010/24


Ignore:
Timestamp:
2010-06-15 16:05:35 (9 years ago)
Author:
anlakane
Message:

Liikkuminen toimii jo melkeen.

File:
1 edited

Legend:

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

    r874 r881  
    1111    double kortinKorkeus = 100; 
    1212    int korostettuKortti; 
     13    int montakoKorttiaRiviin; 
    1314 
    1415    public enum Suunta { Vasen, Oikea, Ylos, Alas } 
     
    6061        Keyboard.Listen(Key.Left, ButtonState.Pressed, KortinValinta, null, Suunta.Vasen); 
    6162        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); 
    6265    } 
    6366 
    6467    void KortinValinta(Suunta suunta) 
    6568    { 
     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; 
     75 
     76 
    6677        if (suunta == Suunta.Vasen) 
    6778        { 
    6879            PoistaKorostus(korostettuKortti); 
    69             KorostaKortti(--korostettuKortti); 
     80            if (rivinAlussa) 
     81            { 
     82                KorostaKortti(korostettuKortti + montakoKorttiaRiviin); 
     83                MessageDisplay.Add("Korostettu kortti: " + korostettuKortti); 
     84                return; 
     85            } 
     86                KorostaKortti(--korostettuKortti); 
     87                MessageDisplay.Add("Korostettu kortti: " + korostettuKortti); 
     88 
    7089        } 
    7190 
     
    7392        { 
    7493            PoistaKorostus(korostettuKortti); 
     94            if (rivinLopussa) 
     95            { 
     96                KorostaKortti(korostettuKortti - montakoKorttiaRiviin); 
     97                MessageDisplay.Add("Korostettu kortti: " + korostettuKortti); 
     98 
     99                return; 
     100            }             
    75101            KorostaKortti(++korostettuKortti); 
     102            MessageDisplay.Add("Korostettu kortti: " + korostettuKortti); 
     103 
    76104        } 
    77105 
     106        if (suunta == Suunta.Ylos) 
     107        { 
     108            PoistaKorostus(korostettuKortti); 
     109            KorostaKortti(korostettuKortti - montakoKorttiaRiviin-1); 
     110            MessageDisplay.Add("Korostettu kortti: " + korostettuKortti); 
    78111 
     112        } 
     113 
     114        if (suunta == Suunta.Alas) 
     115        { 
     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()); 
    79123    } 
    80124 
    81125    void TeeKortit() 
    82126    { 
    83         for (int i = 0; i < 12; i++) 
     127        for (int i = 0; i < 15; i++) 
    84128        { 
    85129            TeeKortti(); 
     
    90134    { 
    91135        int montakoKorttia = kortit.Count; 
    92         int montakoKorttiaRiviin = 8; 
    93         int montakoRivia = kortit.Count / 8; 
     136        //int montakoKorttiaRiviin = 8; 
     137        montakoKorttiaRiviin = (int)Math.Sqrt(kortit.Count); 
     138        int montakoRivia = (kortit.Count / montakoKorttiaRiviin); 
    94139 
    95140        int i = 0; 
     
    99144        { 
    100145            Add(kortti); 
    101             kortti.X = (-(montakoKorttia * (kortinLeveys + 20)) / 2) + (i * (kortinLeveys + 20)); 
    102             kortti.Y =  
     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); 
    103149            i++; 
    104150            rivilla++; 
    105             if (rivilla > 8) 
     151            if (rivilla > montakoKorttiaRiviin) 
    106152            { 
    107153                rivi++; 
Note: See TracChangeset for help on using the changeset viewer.