C语言做贪吃蛇用什么软件编写?

发布网友 发布时间:2022-04-23 12:53

我来回答

15个回答

热心网友 时间:2022-04-20 01:17

问题上已经说了,是用C语言做的贪吃蛇,那么编写它的软件就是:C语言(一门通用计算机编程语言,广泛应用于底层开发)。

热心网友 时间:2022-04-20 02:35

了解贪吃蛇设计思路

上图中的红色空心方框(□)表示边框,是贪吃蛇的边界,贪吃
蛇不能碰到它,否则就“死掉”
,游戏结束。绿色实心方框(■)表示
贪吃蛇的活动范围,贪吃蛇可以自由移动,食物(苹果)也会随机出
现在这个区域。
我们不妨将贪吃蛇的活动范围称为
“贪吃蛇地图”


加上边框就称为“全局地图”


我们需要记录地图中每一个节点的信息,包括:

位置:也就是第几行几列;

类型:这个节点出现的是贪吃蛇、食物、边框,还是什么都没有
(绿色的背景)


索引:也就是数组下标,稍后会说明是什么意思。

所以需要定义一个结构体二维数组:
struct{
char type;
int index;
}globalMap[MAXWIDTH][MAXHEIGHT];
用一维下标和二维下标表示位置;用
type
表示类型,不同的类
型用不同的数字代表;用
index
表示索引。

直观上讲,应该将
type
定义为
int
类型,不过
int
占用四个字
节,而节点类型的取值范围非常有限,一个字节就足够了,所以为了
节省内存才定义为
char
类型。

同时,再建立一个足够大的一维数组,让贪吃蛇在数组内活动:

struct{
int x;
int y;
} snakeMap[ (MAXWIDTH-2)*(MAXHEIGHT-2) ]
x

y
表示行和列,
也就是
globalMap
数组的两个下标。
globalMap
数组中的索引
index
就是
snakeMap
数组的下标。

globalMap
表示了所有节点的信息,而
snakeMap
只表示了贪吃
蛇的活动区域。
通过
snakeMap
可以定位
globalMap
中的元素,
反过
来通过
globalMap
也可以找到
snakeMap
中的元素。请看下图:


1

globalMap

snakeMap
的初始对应关系

贪吃蛇向左移动时,
headerIndex
指向
404

tailIndex
指向

406


为什么设计的这么晦涩和复杂呢?因为这样设计有以下几个好
处:

贪吃蛇移动时不用处理所有节点,只要添加蛇头、删除蛇尾、重

globalMap

snakeMap

热心网友 时间:2022-04-20 04:10

如果说要用什么软件去写,其实就随便一个IDE就行了,熟悉gcc的,直接用文本编辑器就行了,关键是会不会写,会写用什么去写都一样,是一款软件,如果手机中之前已经开启了USB调试模式的话,我们可以将手机连接电脑,然后借助手机管家、豌豆荚、刷机精灵等工具,这些工具里边有“清除锁屏密码”、“恢复出厂设置”等的功能,如下所示所示,我们在电脑上操作即可。

热心网友 时间:2022-04-20 06:01

#include <stdio.h>
#include <graphics.h>
#include <stdlib.h>
#include <dos.h> /*引用的库函数*/
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define DOWN 0x5000
#define UP 0x4800
#define ESC 0x011b/*宏定义键名*/
#define N 200
int i,key;
int level;/*游戏等级*/
int score=0;/*得分*/
int gamespeed;/*游戏速度*/
struct Food
{
int x;/*食物的横坐标*/
int y;/*食物的纵坐标*/
int yes;/*判断是否要出现食物的变量*/
}food;/*食物的结构体*/
struct Snake
{
int x[N];
int y[N];
int node;/*蛇的节数*/
int direction;/*蛇移动方向*/
int life;/* 蛇的生命,0活着,1死亡*/
}snake;/*蛇的结构体*/
void Choicelevle(void);/*选择游戏等级*/
void Init(void);/*图形驱动*/
void Close(void);/*图形结束*/
void DRAW(void);/*游戏区域*/
void GameOver(void);/*结束游戏*/
void GamePlay(void);/*玩游戏具体过程*/
void PrScore(void);/*输出成绩*/

