文档库 最新最全的文档下载
当前位置:文档库 › C课程设计猜拳游戏

C课程设计猜拳游戏

C课程设计猜拳游戏
C课程设计猜拳游戏

课程设计说明书

课程名称:高级语言程序设计

设计题目:石头剪刀布游戏

院部:计算机科学与信息工程学院

学生姓名:

学号:

专业班级:计算机科学与技术(信息技术方向)

指导教师:

2015年6月

课程设计任务书

目录

一前言 (1)

二需求分析 (1)

三概要设计 (2)

四详细设计 (3)

五改进或增加功能模块说明 (7)

六程序测试 (8)

七课程设计总结 (11)

八致谢 (12)

九参考文献 (12)

十源程序 (12)

五子棋游戏

一前言

猜拳游戏是由锤子、剪刀、布三部分组成。玩家可以在游戏区逐次猜拳,系统会给出玩家每次猜拳后的提示,显示成功或者失败或者是平手。

二需求分析

1 要求

(1)用C语言实现程序设计;

(2)定义各个函数分别完成不同功能,如背景设计,判断等;

(3)画出查询模块的流程图;

(4)系统的各个功能用函数调用的形式实现;

(5)界面友好(良好的人机互交),程序要有注释。

2 任务

(1)定义各类头文件,变量及宏定义;

(2)图形模块,设计出棋盘背景界面;

(3)设定玩家操作模块和胜负判断模块;

(4)画出部分模块的流程图;

(5)编写代码;

(6)程序分析与调试。

3 运行环境

(1)WINDOWS2000/XP系统

(2)TurboC2.0编译环境

4 开发工具

C语言

三概要设计

1 模块组成图

功能模块图

2 查询函数流程图

猜拳游戏从开始到结束的操作步骤的系统流程图

函数流程图

四详细设计

在程序的开头部分定义要用到的头文件,以及各种常量,设定选手及游戏模式。

#include /*标准输入/输出函数库*/

#include / *标准函数库*/

#include

#include

#include

#inlcude

using namespace std;

void SetColor(unsigned short

ForeColor,unsigned short BackGroundColor)

