当前位置:文档之家› 计算机技术基础(c语言)课程设计 简单的打字游戏

计算机技术基础(c语言)课程设计 简单的打字游戏

计算机技术基础(C程序) 课程设计报告一.题目:简单打字游戏二、选题背景:在全球信息化高度发展的今天,计算机技术是现代人必须掌握的基本技术。

而一手精湛的打字技术更是我们自动化人所必备的资本。

本c语言程序的开发为广大计算机使用者提供了一个很好的平台。

三、设计思想:本程序主要应用了e l s e…i f语句、g o t o语句等函数。

建立打字练习的程序。

通过使用积分的方式,给使用者以直观的视觉冲击。

激励使用者的练习兴趣。

三、程序流程图:四:程序清单#include "conio.h"#include "stdlib.h"#include "graphics.h"main(){char a[36];int i,j,x,key,t,score=0;int gd=DETECT,gr;initgraph(&gd,&gr,"");cleardevice();for(i=0;i<10;i++)a[i]=48+i;for(i=10;i<36;i++)a[i]=55+i;a[i]=0;for(i=1;i<81;i++){gotoxy(i,3);printf("%c",220);gotoxy(i,18);printf("%c",220);}gotoxy(5,1);printf("score:");settextstyle(1,0,8);outtextxy(100,350,"TYPE GAME"); sleep(2);randomize();for(;;){gotoxy(12,1);printf(" ");gotoxy(12,1);printf("%d",score);i=rand()%80;if(i==0)i=1;x=rand()%36;t=0;for(j=4;!kbhit()&&j!=18;j++) {gotoxy(i,j);printf("%c",a[x]);gotoxy(i,j);if(score<10)delay(10000);else if(score<20)delay(7000);else if(score<30)delay(5000);else if(score<40)delay(4000);if(score==40){clrscr();textmode(C40);delay(100000);gotoxy(18,12);printf("YOU WIN!");delay(100000);exit(1);}gotoxy(i,j);printf(" ");gotoxy(i,j);}if(j==18){t=1;score--;}if(t==1)continue;key=bioskey(0);if(key==0x011b)break;else if(key==0x231&&a[x]==49) {score++;continue;}else if(key==0x332&&a[x]==50) {score++;continue;}else if(key==0x433&&a[x]==51) {score++;continue;}else if(key==0x534&&a[x]==52) {score++;continue;}else if(key==0x635&&a[x]==53) {score++;continue;}else if(key==0x736&&a[x]==54) {score++;continue;}else if(key==0x837&&a[x]==55) {score++;continue;}else if(key==0x938&&a[x]==56) {score++;continue;}else if(key==0x939&&a[x]==57) {score++;continue;}else if(key==0xb30&&a[x]==48) {score++;continue;}else if(key==0x1e61&&a[x]==65) {score++;continue;}else if(key==0x3062&&a[x]==66) {score++;continue;}else if(key==0x2e63&&a[x]==67) {score++;continue;}else if(key==0x2064&&a[x]==68) {score++;continue;}else if(key==0x1265&&a[x]==69) {score++;continue;}else if(key==0x2166&&a[x]==70) {score++;continue;}else if(key==0x2267&&a[x]==71) {score++;continue;}else if(key==0x2368&&a[x]==72) {score++;continue;}else if(key==0x1769&&a[x]==73) {score++;continue;}else if(key==0x246a&&a[x]==74) {score++;continue;}else if(key==0x256b&&a[x]==75) {score++;continue;}else if(key==0x266c&&a[x]==76) {score++;continue;}else if(key==0x326d&&a[x]==77) {score++;continue;}else if(key==0x316e&&a[x]==78) {score++;continue;}else if(key==0x186f&&a[x]==79) {score++;continue;}else if(key==0x1970&&a[x]==80) {score++;continue;}else if(key==0x1071&&a[x]==81) {score++;continue;}else if(key==0x1372&&a[x]==82) {score++;continue;}else if(key==0x1f73&&a[x]==83){score++;continue;}else if(key==0x1474&&a[x]==84) {score++;continue;}else if(key==0x1675&&a[x]==85) {score++;continue;}else if(key==0x2f76&&a[x]==86) {score++;continue;}else if(key==0x1177&&a[x]==87) {score++;continue;}else if(key==0x2d78&&a[x]==88) {score++;continue;}else if(key==0x1579&&a[x]==89) {score++;continue;}else if(key==0x2c7a&&a[x]==90) {score++;continue;}else{score--;continue;}}cleardevice();outtextxy(100,200,"GAME OVER");getch();closegraph();}五、主要问题的解决方法及技术关键1、主要问题的解决方法:用“graphics.h”库存函数实现图形的初始化绘制。

用e l s e…i f语句、g o t o语句等函数编译字母下降和积分的程序。

2、技术关键:程序的关键在于使打字键盘与计分系统同步。

用key来判断是否键盘敲击正确时使分数正向增加,否则分数减少。

通过获取key的程序使游戏继续进行下去。

六、设计结果说明1、设计优点:能够很好的给使用者提供打字练习的平台,游戏实用性强。

2.设计不足:程序的游戏背景过于单调。

相关主题