贪吃蛇电脑代码能直接玩_贪吃蛇为什么能安装不能玩

2022-10-04 09:01:25 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

贪吃蛇无敌版,可穿墙,英文输入法小写字母wasd操作。

代码语言:javascript复制
#include<stdio.h>
#include<string.h>
#include<windows.h>
#include<time.h>
#include<conio.h>
#define up 'w'
#define down 's'
#define left 'a'
#define right 'd'
#define space 'q'
#define slow 'e'
void gotoxy(int x, int y);
int ClickControl();
void moveobject();
void food();
int color(int c);
void border();
void wall();
//srand((unsigned)time(0));
int j,i,k,click,length=5;
int _time=100000000;
typedef struct Snake
{
int x;
int y;
struct Snake *next;
}snake;
snake s={15,15};
snake *head;
snake ss[100];
main()
{
int c;
ss[0]=s;
snake temp[2];
for(i=1;i<length;i  )
{
ss[i].x=ss[0].x-2*i;
ss[i].y=ss[0].y;
}
head=ss;
while(1)
{
wall();
food();
temp[0]=ss[0];
ClickControl();
moveobject();
border();
for(i=1;i<length;i  )
{                                 //交换temp[0]和ss[i]的值
temp[1]=ss[i];
ss[i]=temp[0];
temp[0]=temp[1];
}
srand((unsigned)time(0));
color(2);
for(i=0;i<length;i  )
{
if(i==0)
{
gotoxy(ss[i].x,ss[i].y);
printf("¤");
//                printf(" 0");
}
else{
gotoxy(ss[i].x,ss[i].y);
c=rand() 1;
//			printf("");
printf("⊙");
}
}
gotoxy(68,3);
printf("你的得分是:%d",length*100-500);
//		   system("cls");
for(i=0;i<_time;i  );
for(i=0;i<length;i  )
{
gotoxy(ss[i].x,ss[i].y);
printf("  ");
}
//		_time=100000000;
}
}
void gotoxy(int x, int y)
{
COORD pos;
HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition(hOutput, pos);
CONSOLE_CURSOR_INFO cursor;
cursor.bVisible = FALSE;
cursor.dwSize = sizeof(cursor);
SetConsoleCursorInfo(hOutput, &cursor);
}
void moveobject()
{
int x,y;
x=ss[0].x;
y=ss[0].y;
switch (click)
{
case up:
y -= 1;
break;
case down:
y  = 1;
break;
case left:
x -= 2;
break;
case right:
x  = 2;
break;
case space:
_time=4000000;break;
case slow:
_time=100000000;break;
default:
break;
}
ss[0].x=x;
ss[0].y=y;
}
int ClickControl()
{
char c;
while (1)
{
if (_kbhit() == 0) return 0;
if (_kbhit())
{
click = _getch();
}
moveobject();
}
return 1;
}
void food()
{
int static foodx,foody,h_food=0;
srand((unsigned)time(0));
if(!h_food)
{
foodx=rand())*2 3;
foody=rand()% 1;
gotoxy(foodx,foody);
//    	printf("■");
h_food=1;
}
gotoxy(foodx,foody);
color(4);
printf("■");
for(i=0;i<length;i  )
if(ss[i].x==foodx&&ss[i].y==foody)
{
length =1;
h_food=0;
}
}
int color(int c)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), c);        //更改文字颜色
return 0;
}
void border()
{
if(head->x<=1)
head->x=61;
else if(head->x>=61)
head->x=1;
if(head->y<=0)
head->y=28;
else if(head->y>=28)
head->y=0;
}
void wall()
{
color(5);
gotoxy(0,0);
for(i=0;i<=61;i =2)
{
printf("■");
}
gotoxy(0,28);
for(i=0;i<=61;i =2)
{
printf("■");
}
for(i=0;i<=28;i  )
{
gotoxy(0,i);
printf("■");
}
for(i=0;i<=28;i  )
{
gotoxy(62,i);
printf("■");
}
}

运行结果如下:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

0 人点赞