{

HANDLE hCon = GetStdHandle

(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(hCon,

(ForeColor%16)|(BackgrundColor%16*16));

}

void face();

void shuoming();

void shezhi();

void zuce();

void tuichu();

void paixu();

void paihangbang();

int cmp();

int N = 20,maxx = 0,M;

struct PP

{

char name[10];

int score;

}P[1000];

输入函数,即为选手每一次出拳,用1、2、3分别表示石头、剪刀、布,通过输入数字来确定要出的是哪一个,每出一次进行判断是否合理(如是否是三者中的一个)并通过调用函数记录比赛的结果,则通过变量记录下获胜的次数,如果比赛完了主函数

void youxi()

{

int wan = 1;

while(wan <= M)

{

P[wan - 1].score = 0;

system("CLS");

SetColor(14,0);

printf("\n\n\n\n\n\n\n\n\n\t\t\t 下面有请");

SetColor(12,0);

printf("玩家%d",wan);

SetColor(14,0);

printf(" 准备比赛!");

SetColor(12,0);

printf("\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t【按任意键开始游戏】");

_sleep(2000);

getchar();

getchar();

int a,i = 0;

for(; i < N; i++)

{

system("CLS");

srand((unsigned)time(NULL));/*随机种子*/

int n=rand()%(3-1+1)+1;/*n为1~3之间的随机数*/

SetColor(13,0);

printf("\n\n\n\n\t\t\t\t每%d 回合为一轮\n",N);

SetColor(14,0);

printf("\n\n\t\t\t\t\t\t\t (第%d 回合)",i+1);

SetColor(15,0);

printf("\n\n\n\n\n\t请输入你的要出的:");

SetColor(12,0);

scanf("%d",&a);

//getchar();

system("CLS");

printf("\n\n\n\n\n\n\n\n\n\n\t\t\t");

SetColor(13,0);

if(a==1)

{

switch(n)

{

case 1:

printf("双方都是石头......平手\n");

break;

case 2:

printf("您出的是石头,电脑出的是剪刀,......您赢了!\n"),P[wan-1].score++;

break;

default:

printf("您出的是石头,电脑出的是布......电脑赢了\n");

_sleep(1000);

}

}

else if(a==2)

{

switch(n)

{

case 1:

printf("您出的是剪刀,电脑出的是石头......电脑赢了\n");

break;

case 2:

printf("双方出的都是剪刀......平手\n");

break;

default:

printf("您出的是剪刀,电脑出的是布.....您赢了!\n"),P[wan-1].score++;

_sleep(1000);

}

}

else if(a==3)

{

switch(n)

{

case 1:

printf("您出的是布,电脑出的是石头......您赢了!\n"),P[wan-1].score++;

break;

case 2:

printf("您出的是布,电脑出的是剪刀......电脑赢了\n");

break;

default:

printf("双方出的都是布......平手\n");

_sleep(1000);

}

}

else

{

printf("你输入的有误,请重新输入!");

i--;

}

SetColor(13,0);

printf("\n\n\t\t\t\t战斗仍未结束,同志还需努力!");

printf("\n\n\n\n\n\n\n 【按t退出当前玩家】\t 【按T退出到主页面】\t【按其他任意键继续游戏】\n");

getchar();

char c;

scanf("%c",&c);

if(c == 't')

{

break;

}

if(c == 'T')

{

face();

}

}

wan++;

if(i >= N)

{

P[wan-1].score = (P[wan-1].score/N)*100;

}

else

{

P[wan - 1].score = 0;

}

paixu();

}

system("CLS");

SetColor(12,0);

printf("\n\n\n\n\n\n\n\n\n\n\t\t\t\t所有的对局已结束!");

printf("\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t\【按任意键返回主页面】\n");

getchar();

getchar();

face();

}

五改进或增加功能模块说明

在游戏运行过程中,没次比赛结束,此程序中都会产升新的对决界面,在屏幕上显示相对比较繁琐,因此这里用到了屏幕刷新函数system("cls");,为了让界面好看,添加了改变字体颜色的函数SetColor(7,0);代码如下。

system(“CLS”);

SetColor(7,0);

注意,调用此函数需要引用头文件#include/ *标准函数库*/

六程序测试

1测试游戏能否正确显示期盼界面

执行程序后,显示本游戏的界面,进行模式选择

图6-1模式选择界面2 测试游戏能否正确进行每一局的比赛(1)人机对战

人机对战

七课程设计总结

本课程设计的实验是对我进入大学以来学习程序设计语言的一个检验。自己动手自己发现和解决问题,学会了独立,自主的思考,发现了自己的许多不足。平时没有掌握好的知识在这次试验中彻底暴漏出来,经过不断的思考,不断的查阅资料和上机运行,解决其中大部分问题,当然还存在一些问题灭有解决。我相信在以后的学习能够解决好他们。但是,收货还是不小的,我不仅对C的操作有了进一步的掌握,还了解到了程序设计的书写风格极其注释的格式。

当我编写小游戏“猜拳游戏”时,一开始运用了大量的函数及循环来完成,但是慢慢琢磨之后,觉得这个程序可以简化,于是改变了变成思路。当然还有不少文件的读写问题,不过还是不断测试之后顺利解决了。另外一点说的就是这个程序用了很多的选择循环,因此对于循环的控制要十分小心。

还有一点体会就是树上和老师教的内容是有限的,我们需要不断地靠自己去学习,向他人请教,学会利用网络和掌握更多的只是,这样我们才能变出更好的C语言

程序设计。

总体来说,这次C语言程序设计实验还是比较成功的,似然最终程序存在一些不足,但能去的这样的结果我还是比较高兴的

八致谢

经过两个多星期的努力,终于把本游戏程序改写出来,在这期间要感谢各同学对我帮助和支持,同时也非常感谢冯老师对我进行细心、耐心的指导,鼓励我对程序进行合理的改进,培养了我的创新意识和创新能力。

九参考文献

[1] 张福祥. C语言程序设计[M]. 辽宁大学出版社,2008.1

[2] 张福祥,王萌.C语言程序设计习题解答与实验实训[M].沈阳:辽宁大学出版社,2008.

[3] 牛莉,刘远军等.计算机等级考试辅导教程[M].北京:中国铁道出版社,2008.

十源程序

/*头文件student.h*/

#include /*标准输入/输出函数库*/

#include

#include

#include

#include

#include

#include

using namespace std;

void SetColor(unsigned short ForeColor,unsigned short BackGroundColor)

{

HANDLE hCon=GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(hCon,(ForeColor%16)|(BackGroundColor%16*16));

}

void paixu();

void face();

void shuoming();

void shezhi();

void zhuce();

void tuichu();

void paihangbang();

void youxi();

int N = 20,M;

double maxx = 0;

struct PP

{

char name[15];

double score;

} P[1000];

void youxi()

{

int wan = 1;

while(wan <= M)

{

P[wan - 1].score = 0;

system("CLS");

SetColor(14,0);

printf("\n\n\n\n\n\n\n\n\n\t\t\t 下面有请");

SetColor(12,0);

printf("玩家%d",wan);

SetColor(14,0);

printf(" 准备比赛!");

SetColor(12,0);

printf("\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t【按任意键开始游戏】");

_sleep(2000);

getchar();

getchar();

int a,i = 0;

for(; i < N; i++)

{

system("CLS");

srand((unsigned)time(NULL));/*随机种子*/

int n=rand()%(3-1+1)+1;/*n为1~3之间的随机数*/

SetColor(13,0);

printf("\n\n\n\n\t\t\t\t每%d 回合为一轮\n",N);

SetColor(14,0);

printf("\n\n\t\t\t\t\t\t\t (第%d 回合)",i+1);

SetColor(15,0);

printf("\n\n\n\n\n\t请输入你的要出的:");

SetColor(12,0);

scanf("%d",&a);

system("CLS");

printf("\n\n\n\n\n\n\n\n\n\n\t\t\t");

SetColor(13,0);

if(a==1)

{

switch(n)

{

case 1:

printf("双方都是石头......平手\n");

break;

case 2:

printf("您出的是石头,电脑出的是剪刀,......您赢了!\n"),P[wan-1].score++;

break;

default:

printf("您出的是石头,电脑出的是布......电脑赢了\n");

_sleep(1000);

}

}

else if(a==2)

{

switch(n)

{

case 1:

printf("您出的是剪刀,电脑出的是石头......电脑赢了\n");

break;

case 2:

printf("双方出的都是剪刀......平手\n");

break;

default:

printf("您出的是剪刀,电脑出的是布.....您赢了!\n"),P[wan-1].score++;

_sleep(1000);

}

}

else if(a==3)

{

switch(n)

{

case 1:

printf("您出的是布,电脑出的是石头......您赢了!\n"),P[wan-1].score++;

break;

case 2:

printf("您出的是布,电脑出的是剪刀......电脑赢了\n");

break;

printf("双方出的都是布......平手\n");

_sleep(1000);

}

}

else

{

printf("你输入的有误,请重新输入!");

i--;

}

SetColor(13,0);

printf("\n\n\t\t\t\t战斗仍未结束,同志还需努力!");

printf("\n\n\n\n\n\n\n 【按t退出当前玩家】\t 【按T退出到主页面】\t【按其他任意键继续游戏】\n");

getchar();

char c;

scanf("%c",&c);

if(c == 't')

{

break;

}

if(c == 'T')

{

face();

}

}

wan++;

if(i >= N)

{

P[wan-1].score = (P[wan-1].score/N)*100;

}

else

{

P[wan - 1].score = 0;

}

paixu();

}

system("CLS");

SetColor(12,0);

printf("\n\n\n\n\n\n\n\n\n\n\t\t\t\t所有的对局已结束!");

printf("\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t\【按任意键返回主页面】\n");

getchar();

getchar();

face();

}

void paixu()

{

for(int i = 0; i < M-1; i++)

{

for(int j = 0; j < M - 1 - i; j++)

{

if(P[j].score < P[j+1].score)

{

struct PP t;

t = P[j];

P[j] = P[j+1];

P[j+1]= t;

}

}

}

FILE *fp;

if((fp = fopen("file.txt","w")) == NULL)

{

printf("can not open!\n");

exit(0);

}

if(M < 5)

for(int i = 0;i < M;i++)

{

if(fwrite(&P[i],sizeof(struct PP),1,fp)!= 1)

printf("file write error\n");

}

else

for(int i = 0;i < 5;i++)

{

if(fwrite(&P[i],sizeof(struct PP),1,fp)!= 1)

printf("file write error\n");

}

fclose(fp);

}

void paihangbang()

{

paixu();

system("CLS");

SetColor(10,0);

printf("\n\n\t\t\t*********************************");

printf("\n\t\t\t*\t\t\t\t*");

printf("\n\t\t\t* ");

SetColor(7,0);

SetColor(12,0);

printf(" 游戏排行榜");

SetColor(7,0);

SetColor(10,0);

printf(" *");

printf("\n\t\t\t*\t\t\t\t*");

printf("\n\t\t\t*********************************");

SetColor(7,0);

SetColor(10,0);

printf("\n\n\t\t-----------------------------------------------");

SetColor(11,0);

printf("\n\t\t| 1 %12s ******************%5.2lf%% |",P[0].name,P[0].score);

SetColor(10,0);

printf("\n\t\t| |");

SetColor(12,0);

printf("\n\t\t| 2 %12s ******************%5.2lf%% |",P[1].name,P[1].score);

SetColor(10,0);

printf("\n\t\t| |");

SetColor(15,0);

printf("\n\t\t| 3 %12s ******************%5.2lf%% |",P[2].name,P[2].score);

SetColor(10,0);

printf("\n\t\t| |");

SetColor(14,0);

printf("\n\t\t| 4 %12s ******************%5.2lf%% |",P[3].name,P[3].score);

SetColor(10,0);

printf("\n\t\t| |");

SetColor(13,0);

printf("\n\t\t| 5 %12s ******************%5.2lf%% |",P[4].name,P[4].score);

SetColor(10,0);

printf("\n\t\t-----------------------------------------------");

SetColor(12,0);

printf("\n\n\n\t\t\t\t\t\t\t\【按任意键返回】\n");

getchar();

getchar();

face();

}

void tuichu()

{

system("CLS");

for(int k = 0; k < 5; k++)

{

大一C语言课程设计题目

课 程 设 计 任 务 书 信息工程与自动化 学院 计算机科学与技术 专业 2011 年级 学生姓名: 课程设计题目: 程序设计语言课程设计 课程设计主要内容: 一、 基础程序设计: 本设计部分主要完成与链表操作相关的基本运算,其中包含:链表的建立、链表的输出、链表的插入、链表的删除等运算。. 二、 综合程序设计: 该部分主要是培养学生在程序编写方面综合能力的训练,学生选作其中的一至二题程序的编写与实施。 1、设计统计任意文本字数的程序(张力老师组必做): 要求包括:中英文文本的:中文字数、数字数目、英文字符数、英文单词数及其他符号。 2、车票订购统计系统(张力老师组必做): 下图是昆明——北京的沿途车站与票价: 请用C 语言为之开发一个售票程序,要求如下: (1)乘客购票时用菜单选择起点站和终到站。如果选择的起点站和终到站为同一个站则报错,程序退出。 (2)选好起点站和终到站之后,通过调用函数int BuyTicket() 为之计算票价和里程,并在屏幕上显示出来。 (3)用文件类型存储每一次售票记录,包括:售票流水号,起点站,终点站,里程,金额等数据,并统计所有存储记录的总售票金额及各站的旅客流量(进站流量+出站流量)。 3、万年历的设计: 要求: 模仿现实生活中的挂历,能够显示年历、月历、日历,并具备退出功能。 当前页以系统当前日期的月份为准显示当前月的每一天(显示出日及对应的星期几)。 当系统日期变到下一月时,系统自动翻页到下一月。 4、通讯录管理系统:

制作一个通讯录程序,该程序具有查找、添加、修改、删除功能。通讯录包括:姓名,电话,街道,城市,省,邮编等。 模块设计参考: 第一个模块——主函数main()的功能是:根据选单的选项调用各函数,并完成相应的功能。 第二个模块——Menu()的功能是:显示英文提示选单。 第三个模块——Quit()的功能是:退出选单。 第四个模块——Create()的功能是:创建新的通讯录。 第五个模块——Add()的功能是:在通讯录的末尾,写入新的信息,并返回选单。 第六个模块——Find()的功能是:查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。 第七个模块——Alter()的功能是:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。 第八个模块——Delete()的功能是:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。 第九个模块——List()的功能是:显示通讯录中的所有记录。 设计指导教师(签字): 教学基层组织负责人(签字): 年月日

贪吃蛇游戏课程设计实验报告全解

辽宁科技大学课程设计说明书 设计题目:基于C#的贪吃蛇游戏 学院、系:装备制造学院 专业班级:计算机科学与技术 学生姓名:叶佳佳 指导教师:丁宁 成绩: 2015年12月12日

目录 一、概述 (1) 1、用C#实现该设计的方法 (1) 2、贪吃蛇游戏说明 (1) 二、实验目的及设计要求 (1) 1、实验目的 (1) 2、实验要求 (2) 三、课程设计具体实现 (2) 1、概要设计 (2) 1.1、设计思想 (2) 1.2、主模块实现 (2) 1.3、主函数流程图 (4) 2、详细设计 (5) 2.1、设计思想 (5) 2.2、具体模块实现: (5) 四、调试过程及运行结果 (10) 1、调试过程 (10) 2、实验结果 (11) 五、实验心得 (12) 六、参考资料 (13) 七、附录:源代码 (13)

一、概述 1、用C#实现该设计的方法 首先应该了解设计要求,然后按照功能设计出实际模块,每个模块都要完成特定的功能,要实现模块间的高内聚,低耦合。设计模块是一个相当重要的环节,模块的数量不宜太多,也不宜太少,要是每个模块都能比较简单的转换成流程图。模块设计完成后,就该给每个模块绘制流程图。流程图要尽可能的简单且容易理解,多使用中文,补一些过长的代码,增加理解难度。此外,流程图应容易转换成代码。 根据流程图编写好代码后在WindowsXP操作系统,https://www.wendangku.net/doc/695219068.html,2008开发环境下进行运行测试,检查错误,最终设计出可行的程序。 2、贪吃蛇游戏说明 游戏操作要尽可能的简单,界面要尽可能的美观。 编写程序实现贪吃蛇游戏,贪吃蛇游戏是一个深受人们喜欢的游戏:一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被吃掉,这时蛇的身体长一节,同时计10分;接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁、障碍物或身体交叉(蛇头撞到自己的身体),则游戏结束。游戏结束时输出相应得分。 具体要求有以下几点: (1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理; (2)系统设计要实用,采用模块化程序设计方法,编程简练、可用,功能全面; (3)说明书、流程图要清楚; 二、实验目的及设计要求 1、实验目的 .NET课程设计是教学实践环节中一项重要内容,进行此课程设计旨在掌握基础知识的基础上,进一步加深对VC#.NET技术的理解和掌握; 提高和加强学生的计算机应用及软件开发能力,使学生具备初级程序员的基本素质; 培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应信息管理行业日新 1

[C语言课程设计题目](丁海军)

C语言课程设计设计题 丁海军 本手册提供的设计题大致可分为为3类:第一类侧重于算法设计与实现;第二类侧重于文件操作。 (一)算法设计类题目 1. Fibonacci数列。Fibonacci数列的计算公式如下: fib(1) = 1; fib(2) = 1; fib(n) = fib(n-1) + fib(n-2); //对大于等于3的任意n (1)简单变量“数据平移”方法计算Fibonacci数列的第n项(正整数n通过键盘输入):说明变量old1=1,old2=1,newItem;新的Fibonacci项newItem总是“距它最近”的前两项(old1与old2)的累加和。而后通过“old1=old2; old2=newItem;”进行所谓的“数据平移”。接着计算另一个新的Fibonacci项newItem,依次循环,直到求出数列的第n项时为止。 (2)使用数组求出Fibonacci数列的第n项(正整数n通过键盘输入)并显示在屏幕上:说明数组f用来存放Fibonacci数列的各项之值,且仅初始化前两个元素f[0]=1,f[1]=1,而后通过f[i]=f[i-2]+f[i-1];依次计算出f[2]到f[n-1](注意f[n-1]恰为所要求出的第n项)并将该值显示在屏幕上。 2.编程序,循环进行如下的处理过程:由计算机生成简单的四则运算题;用户给出答案;计算机判断对错。直到用户回答说不再继续做了时结束程序。 提示:可让用户选择指定出加、减、乘、除哪一种运算题,以及出一位数还是两位数的运算题;而后通过使用“rand()%10”或“rand()%100”来获得一个0到9的一位整数随机值或得到0到99的两位整数随机值来为用户出题。还可进一步对用户所做算术题的对错次数进行记录,结束程序时给出一个某种形式的成绩。 3.数的进制转换 (1)将输入的2进制数(一个非“0”即“1”的字符串)化为10进制数。 提示:用字符数组a盛放所输入的二进制数;而后从后往前逐一计算每一位的“位权”w (2的0次方、2的1次方、...),再计算“位权”乘以“位值”并累加到一个初值为0的变量value 上,最后输出该value。 (2)如何把8进制数或16进制数化为10进制数。 (3)如何把某一个k进制的数化为10进制数呢? 4.编程序,输入正整数m,它代表一个人民币钱数(元数)。求取这样一个方案,使用最少张数的人民币纸币,凑成上述的钱数m,并输出求取结果。

《游戏设计》课程设计指导书

《游戏设计》课程设计指导书 编写:蔺广逢 适用于:数字媒体专业 2011.12

游戏设计课程设计任务书 设计时间:1周学分数:1.0 执笔人:范彩霞编写日期:2008年10月 一、课程设计目的 游戏设计课程设计是数字媒体技术专业必修的实践环节。本课程设计是《游戏设计》课程实践环节的深化和延续。通过该实践环节的训练,使学生能够更加全面和系统的掌握游戏设计的体系结构。通过对所做游戏的故事梗概、游戏类型以及设计制作过程中所涉及的相关技术的学习和掌握,提高学生的实践能力以及团队协作能力,为在计算机游戏设计这一领域进行深入研究做准备。 二、课程设计的内容与要求 本课程设计通过分组来进行,每组3~4人。对每一个组,都必须设计和实现一个完整的游戏,游戏的类型不限,软件运行环境限为Microsoft Windows,硬件平台限为PC。在每组进行游戏设计之前必须提供游戏文档说明,包括游戏的故事情节、游戏的类型、游戏界面的设计等。每组设计的游戏不一定是原创的,但绝不能抄袭已有的游戏。 每组设计的游戏需要有较为完整的情节,要求能体现以下的基本技术:提供使用键盘或鼠标控制视点的朝向和运动的功能;在游戏中至少有一个人物是三维的,并且能产生相应的动画。必须在某个场景中有配音或者背景音乐;最好能在某一个画面中体现一些特效技术;必须能实时或者准实时运行。 游戏设计完成后对自己所做的游戏进行短评,包括:游戏中的哪一部分是最得意的?对最初的游戏设计作了哪些修改,为什么?在这个游戏项目的实践中获得的经验和教训是什么?如果有更多的时间下一步会怎么做? 三、课程设计的报告(论文、作业)的要求 课程设计报告是课程设计过程的整理和总结。因此,编写课程设计报告是课程设计阶段的一个重要组成部分。课程设计报告的内容和要求根据设计内容而定,对于本课程设计,主要应包括以下内容: 封面:封面上应标明“游戏设计课程设计”报告、专业、姓名、学号与时间等; 课程设计报告内容主要包括: (1)课程设计的目的;

《c语言课程设计报告--小游戏“石头剪子布”》

《C语言课程设计》报告题目:石头剪子布 班级: 学号: 姓名: 指导教师: 成绩:

目录: 一、选题背景...................................................................................................................... - 2 - 二、设计思路...................................................................................................................... - 2 - 三、主要问题的解决方法及关键技术.............................................................................. - 3 - 四、程序流程图.................................................................................................................. - 3 - 五、源程序清单.................................................................................................................. - 6 - 六、程序运行结果.............................................................................................................. - 8 - 七、设计总结...................................................................................................................... - 9 - 八、教师评语.................................................................................................................... - 10 - 一、选题背景 通过一个学期的C语言课程的学习,《C语言程序设计》课程已结束,根据学校课程学习的安排,要进行一周的C语言实习,自己动手编写游戏和系统。根据老师布置的设计任务书,按照学委的安排,根据个人的能力及意愿,我选择了设计一格小游戏:石头剪子布。 实验准备:做游戏前,首先,自己详细看了《C语言程序设计》(教科书),理解了相关函数的用法和作用;另外,上网查询了很多相关资料,还有找了很多相关的游戏设计的代码,都详细的看了一遍,加深了对C语言以及相关内容进一步理解。根据实际情况设计出一款比较理想的小游戏。 设计题目的要求: ①游戏要设置开始,结束操作控制 ②游戏要有时间提示即相关结果的提示语 ③游戏要能自动判断输赢,并显示最终比赛结果 二、设计思路 系统功能模块图: 输入:计算机随机输入选择,用户输入选择,并将数据储存。 计算:根据计算机和用户的选择,计算大小,并判断输赢,计算用户的胜负率,并储存。 输出:根据用户的输入,将用户的游戏结果显示在屏幕上。

C语言课程设计题目

C语言程序课程设计题目 一、程序设计题目:简单的学生成绩管理程序 程序设计功能及要求: (1) 总人数定义为宏,数据使用文件存放; (2) 输入学生姓名学号,及五门成绩,并计算每个学生五门功课的平均分,并按平均分排列名次,若平均分相同则名次并列;结果写入文件并按格式打印在屏幕上。 ⑶ 统计全班每门课程的平均分,并计算各分数段(60以下,60~69,70~79,80~89,90以上)的学生人数;结果写入文件,并按格式在屏幕上打印; ⑷ 在屏幕上打印出所有不及格学生的下列信息:学号,不及格的课程名,该不及格课程成绩; ⑸ 在开始画面加入简单的菜单便于选择各种功能。 例: 1学生条目输入 2 成绩统计 3分数段统计 4不及格学生筛选 ⑹文件格式要求 1.原始数据文件格式(具体数据和项目自行编写) 学号姓名英语C语言高等数学………….. 1 张三76 89 78 2 李四…. …. …. 2.输出数据文件(由程序自动生成) 1)学生综合成绩文件。 2)学号姓名英语C语言高等数学…………….平均成绩名次 1张三76 89 78 ………….. 2李四…. …. …. 3)统计结果文件。 4)分数段英语C语言高等数学…………………. <60 2 … 60~69 8 … 70~79 5 … 80~89 10 … ⑺加入优等生统计功能,要求按优等生条件筛选出优等生的条目存入单独文件,并输出到屏幕。 优等生标准(满足之一即可): 1 平均成绩上80。 2平均成绩及格但未上80,有单科成绩上90。 3平均成绩未及格,有单科满分。 二、程序设计题目:简单的同学通讯录程序设计 [问题描述]

