用C语言实现简单的五子棋小游戏(附上全代码以及思路讲解) 您所在的位置:网站首页 五子棋的妙招 用C语言实现简单的五子棋小游戏(附上全代码以及思路讲解)

用C语言实现简单的五子棋小游戏(附上全代码以及思路讲解)

2024-07-02 10:37| 来源: 网络整理| 查看: 265

目录(全代码在文末哦) 

 如果要实现五子棋,首先第一步要写一个菜单,让玩家可供选择,比如:输入’1‘,开始游戏,输入’0’,结束游戏。但是你不能只执行一次,所以要写一个do while循环,让他至少能循环一次。然后写一个switch语句,让系统来判断玩家选择的什么以此来做出相对应的动作。

void menu() { printf("\n***************************\n"); printf("******** 1、PVP ********\n"); printf("****** 0、结束游戏 *****\n"); printf("***************************\n"); } int main() { int input = 0; do { menu(); printf("请选择:"); scanf("%d", &input); switch (input) { case 1: game(); break; case 0: printf("游戏结束"); break; default: printf("选择错误,请重新输入"); break; } } while (input); return 0; }

主函数写好之后就可以开始写具体的game()函数了。

棋子空格初始化

要想做出一个五子棋,首先要创建一个二维数组,然后初始化空格,让这些二维数组输出的都是空格。

void blank_space(char board[line][row],int lin,int ro) { int i = 0, j = 0; for (i = 0; i < line; i++) { for (j = 0; j < row; j++) board[i][j] = ' '; } } char board[line][row] = { 0 }; blank_space(board,line,row);

初始化空格之后,就该创建我们的棋盘了。

棋盘

考虑到我们是五子棋,棋盘会比较大,所以有必要写一个横坐标和纵坐标,这样有利于玩家写坐标。这就产生一个问题,如果纵坐标有一位数变成两位数之后,数字占用的空间就大了,棋盘就乱了,所以我们不能把纵坐标放在左边,要放到右边。

横纵坐标解决了,就来看我们的棋盘。我们的棋盘通常是有  |  和 ---  和 空格组成。一般是这样:

发现没有,我们一行通常是由列个“|   ”和列个“|---”组成的,再利用好空格,就能做好我们的棋盘。下面是棋盘函数代码。

void chessboard(char board[line][row], int lin, int ro) { int a = 0, b = 0; for (a = 0; a < row; a++) { printf(" "); printf("%d",a+1); if (a 11) { printf(" "); } } printf("\n"); for (b = 0; b < line; b++) { for (a = 0; a < row; a++) { printf("| %c ", board[b][a]); if (a == row-1) { printf("%d", b + 1); } } printf("\n"); for (a = 0; a < row; a++) { printf("|---"); } printf("\n"); } }

棋盘照片

棋盘做好之后,我们就可以开始写玩家下棋的代码了。

玩家下棋

玩家下棋,首先要判断下的位置是否合法,如果位置不存在,那肯定不行,如果位置存在,那还要判断这个位置是否有棋子,就是是否是空格。如果不是,就返回,让玩家重新输入。

void playermove(char board[line][row], int Line, int Row) { int x = 0, y = 0; while (1) { printf("请选择位置:"); scanf("%d %d", &x, &y); if (x


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有