C语言实现三子棋小游戏的代码怎么写

C语言实现三子棋小游戏的代码怎么写

本篇内容介绍了“C语言实现三子棋小游戏的代码怎么写”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

基本思路:

1.创建一个游戏选择面板.

C语言实现三子棋小游戏的代码怎么写

2.创建并初始化棋盘。

3.玩家落子并判定,电脑落子并判定。

4.判定结果 ,游戏结束!

代码如下:

头文件:

#pragmaonce#include<stdio.h>#include<windows.h>#include<stdlib.h>#include<time.h>#pragmawarning(disable:4996)externvoidGame();//游戏代码需要定义调用的函数#defineROW3//FOW、FOL代表三子棋边界的长和宽#defineCOL3#defineINIT''//INIT为空格的宏定义#defineWHITE'X'//X在三字棋代表Player#defineBLACK'O'//O在三字棋代表Computer#defineDRAW'D'//DRAW代表平局#defineNEXT'N'//NEXT代表继续//MineClearence

各类函数:

voidInitBoard(charboard[][COL],introw,intcol)//棋盘初始化{for(inti=0;i<row;i++){for(intj=0;j<col;j++){board[i][j]=INIT;}}}staticvoidShowBoard(charboard[][COL],introw,intcol)//显示棋盘{system("cls");printf("");for(inti=0;i<col;i++){printf("%4d",i+1);}printf("\n--------------\n");for(inti=0;i<row;i++){printf("%-2d",i+1);//2for(intj=0;j<col;j++){printf("|%c",board[i][j]);}printf("\n--------------\n");}}staticcharIsEnd(charboard[][COL],introw,intcol)//最终结果{for(inti=0;i<row;i++){if(board[i][0]==board[i][1]&&board[i][1]==board[i][2]&&board[i][0]!=INIT){returnboard[i][0];}}for(intj=0;j<COL;j++){if(board[0][j]==board[1][j]&&board[1][j]==board[2][j]&&board[0][j]!=INIT){returnboard[0][j];}}if(board[0][0]==board[1][1]&&board[1][1]==board[2][2]&&board[1][1]!=INIT){returnboard[1][1];}if(board[0][2]==board[1][1]&&board[1][1]==board[2][0]&&board[1][1]!=INIT){returnboard[1][1];}for(inti=0;i<row;i++){for(intj=0;j<col;j++){if(board[i][j]==INIT){returnNEXT;}}}returnDRAW;}staticvoidPlayerMove(charboard[][COL],introw,intcol)//玩家{intx=0;inty=0;while(1){printf("PleaseEnterPostion<x,y>#");scanf("%d%d",&x,&y);if(x<1||y<1||x>3||y>3){printf("EnterPostionError!\n");continue;}if(board[x-1][y-1]==INIT){board[x-1][y-1]=WHITE;break;}else{printf("PostionIsNotEmpty!\n");}}}staticvoidComputerMove(charboard[][COL],introw,intcol)//电脑{while(1){intx=rand()%row;inty=rand()%col;if(board[x][y]==INIT){board[x][y]=BLACK;break;}}}voidGame(){charboard[ROW][COL];InitBoard(board,ROW,COL);srand((unsignedlong)time(NULL));charresult=0;while(1){ShowBoard(board,ROW,COL);PlayerMove(board,ROW,COL);result=IsEnd(board,ROW,COL);if(result!=NEXT){break;}ShowBoard(board,ROW,COL);ComputerMove(board,ROW,COL);result=IsEnd(board,ROW,COL);if(result!=NEXT){break;}}ShowBoard(board,ROW,COL);switch(result){caseWHITE:printf("YouWin!\n");break;caseBLACK:printf("YouLose!\n");break;caseDRAW:printf("You==Computer!\n");break;default:printf("BUG!\n");break;}}

游戏选择面板(主函数)

#include"game.h"staticvoidMenu(){printf("|-------------开始游戏-------------|\n");printf("+-------------1.Play-------------+\n");printf("+-------------0.Exit-------------+\n");}intmain(){intselect=0;intquit=0;while(!quit){Menu();printf("PleaseSelect#");scanf("%d",&select);switch(select){case1:Game();break;case0:quit=1;break;default:printf("EnterError,TryAgain!\n");break;}}printf("bye!\n");system("pause");return0;}

“C语言实现三子棋小游戏的代码怎么写”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注恰卡编程网网站,小编将为大家输出更多高质量的实用文章!

发布于 2022-04-03 22:36:16
收藏
分享
海报
0 条评论
32
上一篇:C语言怎么打印输出某一年的日历 下一篇:C语言结构体怎么掌握
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码