具有数据插入、修改、删除、显示、查询和统计功能的电话簿管理程序。 [程序设计功能及要求] ⑴人数不定,数据使用文件存放。 ⑵记录每位同学的学号、姓名、性别、工作单位、电话号码和E-mail地址建立单独的条目,存入数 据文件。 ⑶可对记录中的姓名和电话号码等进行修改。 ⑷可增加或删除记录 ⑸可显示所有保存的记录 ⑹加入统计功能,可以统计男女同学或总人数。 ⑺加入查询功能,通过姓名、学号或电话号码查询到同学的条目。 ⑻在开始画面加入简单的菜单便于选择功能。 ⑼文件格式 1.储存数据文件格式 学号姓名性别工作单位电话号码E-mail 1 李四…. …. …. ⑽选做:加入文件加密系统,对储存数据文件进行简单的加密,要求通过直接打开储存数据文件无法获得其中的数据。但同时不影响程序对储存数据文件的调用。 [设计提示] 本程序建议采用结构体类型和文件系统实现。 三、程序设计题目:图书管理系统 [问题描述] 设计一个具有数据插入、修改、删除、显示和查询功能的图书管理程序。 [设计要求] (1)用户登录功能; (2)设计程序运行界面; (3)能用菜单选择各功能。 说明: (1)数据包括:书名、作者、书号、出版社、出版日期和单价; (2)可对图书信息修改; (3)可增加或删除图书信息; (4)可显示所有保存的图书信息; (5)可按书名、作者、书号或出版社进行图书信息的查询。 四、职工信息管理系统设计 1. 目的: (1)要求学生熟练掌握C语言的基本知识和编程技能; (2)基本掌握结构化程序设计的基本思路和方法; 2. 要求 基本要求: (1)试设计一个职工信息管理系统,使之能提供以下功能: (2)系统以菜单方式工作

