猜单词游戏程序设计报告

猜单词游戏程序设计报告
猜单词游戏程序设计报告

程序设计报告

(2010/2011学年第一学期)

题目:猜单词游戏

专业网络工程

学生姓名杜昊阳

班级学号 B09011422

指导教师徐小龙

指导单位计算机学院·计算机科学与技术系

日期 2010年11月5日

南京邮电大学

程序设计

指导教师成绩评定表

猜单词游戏

一、 课题内容和要求

一)课题内容

要求用C 或C++模拟猜单词游戏。游戏包括:单词管理、玩家纪录、猜词过程、系统设置等必须完成的基本功能以及成绩计算、猜词时间限制、词库管理等选做的扩展功能。通过该课题全面熟悉数组、字符串、文件的使用,掌握程序设计的基本方法及友好界面的设计。

(二)课题要求

(1) 单词管理:程序中用来做谜题的单词必须存放在磁盘文件中,文件中的单词数不得少于200个。

(2) 玩家纪录:程序要求记录前五名成绩。成绩指标自行设计,必须包括时间。记录的时候要求有排名、玩家姓名、成绩三项,并保存在文件中。在程序开始运行的时候就必须读入,以便随时供玩家查询、及时更新成绩。

(3) 猜词过程:①先请用户输入猜的单词数量,可以有一个默认值。②随机抽取单词,对每个单词,系统根据谜底单词长度在屏幕上显示相应个数'-',假设谜底单词为"hello",则在屏幕上输出"-----"。③玩家输入一个字母进行猜测,如果这个字母不在单词中,系统提示玩家不对;如果猜对字母,比如玩家输入了一个'l',则在屏幕上输出"--ll-"。④重复③,直到玩家在规定的次数内猜出了单词或者超过次数游戏失败。⑤显示玩家每个单词猜对与猜错次数等统计信息。如果玩家猜出单词,计算成绩,如进入前五名提示玩家并记录存储到记录文件中。⑥询问玩家是否开始新一轮猜词,如果玩家选“否”,则系统退到外面的菜单。

(4) 系统设置:猜词次数可以为默认值。玩的时候,可以对其进行修改。

二、 需求分析

功能框架图如右:

1、提供可操作的主菜单:输出4个菜单,用于显示若干个可选的功能选项。根据

玩家输入的选项来运行不同的功能,运行不同的函数。

2、进行文本信息的载入:从指定的文件中以一维数组形式加载游戏玩家记录信息

这里的文件是在编译时就已经指定好的、存在的文本,需设计者预先自己建立

好。

3、设置游戏功能:以客户输入的猜单词游戏次数和猜的单词数目进行游戏功能的

个性化修改。

4、猜词过程:随机抽取单词,对每个单词,系统根据谜底单词长度在屏幕上显示

相应个数'-'。玩家输入一个字母进行猜测,如果这个字母不在单词中,系统提

示玩家不对;如果猜对字母,则替换单词中相应位置的“-”。直到玩家在规定

的次数内猜出了单词或者超过次数游戏失败。显示玩家每个单词猜对与猜错次

数等统计信息。如果玩家猜出单词,计算成绩,满足进入记录前五名的记录写

入到记录文件中覆盖原纪录。询问玩家是否开始新一轮猜词,如果玩家选“否”,

则系统退到外面的菜单。

5、查看更新过的游戏排行榜:退回主界面选3,打开之前进行游戏时重新写入过

的记录文件。

三、概要设计

1、主要结构体/类:

struct Player

{

char name[20]; //玩家姓名

int right; //猜对的字母

int wrong; //猜错的字幕

int time; //猜单词的时间

};

class ByTime

{

private:

clock_t start;

public:

ByTime()

{

start=clock(); //开始计时

}

~ByTime(){}; //析构函数

void Endtime()

{

clock_t end;

end=clock(); //结束计时

times=(end-start)/CLOCKS_PER_SEC; //计算时间

cout<<"共用时:"<

}

};

2、主要函数:

(1)文件打开函数void OpenWordFile(char string[200][12]):设计思想一致,用于打

开单独储存的单词库及游戏记录txt文件。

(2)设置函数void set(),void Setgame:用于设置游戏中猜单词的次数与数目。

(3)“玩游戏”函数:void PlayGame (char wordlist[200][12]):用于对玩家输入的字

母进行处理与判断

“开始游戏”函数void StartGame (char wordlist[200][12]):将OpenWordFile (str); (4)

Change (wordlist,str);PlayGame(wordlist)等函数统一调用

(5)记录显示函数void Show():用于将写入过新纪录的文件显示到屏幕上。

(6)记录读入函数void Record():将最新的游戏成绩记录通过文件读写,从内存中保存

到原文本文件中

四、源程序代码

#include

#include

#include

#include

#include

#include

void OpenWordFile(char string[200][12]);

void PlayGame(char wordlist[200][12]);

void Change(char wordlist[200][12],char str[200][12]);

void StartGame (char wordlist[200][12]);

int round;

void Set()

{

printf("请输入您想猜的单词数:");

scanf("%d",&round);

}

struct Player

{

char name[20];

int right;

int wrong;

int time;

};

typedef struct Player Player;

Player

p[5]={{1,"unknown",0,0,0},{2,"unknown",0,0,0},{3,"unknown",0,0,0},{4,"unknown ",0,0,0},{5,"unknown",0,0,0}};

Player temp;

int right=0,wrong=0;

int times;

class ByTime

{

private:

clock_t start;

public:

ByTime()

{

start=clock();

}

~ByTime(){};

void Endtime()

{

clock_t end;

end=clock();

times=(end-start)/CLOCKS_PER_SEC;

cout<<"共用时:"<

}

};

void OpenWordFile (char string[200][12])

