Paso 3: Escribir el código
AQUÍ VIENE EL CÓDIGO PARA EL JUEGO. Se hace en C#.
utilizando el sistema;
utilizando System.Collections.Generic;
utilizando System.ComponentModel;
utilizando System.Data; utilizando System.Drawing;
utilizando System.Linq;
utilizar System.Text;
utilizando System.Threading.Tasks;
utilizando System.Windows.Forms;
utilizando System.Media;
Namespace WindowsFormsApplication1 {clase parcial public Form1: forma {aleatorio rnd = new Random();
azulejos de int [] = new int [4] {2, 1,0,3};
Fila de [] del panel = Panel de nuevo [4];
[] [] Filas del panel = new [] Panel [4];
SoundPlayer un = nuevo SoundPlayer(WindowsFormsApplication1.Properties.Resources._1);
SoundPlayer b = nuevo SoundPlayer(WindowsFormsApplication1.Properties.Resources._2);
SoundPlayer c = new SoundPlayer(WindowsFormsApplication1.Properties.Resources._3);
SoundPlayer d = nuevo SoundPlayer(WindowsFormsApplication1.Properties.Resources._4);
SoundPlayer f = nuevo SoundPlayer(WindowsFormsApplication1.Properties.Resources._5);
Random r = new Random();
Lista de tilesP = nuevo () de la lista;
Form1() pública
{
InitializeComponent();
}
privado void Form1_Load (objeto sender, EventArgs e)
{
esto. Shuffle(tiles);
esto. Superior = true;
esto. FormBorderStyle = FormBorderStyle.None;
esto. WindowState = FormWindowState.Maximized;
int FormHeight = este. Size.Height;
int FormWidth = este. Size.Width;
para (int i = 0; i < 4; i ++) {}
P [] del panel = Panel de nuevo [4];
para (int j = 0; j < 4; j ++)
{
fila [j] = new Panel();
fila [j]. Tamaño = new Size (FormWidth/4, FormHeight/4);
fila [j]. Ubicación = nueva punto de ((i * FormWidth / 4), (j * FormHeight / 4));
fila [j]. BackColor = Color.White;
Si (j == tiles[i]) fila [j]. BackColor = Color.Black;
fila [j]. BorderStyle = BorderStyle.FixedSingle;
esto. Controls.Add(row[j]);
p [j] = fila [j];
}
filas [i] = p;
}
sacar las fichas
}
protegidas override bool ProcessCmdKey (msg mensaje de ref, llaves ID) {}
int FormHeight = este. Size.Height;
int FormWidth = este. Size.Width;
interruptor (ID)
{
caso Keys.A:
{
Si (azulejos [3] == 0)
{
a.Stop();
b.Stop();
c.Stop();
d.Stop();
f.Stop();
a.Play();
Random r = new Random();
int inr = r.Next (0, 4);
int [] s = new int [4];
Array.Copy (azulejos, s, 4);
para (int i = 3; i > 0; i--)
{
fichas [i] = s [i - 1];
}
azulejos [0] = inr;
para (int i = 0; i < 4; i ++)
{
para (int j = 0; j < 4; j ++) {}
Control p = este. GetChildAtPoint (nuevo punto de ((i * FormWidth / 4), (j * FormHeight / 4))); filas [i] [j] = p (Panel);
}}
para (int i = 0; i < 4; i ++)
{
para (int j = 0; j < 4; j ++)
{
filas [i] [j]. Ubicación = nueva ((i * FormWidth / 4) punto, ((j + 1) * FormHeight / 4));
}}
para (int i = 0; i < 4; i ++)
{
filas [i] [0] = new Panel();
filas [i] [0]. Tamaño = new Size (FormWidth/4, FormHeight/4);
filas [i] [0]. Ubicación = nueva ((i * FormWidth / 4) punto, (0 * FormHeight / 4));
filas [i] [0]. BackColor = Color.White;
Si (i == inr) filas [i] [0]. BackColor = Color.Black;
filas [i] [0]. BorderStyle = BorderStyle.FixedSingle;
esto. Controls.Add(rows[i][0]);
}}
otra cosa
{
a.Stop();
b.Stop();
c.Stop();
d.Stop();
f.Stop();
f.Play();
}
verdaderas;
}
caso Keys.S: {}
Si (azulejos [3] == 1)
{
a.Stop();
b.Stop();
c.Stop();
d.Stop();
f.Stop();
b.Play();
int inr = r.Next (0, 4);
int [] s = new int [4];
Array.Copy (azulejos, s, 4);
para (int i = 3; i > 0; i--)
{
fichas [i] = s [i - 1];
} azulejos [0] = inr;
para (int i = 0; i < 4; i ++)
{
para (int j = 0; j < 4; j ++)
{
Control p = este. GetChildAtPoint (nuevo punto de ((i * FormWidth / 4), (j * FormHeight / 4))); filas [i] [j] = p (Panel);
}
}
para (int i = 0; i < 4; i ++)
{
para (int j = 0; j < 4; j ++)
{
filas [i] [j]. Ubicación = nueva ((i * FormWidth / 4) punto, ((j + 1) * FormHeight / 4));
}
}
para (int i = 0; i < 4; i ++)
{
filas [i] [0] = new Panel();
filas [i] [0]. Tamaño = new Size (FormWidth/4, FormHeight/4);
filas [i] [0]. Ubicación = nueva ((i * FormWidth / 4) punto, (0 * FormHeight / 4));
filas [i] [0]. BackColor = Color.White;
Si (i == inr) filas [i] [0]. BackColor = Color.Black;
filas [i] [0]. BorderStyle = BorderStyle.FixedSingle;
esto. Controls.Add(rows[i][0]);
}}
Else {}
a.Stop();
b.Stop();
c.Stop();
d.Stop();
f.Stop();
f.Play();
}
verdaderas;
}
caso Keys.D:
{
Si (azulejos [3] == 2)
{
a.Stop();
b.Stop();
c.Stop();
d.Stop();
f.Stop();
c.Play();
Random r = new Random();
int inr = r.Next (0, 4);
int [] s = new int [4];
Array.Copy (azulejos, s, 4);
para (int i = 3; i > 0; i--)
{
fichas [i] = s [i - 1];
}
azulejos [0] = inr;
para (int i = 0; i < 4; i ++)
{
para (int j = 0; j < 4; j ++)
{
Control p = este. GetChildAtPoint (nuevo punto de ((i * FormWidth / 4), (j * FormHeight / 4))); filas [i] [j] = p (Panel);
}}
para (int i = 0; i < 4; i ++)
{
para (int j = 0; j < 4; j ++)
{
filas [i] [j]. Ubicación = nueva ((i * FormWidth / 4) punto, ((j + 1) * FormHeight / 4));
}}
para (int i = 0; i < 4; i ++)
{
filas [i] [0] = new Panel();
filas [i] [0]. Tamaño = new Size (FormWidth/4, FormHeight/4);
filas [i] [0]. Ubicación = nueva ((i * FormWidth / 4) punto, (0 * FormHeight / 4));
filas [i] [0]. BackColor = Color.White;
Si (i == inr) filas [i] [0]. BackColor = Color.Black;
filas [i] [0]. BorderStyle = BorderStyle.FixedSingle;
esto. Controls.Add(rows[i][0]);
} }
otra cosa
{
a.Stop();
b.Stop();
c.Stop();
d.Stop();
f.Stop();
f.Play();
}
verdaderas;
} / / hasta tecla de flecha
caso Keys.F: {}
Si (azulejos [3] == 3)
{
a.Stop();
b.Stop();
c.Stop();
d.Stop();
f.Stop();
d.Play();
Random r = new Random();
int inr = r.Next (0, 4);
int [] s = new int [4];
Array.Copy (azulejos, s, 4);
para (int i = 3; i > 0; i--)
{
fichas [i] = s [i - 1];
}
azulejos [0] = inr;
para (int i = 0; i < 4; i ++)
{
para (int j = 0; j < 4; j ++)
{
Control p = este. GetChildAtPoint (nuevo punto de ((i * FormWidth / 4), (j * FormHeight / 4)));
filas [i] [j] = p (Panel);
}}
para (int i = 0; i < 4; i ++)
{
para (int j = 0; j < 4; j ++)
{
filas [i] [j]. Ubicación = nueva ((i * FormWidth / 4) punto, ((j + 1) * FormHeight / 4));
}}
para (int i = 0; i < 4; i ++)
{
filas [i] [0] = new Panel();
filas [i] [0]. Tamaño = new Size (FormWidth/4, FormHeight/4);
filas [i] [0]. Ubicación = nueva ((i * FormWidth / 4) punto, (0 * FormHeight / 4));
filas [i] [0]. BackColor = Color.White;
Si (i == inr) filas [i] [0]. BackColor = Color.Black;
filas [i] [0]. BorderStyle = BorderStyle.FixedSingle;
esto. Controls.Add(rows[i][0]);
} }
otra cosa
{
a.Stop();
b.Stop();
c.Stop();
d.Stop();
f.Stop();
f.Play();
}
verdaderas;
} }
vuelta de base. ProcessCmdKey (msg ref, ID);
}
void Shuffle (matriz de T [])
{
int n = array. Longitud; para (int i = 0; i < n; i ++)
{
NextDouble devuelve un número aleatorio entre 0 y 1.
// ... Es equivalente a Math.RANDOM en Java.
int r = i + (int) (rnd. NextDouble() * (n - me));
T t = matriz [r];
matriz [r] = matriz [i];
matriz [i] = t;
} } } }