IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 推箱子c++小游戏 -> 正文阅读

[游戏开发]推箱子c++小游戏

在这里插入图片描述

#include <bits/stdc++.h>
#include<conio.h>
using namespace std;
const int MAXN =10;
class GM
{ int x=1,y=1; //x纵坐标 ,y横坐标
  int count =0;
 public:
 char map[MAXN][MAXN];
 GM();
 int RUN();
 int check(int x1,int y1,int t,int C);//检查
 void Display(); //打印
 void Show();
 void Start();
 };
 void GM::Start()
 {
    while(1)
  {
     Show();
  int h;
  cin>>h;
  if(h==521)
  { 
     Display();
 while(1) {

   int h=RUN();
   if(h==-1){system("cls");
   cout<<"I LOVE YOU!";
   system("pause");
    exit(0);
   }
   else if(h==4)
   { system("cls");
     GM k;
     k.Start(); 
   }
   else Display();
   }
 
  }
  else
  {system("cls");
   
    cout<<"输错了再试一次(521)";
  }
  }
 }
 void GM::Show()
{
cout<<"__________________________"<<endl;
cout<<"|       WXK&&WSN(共1关)   |"<<endl;
cout<<"|    游戏规则:           |"<<endl;
cout<<"|     &:人    O:箱子     |"<<endl;
cout<<"|     H:墙    *:目的地   |"<<endl;
cout<<"|    操作说明 Q:退出     |"<<endl;
cout<<"|     W:上    S:下        |"<<endl;
cout<<"|     D:右    A:左        |"<<endl;
cout<<"|    开始输入:521        |"<<endl;
cout<<"|_________________________|"<<endl;
}
  void GM:: Display() //打印
 { system("cls");
 cout<<"Count:"<<count<<"/ 2"<<endl;
   for(int i=0;i<10;i++)
    {
        for(int j=0; j<10;j++)
        if(map[i][j]!='0')
            cout<<map[i][j];
          else cout<<" ";
        cout<<endl;
    }
 }
GM::GM() //初始化地图
{
 fill(map[0],map[0]+MAXN*MAXN,'0');
 for(int i=0;i<MAXN;i++)
 {
   map[0][i]='H';
    map[i][0]='H';
     map[MAXN-1][i]='H';
      map[i][MAXN-1]='H';
 } 
 map[2][2]='O';
 map[6][2]='O';
 map[1][1]='P';
 map[1][3]='H';
 map[2][3]='H';
 map[3][3]='H';
 map[2][5]='H';
 map[6][4]='H';
 map[5][4]='H';
 map[7][4]='H';
 map[3][5]='H';
 map[3][6]='H';
 map[3][8]='H';
 map[4][8]='H';
 map[6][5]='*';
 
}

int GM::check(int x1,int y1,int t,int L)
{  int M=0,N=0;
  if(t==1)
  { M=L;
    N=0;
  }
  else if(t==-1)
  {
    M=0;
    N=L;
  }
if(map[x1][y1]=='H'||(map[x1][y1]=='O'&&(map[x1-M][y1+N]=='H'||map[x1-M][y1+N]=='O')))//有箱子但是会被主档和直接是墙
return -1;
else if(map[x1][y1]=='O'&&map[x1-M][y1+N]!='H')//当有箱子且不会被墙档
{ if(map[x1-M][y1+N]=='*')
return 3;
  return 1;
}
else if(map[x1][y1]!='H'&&map[x1][y1]!='*')return 2;
}
int GM::RUN()
{ 
 char ch =getch();
 int t =1,L=1;//t判断上下还是左右,L判断加减
 if(ch =='a'||ch=='d'||ch=='A'||ch=='D')t=-1;
 if(ch=='a'||ch=='s'||ch=='A'||ch=='S')L=-1;
 if(ch=='Q'||ch=='q')return 4;

 if(t==1&&check(x-L,y,t,L)==1)//往上或下有箱子了话
 {
   map[x][y]='0';
 x-=L;
 map[x][y]='P';
 map[x-L][y]='O';
 }
 else if(t==1&&check(x-L,y,t,L)==2)//往上或者往下能走了话
 {
   map[x][y]='0';
   x-=L;
   map[x][y]='P';
 }
  else if(t==1&&check(x-L,y,t,L)==3)
 {   map[x][y]='0';
   x-=L;
   map[x][y]='P';
   if(count==2)
  return -1;
 }
 else if(t==-1&&check(x,y+L,t,L)==1)//往左或右有箱子了话
 {
   map[x][y]='0';
 y+=L;
 map[x][y]='P';
 map[x][y+L]='O';
 }
  else if(t==-1&&check(x,y+L,t,L)==2)//往左或者往右能走了话
 {
   map[x][y]='0';
  y+=L;
   map[x][y]='P';
 }
  else if(t==-1&&check(x,y+L,t,L)==3)
 {   map[x][y]='0';
  y+=L;
   map[x][y]='P';
   count++;
   if(count==2)
  return -1;
 }
}
int main() {
system("color E4");
  GM k; 
  k.Start();

  }
 


  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-08-02 11:06:31  更:2021-08-02 11:07:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 0:02:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码