C语言中级程序大作业
发布时间:2021-06-06
发布时间:2021-06-06
期末大作业
C语言中级程序设计报告
1、设计任务书
1.1题目与要求
编写简单的井子棋游戏,是一种在3*3格子上进行的连珠游戏。要求由分别代表O和X的两个游戏者轮流在格子里留下标记(一般来说先手者为X),由最先在任意一条直线上成功连接三个标记的一方获胜。 1.2本程序涉及的知识点
变量的定义,产生随机字母的函数,while循环语句,if语句,goto语句等。
2、功能设计
2.1算法设计
本程序实现的功能要求:利用while语句执行游戏及if语句计算出游戏得分。 设计流程:
3、程序代码
#include<stdio.h> #include<stdlib.h> #include<windows.h> int main(void) {
start: //在某些情况下游戏重新开始,比如某一玩家赢,或者平局 char game[3][3]= {
{'1','2','3'}, {'4','5','6'}, {'7','8','9'} };
期末大作业
int choice=0; //选择填在哪个格,定位
int row=0; //行 int column=0; //列
int player=0; //玩家值,玩家1或玩家2
int re; //一方赢或者平局的时候选择重新玩还是退出,1:restart 0:exit
printf(" | | \n");
printf(" %c | %c | %c \n",game[0][0],game[0][1],game[0][2]); printf(" | | \n");
printf(" ------+------+------\n"); printf(" | | \n");
printf(" %c | %c | %c \n",game[1][0],game[1][1],game[1][2]); printf(" | | \n");
printf(" ------+------+------\n");
printf(" | | \n");
printf(" %c | %c | %c \n",game[2][0],game[2][1],game[2][2]); printf(" | | \n");
for(int i=1;i<=9;++i)
{
rechoice:; //在选择错误的时候跳到这里重新选择,比如选择了一个已经画了的地方 if(i%2!=0) { player=1; printf("\n玩家1请输入:"); } else
{ player=2; printf("\n玩家2请输入:"); }
scanf("%d",&choice);
if(choice>=1 && choice<=9)
{ //当小在1和9之间的时候才是正确的选择 //定位行 if(choice<=3)
{ row=0; }
else if(choice >=4 && choice <=6) {
row = 1; } else
下一篇:计算手机屏幕的PPI