{///'#include///' <stdio.h>//n#include///' <stdlib.h>//n#include///' <time.h>//n//n#define ROWS 6//n#define COLS 6//n//n// 初始化游戏棋盘//nvoid initBoard(char board[ROWS][COLS]) {//n int i, j;//n for (i = 0; i < ROWS; i++) {//n for (j = 0; j < COLS; j++) {//n board[i][j] = 'A' + rand() % 6; // 随机生成A-F的字符作为棋盘格子的内容//n }//n }//n}//n//n// 打印游戏棋盘//nvoid printBoard(char board[ROWS][COLS]) {//n int i, j;//n for (i = 0; i < ROWS; i++) {//n for (j = 0; j < COLS; j++) {//n printf(/'%c /', board[i][j]);//n }//n printf(/'//n/');//n }//n}//n//n// 判断某个位置是否在棋盘内//nint isValidPosition(int row, int col) {//n return row >= 0 && row < ROWS && col >= 0 && col < COLS;//n}//n//n// 消除相同的格子(从指定位置开始)//nvoid eliminate(char board[ROWS][COLS], int row, int col) {//n char target = board[row][col]; // 目标格子的内容//n board[row][col] = ' '; // 将目标格子置为空//n//n // 分别判断目标格子的上、下、左、右四个方向的相邻格子是否与目标格子内容相同,如果相同则递归调用eliminate函数继续消除//n if (isValidPosition(row - 1, col) && board[row - 1][col] == target) {//n eliminate(board, row - 1, col);//n }//n if (isValidPosition(row + 1, col) && board[row + 1][col] == target) {//n eliminate(board, row + 1, col);//n }//n if (isValidPosition(row, col - 1) && board[row][col - 1] == target) {//n eliminate(board, row, col - 1);//n }//n if (isValidPosition(row, col + 1) && board[row][col + 1] == target) {//n eliminate(board, row, col + 1);//n }//n}//n//n// 判断游戏是否结束(即棋盘是否还存在可以消除的格子)//nint isGameOver(char board[ROWS][COLS]) {//n int i, j;//n for (i = 0; i < ROWS; i++) {//n for (j = 0; j < COLS; j++) {//n if (board[i][j] != ' ') {//n return 0; // 如果存在非空格子,游戏没有结束//n }//n }//n }//n return 1; // 所有格子都为空,游戏结束//n}//n//nint main() {//n char board[ROWS][COLS];//n srand(time(NULL)); // 根据当前时间设置随机数种子//n//n initBoard(board);//n printBoard(board);//n//n while (!isGameOver(board)) {//n int row, col;//n printf(/'请输入要消除的格子的行号和列号(以空格分隔):/');//n scanf(/'%d %d/', &row, &col);//n//n if (isValidPosition(row, col)) {//n eliminate(board, row, col);//n printf(/'消除后的棋盘://n/');//n printBoard(board);//n } else {//n printf(/'无效的位置!//n/');//n }//n }//n//n printf(/'游戏结束!//n/');//n return 0;//n}//n/

C语言开心消消乐游戏代码示例 - 简单实现

原文地址: https://www.cveoy.top/t/topic/ppkv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录