C语言小游戏贪吃蛇 如何实现显示那条蛇,并让它动起来? 大概说一下。(代码也行但不要全部的贪吃蛇代码)
答案:2 悬赏:70 手机版
解决时间 2021-11-24 09:51
- 提问者网友:椧運幽默
- 2021-11-23 14:37
C语言小游戏贪吃蛇 如何实现显示那条蛇,并让它动起来? 大概说一下。(代码也行但不要全部的贪吃蛇代码)
最佳答案
- 五星知识达人网友:执傲
- 2021-11-23 16:14
很土很简单的实现方式
显示:在屏幕上的指定坐标打印一些断续的点(或其他字符),每个点之间用空格或者其他字符来分隔。
移动:打印第一次后间隔一段时间,如0.5秒或1秒等,clrscr清屏,顺序移动贪吃蛇上所有节点坐标后再次打印 ,简单写了个很小的demo,吃豆子、障碍物、转向控制等都没写。
#include
#include
#include
#include
#define N 5
int main()
{
char a[30][30];
int i,j,k;
int m,n;
while(1)
{
for (i=10,j=5+N; j<=25; j++)
{
// 初始化坐标数组所有元素为空格
memset(a, 32, sizeof(a));
// 填充要显示*号的坐标
for (k=j; k>=j-N; k--)
{
a[i][k] = 42;
}
// 清屏
system("cls");
Sleep(200);
// 打印贪吃蛇
for (m=0; m<30; m++)
{
for (n=0; n<30; n++)
{
printf("%c",a[m][n]);
}
printf("\n");
}
Sleep(500);
}
}
return 0;
}追问我用的win-TC,你写的这段为什么运行不了?追答我用的是VS2005,TC应该Sleep什么的都不对的
显示:在屏幕上的指定坐标打印一些断续的点(或其他字符),每个点之间用空格或者其他字符来分隔。
移动:打印第一次后间隔一段时间,如0.5秒或1秒等,clrscr清屏,顺序移动贪吃蛇上所有节点坐标后再次打印 ,简单写了个很小的demo,吃豆子、障碍物、转向控制等都没写。
#include
#include
#include
#include
#define N 5
int main()
{
char a[30][30];
int i,j,k;
int m,n;
while(1)
{
for (i=10,j=5+N; j<=25; j++)
{
// 初始化坐标数组所有元素为空格
memset(a, 32, sizeof(a));
// 填充要显示*号的坐标
for (k=j; k>=j-N; k--)
{
a[i][k] = 42;
}
// 清屏
system("cls");
Sleep(200);
// 打印贪吃蛇
for (m=0; m<30; m++)
{
for (n=0; n<30; n++)
{
printf("%c",a[m][n]);
}
printf("\n");
}
Sleep(500);
}
}
return 0;
}追问我用的win-TC,你写的这段为什么运行不了?追答我用的是VS2005,TC应该Sleep什么的都不对的
全部回答
- 1楼网友:像个废品
- 2021-11-23 16:59
= =
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