c算数游戏大全
一、用C语言编写猜数游戏 1、#include<time.h>//时间需要的函数 2、#include<stdlib.h>//随机数生成函数srand()与rand()所需的头文件 3、 srand(time(NULL));//定义随机函数 4、 printf("\n\t请输入你要猜的数(1-100以内):"); 5、 scanf("%d",&x)
1、“猜数字小游戏”,每个数字后按空格,*后按回车确认
2、{ printf("\n\n猜数字小游戏\n\n");
3、 printf(“猜四个数字,如数字与顺序都正确记为A,数字正确位置不对记为B.\n”);
4、{int m,n;//m是完全猜对的个数,n是顺序不对的个数
5、{srand((unsigned)time(NULL));//初始化随机数发生器srand()
6、while(1){ for(int i=0;i<4;i++) a[i]=rand()%10;//rand()函数每次随机产生一个0-9的数
7、if((a[3]!=a[2]&&a[3]!=a[1]&&a[3]!=a[0])&&
8、(a[2]!=a[1]&&a[2]!=a[0])&&a[1]!=a[0]) break;}//4个随机数各自不相等
9、printf("请依次输入4个一位整数:\n\n");
10、{for(int i=0;i<4;i++) scanf(“%d”,&b[i]);
11、printf("你输入的是:%d%d%d%d",b[0],b[1],b[2],b[3]);
12、{ if(b[i]==a[j]&&i==j)m=m+1; if(b[i]==a[j]&&i!=j)n=n+1;}
13、printf("%dA%dB你试了%d次\n",m,n,count);
14、if(count==8){ count=0; break;}
15、if(m==4)printf("你猜对了(^-^)!就是:%d%d%d%d\n",a[0],a[1],a[2],a[3]);
16、else printf("你输了(T-T)!哈哈!应该是:%d%d%d%d\n",a[0],a[1],a[2],a[3]);
17、printf("(要继续吗?1或0)\n");
#define R 4//蛇的状态,U:上;D:下;L:左 R:右
typedef struct SNAKE{//蛇身的一个节点
int score=0,add=10;//总得分与每次吃食物得分。
int status,sleeptime=200;//每次运行的时间间隔
snake*head,*food;//蛇头指针,食物指针
snake*q;//遍历蛇的时候用到的指针
int endgamestatus=0;//游戏结束的情况,1:撞到墙;2:咬到自己;3:主动退出游戏。
void Pos(int x,int y)//设置光标位置
hOutput=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hOutput,pos);
for(i=0; i<58; i+=2){//打印上下边框
for(i=1; i<26; i++){//打印左右边框
tail=(snake*)malloc(sizeof(snake));//从蛇尾开始,头插法,以x,y设定开始的位置//
head=(snake*)malloc(sizeof(snake));
while(tail!=NULL){//从头到为,输出蛇身
int biteself()//判断是否咬到了自己
if(self->x==head->x&& self->y==head->y){
void createfood()//随机出现食物
food_1=(snake*)malloc(sizeof(snake));
while((food_1->x%2)!=0){//保证其为偶数,使得食物能与蛇头对其
if(q->x==food_1->x&& q->y==food_1->y){//判断蛇身是否与食物重合
Pos(food_1->x,food_1->y);
void cantcrosswall()//不能穿墙
if(head->x==0|| head->x==56||head->y==0|| head->y==26){
void snakemove()//蛇前进,上U,下D,左L,右R
nexthead=(snake*)malloc(sizeof(snake));
if(nexthead->x==food->x&& nexthead->y==food->y){//如果下一个有食物//
while(q->next->next!=NULL){
Pos(q->next->x,q->next->y);
if(nexthead->x==food->x&& nexthead->y==food->y){//有食物
while(q->next->next!=NULL){
Pos(q->next->x,q->next->y);
if(nexthead->x==food->x&& nexthead->y==food->y){//有食物
while(q->next->next!=NULL){
Pos(q->next->x,q->next->y);
if(nexthead->x==food->x&& nexthead->y==food->y){//有食物
while(q->next->next!=NULL){
Pos(q->next->x,q->next->y);
if(biteself()==1){//判断是否会咬到自己
if(GetAsyncKeyState(VK_SPACE)){
printf("不能穿墙,不能咬到自己\n");
printf("用↑.↓.←.→分别控制蛇的移动.");
printf("F1为加速,F2为减速\n");
printf("ESC:退出游戏.space:暂停游戏.");
printf("每个食物得分:%d分",add);
if(GetAsyncKeyState(VK_UP)&& status!=D){
} else if(GetAsyncKeyState(VK_DOWN)&& status!=U){
} else if(GetAsyncKeyState(VK_LEFT)&& status!=R){
} else if(GetAsyncKeyState(VK_RIGHT)&& status!=L){
} else if(GetAsyncKeyState(VK_SPACE)){
} else if(GetAsyncKeyState(VK_ESCAPE)){
} else if(GetAsyncKeyState(VK_F1)){
add=2;//防止减到1之后再加回来有错
} else if(GetAsyncKeyState(VK_F2)){
void welcometogame()//开始界面
printf("欢迎来到贪食蛇游戏!");
printf("用↑.↓.←.→分别控制蛇的移动, F1为加速,2为减速\n");
printf("加速将能得到更高的分数。\n");
printf("对不起,您撞到墙了。游戏结束.");
printf("对不起,您咬到自己了。游戏结束.");
printf("您的已经结束了游戏。");
printf("您的得分是%d\n",score);
system("mode con cols=100 lines=30");
#include<windows.h>//基本型态定义。支援型态定义函数。使用者界面函数图形装置界面函数。
#include<conio.h>//用户通过按键盘产生的对应操作(控制台)
#include<time.h>//日期和时间头文件
int Snake[LEN][WID]={0};//数组的元素代表蛇的各个部位
char Sna_Hea_Dir='a';//记录蛇头的移动方向
int Sna_Hea_X, Sna_Hea_Y;//记录蛇头的位置
int Snake_Len= 3;//记录蛇的长度
clock_t Now_Time;//记录当前时间,以便自动移动
int Wait_Time;//记录自动移动的时间间隔
int Eat_Apple= 1;//吃到苹果表示为1
HANDLE hConsole= GetStdHandle(STD_OUTPUT_HANDLE);//获取标准输出的句柄<windows.h>
//句柄:标志应用程序中的不同对象和同类对象中的不同的实例方便操控,
void gotoxy(int x, int y)//设置光标位置
COORD pos={x,y};//定义一个字符在控制台屏幕上的坐标POS
SetConsoleCursorPosition(hConsole, pos);//定位光标位置的函数<windows.h>
void Hide_Cursor()//**光标固定函数
CONSOLE_CURSOR_INFO cursor_info={1, 0};
SetConsoleCursorInfo(hConsole,&cursor_info);
void SetColor(int color)//设置颜色
SetConsoleTextAttribute(hConsole, color);
//是API设置字体颜色和背景色的函数格式:SetConsoleTextAttribute(句柄,颜色);
void Print_Snake()//打印蛇头和蛇的脖子和蛇尾
SetColor(0xf);//oxf代表分配的内存地址 setcolor:34行自定义设置颜色的函数
if(Snake[ix][iy]== 2)//蛇的脖子
color= rand()%15+ 1;//rand()函数是产生随机数的一个随机函数。C语言里还有 srand()函数等。
if(Snake[ix][iy]== Snake_Len)
void Clear_Snake()//擦除贪吃蛇
if(Snake[ix][iy]== Snake_Len)
void Rand_Apple()//随机产生苹果
for(ix= 0; ix< LEN;++ix)//先标记蛇头
switch(Sna_Hea_Dir)//根据新的蛇头方向标志蛇头
if(Snake[Sna_Hea_X][Sna_Hea_Y]!=1&&Snake[Sna_Hea_X][Sna_Hea_Y]!=0&&Snake[Sna_Hea_X][Sna_Hea_Y]!=-1)
if(Snake[Sna_Hea_X][Sna_Hea_Y]< 0)//吃到苹果
for(ix= 0; ix< LEN;++ix)//处理蛇尾
if(Snake[ix][iy]!= Snake_Len)
Snake[Sna_Hea_X][Sna_Hea_Y]= 1;//处理蛇头
void Get_Input()//控制蛇的移动方向
if(clock()- Now_Time>= Wait_Time)//蛇到时间自动行走
system("mode con: cols=80 lines=25");
for(i= 0; i< Snake_Len;++i)//生成蛇
printf("0.%3ds", Wait_Time/10);
if(((Apple_Num-1)/ 10)== Level)
srand((unsigned)time(NULL));//设置随机数的**
printf("请输入你想要的速度\n");
printf("请输入你想要的苹果数\n");