一担挑游戏C语言Word格式.docx
- 文档编号:8346720
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:15
- 大小:282.73KB
一担挑游戏C语言Word格式.docx
《一担挑游戏C语言Word格式.docx》由会员分享,可在线阅读,更多相关《一担挑游戏C语言Word格式.docx(15页珍藏版)》请在冰点文库上搜索。
2.initialization(void)初始化棋盘模块
初始化棋盘模块流程图
该模块首先设置一个3X3的循环,将棋盘的每一个单元定义为空。
在程序运行的第一步,主程序调用该模块功能,对棋盘进行初始化。
3.display(void)显示棋盘模块
显示棋盘模块流程图
该模块与“初始化棋盘模块”类似,首先设置一个3X3的循环。
不同之处在于显示同一行的一个单元后,棋盘每格之间显示“|”;
换行之后显示“-|-|-”。
在程序运行“判断胜负模块”功能之后,调用该模块功能。
4.play_move()人移动棋子模块
人移动棋子模块流程图
该模块首先选择放置棋子的位置(i,j),之后行变量i减一,列变量j减一。
如果该位置为空,则将该单元内容定义为“X”;
如果该位置不为空,则返回错误信息并重新运行该模块函数,让人重新选择放置棋子的位置。
putermove()计算机移动棋子功能流程图
计算机移动棋子模块流程图
该模块首先设置3X3的循环,从(1,1)开始,依次判断每一个单元是否为空。
为空时,则将该位置定义为“O”;
若不为空,则继续运行。
当移动至(3,3),即行变量i与列变量j乘积为9时,若该单元依然不为空,则判定该局比赛结果为平局。
6.charjudge(void)判断胜负模块
判断胜负模块流程图
该模块首先设置3X3的循环,依次判断每行,每列以及左斜列,右斜列的内容是否相同。
不相同时,返回至主函数;
若相同,则将变量result定义为相同的内容。
最后,根据result显示“playerwin!
”或者“computerwin!
”
【一担挑程序】
#include"
stdio.h"
stdlib.h"
voidinitialization();
/*初始化棋盘*/
voidplayer_move();
/*人移动棋子*/
voidcomputer_move();
/*计算机移动棋子*/
voiddisplay();
/*显示棋盘*/
charjudge();
/*判断胜负*/
intmain(void)
{
charresult;
/*变量result定义为判断胜负的结果*/
result='
'
;
/*变量result初值为空*/
initialization();
/*初始化棋盘*/
printf("
Youwillplayagainstcomputer.\n"
);
GoodluckandGodblessesyou.\n"
do
{
display();
player_move();
result=judge();
/*调用判断胜负函数,并将结果赋予变量result*/
if(result!
='
)/*当变量result不为空时*/
break;
/*跳出*/
computer_move();
}
while(result=='
/*当变量result为空时,继续循环*/
if(result=='
X'
)/*当变量result为X时*/
playerwin!
\n"
/*人获胜*/
else/*否则*/
computerwin!
\n"
/*计算机获胜*/
getchar();
return0;
charchessboard[3][3];
/*将棋盘定义为3x3模式*/
voidinitialization(void)/*初始化棋盘*/
inti,j;
/*变量i定义为行,变量j定义为列*/
for(i=0;
i<
3;
i++)/*设定3x3的嵌套循环*/
for(j=0;
j<
j++)
chessboard[i][j]='
/*将棋盘的每一格定义为空*/
voidplayer_move(void)/*人移动棋子*/
Pleaseselecttheunit:
"
/*选择放置棋子的位置*/
scanf("
%d%*c%d"
&
i,&
j);
/*输入放置棋子的位置*/
i--;
j--;
/*行变量i减一,列变量j减一*/
if(chessboard[i][j]!
)/*当该位置不为空时*/
Error,reselect.\n"
/*错误,重新选择*/
elsechessboard[i][j]='
/*否则,该位置定义为X*/
voidcomputer_move(void)/*计算机移动棋子*/
if(chessboard[i][j]=='
)/*当该位置为空时*/
if(i*j==9)/*当变量i与变量j乘积为9时*/
Thisgameisdraw.\n"
/*平局*/
exit(0);
/*退出*/
else
O'
/*否则,该位置定义为O*/
voiddisplay(void)/*显示棋盘*/
intt;
/*变量t*/
for(t=0;
t<
t++)/*设定循环*/
%c|%c|%c"
chessboard[t][0],chessboard[t][1],chessboard[t][2]);
/*棋盘各单元之间显示|*/
if(t!
=2)
\n-|-|-\n"
charjudge(void)/*判断胜负*/
inti;
/*变量i*/
i++)/*设定循环*/
if(chessboard[i][0]==chessboard[i][1]&
&
chessboard[i][0]==chessboard[i][2])/*当某行所有单元相同时*/
returnchessboard[i][0];
/*返回该行内容*/
i++)/*设定循环*/
if(chessboard[0][i]==chessboard[1][i]&
chessboard[0][i]==chessboard[2][i])/*当某列所有单元相同时*/
returnchessboard[0][i];
/*返回该列内容*/
if(chessboard[0][0]==chessboard[1][1]&
chessboard[0][0]==chessboard[2][2])/*当右斜列所有单元相同时*/
returnchessboard[0][0];
/*返回右斜列内容*/
if(chessboard[0][2]==chessboard[1][1]&
chessboard[1][1]==chessboard[2][0])/*当左斜列所有单元相同时*/
returnchessboard[0][2];
/*返回左斜列内容*/
return'
}
【程序运行截屏】
【第二章“十佳运动员有奖评选系统”模块图】
1.主函数流程
2.统计模块流程
3.加载模块流程
4.计算十佳参选者模块流程
5.计算十佳运动员模块流程
6.计算选票的命中率流程
【第三章“学生成绩管理系统”模块图】
2.追加模块流程
3.插入模块流程
4.修改模块流程
5.删除模块流程
6.显示模块流程
7.查找模块流程
8.排序模块流程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一担挑 游戏 语言