大班体育游戏:猜拳跨步

大班体育游戏:猜拳跨步 活动目标: 1.遵守游戏规则,学习正确的猜拳与跨步。 2.两两合作,配合协调。 活动准备: 场地上贴好起止线、红蓝标记若干、课件。 活动过程: 1.热身操。(队形:半圆形,看到每一个幼儿) 喜欢运动吗?这儿有一段适合的音乐,找个空的地方跟着我一起动起来! 2.谈话导入。 哇,运动的感觉真好!知道吗?我小时候除了和你们一样喜欢做运动,还喜欢玩各种有趣的游戏。比如老鹰捉小鸡、跳房子、踢毽子,还有猜拳跨步。你们想玩吗?今天,我们就来玩一个猜拳跨步的游戏,好吗? 3.教师讲解游戏规则及玩法(队形:两竖排,让每一个幼儿看清楚游戏的玩法) 1 ————来源网络整理,仅供供参考

(1)玩这个游戏必须会猜拳会跨步,你们都会吗? ①猜拳怎么猜?剪刀赢?布赢?石头赢?非常清楚,真棒! ②跨步会吗?试试看?跨得又大又稳,真不错! (2)怎么玩呢?请一个孩子和我一起先来玩一下!看仔细,我们是怎样玩的! 这是起跑线,那是终点线。两个人站在起跑线上,然后猜拳,谁赢了,谁就往前跨一步,跨好后站着不能动,然后继续猜拳,最先到达终点的就是胜利者。明白了吗? 注意:只有猜拳胜出的才能向前跨一步,然后向原地后转再进行猜拳,没有决定胜负前,不能移动。 (3)我和他谁会先到到终点呢?请看仔细! 4.幼儿自主游戏2遍,教师观察指导。 (1)幼儿第一次两两合作玩游戏。 知道怎么玩了吗?找一个朋友,一起来玩一玩! (2)交流遇到的问题,重申活动规则。 刚才玩的时候有没有遇到什么问题?谁来说一说? (3)幼儿第二次两两合作玩游戏。 只有遵守规则,才能玩得快乐。换个朋友再来玩一玩。 ————来源网络整理,仅供供参考 2

