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

TICTACTOE游戏.doc

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

C++课程设计实验报告 姓名 汤铃铃 学号 0701510421 班级 任课教师 时间 08.10.11 教师指定题目 2-2 评定难易级别 B 实验报告成绩 1.实验内容: 1.1 程序功能介绍: 该程序是TICTACTOE游戏,棋盘为3×3,3个棋子连起来即为赢。输入参数时,若输入的数字超出边界或在已有棋子的地方再输入,则提示出错,要求重新输入。 1.2 程序设计要求 将程序改成类。 将棋盘扩充成4×4。 统计输赢结果并打印输出。 选做:使游戏更生动。(输赢条件相同) 2. 源程序结构流程框图与说明(含新增子函数的结构框图) 新增子函数void TICTACTOE::ChoiceOfChar(char choice)的结构流程框图 是 否 主函数结构流程框图 是 否 是 是 否 是 否 否 函数说明 将棋盘改写成了类,并在类外定义了所有的函数,所以函数都是()play::(函数名)(参数列表)的形式。具体的void TICTACTOE::PrintInfo()(输出游戏提示信息的函数),void TICTACTOE::PrintStats(,int, int, int) (输出统计的胜负信息的函数),void TICTACTOE::IfError(int x, int y) (判断玩家坐标输出是否有错的函数)都没做改变。 扩充棋盘从3×3到4×4 ,不用源程序繁琐的if,else if 语句来判断玩家的输赢结果,而改用for语句的循环结构来判断。这样,只更改参数可再使棋盘变大。 重新添加的函数及说明: void TICTACTOE::ChoiceOfChar(char choice) ( 询问玩家是否再玩一局的函数)添加了重新清空棋盘准备新的输入的程序:用if 语句说明当玩家选择结束了上一局的游戏后对是否再玩的信息回答是‘Y’时,赋值‘ROW’(行)和‘COLUMN’(列)为零,再输出清零后的棋盘。若玩家选择不继续下一次游戏时,结束游戏,输出统计的输赢信息及平局的次数,其中这项功能用了调用成员函数PrintStats(play::playerx, play::playero, play::draws)。 3. 基本数据结构 int SpotsOnBoard=0; //定义全局变量 class TICTACTOE{ //游戏类 public: int OPlayer,XPlayer,Draws; //统计二人输赢情况 char board[4][4]; //棋盘内容 TICTACTOE(){OPlayer=0;XPlayer=0;Draws=0; //输入棋盘初值 void input(){ //构造函数 int ROW,COLUMN; for(ROW=0;ROW4;ROW++) for(COLUMN=0;COLUMN4;COLUMN++) board[ROW][COLUMN]= ; } void PlayerO(int,int); void PlayerX(int,int); void PrintBoard(); //输出棋盘 void PrintInfo(); //输出游戏信息 void PrintStats(); //输出最后结果 void IfError(int ,int ); //容错处理 void ChoiceOfChar(char ); //选择是否继续 void PromptTurnO(int ,int );

文档评论(0)

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

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

1亿VIP精品文档

相关文档