前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >贪吃蛇电脑代码能直接玩_贪吃蛇为什么能安装不能玩

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

作者头像
全栈程序员站长
发布2022-10-04 09:01:25
3830
发布2022-10-04 09:01:25
举报

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

贪吃蛇无敌版,可穿墙,英文输入法小写字母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()%13+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()%29*2+3;
foody=rand()%25+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("■");
}
}

运行结果如下:

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月5日 上,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档