动画与游戏设计-课程设计报告

《动画与游戏开发》 课程报告 学号:111102020103 姓名:张慧 专业班级:11级计科本01班 日期:2013-12-9

电子信息工程学院 目录 一、课程内容及应用领域 1.1基于DirectX的粒子系统 (3) 1.1.1 粒子系统简介 (3) 1.1.2广告板技术 (3) 1.1.3粒子系统的基本原理 (3) 1.2粒子系统的应用领域 (3) 二、课程内容的难点、疑点 2.1课程要点 (4) 2.2课程难点 (4) 2.3课程疑点 (4) 三、实例开发 3.1实例题目及说明 (4) 3.2关键技术 (5) 3.2.1系统完成的四部曲 (5) 3.2.2星光粒子结构构成技术 (5) 3.2.3 MyPaint()绘图函数 (5) 3.3开发过程 (9) 3.3.1案例所需背景图 (10) 3.3.2程序部分代码 (10) 3.3.3运行结果截图 (15)

3.4总结..........................................................17四、谈谈自己对课程内容的掌握程度

一、课程内容及应用领域 1.课程内容:基于DirectX的粒子系统 相关内容简介: (1)粒子系统简介 粒子系统是三维图形编程领域中用于实现特殊效果的一种非常重要的技术.该技术是由Reeves于1983年首次提出来的.通过粒子系统可以使用非常简单的粒子来构造复杂的物体,它为模拟动态的不规则物体,提供了强有力的技术手段。一般情况下,粒子的几何特征十分简单,可以用一个像素或一个小的多边形来表示.如果给出了粒子中心点的坐标和粒子大小,不难计算出绘制粒子所需要的四个顶点的位置坐标. (2)广告板技术 由于通常使用平面图形而不是立体图形表示一个粒子,所以需要使用的粒子四边形始终面向观察者.这就要使用广告板技术.广告板技术的原理是,在渲染一个多边形时,首先根据观察方向构造一个旋转矩阵,利用该矩阵旋转多边形使其面向观察者,如果观察方向不断变化,就要不断旋转多边形. (3)粒子系统的基本原理 粒子通常都是一个带有纹理的四边形。我们通过这个使用了纹理映射的四边形,可以认为粒子实际上是一个很小的网格模型,只不过是纹理赋予了它特殊的外表罢了。绘制粒子就如果绘制多边形一样简单,因为一个粒子说白了就是一个可改变大小并映射了纹理的四边形罢了。 粒子系统由大量的粒子构成,粒子是一种微小的物体,每个粒子都具有一定的属性,如位置、大小以及纹理,可能还需要颜色、透明度、运动速度、加速度、生命期等属性。我们可以把粒子想象成颗粒状的物体,如雪花,雨滴,沙尘,烟雾等特殊的事物。又比如游戏中的