热心网友 时间:2022-04-20 08:09

C语言编写贪吃蛇用什么软件,这个问题有点不好回答,你应该是问编译器吧!C语言的编译器有很多的,例如VC++6.0或许最新版的Visual Stdio 2019都能编写的。

<<<<<<<希望以上内容能帮到你追问对对,那VC++能运行贪吃蛇吗?

热心网友 时间:2022-04-20 10:34

其实蛇每吃一个食物蛇身子就增加一格,用UP, DOWN, LEFT, RIGHT控制蛇头的运动,而蛇身子跟着蛇头走,每后一格蛇身子下一步走到上一格蛇身子的位置,以此类推。

#include <stdio.h>

#include <conio.h>

#include <windows.h>

#define BEG_X2

#define BEG_Y1

#define WID20

#define HEI20

HANDLE hout;

typedef enum {UP, DOWN, LEFT, RIGHT} DIR;

typedef struct Snake_body

{

COORD pos;//蛇身的位置

struct Snake_body *next;//下一个蛇身

struct Snake_body *prev;//前一个蛇身

}SNAKE, *PSNAKE;

PSNAKE head = NULL;//蛇头

PSNAKE tail = NULL;//蛇尾

//画游戏边框的函数

void DrawBorder()

{

int i, j;

COORD pos = {BEG_X, BEG_Y};

for(i = 0; i < HEI; ++i)

{

SetConsoleCursorPosition(hout, pos);

for(j = 0; j < WID; ++j)

{

if(i == 0)//第一行

{

if(j == 0)

printf("┏");

else if(j == WID - 1)

printf("┓");

else

printf("━");

}

else if(i == HEI - 1)//最后一行

{

if(j == 0)

printf("┗");

else if(j == WID - 1)

printf("┛");

else

printf("━");

}

else if(j == 0 || j == WID - 1)//第一列或最后一列

printf("┃");

else

printf("  ");

}

++pos.Y;

}

热心网友 时间:2022-04-20 13:15

如果说要用什么软件去写,其实就随便一个IDE就行了,熟悉gcc的,直接用文本编辑器就行了,关键是会不会写,会写用什么去写都一样

热心网友 时间:2022-04-20 16:13

是一款软件,如果手机中之前已经开启了USB调试模式的话,我们可以将手机连接电脑,然后借助手机管家、豌豆荚、刷机精灵等工具,这些工具里边有“清除锁屏密码”、“恢复出厂设置”等的功能,如下所示所示,我们在电脑上操作即可。

热心网友 时间:2022-04-20 19:28

B站上有教学视频,Linux 下 不是很多 Windows下 VS也很不错,我之前用vs写的,Linux 下 不是很多 Windows下 VS也很不错

热心网友 时间:2022-04-20 22:59

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

热心网友 时间:2022-04-21 02:47

是一款软件,如果手机中之前已经开启了USB调试模式的话,我们可以将手机连接电脑是一款软件,如果手机中之前已经开启了USB调试模式的话,我们可以将手机连接电脑

热心网友 时间:2022-04-21 06:52

用什么软件 写代码取决于个人习惯 开发环境 操作系统等

Linux 下 不是很多 Windows下 VS也很不错

热心网友 时间:2022-04-21 11:13

数字编辑软件

热心网友 时间:2022-04-21 15:51

我们尽自己最大的努力去争取为你创造一个美好的环境,只是希望你能在一个好的环境下成长。我们只是希望在一个良好的环境下会更容易培养出良好的品质,我们只是想让你明白一个良好的品质才是一个健康人生的根本。

热心网友 时间:2022-04-21 20:46

你想要什么追问就是用vc++6.0可以吗?能运行吗?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com