贪吃蛇游戏蛇身光标变成小点点咋回事

用JAVA语言写贪吃蛇游戏,其中蛇吃到蛇身游戏就结束,请问这个代码怎么写呀?_百度知道贪吃蛇大作战晋级攻略 如何变成超级杀手?
贪吃蛇大作战从一条新手小蛇成长为大神,你用了多久?默默吃豆豆并不能获得超长的体量,如何变成超级杀手,获得超多的击杀数,这才是高手。
下面给大家介绍几种高端玩家的游戏套路,学了之后,保证打通任督二脉,无尽模式上万不是梦~!
实力加速&超车杀&
和其他蛇形成大角度,严格控制好距离,等两蛇蛇头快要交汇相撞的时候,突然加速,让对方撞到你的蛇身。实现击杀!
以大欺小&包围刹&
当你的长度足够,就可以在地图上实现以大欺小的虐杀了。你可以把其他小蛇圈在你的肚子里,等他自己撞死,轻松获得击杀和豆豆!
活命必备&神走位&
持续保持蛇形路线,是一种进可攻退可守的作法。可以快速躲避其他蛇的攻击,并且有机会发现角落里的豆豆!
并且,蛇形走位可以形成地图上的死角,引诱其他蛇进来撞死哦~
【来源:安卓网】
第一手全民飞机大战资讯攻略尽在助手神器!
手机访问手机扫描二维码访问C语言 小游戏之贪吃蛇 - 开源中国社区
当前访客身份:游客 [
当前位置:
发布于 日 21时,
C语言编写的一个简单的贪吃蛇游戏,原理很简单,挺有意思的!&&&&&today,&start&to&play&os!
代码片段(2)
1.&[代码]C语言 贪吃蛇游戏&&&&
//*******************************************************
//*******************************************************
//******友情提示:如想速度快点,请改小_sleep(500)函数中参数*****
//*******************************************************
//*******************如写的不好,请见谅*********************
//*******************************************************
#include &stdio.h&
#include &stdlib.h&
#include &conio.h&
#include &string.h&
#include &time.h&
const int H = 8;
//地图的高
const int L = 16;
//地图的长
char GameMap[H][L];
//游戏地图
//按键保存
sum = 1, over = 0;
//蛇的长度, 游戏结束(自吃或碰墙)
dx[4] = {0, 0, -1, 1};
//左、右、上、下的方向
dy[4] = {-1, 1, 0, 0};
struct Snake
//蛇的每个节点的数据类型
//左边位置
//保存当前节点的方向, 0,1,2,3分别为左右上下
}Snake[H*L];
const char Shead = '@';
const char Sbody = '#';
const char Sfood = '*';
const char Snode = '.';
//'.'在地图上标示为空
void Initial();
//地图的初始化
void Create_Food(); //在地图上随机产生食物
void Show();
//刷新显示地图
void Button();
//取出按键,并判断方向
void Move();
//蛇的移动
void Check_Border();
//检查蛇头是否越界
void Check_Head(int x, int y);
//检查蛇头移动后的位置情况
int main()
Initial();
void Initial()
//地图的初始化
system("title 贪吃蛇");
//控制台的标题
memset(GameMap, '.', sizeof(GameMap));
//初始化地图全部为空'.'
system("cls");
srand(time(0));
//随机种子
hx = rand()%H;
//产生蛇头
hy = rand()%L;
GameMap[hx][hy] = S
Snake[0].x =
Snake[0].y =
Snake[0].now = -1;
Create_Food();
//随机产生食物
for(i = 0; i & H; i++)
//地图显示
for(j = 0; j & L; j++)
printf("%c", GameMap[i][j]);
printf("\n");
printf("\n小小C语言贪吃蛇\n");
printf("按任意方向键开始游戏\n");
//先接受一个按键,使蛇开始往该方向走
//取出按键,并判断方向
void Create_Food()
//在地图上随机产生食物
fx = rand()%H;
fy = rand()%L;
if(GameMap[fx][fy] == '.')
//不能出现在蛇所占有的位置
GameMap[fx][fy] = S
void Show()
//刷新显示地图
_sleep(500); //延迟半秒(1000为1s),即每半秒刷新一次地图
//先判断按键在移动
//自吃或碰墙即游戏结束
printf("\n**游戏结束**\n");
getchar();
system("cls");
//清空地图再显示刷新吼的地图
for(i = 0; i & H; i++)
for(j = 0; j & L; j++)
printf("%c", GameMap[i][j]);
printf("\n");
printf("\n小小C语言贪吃蛇\n");
printf("按任意方向键开始游戏\n");
void Button()
//取出按键,并判断方向
if(kbhit() != 0) //检查当前是否有键盘输入,若有则返回一个非0值,否则返回0
while(kbhit() != 0)
//可能存在多个按键,要全部取完,以最后一个为主
key = getch(); //将按键从控制台中取出并保存到key中
switch(key)
Snake[0].now = 0;
Snake[0].now = 1;
Snake[0].now = 2;
Snake[0].now = 3;
void Move()
//蛇的移动
//保存当前蛇的长度
//记录当前蛇头的位置,并设置为空,蛇头先移动
x = Snake[0].x;
y = Snake[0].y;
GameMap[x][y] = '.';
Snake[0].x = Snake[0].x + dx[ Snake[0].now ];
Snake[0].y = Snake[0].y + dy[ Snake[0].now ];
Check_Border();
//蛇头是否越界
Check_Head(x, y);
//蛇头移动后的位置情况,参数为: 蛇头的开始位置
if(sum == t)
//未吃到食物即蛇身移动哦
for(i = 1; i & i++)
//要从蛇尾节点向前移动哦,前一个节点作为参照
if(i == 1)
//尾节点设置为空再移动
GameMap[ Snake[i].x ][ Snake[i].y ] = '.';
if(i == sum-1)
//为蛇头后面的蛇身节点,特殊处理
Snake[i].x =
Snake[i].y =
Snake[i].now = Snake[0].
//其他蛇身即走到前一个蛇身位置
Snake[i].x = Snake[i+1].x;
Snake[i].y = Snake[i+1].y;
Snake[i].now = Snake[i+1].
GameMap[ Snake[i].x ][ Snake[i].y ] = '#'; //移动后要置为'#'蛇身
void Check_Border()
//检查蛇头是否越界
if(Snake[0].x & 0 || Snake[0].x &= H
|| Snake[0].y & 0 || Snake[0].y &= L)
void Check_Head(int x, int y)
//检查蛇头移动后的位置情况
if(GameMap[ Snake[0].x ][ Snake[0].y ] == '.')
GameMap[ Snake[0].x ][ Snake[0].y ] = '@';
if(GameMap[ Snake[0].x ][ Snake[0].y ] == '*')
GameMap[ Snake[0].x ][ Snake[0].y ] = '@';
Snake[sum].x =
//新增加的蛇身为蛇头后面的那个
Snake[sum].y =
Snake[sum].now = Snake[0].
GameMap[ Snake[sum].x ][ Snake[sum].y ] = '#';
Create_Food();
//食物吃完了马上再产生一个食物
2.&[图片] 0_gGb.gif&&&&
开源中国-程序员在线工具:
相关的代码(2869)
E:\desktop&gcc snake.c -o snake
snake.c:14:6: error: variably modified 'GameMap' at file scope
snake.c:14:6: error: variably modified 'GameMap' at file scope
snake.c:23:2: error: variably modified 'Snake' at file scope
snake.c: In function 'Show':
snake.c:88:3: warning: '_sleep' is deprecated (declared at e:\e
2楼:wuqinfei 发表于
这可如何是好
3楼:Pluser 发表于
引用来自“wuqinfei”的评论这可如何是好I can run it by vc6.0 and vs2010
4楼:海里没泡泡 发表于
可以在vc6.0上运行啊,不过楼主用的是什么编译器,求解
5楼:pqiankui 发表于
conio库仅适用于 Windows 平台
6楼:混沌路人 发表于
不能反方向运行。
一般都会把反方向视作无效。
7楼:Pluser 发表于
引用来自“海里没泡泡”的评论可以在vc6.0上运行啊,不过楼主用的是什么编译器,求解VC6.0 + VS2010
8楼:Pluser 发表于
引用来自“混沌路人”的评论不能反方向运行。
一般都会把反方向视作无效。是的 我当初就是这样设置的,如果视为无效 可简单设置就OK了
9楼:go明骚暗贱 发表于
是啥意思,求解
10楼:GM563536 发表于
引用来自“go明骚暗贱”的评论case 75:
是啥意思,求解是ascll码值,
11楼:go明骚暗贱 发表于
引用来自“go明骚暗贱”的评论case 75:
是啥意思,求解引用来自“GM563536”的评论是ascll码值,通过H K M P 来实现上下左右的操作吗?
开源从代码分享开始
Pluser的其它代码更多公众号:wangyouquannaxieshi专注游戏产业报道,每日播报网游圈里的八卦趣闻、推荐最好玩的新游资讯,以不一样的视角解读游戏产业、数据报告,提供最具价值的新闻资讯。最新文章相关推荐搜狗:感谢您阅读贪吃蛇等经典游戏移动端再次焕发第二春是否会引发山寨之风,本文可能来自网络,如果侵犯了您的相关权益,请联系管理员。QQ:

我要回帖

更多关于 贪吃蛇蛇身存储 的文章

 

随机推荐