小学生字母游戏视频

# include & ltstdio.h & gt

# include & ltconio.h & gt

# include & ltgraphics.h & gt

# include & lttime.h & gt

# pragma comment (lib," winmm . lib ")//引用Windows多媒体APT

int得分= 0;//全局变量* * * * * *整数分数

char s[5];//全局变量* * *字符类型的分数

Struct player_ //自定义结构,顺便定义一个结构变量。

{

char name[20];

int score _;

} player[11];

/* * * * * * * * * * * *函数语句* * * * * * * * * * * *

void record _();//记录对方的性能函数

void welcome();//欢迎界面函数

void指令();//游戏描述接口函数

void gane(int rank 2);//游戏功能

void记录();//显示记录功能

int rank _(char rank 1);//等级选择功能

void goodbye();//退出接口函数

* * * * * * * * * * * *主要功能* * * * * * * * * *

int main()

{

char rank 1;//rank1接受键盘输入的字符,根据字符判断等级。

int rank 2 = 15;//控制延迟时间来控制速度。

int sign = 1;//作为标记,用来标记是否弹出MessageBox对话框。

welcome();//调用欢迎接口函数

说明();//调用游戏的什么功能?

record();//调用显示记录函数

Inputbox (player [10])。姓名,20,“请输入玩家昵称”;//获取对话框形式的用户输入函数。

rank 1 = getch();//读入一封信

rank 2 = rank _(rank 1);//调用level函数

游戏(rank 2);//调用游戏函数

HWND wnd = GetHWnd();

while(sign)//作为标记符号执行循环。

If (MessageBox(wnd),“游戏结束!!!\n让我们再来一局,挑战更高的分数"," Ask ",MB _ yes no | MB _ icon question)= = id yes)

游戏(rank 2);

其他

{

符号= 0;

再见();

}

closegraph();

返回0;

}

/* * * * * * * * * * * * * *记录性能函数* * * * * * * * *

作废记录_()

{

FILE * fp//文件指针

int i,j;

struct player _ t;//定义结构变量T,在冒泡法大的时候使用。

玩家[10]。score _ =分数;//将本局得分赋给本局用户的结构变量。

Fp=fopen ("record。dat”、“Rb”);//打开二进制文件

for(I = 0;我& lt10;i++)

{

fread(玩家[i]。name,20,l,FP);//读取记录中的分数和名字。

弗雷德(& amp玩家[我]。score_,4,l,FP);

}

fclose(FP);//关闭二进制文件

for(j = 0;j & lt10;J++) //冒泡排序

for(I = 0;我& lt10-j;i++)

如果(玩家[i]。分数_)

{

t = player[I];

玩家[I]=玩家[I+1];

player[I+1]= t;

}

Fp=fopen ("record。dat”、“WB”);//打开文件

for(I = 0;我& lt10;I++) //将排序后的数据存储在记录文件中。

{

fwrite(player[i])。name,20,l,FP);

fwrite(& amp;玩家[我]。score_,4,l,FP);

}

fclose(FP);//关闭文件

}

/* * * * * * * * * * * * * * * *欢迎界面函数* * * * * * * * * *

无效欢迎( )

{

char ch

mciSendString(" open \ " RES \ \ Sleep away . MP3 \ " alias my music ",NULL,0,NULL);

initgraph(640,480);//初始化绘图界面

图像img//定义图像对象

loadimage(& amp;img," RES \ \ 00 . jpg ");//将图片读入img对象

putimage (0,0 & amp;img);//显示坐标(0,0)处的图像对象

ch = getch();//吸收一个密钥

clear device();//清除屏幕

}

/* * * * * * * * * * * * * *游戏描述界面功能* * * * * * * * * *

无效指令()

{

int c = 255//控制变色的变量

setcolor(黄色);//设置颜色

Setfont (30,0," bold ");//设置字体

Outtextxy(0,0,“游戏描述”);//输出文本

setcolor(白色);

Setfont(28,0,“反”);

Outtextxy(0,30,“每局先掉200个字母”);//输出文本

Outtextxy(0,58,“秒,请按数字键选择游戏关卡”);

Outtextxy(0,86,“第三,统计点击次数”);

Setfont(30,0,“中文字体”)

Outtextxy (20,220,“等级123456789”);

Outtextxy(20,260," key 123456789 ");

而(!kbhit ()//kihit()的作用是判断是否有字幕输入。

{

setcolor(RGB(c,255,0));

Setfont (80,0,“斜体”);

Outtextxy(140,130,“请选择一个等级”);

setcolor(RGB(c,0,255));

setfont(100,0,“威肯登咖啡馆NDP”);

outtextxy(100,135,“走吧!!! ");

c-= 25;//控制颜色的可变自还原。

if(c & lt;0)c = 255;//当控制颜色的变量小于0时,将255赋给c。

clear device();//清除屏幕

}

/* * * * * * * * * * * *退出界面功能* * * * * * * * * * * *

作废再见()

{

int c = 255//控制变色变量

clear device();//清除屏幕

setcolor(黄色);

Setfont (48,0," bold ");

Outtextxy (104,120,“最终得分为:“);

Setfont (48,0,“中文斜体”);

setcolor(RGB(255,255,0));

Outtextxy(140,320,“按任意键退出游戏”);

setcolor(黄色);

Setfont(48,0," bold ");

Outtextxy (104,120,“最终得分为:“);

outtextxy(104,70,player[10])。姓名);

record _();//调用记录这个成绩的函数。

而(!kbhit())

{

setcolor(RGB(255,0,c-100));//设置颜色

setfont(100,0,“威肯登咖啡馆NDP”);

outtextxy(400,90,s);//输出数字

setcolor(RGB(c,0,255));

Setfont(48,0," bold ");

如果(分数==200)

Outtextxy(100,200,"全部命中!!! ");

其他

if(score & gt;190)

Outtextxy(100,200,“还不错!坚持下去!”);

其他

outtextxy(100200,“不要灰心!坚持下去!”);

c-= 25;

if(c & lt;0)

c = 255

sleep(20);//延迟20秒

}

getch();//提供给用户时,需要等待输入后再退出。

}

/* * * * * * * * * * * *等级选择功能* * * * * * * * * *

int rank_(char rank1)

{

int rank2

Switch(rank1) //判断人品,确定等级。

{

事例“0”:rank 2 = 11;打破;

事例“1”:rank 2 = 10;打破;

情况“2”:rank 2 = 9;打破;

情况“3”:rank 2 = 8;打破;

情况“4”:rank 2 = 7;打破;

情况“5”:rank 2 = 6;打破;

情况“6”:rank 2 = 5;打破;

情况“7”:rank 2 = 4;打破;

情况“8”:rank 2 = 3;打破;

情况“9”:rank 2 = 2;打破;

默认:rank 2 = 15;打破;

}

返回rank2

}

/* * * * * * * * * * * *显示录音功能* * * * * * * *

无效记录( )

{

FILE * p;//文件指针

int a[10],j;

char b[10][10];

Fp=fopen ("Record。dat”、“Rb”);//打开文件

for(j = 0;j & lt10;j++)

{

fread(player[j].姓名,20,1,FP);//读取文件中的信息

弗雷德(& amp玩家[j]。score_,4,1,FP);

}

fclose(FP);//关闭文件

setfont(60,0,“Arial”);

setcolor(RGB(250,250,0));

outtextxy(250,0," top 10 ");

for(j = 0;j & lt10;j++)

{

sprintf("b[j],%d ",player[j]。score _);//将整数转换为字符。

setcolor(RGB(0,100,255));

setfont(40,0," Arial ");

outtextxy(420,50+40*j,b[j]);

outtextxy(120,50+40*j,player[j]。姓名);//输出名称

/* * * * * * * * *游戏功能* * * * * * * * * * * * * *

无效游戏(int rank2)

{

clear device();//清除屏幕

得分= 0;//清除原始分数

Outtextxy(0,0," Player:");

outtextxy(90,0,player[10])。姓名);

setfont(20,0,“Arial”);

outtextxy(100460)“人生有享受片刻优雅宁静的权利,那就来玩字母游戏让你放松一下吧!”);

int I;

char目标;//目标字母

char键;//用户的密钥

intx,y;//字母的位置

int flag = 1;//标记退出键是否被按下。

int sum = 0;//分数计数

int num = 200//指定落款字母的个数。

srand(time(NULL));//随机时间种子,设置第一个随机函数的值。

setfillstyle(黑色);//设置下面矩形内部图片的颜色。

setcolor(黄色);//

线(0,450,640,450);//用3行定义工作区。

线(0,440,640,440);//用3行定义工作区。

线(0,40,640,40);//用3行定义工作区。

while(flag & amp;& amp数字)

{

Setfont(40,0,"孔祥é");//设置字母的字体和大小。

I = rand()% 2;//rand()函数返回0到32767之间的整数。

如果(我)

target = 97+rand()% 26;//生成任何小写字母

其他

target = 65+rand()% 26;//生成任何大写字母

x = rand()% 610;//产生任何下落位置。

for(y = 41;y & lt380;y++)

{

setcolor (RGB(255,0,255));

outtextxy(x,y,target);//显示字母

if(kbhit())

{

key = getch();//获取用户密钥。

if((key = = target)| |(key = = target-32)| |(key = = target+32))

{

得分++;//分数统计

sprintf(s,“%d”分数);

setfont(30,0,“Arial”);

Outtextxy(500,0,“分数”);

outtextxy(600,0,s);//输出分数

条形(x-10,y-10,x+35,y+50);//点击,用黑框擦掉字母。

打破;//跳出循环,进行下一个字母。

}

Else if (key==27) //判断是否按下。

{

flag = 0;//如果按ESC,退出游戏主循环。

打破;

}

}

睡眠(rank 2);//控制清除字母的时间。爱你就是控制下降速度。

bar(x,y,x+35,y+60);//擦除底部字符

}

num-;//计数

}

}