Changeset 1033 for 2010/24


Ignore:
Timestamp:
2010-06-30 14:24:42 (9 years ago)
Author:
anlakane
Message:
 
Location:
2010/24/anlakane/Muistipeli
Files:
2 edited

Legend:

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

    r1030 r1033  
    33using System.Linq; 
    44using Jypeli; 
    5 //using Microsoft.Xna.Framework; 
    6 //using Microsoft.Xna.Framework.Graphics; 
    75 
    86namespace Muistipeli 
     
    4745            this.kuvapuoliTekstuuri = kuvapuoliTekstuuri; 
    4846            this.takapuoliTekstuuri = takapuoliTekstuuri; 
    49             //this.Image = kuvapuoliTekstuuri; //Tarvitaanko tätä? 
    5047            this.liikkeenTila = Liikkeentila.Pysahtynyt; 
    5148            this.poistettuPelista = false; 
     
    6663            this.kuvapuoliTekstuuri = Image.FromColor((int)Math.Floor(leveys), (int)Math.Floor(korkeus), Color.White); 
    6764            this.takapuoliTekstuuri = takapuoliTekstuuri; 
    68             //this.Image = kuvapuoliTekstuuri; 
    6965            this.liikkeenTila = Liikkeentila.Pysahtynyt; 
    7066            this.poistettuPelista = false; 
  • 2010/24/anlakane/Muistipeli/Muistipeli.cs

    r1030 r1033  
    88using Jypeli.Effects; 
    99 
    10 using Texture2D = Microsoft.Xna.Framework.Graphics.Texture2D; 
    11  
    12  
    1310namespace Muistipeli 
    1411{ 
     
    3027        public String Nimi; 
    3128        public int Pisteet; 
    32  
    33         public Pelaaja(String nimi, int numero) 
     29        public Color Vari; 
     30 
     31        public Pelaaja(String nimi, int numero, Color vari) 
    3432        { 
    3533            Numero = numero; 
    3634            Nimi = nimi; 
    3735            Pisteet = 0; 
     36            Vari = vari; 
    3837        } 
    3938    } 
     
    4241    public class Muistipeli : Game 
    4342    { 
     43        List<GameObject> valikonKohdat; 
     44 
    4445        int montakoRivia; 
    4546        int montakoSaraketta; 
     
    7576        protected override void Begin() 
    7677        { 
    77             montakoKorttia = 16; // Pitää olla ennen laskureiden lisäämistä 
     78            //montakoKorttia = 16; // Pitää olla ennen laskureiden lisäämistä 
     79            Valikko(); 
     80        } 
     81 
     82        public void Valikko() 
     83        { 
     84            valikonKohdat = new List<GameObject>(); 
     85            Level.BackgroundColor = Color.White; 
     86 
     87            GameObject elaimet = new GameObject(538, 256); 
     88            elaimet.Image = LoadImage("elaimet"); 
     89            elaimet.Tag = "elaimet"; 
     90            elaimet.Y = elaimet.Height / 2 + 10; 
     91            valikonKohdat.Add(elaimet); 
     92 
     93            GameObject ihmiset = new GameObject(538, 256); 
     94            ihmiset.Image = LoadImage("ihmiset"); 
     95            ihmiset.Tag = "ihmiset"; 
     96            ihmiset.Y = -ihmiset.Height / 2 - 10; 
     97            valikonKohdat.Add(ihmiset); 
     98 
     99            foreach (var valikonKohta in valikonKohdat) 
     100            { 
     101                Add(valikonKohta); 
     102                Mouse.ListenOn(valikonKohta, MouseButton.Left, ButtonState.Pressed, ValikonValinta, null, valikonKohta); 
     103            } 
     104 
     105            Mouse.IsCursorVisible = true; 
     106            Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 
     107            Keyboard.Listen(Key.Escape, ButtonState.Pressed, Lopeta, ""); 
     108             
     109        } 
     110 
     111        public void ValikonValinta(GameObject mitaPainettiin) 
     112        { 
     113            AloitaUusiPeli(mitaPainettiin.Tag.ToString()); 
     114        } 
     115         
     116        public void ValikossaLiikkuminen(AnalogState hiirenTila) 
     117        { 
     118            foreach (var kohta in valikonKohdat) 
     119            { 
     120                if (Mouse.IsCursorOn(kohta)) 
     121                { 
     122                    kohta.Image = LoadImage(kohta.Tag.ToString() + "_"); 
     123                } 
     124                else 
     125                { 
     126                    kohta.Image = LoadImage(kohta.Tag.ToString()); 
     127                }                
     128                 
     129            } 
     130        } 
     131 
     132 
     133 
     134        public void AloitaUusiPeli(String korttisarja) 
     135        { 
     136            ClearAll(); 
    78137            LisaaPelaajat(2); 
    79             AloitaUusiPeli(); 
    80         } 
    81  
    82         public void AloitaUusiPeli() 
    83         { 
    84             ClearAll(); 
    85138            LisaaPiilotusajastin(); 
    86             korttisarja = "elaimet"; 
     139            this.korttisarja = korttisarja; 
    87140            int montakoKuvaa = LataaKuvat(); 
    88141            montakoKorttia = montakoKuvaa * 2; 
     
    98151            // kortin tunnusNro indeksistä, alkiot tulkitaan siten että "montako tämän tunnuksen alkiota on lisätty peliin" 
    99152            // Tämä pitää olla ennen kuin kortit lisätään ruudulle 
    100             montakoKutakinKorttitunnusta = new int[montakoKorttia / 2];  
     153            montakoKutakinKorttitunnusta = new int[montakoKorttia / 2]; 
    101154 
    102155            KortitRuudulle(); 
     
    181234            KorostaKortti(new Paikka(0, 0)); 
    182235            vuorossaOlevaPelaaja = pelaaja1; 
     236            Level.BackgroundColor = pelaaja1.Vari; 
    183237            vuoronaytto.Text = "Pelaaja 1"; 
    184238            MessageDisplay.Add("Pelaaja 1 aloittaa pelin!"); 
     
    214268        public void OKPainettu() 
    215269        { 
    216             AloitaUusiPeli(); 
     270            AloitaUusiPeli(korttisarja); 
    217271        } 
    218272 
     
    246300        { 
    247301            // Toistaiseksi tehdään "manuaalisesti" kaksi pelaajaa 
    248             pelaaja1 = new Pelaaja("", 1); 
    249             pelaaja2 = new Pelaaja("", 2); 
     302            pelaaja1 = new Pelaaja("", 1, Color.Cyan); 
     303            pelaaja2 = new Pelaaja("", 2, Color.MediumPurple); 
    250304        } 
    251305 
     
    265319        } 
    266320 
    267         #region Liikkuminen  
     321        #region Liikkuminen 
    268322        void KorostaKortti(Paikka korostettavaKortti) 
    269323        { 
     
    439493                highlighter.Image = LoadImage("highlight2"); 
    440494                vuoronaytto.Text = "Pelaaja 2"; 
     495                Level.BackgroundColor = pelaaja2.Vari; 
    441496                return; 
    442497            } 
     
    447502                highlighter.Image = LoadImage("highlight1"); 
    448503                vuoronaytto.Text = "Pelaaja 1"; 
     504                Level.BackgroundColor = pelaaja1.Vari; 
    449505                return; 
    450506            } 
     
    453509        #endregion 
    454510 
    455         
     511        #region Kortit ruudulle 
     512 
    456513        /// <summary> 
    457514        /// Aliohjelma lisää halutun määrän kortteja 
     
    476533 
    477534                    kortit[r, s] = TeeKortti(); 
    478                     kortit[r, s].KuvaPuoliTekstuuri = Image.FromFile(korttisarja+"/" + kortit[r, s].Tunniste.ToString() + ".jpg"); 
     535                    kortit[r, s].KuvaPuoliTekstuuri = Image.FromFile(korttisarja + "/" + kortit[r, s].Tunniste.ToString() + ".jpg"); 
    479536                    Add(kortit[r, s]); 
    480537 
     
    518575            return tunniste; 
    519576        } 
     577        #endregion 
    520578    } 
    521579} 
Note: See TracChangeset for help on using the changeset viewer.