{

FILE *fp;

char c;

int i=0;

int j=0;

if((fp=fopen("word.txt","r"))==NULL) //读文件{

printf("单词库无法打开!\n");

exit(0);

}

else

{

c=fgetc(fp);

while(c!=EOF)

{

if(c!='\n')

{

string[i][j]=c;

j++;

}

else

{

i++;

j=0;

}

c=fgetc(fp);

}

}

}

int guesstime=10;

void SetGame ()

{

printf("请输入你想猜的次数:");

scanf("%d",&guesstime);

}

void PlayGame (char wordlist[200][12])

{

char guess; //存用户打入的字母

char guessword[12]; //存用户打入的词

int l,j,k,f;

int p=1,q=0,x=0,y=0;

char WrongGuess[12];

int t=0;

int flag=0;

int c=1; //用来查看是否猜对所有字母

srand(time(NULL));

q=rand()%200;

l=strlen(wordlist[q]); //求单词长

for(f=0;f

{

guessword[f]='-';

}

guessword[l]='\0'; //字符串结尾

printf("%s",guessword);//打印与词长相同的"-"

for(k=1;k<=guesstime && c!=0;) //判断是否猜完

{

flag = 0;

printf("你还有%d次机会!\n",guesstime-k+1);

scanf(" %c",&guess);

for(j=0;j

{

if(guessword[j]=='-' ) //判断是否猜过这个字母

{

if(wordlist[q][j]==guess||wordlist[q][j]-guess==32) //如果单词中有这个字母

{

guessword[j]=wordlist[q][j];//在空单词中打入这个字母

x++;

flag = 1;

}

}

else if(guessword[j]==guess||guessword[j]-guess==32) //如果猜过这个字母则提示(仅提示猜过的正确的字母)

{

printf("你已经输入过这个字母了。\n");

break;

}

}

if(flag == 0) //如果单词中没有这个字母

{

WrongGuess[t] = guess ;

t++;//guessword[j]='-'; //在空单词中打入‘-’

}

printf("%s",guessword);

if(x>y)

y=x;

else

k++;

c=strcmp(guessword,wordlist[q]);

}

if(c==0){

printf("\nHow smart you are! 你成功猜出了这个单词!\n正确单词就是:%s",wordlist[q]);

right++;

}

if(c!=0)

{

printf("\nSorry... 你已经超过了规定的次数,挑战失败了...\n正确单词

是:%s",wordlist[q]);

wrong++;

}

printf("你猜对了%d个字母,猜错了%d个字母。\n",x,k-1);

WrongGuess[t] = '\0';

printf("错误字母分别是%s\n",WrongGuess);

}

void Change (char wordlist[200][12],char str[200][12]) {

int i,j;

for(i=0;i<200;i++){

for(j=0;j<12;j++){

wordlist[i][j]=str[i][j];

}

}

}

void Input()

{

printf("请先输入您的大名:");

scanf("%s",https://www.360docs.net/doc/b311486505.html,);

}

void Result()

{

temp.right=right;

temp.wrong=wrong;

}

void Time()

{

temp.time=times;

}

void Compare()

{

int i,j,k;

for(i=0;i<6;i++){

if(temp.right>p[i].right) {

for(j=5;j>i;j--) {

for(k=0;k<20;k++) {

p[j].name[k]=p[j-1].name[k];

}

p[j].right=p[j-1].right;

p[j].wrong=p[j-1].wrong;

p[j].time=p[j-1].time;

}

for(k=0;k<20;k++){

p[i].name[k]=https://www.360docs.net/doc/b311486505.html,[k];

}

p[i].right=temp.right;

p[i].wrong=temp.wrong;

p[i].time=temp.time;

break;

}

}

}

void Record()

{

int i;

FILE *fp;

fp=fopen("record.txt","r+");

if(!fp)

{

printf("游戏记录无法打开!");

exit(1);

}

fprintf(fp,"名次\t姓名\t\t成绩:猜对 or 猜错)\t时间(s)\n");

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

fprintf(fp,"%d\t%s\t\tRight:%d

Wrong:%d\t%d\n",i+1,p[i].name,p[i].right,p[i].wrong,p[i].time);

}

fclose(fp);

}

void Show()

{

int i;

FILE *fp;

fp=fopen("record.txt","r");

if(!fp)

{

printf("游戏记录无法打开!\n");

exit(1);

}

fprintf(stdout,"名次\t姓名\t\t成绩(猜对猜错)\t时间(s)\n");

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

fprintf(stdout,"%d\t%s\t\tRight:%d

Wrong:%d\t%d\n",i+1,p[i].name,p[i].right,p[i].wrong,p[i].time);

}

fclose(fp);

}

void StartGame (char wordlist[200][12])

{

int p=1;

while(p)

{

int i;

char play;

ByTime t;

for(i=0;i

{

char str[200][12]={0};

printf("请输入你要猜的字母,每次一个,祝你好运哦!\n");

OpenWordFile (str);

Change (wordlist,str);

PlayGame(wordlist);

}

t.Endtime();

temp.time=times;

temp.right=right;

temp.wrong=wrong;

Compare();

Record();

printf("是否再玩一次?(Y/N)\n");

scanf(" %c",&play);

if(play!='n')

continue;

else

break;

printf("\n");

}

}

void Menu();

void main()

{

int p=1;

Record();

while(p) //使得猜完单词或查看完排行榜后返回主菜单

{

Menu();

}

}

void Menu()

{

int choice;

char wordlist[200][12];

system("title 猜字母游戏———A small game to guess a certain word");

system("color f2");

printf("\n");

printf(" ******************** 猜单词游戏 ******************** \n");

printf(" A small game to guess a certain word. Good Luck! \n");

printf("\n");

printf(" **************************************\n"); printf(" >>>>>>>>>> 1. 开始游戏 <<<<<<<<<<\n"); printf(" >>>>>>>>>> 2. 设置游戏 <<<<<<<<<<\n"); printf(" >>>>>>>>>> 3. 成绩排行 <<<<<<<<<<\n"); printf(" >>>>>>>>>> 4. 退出游戏 <<<<<<<<<<\n"); printf(" **************************************\n"); printf(" 制作人:杜昊阳 B09011422 \n"); printf("\n");

printf("请输入你的选择:");

scanf("%d",&choice);

while(choice<1||choice>4)

{

printf("Please choice 1--4 again\n");

scanf("%d",&choice);

}

switch (choice) //选择

{

case 1:

Set();

Input();

StartGame (wordlist);//调用游戏函数

break;

case 2:

SetGame ();//调用设置函数

Set();

Input();

StartGame (wordlist);

break;

case 3:

Show();

break;

case 4:

exit(0);

}

}

五、测试数据及其结果分析

显示的主菜单界面:

******************** 猜单词游戏 ********************

A small game to guess a certain word. Good Luck!

**************************************

>>>>>>>>>> 1. 开始游戏 <<<<<<<<<<

>>>>>>>>>> 2. 设置游戏 <<<<<<<<<<

>>>>>>>>>> 3. 成绩排行 <<<<<<<<<<

>>>>>>>>>> 4. 退出游戏 <<<<<<<<<<

**************************************

制作人:杜昊阳 B09011422

请输入你的选择:

1、查看之前的游戏成绩排行榜;

2、设置游戏;

3、开始猜单词游戏;

4、进行游戏;

5、游戏记录保存;

6、查看游戏结束后更新过的成绩排行榜;

1、查看之前的游戏成绩排行榜:

输入:3

输出:

名次姓名成绩:猜对 & 猜错时间(s)

1 unknown Right:0 Wrong:0 0

2 unknown Right:0 Wrong:0 0

3 unknown Right:0 Wrong:0 0

4 unknown Right:0 Wrong:0 0

5 unknown Right:0 Wrong:0 0

2、设置游戏:

输入:2

输出:请输入你想猜的次数:

输入:20

输出:请输入你想猜的单词数:

输入:2

输出:请先输入您的大名:

输入:Adu

输出:请输入你要猜的字幕,每次一个,祝你好运哦! ---- 你还有20次机会!

3、开始猜单词游戏:

4、进行游戏:

输出:请输入你要猜的字母,每次一个,祝你好运哦! ---- 你还有20次机会!

输入:a

输出:---- 你还有19次机会

输入:f

输出:---- 你还有18次机会

输入:l

输出:--l- 你还有18次机会

输入:r

输出:--l- 你还有17次机会

输入:h

输出:h-l- 你还有17次机会

输入:t

输出:h-l- 你还有16次机会

输入:l

输出:你已经输入过这个字母了

h-l- 你还有15次机会

输入:p

输出:h-lp 你还有15次机会

输入:e

help

How smart you are! 你成功猜出了这个单词

正确单词就是:help 你猜对了4个字母,猜错了4个字母。错误字母分别是:afrt

共用时:23秒

是否在玩一次?(Y/N)

输入:N

输出:请输入你的选择:

5、游戏记录保存:

6、查看游戏结束后更新过的成绩排行榜:

输入:3

输出:

名次姓名成绩:猜对 & 猜错时间(s)

1 Adu Right:1 Wrong:0 23

2 unknown Right:0 Wrong:0 0

3 unknown Right:0 Wrong:0 0

4 unknown Right:0 Wrong:0 0

5 unknown Right:0 Wrong:0 0

7、退出程序:

输出:请输入你的选择:

输入:4

输出:Press any key to continue

结果分析:

1、当单词库文本和游戏记录文本无法读入时,系统将分别提示:“”、“游戏记录无法打开!”

2、在输入菜单选项时如果输入的内容不是1--4之间的数字,而是其他数字,系统将提示“请重新在1—4中选择”;若输入的为其他字符(字母或符号),系统将自动认为操作结束而退出系统。

3、当猜一个单词的次数超过预定次数时(默认为10次),系统将提示:“Sorry... 你已经超过了规定的次数,挑战失败了... 正确单词是:”

4、当一轮游戏结束后,系统提示:“是否再玩一次?(Y/N)”,选y,重新开始游戏,选n,返回主菜单。

六、调试过程中的问题

1、文件读入问题:文件路径编写不正确,会造成读入失败,使得的程序可以通过编译和链接,但无法正常运行。

2、猜单词次数初始化问题:int round应在Set函数之前定义,应为后续的其他函数还要调用它。

3、判断单词中是否有输入的字母和是否之前是否输入过这个字母用到了多层循环判断的嵌套,不仔细时漏洞、错误百出……

4、统计猜错字母时,要输出的计数器为k-1,而不是k,因为前一步k++为先调用再自增。

5、要使得猜完单词退出后返回主菜单,必须设计一个while循环,否则结束游戏或查看完排行榜后程序自动结束。

6、要在case 2 Setgame函数后加case 1中的所有函数,否则程序无法正常运行。

七、课程设计总结

这次的设计课通过自己动手设计一个较有规模的程序,自己发现问题、解决问题。其中不仅对C和C++的操作有了进一步的掌握,还提高了程序的调试方法,了解到了程序设

程序设计课程设计实验报告

《程序设计》课程设计姓名: 学号: 班级:软件工程14班 指导教师: 成绩:

1.消除类游戏 【问题描述】 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 【基本要求】 现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某一列同时被消除。 输入数据格式: 输入的第一行包含两个整数n,m,用空格分隔,分别表示棋盘的行数和列数。接下来n行,每行m 个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。颜色使用1至9编号。 输出数据格式: 输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。 【测试数据】 为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。 测试数据一 输出说明: 棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。 测试数据二 输出说明: 棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。 【功能实现】 #include #include<> usingnamespacestd;

{ intm,n,i,j; inttemp; cin>>n>>m; temp=m; m=n; n=temp; int*map=newint[m*n]; int*mark=newint[m*n]; int*tmap=map; int*tmark=mark; intdif=0; ount=0; } p rintf("请输入要输入数的个数\n"); s canf("%d",&n);/*输入要输入数的个数*/ f or(i=0;idata1[j+1].number)

汇编课程设计汇本打字游戏

华北科技学院 课程设计说明书 专业:网络工程 课程名称: 汇编课程设计 设计题目: 打字游戏设计 设计时间: 2011-12-05 至2011-12-16 评语: ________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:____评阅教师:___

课程设计报告的要求 1、需求分析 描述问题。简述课题要解决的问题是什么,有什么要求和限制条件。 2、总体设计(程序设计组成框图、流程图) 3、详细设计(模块功能说明(如函数功能、入口及出口参数说明,过程调用关系描述等)) 4、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施 5、测试结果,用几组测试数据进行测试算法设计的正确性。 6、附录。源程序清单和结果:源程序要加注释。结果要包括测试数据和运行结果。 《汇编语言》课程设计案例 一、问题述及其需求分析 要求:利用汇编语言编写一个小的打字游戏 容:编写程序,在打开的菜单页面中选择游戏的难度。 难度选择包括以下5个选择 (1)very slow (2)slow (3)normal (4)fast (5)very fast 在编写过程中包括以下几个部分: (1)初始化上部分的字母 (2)获得下落的字母 (3)字母下移,同时覆盖原来的字母 (4)判断是否有输入 (5)若无输入则下落到最后 (6)覆盖原来的字符

贪吃蛇游戏程序设计实验报告

Windows编程大作业贪吃蛇设计与实现 学校:武汉轻工大学 院系: 班级: 姓名: 学号: 2015年12月16日

目录 一、题目介绍 二、设计目的 三、详细设计 3.1贪吃蛇本体设计 3.2贪吃蛇食物设计 3.3游戏界面设计 3.3.1游戏初始化 3.3.2游戏开始 3.3.3游戏暂停 3.3.4游戏退出 3.3.5游戏总界面 3.3.6游戏区域与背景 3.3.7关于SNAKE 3.4玩法规则设计 3.5核心设计 四、功能测试 五、总结 六、参考文献

一、题目介绍: 编写一个基于MFC的小游戏。 基本要求: 1、实现一个小游戏 2、实现基本游戏控制功能 3、具有游戏数据保存功能 4、界面布局合理、美观; 二、设计目的: 通过使用vc++6.0实现一个小游戏的课程设计,进一步掌握MFC的高级使用方法和锻炼自己动手写程序的能力。了解游戏设计的整个过程,通过熟练使用MFC来设计游戏。程序主要包括:游戏界面设计,游戏菜单栏设计,游戏初始化,游戏控制等。培养和锻炼开发游戏的能力。 三、详细设计 3.1贪吃蛇的本体设计 贪吃蛇的头部拥有一个坐标(x,y),蛇体有一个长度len,蛇有一个运动方向direct,故定义一个结构体如下: struct Snake { int x,y; int len; int direct; }Snake[50]; 3.2贪吃蛇食物设计 贪吃蛇的食物有一个坐标(x,y),此食物有一个标志isfood,当isfood为0时,表示食物还没被吃,为1时,表示被吃。 struct Food { int x; int y; int isfood; }Food; 3.3游戏界面设计 3.3.1游戏初始化 游戏初始蛇体长度为3,颜色为灰色,食物标志为1,因为此时没有显示出食物,需要随机生成后,才置为0;

汇编语言课程设计报告-打字练习程序

提供全套毕业设计,欢迎咨询 汇编语言课程设计报告 程序题目:打字练习程序 学生姓名:XX 班级:2010级计算机科学与技术专业4班学号:XXX 院系:计算机科学学院 指导教师:XXX

目录

1设计目的 本程序运行后,出现主界面,按回车键出现由26个字母组成的乱序行,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失;按回车键进入打字练习;按ESC键返回主界面;按空格键暂停;按‘E’退出。通过课程设计,主要达到以下目的: 1. 增进对汇编语言的认识,加强用汇编语言编程的能力; 2. 掌握汇编语言的中断调用功能的应用,可以用汇编语言调用各种中断调用功能,并由此实现对硬件的控制等; 3. 了解和掌握汇编语言程序设计过程、方法及实现,为以后微机原理课程的学习打下良好基础; 4. 通过课程设计可以使我们更加了解书上的知识,了解书上的语句并且能够应用自己的程序中; 5. 掌握屏幕输出显示的设计方法。 2概要设计 2.1 系统总体分析 根据题目要求可以看到有以下几部分来实现打字练习:1.由26字母乱序组成一行显示行。2.字母自动落下。3.从键盘输入的字母与落下字母相同则该字母消失,并且下一个字母自动接着落下。4.按下“Ese”键则程序返回到主界面。5.按空格键游戏暂停。6.在主界面按“E”则程序退出。打字练习的主要功能由以上六部分组成,每一部分之间的联系都是比较紧密的。对于以上及部分,最主要的部分就是第二三两个部分,这是打字练习的重点,需要详细设计其所需要的功能。 2.2主模块框图及说明

是 否 否 是 是 图2-1程序设计流程图 程序的核心模块是打字,各个模块功能的实现主要是通过键盘输入指令来融合的,主要流程是先到主界面,然后选择你想要进行的指令ENTER 进入打字界面开始打字,E退出程序,空格在打字练习时执行暂停的功能,ESC是从打字界面返回到主界面。核心模块的流程大体如下面的流程图图2-1: 3 详细设计 3.1 主模块及子模块说明 主界面是程序的初始入口,也是其他功能模块的接入点。主模块是打字模块,也是核心模块,主要通过各个键盘符来控制各个子模块之间的协调。子模块分为判断输入字符判断模块(这当中包含两个小的子模块:主界面输入字符判断和打字模块输入字符判断)、暂停模块、退出模块(这当中包含两个小的子模块:打字界面返回主界面模块和主界面退出程序模块)

java课程设计报告--打字游戏

java课程设计报告--打字游戏 Java开发技术课程设计 (打字游戏) 学院:计算机与信息工程学院 学号:****** 姓名: ** 时间:2011年12月14日 一、程序描述 1.1程序设计的目的 通过java开发技术课程的学习,我初步了解了如何运用java语言编写程序。课程结束后,按老师的要求,在查找资料后,我完成了打字练习这个程序。 在这个过程中,主要达到了两个目的,一是检验和巩固专业知识,二是提高综合 课堂上掌握的理论知识与处理数据的素质和能力。通过该程序的编写,可以将我 业务相结合,以检验我掌握知识的宽度、深度及对知识的综合运用能力。 1.2程序设计的要求 (1)程序的界面会随机的出现字母和数字,玩家在键盘上摁相应的键后,界面上的对应的字符就会消失 (2)字符下落的速度可以选择,完成一定量的字符后,显示进入下一关,下一关的速度加快 (3)能统计正确与错误的字符数分别是多少

(4)程序的主界面是能够给玩家第一感官的部分,主要包括程序图形区域界面、程序的显示更新界面。 1.3程序设计的环境 Windows xp操作系统、Myeclipse编辑工具、jdk1.6 二、分析与设计 2.1 游戏处理流程 本次游戏设计的处理流程如下图所示 进入游戏画面 单击“开始”按钮, 游戏开始,字符开始随机。 根据出现的字符按相应的 键,对应一个消失一个(字 符)按对一定字符后将提示 进入下一关,下一关的速度 有所增加。速度也可单独调 节。 没有摁倒相应游戏中途欲中 的键,错误的断,稍后继续 数字将加一游戏 单击“退出” 单击“暂停” 退出游戏游戏暂停 再次单击开始 游戏,游戏恢复 游戏处理流程图 2.2需求分析

游戏C语言实验报告

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录 一、实验目的和要求 .................................................................................................................................................... 二、实验环境、内容和方法 ........................................................................................................................................ 三、程序设计 ................................................................................................................................................................ 四、源代码 .................................................................................................................................................................... 五、调试与运行结果.................................................................................................................................................... 六、总结........................................................................................................................................................................

打字练习游戏程序

摘要 汇编语言(Assembly Language)是面向机器的程序设计语言,汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。在汇编语言中,用助记符(Mnemonic)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。因此汇编语言亦称为符号语言。 关键字:汇编语言、程序设计、助记符

目录 摘要 0 目录 (1) 前言 (2) 第1章系统分析 (3) 第2章系统总体设计 (4) 2.1打字程序包括以下五个子程序: (4) 2.2算法的整体设计思路 (4) 2.3程序的主要特点 (4) 第3章详细设计 (5) 3.1主界面伪代码 (5) 3.2等级界面伪代码 (5) 3.3游戏界面伪代码 (6) 3.4清屏子程序设计 (6) 3.5密码程序设计 (7) 3.6宏代码 (8) 3.6.1在指定位置显示彩色字符串 (8) 3.6.2显示背景 (9) 3.6.3画横向边框的宏 (9) 3.6.4画竖边框的宏 (10) 3.7功能的进一步完善 (11) 3.7.1完善代码一 (11) 3.7.2完善代码二 (12) 3.7.3完善代码三 (12) 第4章软件使用说明书 (14) 4.1密码界面图: (14) 4.2主界面图: (14) 4.3等级选择界面: (14) 4.4游戏界面: (15) 参考文献 (17) 致谢 (18) 源代码: (19)

前言 随着计算机的不断更新发展,计算机在各个领域的应用越来越多,更多的软件开发人员和相关技术人员在程序设计的过程中应用汇编程序或编制汇编语言。而汇编语言作为计算机专业大学生必修课,每个作为本专业的学生对汇编的理解和学习就显得尤为重要。汇编语言是计算机能够提供用户使用的最快而又最好最有效的与言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。因而,对程序的空间和时间要求很高的场合,汇编语言的应用就显得必不可少了,一些直接控制硬件的应用场合,则更是非用汇编语言不可了。 《打字游戏程序设计》课程设计是在教学实践基础上进行的一次大型实验,也是对该课程所学理论知识的深化和提高。因此,要求我们能综合应用所学知识,设计与制造出具有较复杂功能的应用系统,并且在实验的基本技能方面上进行一次全面的训练。通过具体的问题分析、设计、调试、运行程序。在实际问题中锻炼提高自己,增加了对本门课程内容的理解,锻炼了动手能力。就这个程序具体而言:调用宏,显示背景和主界面,通过选择不同的选项,可以进入不同的界面;采用BIOS功能的中断,可以在任何时候退出当前所在的界面并通过选择进入其他的界面。这个程序最终通过菜单所提示的信息选取所要进入的界面,获得所要的功能。

Java程序设计实验报告2(弹球游戏)[1]1

《Java语言程序设计》课程设计 实习报告 题目: 班级: 学号: 姓名: 同组人员: 指导老师:张彬

一、实验目的 1、掌握Swing图形用户界面编程以及事件处理等,掌握java绘图技术。 2、掌握多线程编程的基本原理,能使用Runnable、ExecutorService等接口进行 线程的创建、启动等工作。 3、培养独立查找资料,并解决问题的能力。 二、实验任务 1、设计并编程实现弹球游戏: 用户能通过GUI组件指定生成小球的数量,每个小球将从随机的位置出现,并具有随机颜色,随机速度以及随机的运动方向,小球沿初始方向匀速运动,当碰到窗口边缘时,小球将依据受力原理改变运动方向(可简化考虑,受力只改变小球的运动方向,小球仍按照初始速度匀速运动,且不考虑小球之间的碰撞)。 鼠标在界面中显示为方块状,玩家需按住鼠标来回移动以避开运动的小球及屏幕四周,如果鼠标碰到任一小球或者窗口四周,则游戏结束。 程序需提供计时功能,并最终显示玩家能坚持多少秒。 2、程序要求: (1)具备相应界面,并通过事件编程,实现相应的GUI组件功能。 (2)使用多线程技术,在程序窗口区域绘制小球,并以线程控制小球的移动,实现动画效果。 (3)实现鼠标与屏幕四周,以及与小球的碰撞检测。 三、开发工具与平台 1.开发工具:Eclipse默认是一个和Jbuilder类似的Java开发工具,但它不仅仅只

是Java开发工具,只要装上相应的插件,eclipse也可作为其它语言的开发工具。如C/C++插件(CDT)。 2.开发平台:JDK1.5 四、设计思路 1.界面设计 (1)制作一个简单的面板JFrame,文件保存为bollFrame.java 其中为一public的类bollFrame,其构造方法为: bollFrame(int n){ super(); setTitle("我的弹球小游戏"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();//得到电脑屏幕大小 setSize(450,450); setLocation((dimension.width-game.getWidth())/2-250, (dimension.height-game.getHeight())/2-250);//设置面板显示基中; this.n = n; myBollPanel = new bollPanel(n);//构造一个画板; add(myBollPanel);//将画板放入JFrame createMenu();//创建菜单; setJMenuBar(bar); } (2)构造画板类,文件保存为bollPanel.java 其构造函数如下: bollPanel(int n){ this.n = n; // executorThread = Executors.newCachedThreadPool();//创建线程池; mouse = new mouseThread(mxNow,myNow,groupThread,this);//启动鼠标线程; this.setIsOver(false);//游戏开始线程条件的判断; for(int i =0 ;i

打字游戏

湖南农业大学东方科技学院 课程设计报告 课程名称:微机原理与接口技术 设计题目:打字游戏程序设计 学生姓名:罗英杰 学号: 2 年级专业:2008级计算机科学与技术 班级: 3 班 指导老师:王兴波 学院:东方科技学院 湖南·长沙 提交日期:2009年12月

一、任务与要求 1. 开始界面的提示信息:进入游戏,退出 2. 打字游戏:字母从屏幕上方下落,若用户在字母下落过程中输入正确字母,字母消失, 输入不正确,字母继续下落 3. 空格键退出游戏 二、分析与规划 1、结构分析图,如下 2、布局分析: 首先,出现菜单主界面起到提示作用。然后进入游戏,接着完成游戏的退出。

三、实现过程 1、出现菜单主界面: ZK db "WELCOME TO PLAY$" no db "shejiren: Luo Yingjie 2009/12/09 $" meg db "press Enter key to continue.......$" meg1 db "when a letter is dropping,please hit it!$" meg2 db "press space key to pause!$" meg3 db "press ESC key to return main interface!$" meg4 db "press letter 'E' to exit!$" 上面的代码菜单主界面的内容 clear_screen 00d,00d,24d,79d Init_game 00d,00d,0ah,dl,80d,nextsign1 Init_game 24d,00d,0ah,dl,80d,nextsign2 Init_game 00d,00d,0ah,dh,25d,nextsign3 Init_game 00d,79d,0ah,dh,25d,nextsign4 menu 05d,15d,ZK ;菜单信息的宏调用 menu 07h,15d,no menu 09d,15d,meg menu 11d,15d,meg1 menu 13d,15d,meg2 menu 15d,15d,meg3 menu 17d,15d,meg4 clear_screen 01d,01d,23d,78d ;清屏宏调用 clear_screen 01d,01d,23d,78d Init_game 23d,01d,01h,dl,78d,nextsign5 mov ah,02h mov bh,00h mov dh,01h

C语言打字练习程序课程设计报告

青岛理工大学 《C语言程序设计》 题目打字练习程序 指导教师:李兰老师 姓名: 学号:2011 班级: 专业:计算机科学 地点:现代教育中心机房201 时间:2012.6.26 至2012.6.29

一、内容 本程序主要实现的是对使用者的打字速度进行练习和提高。因为界面友好亲和,因此能让使用者在轻松愉快中练习并快速提高自己的打字速度和准确性。程序主要的功能有记录使用者在本次使用中的击中数和总下落字母的个数之比。并且游戏设置了九个等级,随着数字的增加,等级越高,字母下落的速度逐步提高,这样能够更好的迎合不同水平的用户需求。使用本程序很简单,因为在写代码时,我很注重的是界面的友好,所以,在用户的每次操作前,界面上都有详细的操作提醒,只要跟着提示输入就能很快速地进入并开始练习。 二、上机环境 操作系统:windows XP(win7兼容) 开发工具:VC6.0 三、函数调用关系图 void main( ) start( ) printfScreen( ) levelChoice( ) newWord ( ) moving( ) wordHit( ) result( ) leave( )

四、各函数功能说明 1、void main( ) 主函数 2、void printScreen( ) 刷新屏幕函数 3、int levelChoice( ) 游戏等级选择函数 4、int newWord( ) 生成新字符函数 5、int moving( ) 字符下降函数 6、int wordHit( ) 击中字符函数 7、int result ( ) 结果输出函数 8、int start( ) 程序开始提示操作 9、void leave( ) 函数结束

(完整word版)打字训练测试软件-Java课程设计

《程序设计实践》题目:打字训练测试软件 学校:陕西工业学院 学院:信息学院 班级:信管12-2 学号: 201213156619 姓名:刘克豪 2014 年 11 月 09 日

基础类、IO流与异常处理程序设计 一、实践要求 1.掌握Java常用基础类API。 2.掌握输入输出流常用类API。 二、实践要求 利用Java常用基础类API、输入输出流常用类API、Java异常处理等完成所选项目的程序设计。 三、项目需求 所选项目名称:打字训练测试软件 四、项目设计方案 EnglishGame类:主要构造都在这里完成。 MyKey类:是该程序的一个内部类。 EnglishGame作为主函数的入口。调用actionPerformed类的方法实现事件监听器。当发生点击事件时就会弹出输入框,开始英文打字功能。从而达到打字训练测试的目的。 五、核心算法详细设计 1 . public void actionPerformed(ActionEvent e) {} 2.public void keyReleased(KeyEvent arg0) {} 3. public static void main(String[] args) {} 4. public JPanel creatMenu() {} 六、完整源码 package shiyansan; import java.awt.Color; import java.awt.Container; import java.awt.Dimension; import java.awt.Font;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.io.File; import java.io.FileReader; import java.util.Date; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextPane; import javax.swing.SwingUtilities; //所使用的包 public class EnglishGame implements ActionListener { private static JFrame f = new JFrame("英文打字游戏"); private static Container con = f.getContentPane(); JPanel mainPanel,panel0,panel1,panel2,panel3,panel4,panel5,panel6,panel7; JButton button1,button2,button3,button4,button,button5,button6; JTextPane tp1,tp2; FileReader fr; File frr; Date date1,date2; int num,len1,len2,count; long time; double rightrate; char[] ch; public void actionPerformed(ActionEvent e) {

《程序设计课程设计》实验报告材料

《程序设计》课程设计 姓名: 学号: 班级:软件工程14 班 指导教师: 成绩:

1.消除类游戏 1.1【问题描述】 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 1.2【基本要求】 现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某一列同时被消除。 输入数据格式: 输入的第一行包含两个整数n, m,用空格分隔,分别表示棋盘的行数和列数。接下来n行,每行m个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。颜色使用1至9编号。 输出数据格式: 输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。 1.3【测试数据】 为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。 测试数据一 输出说明: 棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。 棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。 1.4【功能实现】 #include #include using namespace std;

int main() { int m, n, i ,j; int temp; cin >> n >> m; temp = m; m = n; n = temp; int * map = new int[m * n]; int * mark = new int[m * n]; int * tmap = map; int * tmark = mark; int dif = 0; //输入 for ( i = 0 ; i < m ; i++ ) for (j = 0; j < n; j++) cin >> *(tmap + i * n + j); for (i = 0; i < m; i++) for (j = 0; j < n; j++) { //横行 if ((tmap + 2 - map) % n != 0 || (tmap + 1 - map) % n != 0) if (*(tmap) == *(tmap + 1) && * (tmap + 1) == *(tmap + 2)) { dif = tmap - map; *(tmark + dif) = 0; *(tmark + dif + 1) = 0; *(tmark + dif + 2) = 0; } //竖列 if (tmap + 2 * n - map < m * n || tmap + n - map < m * n) if (*(tmap) == *(tmap + n) && * (tmap + n) == *(tmap + 2 * n)) { dif = tmap - map; *(tmark + dif) = 0; *(tmark + dif + n) = 0; *(tmark + dif + 2 * n) = 0; } tmap = map + (j+1) + i * n; } //输出 cout << endl; tmap = map; for (i = 0; i < m; i++)

C#打字游戏课程设计

C# 打字游戏程序核心代码主要部分: 设计程序流程图:

主窗体代码: using System; using System.Collections.Generic; using https://www.360docs.net/doc/b311486505.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; //课程名称 C# 程序设计实践 //设计题目打字游戏 //专业计算机科学与技术 //班级 //学号 //姓名 //指导老师 namespace Typing_Game { public partial class FrmTyping : Form { public FrmTyping() { InitializeComponent();

public int right = 0; //正确个数计数 public int wrong = 0; //错误个数计数 public int sum = 0; //总个数技术 public int count = 0; //按键总次数 public float accuracy; //正确率 public int Minute = 1; //设置默认没局游戏时间 public int minute; //设置游戏中的倒计时分 public int second; //设置游戏中的倒计时秒 private void FrmTyping_Load(object sender, EventArgs e) { } //在状态栏中显示当前系统时间 private void timerSys_Tick(object sender, EventArgs e) { DateTime now = DateTime.Now; this.tsslSysTime.Text = "系统时间: " + now.Hour.ToString() + ":" + now.Minute.ToString() + ":" + now.Second.ToString()+'\t'; } //开始&结束按钮 private void tsmiStratOrOver_Click(object sender, EventArgs e) { if (tsmiStratOrOver.Text == "开始") { tsmiStratOrOver.Text = "结束"; timerWord.Start(); timerGame.Start(); timerGT.Start(); //在游戏开始时暂停&继续按钮可用 tsmiPauseOrContinue.Enabled = true; //在游戏未开始时选择游戏等级与设置游戏按钮无效 tsmiLevel.Enabled = false; tsmiOption.Enabled = false; //游戏开始初始化游戏数据 right = 0; wrong = 0;

java课程设计实验报告

Java课程设计实验报告实验题目:打字游戏小程序 专业:计算机科学与技术系 班级:1202班 成员:

Java课程设计(打字游戏小程序) 一、课程设计目的 经过一学期的java学习,能灵活运用书中和实验中所学习的各类知识和技巧,并且能在程序开发中得以很好的运用和发挥。在以后的学习和工作中,可以从中获取很好的经验,并且锻炼自己开发程序和创新的意识。 二、课程设计内容 1.课程设计简介 设计的是一个打字的小游戏,屏幕上不断地有英文字母下落,键盘输入字母,屏幕上与输入的字母形同的就会消失,并计分,如果有没有消去的字母掉到屏幕底,将扣分。 2.设计说明 因为要进行键盘操作,所以引用了event包,还要注册事件监听。字母是随机产生的,又要用。注册了线程。还要对窗口定义坐标,防止字母出现在同一位子。并且通过一位数组来给随机出现的字母做坐标定义。主要通过一位数组来控制字母的坐标,并且通过字母坐标的改变来对整个游戏的流程进行控制。 3.设计流程图 4.实现功能 随机产生字母,运用了键盘操作当按对屏幕中出现的字母时,该字母全部消失,并且在分数上相应的增加或减少。 5.详细设计(源代码) 1) packageDownCharGame; import import import /** *下落的字母实体类 *@authorshenbf * */ publicclassCharEntity{ raw(g); } etY()>=480){ etX((int)()*580)+30); chs[i].setY(0);

chs[i].setColor(newColor((int)()*256), (int)()*256),(int)()*256))); chs[i].setCh((char)(65+(int)()*26))); } chs[i].down(); } repaint();tart(); } publicvoidkeyTyped(KeyEvente){ } publicvoidkeyPressed(KeyEvente){ } publicvoidkeyReleased(KeyEvente){ etCh()||key==chs[i].getCh()+32){ etY()

英语游戏100种

“碰地雷”:在英语单词教学中,学生不太愿意跟读。用此法不错。在一个词下放一个地雷,这个词是不能读的,如果学生不小心跟读,就是踩到雷了。大家一起数one two three,bomb,向他砸过去!有趣,气氛也好,学生在玩中也学得扎实! 2、补全句子:在学习句中,要慢读,必要时分解读。在跟读几遍后,可以让学生补全老师没说完的部分。比如:my name is rebecca.可让学生补rebecca、is rebecca、name is rebecca。这是个反应练习,可让学生熟练掌握句子。 3、此呼彼应: (1) 全班学生坐在原位。 (2) 教师描述一些事物,如果的是对的,例如:The dusks are swimming.学生就学叫“嘎嘎”,如果的是错的,学生就保持沉默。 (3) 做错的学生暂且退出游戏。游戏继续进行。 (4) 剩下的一个学生即游戏的优胜者。 (5) 变化:The bike is coming .或A cat can run. 等。 (6) 作用:可用于现在进行时态和can 句型的教学,可训练学生的听力。 4、拍皮球: (1) 学生分两组坐在原位,合上眼,教师为两组打分。 (2) 教师拍皮球,学生默数教师拍了几下。假设教师拍了19下。 (3) 教师突然停下,问一个学生“What’s the number?”该学生应该答,“Nineteen”。如果他答对了,该组得分,并由该学生接替教师拍球,游戏继续进行,如果他讲错了,就让别的学生纠正。 (4) 哪组学生得分多,就为胜者。 (5) 变化:教师拍球时可以在中间来个停顿。如先拍4下,停一停,再拍3下,接着问:“What’s the number?”学生应答“Seven”“Four plus three is seven.” (6) 作用:操练数词和加法运算句型。 5、将错就错: (1) 学生坐在原位,注视着教师。教师在教室里随意走动,他可以突然停在一个学生面前,用手指着自己的鼻子说:This is my eyes(有意讲错) 那个学生也将错就错,指着自己的眼睛

《程序设计实训》实验报告

计算机程序设计实训报告 [“拍飞虫”实验] 专业班级:装控1405,装控1406 实习时间:2015年7月11日至7月15日 实习地点:文理楼124 成员 1: 成员 2:

一、作品概述 本作品运用funcode平台所给模板,在所给源代码的基础上进行编写,对整个游戏进行美化,更换了背景,优化了空格开始键,并且添加了拍蚊子时的音效,以及开始时的欢迎界面,每次游戏结束会对积分进行排序,如果最终得分为满分,则会显示“游戏成功”。 二、功能设计 1.游戏运行,初试界面出现‘空格开始’的提示。 2.玩家按空格开始游戏,界面上出现25只小蚊子和15只大蚊子。 3.游戏开始后,用户每拍一个小蚊子,加两分 4.被淘汰的猴子会出局,加入屏幕下方的淘汰者猴子队列中。 5.站在被淘汰猴子后方的选手依次往前移,填补空白 6.用户继续按空格淘汰猴子,值到剩下唯一的猴子,就是大王!这样,一局游戏完成。 7.一局游戏完成后,屏幕重新出现“空格开始”的标志,用户按空格可以继续游戏,如此往复。 三、功能实现 含每个功能的具体实现,可以用流程图(不要贴代码)等描述。 (说明:主要写用到的各类型的全局变量、含义) 1.g_iMonkeys[6] 用一个int类型的数组来保存猴子精灵编号 2.g_flocation[6] 用一个浮点型数组存储猴子位置(因为6只猴子站成一排,y坐标值是相同的,因此该数组保存6只猴子的x坐标值)。其中g_Monkeys[i] 对应的位置 g_fLocation 3.g_iNumMokeys 当前备选猴子数量,即截图中上层队列的猴子数。 4.g_iNumLoseMonkeys 淘汰的猴子数量,即下层队列中的猴子数。 5.g_iChooseMonkey 本轮淘汰的猴子编号。 6.g_iMoveMonkey 淘汰猴子后,后面需要移动的猴子数。

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

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表

相关文档
最新文档