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

贪吃蛇电脑代码能直接玩_贪吃蛇为什么能安装不能玩贪吃蛇无敌版,可穿墙,英文输入法小写字母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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python 多进程 提高运行效率

    python 多进程 提高运行效率

    2021年11月10日
    41
  • springcloud seata_seata github

    springcloud seata_seata github111

    2022年8月21日
    4
  • cas是乐观锁吗(java乐观锁)

    参考AtomicInteger类如下方法publicfinalintincrementAndGet(){for(;;){intcurrent=get();//1intnext=current+1;//2if(compareAndSet(current,next

    2022年4月10日
    51
  • java map 二维数组_Java二维数组实现简单Map

    java map 二维数组_Java二维数组实现简单Map这些天频繁的在使用二维数组,让我觉得二维数组要比Map更灵活多变,以前和别人提起“数据结构”总能听到有人问:“如果编程语言里没有HashMap,你能自己实现一个Map来用么?”。熟练了二维数组,今天我就来尝试实现一个最简单的Map吧,我没有参考网上的例子,也没去想数据结构书中是怎么讲的,纯粹的自己个一个设计方案,中途遇到很多问题,但还是逐个解决了,还有很多不足之处,希望大家能帮我指点指点,一起交流…

    2022年5月24日
    41
  • js nextSibling属性和previousSibling属性

    js nextSibling属性和previousSibling属性   1:nextSibling属性       该属性表示当前节点的下一个节点(其后的节点与当前节点同属一个级别);如果其后没有与其同级的节点,则返回null。      需要特别注意的是:该属性在不同的浏览器中的执行结果并不都相同,见下面例示:     先来看一个例子: [javascript] viewplain copy&lt;body&gt;  &lt;div&gt;  &lt;…

    2022年7月15日
    12
  • 计算机网络笔记Part1 概述「建议收藏」

    计算机网络笔记Part1 概述「建议收藏」概述1.速率相关性能指标速率定义:连接在计算机网络上的主机在数字信道上传送数据位数的速率单位:b/s,Kb/s,Mb/s,Tb/s,如果用字节表示,则是B/s,KB/s,MB/s,TB/s1Byte=8Bit带宽在计算机网络中,指的是网络设备所支持的最高速度,单位同速率,是理想条件下最高速率吞吐量指的是单位时间内通过某个网络的数据总量个人理解速率就是实际网速,带宽是理论网速(长城宽带警告),吞吐量是一个或多个设备的综合速率,比如说1000m宽带的路由器连着三部手机,每部手机都是10m

    2022年6月6日
    24

发表回复

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

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