private void playerClick(object sender, EventArgs e) { var gumb = (Button)sender; /// uotovimo kaeri gumb je bil trenutniIgralec = Igralec.X; /// nastavi igralca na X gumb.Text = trenutniIgralec.ToString(); // spremenim text gumba na X gumb.Enabled = false; /// da ga nemores ponovno stisnet gumb.BackColor = System.Drawing.Color.Cyan; /// spremenim barvo gumba gumbi.Remove(gumb); /// odstanim iz array da ga tudi AI nemore stisnet Check(); /// preverimo ce je igralec zmagal AImoves.Start(); /// da zacne AI MORES ZBRISAT }
/** * SAMO NAREJENA ZA TEMP IGRANJE */ private void AImove(object sender, EventArgs e) { if (gumbi.Count > 0) { int index = rand.Next(gumbi.Count); gumbi[index].Enabled = false; trenutniIgralec = Igralec.O; gumbi[index].Text = trenutniIgralec.ToString(); gumbi[index].BackColor = System.Drawing.Color.DarkBlue; gumbi.RemoveAt(index); Check(); AImoves.Stop(); } }
/// GUMBI KO IZBEREM POLJE KAMOR BOM STISNO OZ DAL KRIZEC private void button1_Click(object sender, EventArgs e) { if (tabela[0, 0] == 0) { trenutniIgralec = Igralec.X; /// nastavi igralca na X button1.Text = trenutniIgralec.ToString(); // spremenim text gumba na X button1.Enabled = false; /// da ga nemores ponovno stisnet button1.BackColor = System.Drawing.Color.Cyan; /// spremenim barvo gumba tabela[0, 0] = 1; // spremenimo tabelo na 1 da oznacimo da je oseba kliknila st_praznih--; /// pomansamo stevilo praznih mest ai_z_minimax(); // klicemo ai z minimax } }
private void button2_Click(object sender, EventArgs e) { if (tabela[0, 1] == 0) { trenutniIgralec = Igralec.X; /// nastavi igralca na X button2.Text = trenutniIgralec.ToString(); // spremenim text gumba na X button2.Enabled = false; /// da ga nemores ponovno stisnet button2.BackColor = System.Drawing.Color.Cyan; /// spremenim barvo gumba tabela[0, 1] = 1; st_praznih--; ai_z_minimax(); //MessageBox.Show("Tabela: " + tabela[0, 1] + " max_globina: " + MAX_globina); } }
private void ai_z_minimax() { //int s = tabela[0,0]; //var rezultat = minimax(tabela, 2, MAX_globina); int rezultat = Najboljsa_poteza(); // dobimo kateri gumb je treba stisnet //int rezultat = bm(); trenutniIgralec = Igralec.O; /// nastavi igralca na O preveri_zmaga(tabela); // se preverimo ce je kdo zmagal if (zmaga_igralca) { zmaga_igralca = false; return; } //bool pogoj = false; /// da se vrti v loop dokler nima prave cifre if (st_praznih == 0) { resetGame(); return; } // ce ni vec prostora nova igra if (rezultat == 0) { /// ce je rezultat 0 pritisnemo gumb 1 button1.Text = trenutniIgralec.ToString(); // spremenim text gumba na O button1.Enabled = false; /// da ga nemores ponovno stisnet button1.BackColor = System.Drawing.Color.DarkBlue; /// spremenim barvo gumba tabela[0, 0] = 2; st_praznih--; } else if (rezultat == 1) { button2.Text = trenutniIgralec.ToString(); // spremenim text gumba na O button2.Enabled = false; /// da ga nemores ponovno stisnet button2.BackColor = System.Drawing.Color.DarkBlue; /// spremenim barvo gumba tabela[0, 1] = 2; st_praznih--; } else if (rezultat == 2) { button3.Text = trenutniIgralec.ToString(); // spremenim text gumba na O button3.Enabled = false; /// da ga nemores ponovno stisnet button3.BackColor = System.Drawing.Color.DarkBlue; /// spremenim barvo gumba tabela[0, 2] = 2; st_praznih--; } else if (rezultat == 3) { button4.Text = trenutniIgralec.ToString(); // spremenim text gumba na O button4.Enabled = false; /// da ga nemores ponovno stisnet button4.BackColor = System.Drawing.Color.DarkBlue; /// spremenim barvo gumba tabela[1, 0] = 2; st_praznih--; } else if (rezultat == 4) { button5.Text = trenutniIgralec.ToString(); // spremenim text gumba na O button5.Enabled = false; /// da ga nemores ponovno stisnet button5.BackColor = System.Drawing.Color.DarkBlue; /// spremenim barvo gumba tabela[1, 1] = 2; st_praznih--; } else if (rezultat == 5) { button6.Text = trenutniIgralec.ToString(); // spremenim text gumba na O button6.Enabled = false; /// da ga nemores ponovno stisnet button6.BackColor = System.Drawing.Color.DarkBlue; /// spremenim barvo gumba tabela[1, 2] = 2; st_praznih--; } else if (rezultat == 6) { button7.Text = trenutniIgralec.ToString(); // spremenim text gumba na O button7.Enabled = false; /// da ga nemores ponovno stisnet button7.BackColor = System.Drawing.Color.DarkBlue; /// spremenim barvo gumba tabela[2, 0] = 2; st_praznih--; } else if (rezultat == 7) { button8.Text = trenutniIgralec.ToString(); // spremenim text gumba na O button8.Enabled = false; /// da ga nemores ponovno stisnet button8.BackColor = System.Drawing.Color.DarkBlue; /// spremenim barvo gumba tabela[2, 1] = 2; st_praznih--; } else if (rezultat == 8) { button9.Text = trenutniIgralec.ToString(); // spremenim text gumba na O button9.Enabled = false; /// da ga nemores ponovno stisnet button9.BackColor = System.Drawing.Color.DarkBlue; /// spremenim barvo gumba tabela[2, 2] = 2; st_praznih--; } preveri_zmaga(tabela); // ponovno preberi ce je kdo zmagovalec }