在网上搜游戏都是要用图形库的,自己写了一个不用图形库的
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
#include<windows.h>
#include<conio.h>
char str[27]="abcdefghijklmnopqrstuvwxyz";
int amount[27];
char game[100][100];
int ranking[20];
int duf=1; //难度
int life; //生命
int score; //分数
void name(); //开发人员选项
void start(); //游戏开始界面
void gameintroduction(); //游戏介绍
void choose(); //难度选择
void gamestart(); //游戏开始
void rank(int score); //把分数加入排行榜
void rankd(); //排行榜界面
int main()
{
//system("mode con cols =90 lines=30");
system("color b0"); //改变屏幕背景颜色
int hand;
char ch;
FILE *fp;
start(); //游戏开始界面
while(1)
{
life=10;
score=0;
scanf("%d",&hand);
getchar();
system("CLS"); //清屏
if(hand==1)
{
gamestart();
while(scanf("%c",&ch),ch!='
');
system("CLS");
start();
}
else if(hand==2) //难度选择
{
choose();
scanf("%d",&hand);
if(hand==2)
duf=2;
else if(hand==3)
duf=3;
else duf=1;
system("CLS"); //清屏
start(); //返回开始界面
}
else if(hand==3) //开发人员选项
{
name();
while(scanf("%c",&ch),ch!='
');
system("CLS"); //清屏
start(); //返回开始界面
}
else if(hand==4) //游戏介绍
{
gameintroduction();
while(scanf("%c",&ch),ch!='
');
system("CLS"); //清屏
start(); //返回开始界面
}
else if(hand==5) //结束游戏
return 0;
}
}
void name() //开发人员选项
{
printf("**************
") ;
printf("**************
") ;
printf("**************
") ;
printf("**************
") ;
}
void start() //游戏开始界面
{
printf(" 打字母游戏
");
printf(" *******************************
");
printf(" * 游戏开始 1 *
");
printf(" * 难度选择 2 *
");
printf(" * 开发人员 3 *
");
printf(" * 游戏介绍 4 *
");
printf(" * 游戏结束 5 *
");
printf(" *******************************
");
printf("
");
printf(" 输入对应的数字并回车可进行操作
");
}
void gameintroduction() //游戏介绍
{
printf(" 这是一个锻炼打字的游戏,在难度选
");
printf(" 择里可以选择不同的难度,不同的难
");
printf(" 度有不同的速度和下降范围。可以提
");
printf(" 高打字能力用键盘打出你看到的字母,
");
printf(" 打错了不扣分,打对了加一分。
");
printf("
");
printf(" 打之前请修改输入法 !
");
printf(" 打之前请修改输入法 !
");
printf(" 打之前请修改输入法 !
");
printf(" *回车键退出*");
}
void choose() //难度选择
{
printf(" *************************
");
printf(" * 简单 1 *
");
printf(" * 一般 2 *
");
printf(" * 困难 3 *
");
printf(" *************************
");
puts("已选择难度: ");
if(duf==1)
puts("容易");
if(duf==2)
puts("一般");
if(duf==3)
puts("困难");
}
void gamestart() //游戏开始
{
int w; //屏幕中宽度
int h; //屏幕中高度
int k;
char ch;
int x;
int y;
int i;
int j;
int flag;
char an;
if(duf==1) //难度为1
{
k=1000;
w=30;
h=20;
}
else if(duf==2) //难度为2
{
k=500;
w=40;
h=20;
}
else if(duf==3) //难度为3
{
k=300;
w=50;
h=20;
}
for(i=0;i<h;i++) //初始游戏屏幕
for(j=0;j<w;j++)
game[i][j]=' ';
for(i=0;i<27;i++) //初始游戏中字母个数
amount[i]=0;
srand((unsigned int)time(NULL)); //设置种子
while(life)
{
for(i=h+1 ; i>=1 ; i--)
for(j=0 ; j< w ; j++)
game[i][j]=game[i-1][j]; //所有字母下降一格
i=h;
for(j=0 ; j< w ; j++) //减生命
if(game[i][j]!= ' ')
life--;
i=h;
for(j=0;j<w;j++) //初始最后一行字母
game[i][j]=' ';
i=0;
for(j=0;j<w;j++)
game[i][j]=' '; //初始第一行字母
ch=rand()%26+1; //生成随机字母
amount[ch]++; //记录字母数量
x=0;
y=rand()%w; //生成字母出现位置
game[x][y]=ch+96; //把字母存入数组
system("CLS"); //清屏
for(i=0;i<h;i++) //输出字母
{
for(j=0;j<w;j++)
printf("%c",game[i][j]);
printf("
");
}
for(i=0;i<w;i++)
printf("-"); //输出屏幕底部分隔横线
printf("
");
printf("生命 : %d
分数 : %d
",life,score);
Sleep(k); //令屏幕睡眠
if(kbhit()) //检测是否敲击键盘
{
k--; //睡眠时间减少
an=getch(); //把输入字母储存
an-=96;
if(amount[an]) //如果在屏幕上有输入字母
{
flag=0;
amount[an]--;
for(i=h-1;i>=0;i--)
{
for(j=w;j>=0;j--)
{
if(game[i][j]==an+96)
{
game[i][j]=' '; //清除屏幕上的数字
score++; //分数加一
flag=1;
break;
}
}
if(flag==1)
break;
}
}
}
}
system("CLS");
printf("分数 : %d
",score); //输出分数
printf("回车键退出");
}
这个是简易版的,还有要用到文件处理操作的:链接:点击打开链接 密码:lq7m