Ecco l'game board tanto per dare un'idea di come sembra (questa scheda sarà ampliato ad una 7x6)2 di fila C# programma di gioco
quello che voglio fare è individuare un vincitore quando 2 i colori sono in una fila simile al gioco "conmect four" che tiene conto anche delle combinazioni diagonali. Ma io voglio fare questo senza l'uso di forza bruta enumerazione ..
questo il codice che va dietro il programma ho fatto io non sto chiedendo soluzione che ho solo bisogno di un po 'di aiuto su un algoritmo efficace
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
private Button[] btns;
private Button[] btns2;
public Form1()
{
InitializeComponent();
btns = new Button[] { button2, button3 };
btns2 = new Button[] { button4, button5 };
}
private void Form1_Load(object sender, EventArgs e)
{
foreach (var btn in btns)
{
btn.Enabled = false;
btn.BackColor = Color.LightCyan;
}
foreach (var btn in btns2)
{
btn.Enabled = false;
btn.BackColor = Color.LightCyan;
}
}
public int state;
int cc = 0;
private void button1_Click(object sender, EventArgs e)
{
foreach (var btn in btns)
{
{
if (!btn.Enabled)
{
btn.Enabled = true;
if (cc == 0)
{
cc = 1;
btn.BackColor = Color.Red;
}
else
{
cc = 0;
btn.BackColor = Color.Yellow;
}
return;
}
}
}
}
private void button6_Click(object sender, EventArgs e)
{
foreach (var btn in btns2)
{
if (!btn.Enabled)
{
btn.Enabled = true;
if (cc == 0)
{
cc = 1;
btn.BackColor = Color.Red;
}
else
{
cc = 0;
btn.BackColor = Color.Yellow;
}
return;
}
}
}
}
}
Si espanderà mai più di un 2x2? –
lo espanderò a 7x6 – Tacit
C'è un limite ai colori? Come solo 2 o 3? – noMAD