Juego de ajedrez de tres personajes, usando lenguaje C para realizar ajedrez de tres personajes

Un pequeño juego simple e interesante, usa el lenguaje C para escribir un código de juego de ajedrez de tres medios, ¡apúrate y pruébalo!

game1.h // Archivo de encabezado, declaración de función
#define ROW 3
#define COL 3

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

// 声明
vacío InitBoard (char board [ROW] [COL], int row, int col);
DisplayBoard vacío (tablero de caracteres [FILA] [COL], fila int, columna int);
void PlayerMove (tablero de caracteres [FILA] [COL], fila int, columna int);
void ComputerMove (tablero de caracteres [FILA] [COL], fila int, columna int);

// Dinos el estado de los cuatro juegos
// El jugador gana - '*'
// La computadora gana - '#'
// Draw-'Q '
// Continuar-'C'

char IsWin (char tablero [ROW] [COL], int fila, int col);

geme1.c // 源 文件 , 函数 的 实现
#define _CRT_SECURE_NO_WARNINGS 1
#include “game1.h”
void InitBoard (char board [ROW] [COL], int row, int col)
{ int i = 0; int j = 0; para (i = 0; i <fila; i ++) { para (j = 0; j <col; j ++) { tablero [i] [j] = ''; } } }









DisplayBoard vacío (tablero de caracteres [FILA] [COL], fila int, columna int)
{ int i = 0; para (i = 0; i <fila; i ++) { int j = 0; para (j = 0; j <col; j ++) { // 1. 打印 一行 的 数据printf ("% c", tablero [i] [j]); if (j <col - 1) printf (”|"); } printf ("\ n"); // 2. 打印 分割 行if (i <fila - 1) { para (j = 0; j <col; j ++) { printf ("-"); if (j <col - 1) printf ("|"); } printf ("\ n"); }






















}

}

void PlayerMove (char board [ROW] [COL], int row, int col)
{ int x = 0; int y = 0; printf ("El jugador camina:> \ n"); while (1) { printf ("Por favor Ingrese las coordenadas que desee:> ”); scanf ("% d% d ", & x, & y); // Juzgar la legalidad de las coordenadas xey si (x> = 1 && x <= fila && y> = 1 && y <= col) { if (tablero [x-1] [y-1] == '') { tablero [x-1] [y-1] = '*'; romper; } else { printf (" La coordenada está ocupada \ n "); } } else { printf (" ¡La coordenada es ilegal, vuelve a ingresar! \ N "); } } }

























Void ComputerMove (tablero de caracteres [FILA] [COL], fila int, columna int)
{ int x = 0; int y = 0; printf (“电脑 走:> \ n”); while (1) {




	x = rand() % row;
	y = rand() % col;
	if (board[x][y] == ' ')
	{
		board[x][y] = '#';
		break;
	}
}

}
// Devuelve 1 significa que el tablero está lleno
// Devuelve 0 significa que el tablero no está lleno

int IsFull (tablero de caracteres [FILA] [COL], fila int, columna int)
{ int i = 0; int j = 0; for (i = 0; i <fila; i ++) { for (j = 0; j <col; j ++) { if (tablero [i] [j] == '') { return 0; // 没 满} } } return 1; // 满 了}













char IsWin (tablero de caracteres [FILA] [COL], fila int, columna int)
{ int i = 0; // 横 三行for (i = 0; i <fila; i ++) { if (tablero [i] [0] == tablero [i] [1] && tablero [i] [1] == tablero [i] [2] && tablero [i] [1]! = '') { Tablero de retorno [i] [1]; } } // 竖 三 列for (i = 0; i <col; i ++) { if (tablero [0] [i] == tablero [1] [i] && tablero [1] [i] == tablero [ 2] [i] && tablero [1] [i]! = '') { Tablero de retorno [1] [i]; } } // 两个 对角线if (tablero [0] [0] == tablero [1] [1] && tablero [1] [1] == tablero [2] [2] && tablero [1] [ 1]! = '') Tablero de retorno [1] [1];




















if (tablero [2] [0] == tablero [1] [1] && tablero [1] [1] == tablero [0] [2] && tablero [1] [1]! = '')
return tablero [1] [1];
// 判断 是否 平局
if (1 == IsFull (tablero, FILA, COL))
{ return 'Q'; } return 'C'; }



test.c
#define _CRT_SECURE_NO_WARNINGS 1
// Prueba el juego de ajedrez de tres
hombres #include “game1.h”

menú vacío ()
{ printf ("****************** \ n"); printf (" 1. reproducir 0. salir \ n"); printf ("*************************** \ n"); }



// Se implementa todo el algoritmo del juego
void game1 ()
{ char ret = 0; // Array-almacena la información del tablero que sale char board [ROW] [COL] = {0}; // todos los espacios // inicializar el tablero InitBoard (tablero, FILA, COL); // Imprimir el tablero DisplayBoard (tablero, FILA, COL); // Jugar al ajedrez mientras (1) { // Jugar al ajedrez PlayerMove (tablero, FILA, COL); DisplayBoard ( tablero, FILA, COL); // Juzgar si el jugador gana ret = IsWin (tablero, FILA, COL); if (ret! = 'C') { descanso; } // ComputerMove (tablero, FILA, COL); DisplayBoard (tablero, FILA, COL); // Juzgar si la computadora gana ret = IsWin (tablero, FILA, COL); if (ret! = 'C') { romper;



























}
}
if (ret == '*')
{ printf ("el jugador gana \ n"); } else if (ret == '#') { printf ("la computadora gana \ n"); } else { printf (" Dibujar \ n ”); } }










void test ()
{ int input = 0; srand ((unsigned int) time (NULL)); do { menu (); printf ("Por favor seleccione:>"); scanf ("% d", & input); switch ( input) { case 1: game1 (); break; case 0: printf ("Salir del juego \ n"); break; default: printf ("Selecciona mal, por favor vuelve a seleccionar! \ n"); break; } } while ( entrada); }




















int main ()
{ prueba (); return 0; }


Gana fácilmente el pequeño perro alfa

Supongo que te gusta

Origin blog.csdn.net/weixin_54748281/article/details/113504457
Recomendado
Clasificación