• 大小: 16KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: 其他
  • 标签: 游戏  

资源简介

linux下推箱子游戏

资源截图

代码片段和文件信息

#include“stdio.h“
#include “termios.h“
#include “stdlib.h“
//------------------Game---------------------
int w=39;
int h=20;
struct MapId{          //定义地图结构体
int id;
int EditMapId[18][18];
}m1m2;
struct Note{          //定义地图结构体
int n;
struct Note *next;
}*head*p*pn;  
struct Point{          //定义一个点
int x;
int y;
};
struct Point G1;
struct Point G;     //定义一个光标
struct Point P;     //定义一个人物
struct Point B[10]; //最多10个箱子
int M=0;
int GK=1;
int NGK=0;
int MapId[40][20]={0};
int EditMapId[18][18]={0};
//---------初始化所有关卡---------
//0是路,1是墙,2是人,3是箱子,4是地点
int TMap[9][9]={111111111100000001100000001100333001102444001100000001100000001100000001111111111};
int Pmap1[8][9]={011111110010244410010001111111300001100013101103010001100011111111110000};                                         
void gotoxy(int xint y);         //1光标定位 
int getch();                      //2得到一个字符
void clear();                     //3清屏
void Hit();                       //4隐藏光标
void People(int xint y);         //5地球人
void Brick(int xint y);          //6砖头
void Box(int xint y);            //7箱子
void BoxEnd(int xint y);         //8目的地
void ClearPB(int xint y);        //9清除地面
void Map();                       //10初始化地图
int PMmap(int xint yint id[x][y]);//11初始化关卡地图
void InitMap(int a[40][20]);      //12初始化文件关卡地图
void PeMove(int F);               //13地球人移动
int BoxMove(int F);               //14箱子移动
int IfEnd(int xint y);           //15判断人是否在目的地
void Start();                     //16游戏开始
void Over();                      //17游戏结束
int Life();                       //18判断游戏是否结束
int Cunt();                       //19计分
void Menu();                      //20菜单
void ShowStart(int xint yint i);//21显示开始文字
void ShowEdit(int xint yint i); //22显示地图编辑器
void ShowExit(int xint yint i); //23显示退出
void ShowMesMap();                //24显示提示窗口
void ShowEditMap();               //25显示地图编辑
void EditMap();                   //26地图编辑函数
void EditMove(int T);             //27编辑者移动
void EditFileSave(int a[18][18]); //28编辑者地图保存
void EditFileRed(int n);          //29编辑者地图读取
void MapCap();                    //30地图复制
void MapIdC();                    //31地图清零
int EditLen();                    //32计算有多少张地图
void ShowGK();                    //显示关卡
//-------------------------------------------
int getch()
{
struct termios tmtm_old;
int fd=0ch;
if(tcgetattr(fd&tm)<0){//保存现在的终端设置
return -1;
}
tm_old=tm;
cfmakeraw(&tm);//更改终端为原始模式,该模式数据以字节为单位处理
if(tcsetattr(fdTCSANOW&tm)<0){
return -1;
}
ch=getchar();
if(tcsetattr(fdTCSANOW&tm_old)<0){//更改最初的样子

return -1;
}
return ch;
}
//-------------------------------------
//------------gotoxy()光标定位----------
void gotoxy(int xint y)
{
printf(“%c[%d;%df“0x1Byx);
}
//-------------------清屏函数------------
void clear(){
system(“clear“);
}
//-------------------隐藏光标-------------
void Hit()
{
printf(“\033[?25l\033[0m“

评论

共有 条评论