网站大量收购闲置独家精品文档,联系QQ:2885784924

C语言实习报告-一担挑的游戏.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言实习报告-一担挑的游戏

§1.1题目描述 【一担挑游戏】 【要求】 简单计算机模拟棋盘对弈。其中棋盘左上角坐标为(1,1),右下角为(3,3)。游戏规则如下: 1.计算机移动时,使用相应函数扫描棋盘矩阵,寻找未占单元,发现空单元后,置为“O”,未发现时,报告平局后退出。 2.轮到对弈者时,使用相应函数要求对弈者回答想要把“X”放在哪里。 3.谁先三点连成一线了,则报告谁胜出。 4.计算机与对弈者每下一步棋都会使相应位置变为“O”和“X”,便于在屏幕上显示矩阵。 【提示】 棋盘位置用二维数组代表,初始状态每一位置均应为“ ”(空),其分隔线(即棋盘线)可用——或││来分隔 §1.2算法设计 一担挑小游戏,简单、休闲、益智。 全程序大体由四部分组成:“玩家落子模块”、“计算机落子模块”、“判断胜负模块”及“打印棋盘模块”。考量到棋类游戏计算上的复杂性,本程序尽可能简化算法,使计算机简单地按照棋盘顺序落子。总流程图设计构想如下: 各功能模块流程图设计如下: 玩家落子模块 【注】棋盘坐标定义为从1,1到3,3 该模块要求玩家输入想要落子的坐标row,column。如果位置row-1,column-1处字符数组元素不存在或已经被占,系统给出错误提示,并要求玩家重新输入;否则该位置置为“X”。 2.计算机落子模块 该模块设计成3*3的循环,按次序检索该单元是否为空。如果单元已被占则跳过;否则置为“O”。 3.判断胜负模块 用穷举法判断某行、某列、对角线是否连成一线。判断顺序如上。若某一判断为“是”,则将连成线的字符赋值给字符变量winner再交由主函数尾的程序辨析谁获胜;若一直判断为“否”,将空值赋给变量winner,再交由玩家落子模块或计算机落子模块运行。 4. 打印棋盘模块 主函数流程(程序设计布局) §1.3程序设计及代码分析 源程序如下: #include stdio.h #include stdlib.h void printboard(); //打印棋盘 void check(); //检查结果是否分出胜负 char board[3][3] = {{\0,\0,\0},{\0,\0,\0},{\0,\0,\0}} ; //棋盘初始化 char winner=\0; //标记谁是胜者 int main() {int row=0,column=0; //定义棋盘的行列 int step=0; //定义计算步数的变量 printf(\nwelcome to this game,player!\n); printboard(); //打印空棋盘 while(winner==\0step!=9) //当未分胜负时,循环双方对弈 { //玩家落子 do //当棋子落在无效区时,报错 { printf(\nplease enter the coordinate where you want to put your X:); scanf(%d,%d, row,column); //输入欲落子的坐标 if(row*column9||row*column1||board[row-1][column-1]!=\0) printf(\nfault position!please reput:); } while(row*column9||row*column1||board[row-1][column-1]!=\0); printf(\n\nplayer move\n); board[row-1][column-1]=X; //落子有效 printboard(); //即打印棋盘 step++; //每下一步步数加一 check(); //检查是否分出胜负 if(winner!=\0||step==9)break; //

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档