Cómo escribir un pequeño juego en C++
Un pequeño juego programado en C++ puede realizar las siguientes funciones:
1. Generar números aleatoriamente
2.
3. Determinar el final del juego;
1. Asunto del juego:?
Porque está escrito en C++, se usan clases y el tablero de ajedrez usa dos. matriz dimensional, m Es la especificación del tablero de ajedrez y se toma 4.
clase juego
{
público:
int i, j;
juego() {
count1 = 0;
para (i = 0; i < m; i++)
para (j = 0; j < m; j++) p>
tablero de ajedrez[i][j] = 0;
srand((unsigned)time(NULL));
x = rand() % m; p> p>
y = rand() % m;
if (count1 == 1 || count1 == 0)
tablero de ajedrez[x][y] = 2;
else
tablero de ajedrez[x][y] = 4;
showchessboard();
}//Construir el tablero de ajedrez inicial
void add(int count1);//Agregar números
void showchessboard();//Mostrar el tablero de ajedrez
void up();
anular abajo();
anular izquierda();
anular derecha();
bool gameover();//juego fallido
p>privado:
int tablero de ajedrez[m][m];
int x, y, cuenta1, cuenta2, temp1, temp2, k; // Eliminación de conexión c1, marca de vacante c2, eliminación continua t1, variable temporal t2, k
bool flag // Sentencia de eliminación
};
Dos, generan números aleatoriamente
void game::add(int count1)
{
for (i = 0; i < m; i++)
for (j = 0; j < m; j++)
{
if (tablero de ajedrez[i][j] == 0)
ir al bucle;
}
mostrar tablero de ajedrez();
regresar;
bucle:srand((sin firmar )tiempo(NULL) );
hacer {
x = rand() % m;
y = rand() % m;
} while (tablero[x][y] != 0);
if (count1 < 2)
tablero[x][y] = 2; p>
else
tablero de ajedrez[x][y] = 4;
showchessboard();
}
3 Eliminación y fusión de números
void game::up()
{
temp1 = count1;
flag = false;
para (j = 0; j < m; j++)
para (i = 0; i < m;) p>
{
for (; i < 4 && tablero de ajedrez[i][j] == 0; i++ // Encuentra valores distintos de cero
if ( i == 4)
descanso;
else
{
for (k = i + 1; k < 4 && tablero de ajedrez [ k][j] == 0; k++);//Encontrar el siguiente valor distinto de cero
if (k == 4)
break;
else if (tablero de ajedrez[i][j] == tablero de ajedrez[k][j])//match
{
tablero de ajedrez[i][j] *= 2 ;
tablero de ajedrez[k][j] = 0;
i = k + 1;
bandera = verdadero;
} p>
else if (tablero de ajedrez[i][j] != tablero de ajedrez[k][j] && k < 4)//No coincide
{
i = k;
}
}
}
para (j = 0; j < m; j++)// organizar el tablero de ajedrez
for (i = 0, count2 = 0; i < m; i++)
{
if (tablero de ajedrez[i][j] != 0)
{
temp2 = tablero de ajedrez[i][j];
tablero de ajedrez[i][j] = 0;
tablero de ajedrez [cuenta2][j] = temp2;
cuenta2++;
}
}
}
Cuatro, Determina el final del juego
bool game::gameover()
{
if (flag)
count1++;//Determinar la conexión Eliminar
if (temp1 == count1)
count1 = 0;//Si no se elimina, volverá a cero después de eliminaciones consecutivas
add(count1);
for (i = m - 1, j = 0; j < m; j++)//última línea
{
if (j == m - 1)//Esquina inferior derecha
{
if (tablero de ajedrez[i][j] == 0)
return false ;
else if (tablero de ajedrez[i][j] == 2048)
{
cout << "Tú ganas~\n";
p>devuelve verdadero;
}
}
más
{
if (tablero de ajedrez [i][j] == 0 || tablero de ajedrez[i][j] == tablero de ajedrez[i][j + 1])
devuelve falso;
else if ( tablero de ajedrez[i][j] == 2048)
{
cout << "Tú ganas~\n";
devuelve verdadero;
}
}
}
para (i = 0, j = m - 1; i < m; i++)/ /última columna
{
if (i == m - 1)//Esquina inferior derecha
{
if (tablero de ajedrez [i][ j] == 0)
devuelve falso;
si no (tablero de ajedrez[i][j] == 2048)
{
cout << "Tú ganas~\n";
devuelve verdadero;
}
}
else
{
if (tablero de ajedrez[i][j] == 0 || tablero de ajedrez[i][j] == tablero de ajedrez[i + 1][j])
devuelve falso;
si no (tablero de ajedrez[i][j] == 2048)
{
cout << "Tú Win~\n ";
devuelve verdadero;
}
}
}
para (i = 0; i < m - 1; i++)
for (j = 0; j < m - 1; j++)
{
si (tablero de ajedrez [i][j] == 2048)
{
cout &
lt;< "¡Tú ganas!\n";
return true;
}
else if (tablero de ajedrez[i][j] == tablero de ajedrez[ i][j + 1] || tablero de ajedrez[i][j] == tablero de ajedrez[i + 1][j] || tablero de ajedrez[i][j] == 0)
devuelve falso;
}
cout << "Juego terminado.\n";
devuelve verdadero;
}
Información ampliada:
Los programas en lenguaje C++ se compilan porque necesitan reflejar un alto rendimiento. Pero su entorno de desarrollo, para facilitar las pruebas, hace que el entorno de depuración sea interpretativo.
Generar un programa se refiere al proceso de convertir el código fuente (declaraciones C++) en una aplicación ejecutable. Si el programa está escrito correctamente, el proceso generalmente se puede realizar simplemente presionando una tecla de función. Pero el proceso en realidad se divide en dos pasos.
El primer paso es compilar el programa, lo que requiere el uso de un compilador. El compilador convierte declaraciones C++ en código de máquina (también llamado código objeto);
El segundo paso es vincular el programa, lo que requiere el uso de un vinculador. El vinculador fusiona el código de máquina compilado con el código de la biblioteca C++. Las bibliotecas de C++ contienen funciones ("función" es otro nombre para subrutina) que realizan ciertas tareas comunes.
Enciclopedia Baidu-C++