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

贪吃蛇电脑代码能直接玩_贪吃蛇为什么能安装不能玩贪吃蛇无敌版,可穿墙,英文输入法小写字母wasd操作。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

#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("■");
	}
}

运行结果如下:

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

 

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197104.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • VC Windows API获得桌面所有窗口句柄的方法

    VCWindowsAPI应用之GetDesktopWindow——获得桌面所有窗口句柄的方法WindowsAPIWindows这个多作业系统除了协调应用程序的执行、分配内存、管理资源…之

    2021年12月23日
    48
  • idea2021.3 激活码(JetBrains全家桶)

    (idea2021.3 激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1STL5S9V8F-eyJsaWNlbnNlSW…

    2022年3月27日
    596
  • openfiledialog控件_ASP 第三方控件

    openfiledialog控件_ASP 第三方控件Logdashboard1.1beta.在AspNetMvc中使用日志面板Logdashboard是Net下的日志面板,它支持AspNet与AspNetCore项目。关于更多LogDashboard的介绍请看这里。就在刚刚LogDashboard发布了1.1的beta版,在这个版本中有以下变化https://github.com/liangshiw/LogDashboard/releas…

    2022年9月28日
    2
  • ubuntu copy命令「建议收藏」

    ubuntu copy命令「建议收藏」cp(copy)命令该命令的功能是将给出的文件或目录拷贝到另一文件或目录中。语法:cp[选项]源文件或目录目标文件或目录说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。该命令的各选项含义如下:-a该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。-d拷贝时保留链接。

    2025年7月25日
    5
  • 微信开放平台PC端扫码登录功能个人总结

    微信开放平台PC端扫码登录功能个人总结最近公司给我安排一个微信登录的功能,需求是这样的:  1.登录授权    点击二维码图标后,登录界面切换为如下样式(二维码),微信扫描二维码并授权,即可成功登录;      若当前账号未绑定微信账号,扫描后提示“您的账号未绑定微信号,请先登录绑定”;      点击“返回”按钮,界面切换为账号密码登录;      若微信号绑定多个账号在,则展示所绑定全部账号的用户名…

    2022年4月29日
    144
  • 在MFC下面实际演示CCriticalSection 的使用

    在MFC下面实际演示CCriticalSection 的使用Q:CCriticalSection是什么?A:CCriticalSection是一种线程同步策略或者说技术或者方法总之呢就是这么个意思。。。。参考资料:http://blog.csdn.ne

    2022年7月4日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号