//vaihda käännetyt kortit kun painetaan vaihda public void vaihdaKortit(Kasi pelaaja) { //otetaan kortti pois niin indeksointi menee sekaisin //katsotaan vaihdettavat indeksit ja vaihdetaan kaikki kerralla List <int> vaihdettavatIndeksit = new List <int>(); for (int i = 0; i < 5; i++) { if (pelaaja.getKortti(i).korttiOikeinPain() == false) { vaihdettavatIndeksit.Add(i); } } for (int i = vaihdettavatIndeksit.Count() - 1; i > -1; i--) { int temp = vaihdettavatIndeksit.ElementAt(i); pelaaja.otaKortti(temp); } for (int i = 0; i < vaihdettavatIndeksit.Count(); i++) { pelaaja.lisaaKortti(korttipakka.annaKortti()); } //järjestä kortit suuruusjärjestykseen pelaaja.jarjestaKortit(); }
//klikki funktioille yhteinen toteutus, sama järjestys picboxien indeksit ja käden korttien indeksit ettei mee sekaisin private void korttienVaihto(PictureBox p_box, int index, Kasi player) { //jos ei vaihtoja jäljellä, ei voi vaihtaa enää if (pokeripeli.GetVuorojaJaljella() == 0) { return; } // jos kortti oikeinpäin if (pokeripeli.getKorttiOikeinPain(player, index)) { //picBox tyhjäksi ja kortti väärinpäin kuva, aseta kortti olioon booleani p_box.InitialImage = null; p_box.Image = Image.FromFile(korttiVaarinpain); pokeripeli.kaannaKortti(player, index); } else { //kortti oikein päin, aseta booleani p_box.InitialImage = null; p_box.Image = Image.FromFile(pokeripeli.getKortinTiedostonimi(player, index)); pokeripeli.kaannaKortti(player, index); } }
//peli päälle, jaa käsi täyteen kortteja (5 kpl) public void kaynnistaPeli(Kasi pelaaja1, Kasi pelaaja2) { while (!pelaaja1.kasiTaynna()) { pelaaja1.lisaaKortti(korttipakka.annaKortti()); } while (!pelaaja2.kasiTaynna()) { pelaaja2.lisaaKortti(korttipakka.annaKortti()); } pelaaja1.jarjestaKortit(); pelaaja2.jarjestaKortit(); }
private void peliPaalle() { //alustaa aina käden ja korttipakan kun aloittaa uuden pelin // pakka = null; pokeripeli = new Pokeri(); pelaaja1 = new Kasi(); pelaaja2 = new Kasi(); //lisätään pelaajille kortit pokeripeli.kaynnistaPeli(pelaaja1, pelaaja2); //disabloi uusi peli nappi button1.Enabled = false; //aktivoi korttien vaihtonappi. vois ehkä myös hidettää kokonaan sen sijaan kuin enable/disable button2.Enabled = true; //tyhjennä käden arvo label kadenArvoLabel.Text = ""; kadenArvoLabel2.Text = ""; //tulosta aloitustilanne tulostaKokoKasiAnimaatioAsync(); }
public bool getKorttiOikeinPain(Kasi pelaaja, int kortinIndex) { return(pelaaja.getKortti(kortinIndex).korttiOikeinPain()); }
public string getKortinTiedostonimi(Kasi pelaaja, int kortinIndex) { return(pelaaja.getKortti(kortinIndex).getTiedostoNimi()); }
public string getKadenArvo(Kasi pelaaja) { return(pelaaja.getKadenArvo()); }
//jos UIssa kääntyy kortti --> kääntyy kortti olion attribuutti public void kaannaKortti(Kasi pelaaja, int picBoxIndex) { pelaaja.getKortti(picBoxIndex).kaannaKortti(); }