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

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


相关推荐

  • 秒杀多线程第四篇 一个经典的多线程同步问题

    秒杀多线程第四篇 一个经典的多线程同步问题

    2021年11月30日
    41
  • Java打破双亲委派机制「建议收藏」

    1.自定义加载器沿用双亲委派机制自定义类加载器很简单,只需继承ClassLoader类并重写findClass方法即可。①先定义一个待加载的类Test,它很简单,只是在构建函数中输出由哪个类加载器加载。publicclassTest{publicTest(){System.out.println(this.getClass().getClassL…

    2022年4月8日
    53
  • 读《aspnetmvc-stepbystep》笔记

    读《aspnetmvc-stepbystep》笔记  读《aspnetmvc-stepbystep》笔记  这几天读了《aspnetmvc-stepbystep》,为了以后不忘记这次遇到的问题,以及此书中的一些重点观点或者主要内容,就做了一个大概的笔记。  学习软件平台:vs2008、vs2008sp1、mvc1.0rc21、传统的Web框架,如ASP/PHP/ASP.NETWebForms等等,请求的U…

    2022年9月29日
    0
  • 【汇编语言】(x86)test与跳转指令(je jle jge jg jl……)组合的含义

    【汇编语言】(x86)test与跳转指令(je jle jge jg jl……)组合的含义在x86指令集中,经常遇到text指令与条件跳转指令组合,这是什么含义呢?博主表示,查了很多资料也没人完全说清楚……这里只用最简单的,抽象层次进行说明,不讲原理。举例text edx,edxjle 某地址含义是:如果edx<=0,就跳到某地址,否则继续往下执行。jle换成jg的话,就是edx>0跳转。其他同理。与cmp指令和跳转指令组合的区别是:这个组合比较的是cmpA,B中,A与B的关系。而textA,A则比较的是A与0的关系。这些都是抽象层次的应

    2022年10月30日
    0
  • Activity工作流:流程创建总结

    Activity工作流:流程创建总结Activiti工作流的应用示例1、新建流程模型模型管理-&gt;模型工作区点击“创建”后会立即跳转到“流程在线设计器”页面,请参考下一节2、在线流程设计器模型管理-&gt;模型工作区-&gt;编辑3、设置流程属性l名称:流程定义名称l描述信息:流程定义描述l流程标识:流程定义KEY,对应procDefKey,用来标识一个流程4、拖拽元素介…

    2022年5月23日
    31
  • OkhttpClient的使用详解

    **概述及特性**HTTP是现代应用常用的一种交换数据和媒体的网络方式,高效地使用HTTP能让资源加载更快,节省带宽。OkHttpClient是一个高效的HTTP客户端,它有以下默认特性:支持HTTP/2,允许所有同一个主机地址的请求共享同一个socket连接连接池减少请求延时透明的GZIP压缩减少响应数据的大小缓存响应内容,避免一些完全重复的请求当网络出现问题的时候OkHttp依…

    2022年4月1日
    40

发表回复

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

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