c++课程设计报告-掷骰子游戏

目录 一、课题设计的内容与主要功能............. 错误!未定义书签。题目内容 ............................... 错误!未定义书签。 功能.................................. 错误!未定义书签。二.课题分析 ............................ 错误!未定义书签。项目的实现方法 ......................... 错误!未定义书签。 类的声明.............................. 错误!未定义书签。 》 核心算法及其实现代码.................... 错误!未定义书签。程序流程图 ............................. 错误!未定义书签。三.主要功能的实现步骤................... 错误!未定义书签。四.程序测试 ............................ 错误!未定义书签。测试计划 ............................... 错误!未定义书签。测试过程 ............................... 错误!未定义书签。 五、总结 (12) 六、参考书籍 (14) 【 七、附件 (15) 程序的源代码........................... 错误!未定义书签。评分表 (27)

一、课题设计的内容与主要功能 题目内容 ` 编写程序实现投掷双骰子游戏,游戏规则为:游戏者每次投掷两颗骰子,每颗骰子是一个正方体,有6面上面分别标有1、2、3、4、5、6个圆点,当骰子停止时,将每颗骰子朝上的点的数相加,在第一次投掷骰时, 如果所得到的和为7或11,那么游戏者为赢得胜利; 如果所得到的和为2、3或12,那么游戏者为输掉了;如果和为4、5、6、8、9或10,那么为游戏者的点数;如要想赢得胜利,必须继续投掷骰子,直到取得自已的点数为止, 但是如果投掷出的和为7或者连续投掷了6次仍未赚得点数,那么游戏者为输了。 功能 该游戏的主要功能为:实现随机投掷两个骰子把其所得点数相加,然后根据点数和判断玩家的输、赢或平局。在游戏中有1.获得帮助 2.玩一手游戏 3.退出游戏三个提示,分别为玩家提供帮助指示、选择进入新的游戏、退出当前的游戏并为该局游戏显示游戏结果。 二.课题分析

C语言课程设计题目汇总

目录 题目6:通讯录程序设计(限2人)........................................................................................................................................... 题目10:机房机位预定系统(限2人)..................................................................................................................................... 题目13:工资纳税系统............................................................................................................................................................. 题目41:条件编译.....................................................................................................................................................................

题目6:回文数的形成............................................................................................................................................................... 杨顺民题目 C语言程序课程设计题目 题目1:年历显示 功能要求: (1)输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间。(2)输入年月,输出该月的日历。 (3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。 题目2:小学生测验 面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。 功能要求: (1)电脑随机出10道题,每题10分,程序结束时显示学生得分; (2)确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的; (3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案; (4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分; (5)总成绩90以上显示“SMART” ,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN”

unity3d游戏课程设计报告

游戏程序设计课程报告 课程: Unity3D课程设计题目:探索迷宫 班级: 学号: 姓名:

日期:2014.12 一、摘要 1 UNITY游戏是一种新型的IT引擎。我们研究主要内容是UNITY游戏设计方法。指以游戏客户端软件为信息交互窗口的旨在实现娱乐、休闲、交流和取得虚拟成就的具有可持续性的个体性单人游戏。 本报告主要讲述了这个小游戏的设计思路及初步使用Unity3D软件 的感受和总结。设计过程中,首先建立自己想要的模型,然后在此基础上进行需求迭代,详细设计时不断地修正和完善,经过测试阶段反复调试和验证,最终形成达到设计要求的小游戏。 基于UNITY基础,构建了一个益智游戏风格的游戏,并有主角与关卡、游戏逻辑、游戏环境界面等设计,使得玩家可以在场景中进行寻找神龛的冒险游戏。 本游戏的控制很简单,及用键盘的W ASD及SPACE五个控制人物的上下左右跳跃五个方向,用户根据自己的战略方式选择寻找油桶点亮煤油灯然后寻找神龛。

二、概述 《UNITY游戏程序设计》这一课程以大作业形式进行考核,能更好地锻炼学生综合运用本课程所授知识的能力。大作业主要内容为设计完成面向某一主题内容的游戏演示程序。 自选游戏主题,并根据所选定的主题内容设计一个典型的游戏场景及玩家逻辑,其中包含主角与关卡,游戏逻辑,游戏环境界面与交2 互过程等的设计;开发完成与设计相符的游戏Demo。 要求使用Unity3D游戏开发软件实现上述游戏Demo。 三、具体要求 1、每人单独完成,特殊可由多人合作完成。 2、游戏主题自拟。 3、根据所设游戏主题、场景及玩家逻辑,实现完成相应的游戏Demo,并撰写设计开发报告。 四、设计主题 基于视频教程“平衡球”的基础,构建了一个益智游戏风格的游戏,并有主角与关卡(一关)、游戏逻辑(触碰油桶、神龛)、游戏环境界面(通道)等设计,使得玩家可以在场景轨道中进行吃油桶、神龛的冒险游戏。 五、设计思路 本游戏以几个环环相扣的通道作为人物运动的轨迹,在通道上分

C语言课程设计参考题目 (1)

C语言课程设计参考设计题目 1、学生信息管理 (1)问题描述 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能: ●系统以菜单方式工作 ●学生信息录入功能(学生信息用文件保存)---输入 ●学生信息浏览功能——输出 ●查询、排序功能——算法 1、按学号查询 2、按姓名查询 ●学生信息的删除与修改(可选项) (2)功能要求 ●界面简单明了; ●有一定的容错能力,比如输入的成绩不在0~100之间,就提示不合法,要求重新 输入; ●最好用链表的方式实现。 (3)算法分析 首先,一个学生包括这么多的属性,应该考虑定义一个结构,其次,我们应该考虑数据的存储形式:是定义一个数组来存储,还是定义一个链表呢?在这里假如我们以数组的方式来存储,当然可以,但是我们知道,假如我们定义一个数组的话,我们首先必须知道学生人数大概是多少,以便我们确定数组的大小,但是题目中没有给出,而且题目要求中有大量的删除、插入操作,所以用链表的方式比较方便。 对于菜单的实现,其实也比较简单,首先我们用printf语句把程序的功能列出来,然后等待用户输入而执行不同的函数,执行完了一个功能后又回到菜单。文件的读写操作大家参照书中的有关文件的章节。 2、学生综合测评系统 每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。 A、学生信息处理 (1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。 提示:学生信息可先输入到数组中,排序后可写到文件中。 (2) 插入(修改)同学信息: 提示:先输入将插入的同学信息,然后再打开源文件并建立新文件,把源文件和输入的信息合并到新文件中(保持按学号有序)若存在该同学则将新记录内容替换源内容, (3) 删除同学信息: 提示:输入将删除同学号,读出该同学信息,要求对此进行确认,以决定是否删除将删

猜拳小游戏

#include #include #include #include #define TRUE 1 typedef struct { char name[30]; //用户名长度最长28 char password[30]; //密码长度最长28 double money; int times; int win; }game_t; //清空缓存 void fflush_in(); //登录菜单函数 void log_menu(); //功能菜单函数 void ctrl_menu(); //登录函数 int log_in(game_t *p,int *count,int *my); //注册函数 int add_user(game_t *p,int *count); //登录控制函数 void log_ctrl(game_t *p,int *count,int*my); //功能控制函数 void ctrl(game_t *p,int *count,int *my); //查看函数 void look(game_t *p,int *count,int *my); //查看菜单 void look_menu(); //查看所有 void look_all(game_t *p,int *count); //查看个人 void look_my(game_t *p,int *my); //初始化函数 int log_start(game_t *p,int *count); //保存函数 int exit_save(game_t *p,int *count); //充值函数 int pay(game_t *p,int *my); //修改函数 void alter(game_t *p,int *count,int *my); //修改菜单

大学课程设计报告小小打字游戏设计-课程设计报告

2016-2017学年第一学期 《Windows程序设计》 课程设计报告 题目:小小打字游戏设计 专业: 班级: 姓名: 指导教师: 成绩: 二0一六年十一月十五日

目录 1 设计内容及要求 (1) 1.1 设计内容 (1) 1.2 系统功能 (1) 1.3 信息存储功能 (1) 2 系统设计 (1) 2.1 数据库设计 (1) 2.1.1 GameUser表 (1) 2.1.2 GameInfo表 (2) 2.2 游戏系统设计 (2) 2.2.1 程序项目设计 (2) 2.2.2 功能模块设计 (2) 3 C#系统实现 (5) 3.1 类图 (5) 3.2 核心代码 (6) 3.3 MySqlConn类 (10) 3.4 MainForm类 (11) 3.5 菜单事件 (12) 3.6 窗体键盘事件 (13) 3.7 MyRandom类 (15) 3.8 Program类 (16) 4 总结 (17) 4.1 收获 (17) 4.2 反思 (17) 5 参考文献: (18)

1 设计内容及要求 1.1 设计内容 软件名称:小小打字游戏 需求分析:使用VS2010开发环境,用C#语言编写一个打字游戏,游戏界面随机出现下落的A到Z的26个字母,当用户按下相应的键,游戏屏幕上正在下落的字母就会被消除,游戏分数将相应增加。 1.2 系统功能 (1)、登录功能:启动软件,出现登录界面,用户输入账号密码,正确后方可进入游戏; (2)、注册功能:不存在的用户,可以注册; (3)、软件互斥:通过创建互斥变量,使打字游戏软件只能单独开启一个; (4)、游戏控制:按F1开启游戏,F2暂停游戏,F3继续游戏,F4使用游戏积分兑换生命值; (5)、游戏显示:游戏窗口随机下落颜色不定的A到Z 26个字母,并根据游戏得分实时增加字母下落的速度; (6)、游戏操作:按下键盘上的A-Z 26个字母键,游戏窗口上正在下落的对应字母被消除,并使游戏分数增加1; (7)、数据保存和清除:使用数据库保存用户的游戏数据,并可调用数据库数据显示在游戏界面上显示,管理员账号可以清除游戏数据记录; (8)、游戏界面信息显示:显示相应的游戏状态信息,暂停游戏提示,结束游戏提示以及游戏排名。 1.3 信息存储功能 需要存储的信息: (1)游戏分数、(2) 游戏等级、 (3) 用户、 (4)密码、(5)游戏开始时间、(6)游戏结束时间。 2 系统设计 2.1 数据库设计 2.1.1 GameUser表 表1 GameUser表

2048小游戏java课程设计报告书

《JA V A语言程序设计》 课程设计报告 2048智力小游戏设计 专业班级:计算机科学与技术嵌入13-1 学生姓名:卓海有 学生学号: 小组成员:单建飞堵文斐李栋承梅孔伟指导教师姓名:宋强

目录 1.前言 (1) 2.游戏需求分析 (1) 需求分析 (1) 可行性分析 (2) 3.概要设计 (3) 4.详细设计 (4) 流程图 (4) 界面的整体布局 (4) 方法模块分析 (5) 5.测试 (8) 6.总结 (10) 6.参考文献 (10) 7.部分源代码: (10)

一、前言 最近以来,移动手游越来越成为当下游戏产业中重要的一环,市场也在加大对这一产业的投入,涌现出了愤怒的小鸟,水果忍者,flappy bird,2048等诸多优秀的手游,然而任何一款手游能够风靡,主要还是依靠其简单的操作性,因此本次java课设我选择其中的典型2048PC版作为本次课设的课题。 2048游戏规则很简单,玩家每次可以选择上下左右其中一个方向去移动,每移动一次,所有的数字方块都会往移动的方向靠拢外,系统也会在空白的地方随机出现一个数字方块,相同数字的方块在靠拢、相撞时会相加。系统给予的数字方块不是2就是4,玩家要想办法在这小小的16格范围中凑出“2048”这个数字方块。 二、游戏需求分析 需求分析 现代社会对休闲小游戏的需求是:提高游戏的操作可行性,降低游戏的操作难度,降低游戏的上手难度,降低游戏的竞争需求,对使用设备的要求趋于简单化和多样化,游戏界面更加人性化,功能更加贴合使用。 (1)界面 一款的好的游戏其界面必须友好,简洁已经成为当今UI设计的主流,简单易上手才能得到玩家的青睐。 (2)功能需求 能够显示游戏的当前得得分,并记录游戏的最高分并显示,当在次打开游戏时,能够显示最高分;在游戏进行的过程中循环播放音乐,并能够关闭音乐或者打开音乐;游戏的主界面上,相同的数字要显示相同的颜色。游戏结束要有相应的提示。游戏的主要目的是通过上下左右移动来将相邻相同的数字相加,通过不断地累加最终加到2048。 (3)操作性需求 游戏的体验是衡量一款游戏的关键,本游戏可通过键盘w,s,a,d以及方向键来控制方块的移动,还可以通过在游戏的主面板中向上下左右拖动鼠标

中国地质大学C语言课程设计题目(附参考代码)

C语言课程设计题目 选题一(起评分100分) 高考招生录取程序 已知文本文件f1.txt中存放了某个省当年参加高考的1000个考生的数据(考号、姓名、性别和考试成绩),存放格式是每行存放一个考生的数据,每个数据之间用空格隔开。 假定当年该省的招生计划是:一类本科招生计划为10%;二类本科招生计划为15%;三类本科招生计划为20%;四类高职高专招生计划为25%。 请编写程序,实现以下功能: (1)划定各批次录取分数线,结果可屏幕显示,也可存入文件。 (2)能够统计各批次中男生,女生的录取比例。统计结果可屏幕显示,也可存入文件。 (3)确定每名学生的录取情况及录取批次。 (4)考生可以根据考号或姓名(支持重名)查询自己的成绩及录取情况; 说明: ①系统程序要有界面 ②存入文件的数据,每行存一种数据,每行之间的不同信息用空格分隔。 选题二(起评分85分) 《C语言课程设计与学习指导》第4章题目或第5章题目任选其一 成绩评定方式 平时考勤:20% 考试(即程序考核及检查):40% 实习报告:40% 违规违纪处理 出现以下6种情况中的任何一种,整个课程设计的成绩直接认定为不及格: 1.考勤抽查出现3次(含)不在的情况; 2.上机从事玩游戏、看电影等活动被抓住2次(含)的情况; 3.程序检查被认定为抄袭的情况; 4.实习报告被认定抄袭或雷同的情况; 5.不参加考试(即程序考核及检查)的情况 6.不交实习报告的情况。

C语言课程设计报告撰写要求 1 内容要求 整个报告由六个部分构成: ①课设题目 ②题目分析 ③设计思路 ④实现结果 ⑤课设总结 ⑥附录(源代码) 2 篇幅要求 ①-⑤合计不低于8页,⑥不低于8页。 篇幅没有上限要求,但原则上要求不超过25页。 标题字体字号格式:宋体,三号,加黑,单倍行距。 正文字体字号格式:宋体或Times New Roman,五号,单倍行距。 3 撰写要求 严谨出现抄袭。 严谨出现雷同。 报告出现抄袭或雷同的,整个课程设计成绩一律按不及格论处。 4 其它 封面格式附后。

这是一个简单的猜拳游戏

这是一个简单的猜拳游戏(剪子包子锤),让你与电脑对决。你出的拳头由你自己决定,电脑则随机出拳,最后判断胜负。 下面的代码会实现一个猜拳游戏,让你与电脑对决。你出的拳头由你自己决定,电脑则随机出拳,最后判断胜负。 代码实现: #include #include #include int main() { char gamer; // 玩家出拳 int computer; // 电脑出拳 int result; // 比赛结果 // 为了避免玩一次游戏就退出程序,可以将代码放在循环中 while (1){ printf("这是一个猜拳的小游戏,请输入你要出的拳头:\n"); printf("A:剪刀\nB:石头\nC:布\nD:不玩了\n"); scanf("%c%*c",&gamer); switch (gamer){ case 65: //A case 97: //a gamer=4; break; case 66: //B case 98: //b gamer=7; break; case 67: //C case 99: //c gamer=10; break; case 68: //D case 100: //d return 0; default: printf("你的选择为%c 选择错误,退出...\n",gamer); getchar(); system("cls"); // 清屏 return 0; break;

} srand((unsigned)time(NULL)); // 随机数种子 computer=rand()%3; // 产生随机数并取余,得到电脑出拳 result=(int)gamer+computer; // gamer 为char 类型,数学运算时要强制转换类型 printf("电脑出了"); switch (computer) { case 0:printf("剪刀\n");break; //4 1 case 1:printf("石头\n");break; //7 2 case 2:printf("布\n");break; //10 3 } printf("你出了"); switch (gamer) { case 4:printf("剪刀\n");break; case 7:printf("石头\n");break; case 10:printf("布\n");break; } if (result==6||result==7||result==11) printf("你赢了!"); else if (result==5||result==9||result==10) printf("电脑赢了!"); else printf("平手"); system("pause>nul&&cls"); // 暂停并清屏 } return 0; } 代码分析 1) 首先,我们需要定义3个变量来储存玩家出的拳头(gamer)、电脑出的拳头(computer)和最后的结果(result),然后给出文字提示,让玩家出拳。 接下来接收玩家输入: scanf("%c%*c",&gamer); 注意:由于每次输入以回车结束,缓冲区中除了玩家输入的字母,还有回车符。回车符要跳过,以免影响下次输入。Scanf() 函数的格式控制字符串个数可以多于参数个数,scanf("%c%*c",&gamer);的作用是从缓冲区多输出一个字符(回车符),却不赋给任何变量。 玩家输入结束,使用switch 语句判断输入内容,65(A)、97(a)、66(B)、98(b)、67(C)、99(c)、68(D)、100(d)为相应字符的ASCII码。 注意:system("cls"); 语句的作用是清屏。System() 函数用来执行dos 命令,这里相当于在dos 里输入cls命令。 2) 玩家出拳结束,电脑开始出拳。

相关文档