1.[文件]

Game.cpp ~ 2KB

下载(134)

// Game.cpp: implementation of the Game class.

//

//

#include "Game.h"

#include

#include

using namespace std;

char map[WIDTH][HEIGHT] ;

const char WAY = ' ';//路

const char WALL= '#';//墙

const char MOUSE = '&';//老鼠

const char DOOR = '>';//门

const char PASS = '.';//走过的路

const char DEAD_PASS='X';//死路

const int LEFT = 0;

const int RIGHT=1;

const int DOWN = 2;

const int UP =3;

//

// Construction/Destruction

//

Game::Game():mouse(0,2)

{

}

Game::~Game()

{

}

//启动游戏,初始化地图

void Game::init_map()

{

srand(time(NULL));

for(int i = 0 ; i

{

for(int j= 0 ; j

{

if(i==0 || i==WIDTH-1 || j==0 || j==HEIGHT-1)

map[i][j] = WALL;

else

map[i][j] = rand()%4==0?WALL:WAY;

}

}

map[0][2]=MOUSE;

map[WIDTH-1][HEIGHT-2]=DOOR;

}

//显示地图

void Game::show_map()

{

system("cls");

for(int i = 0 ; i

{

for(int j= 0 ; j

{

cout<< map[i][j];

}

cout<

}

}

//开始游戏

void Game::start()

{

int x,y;

while(1)//mouse.getX()!=WIDTH-1 &&mouse.getY()!=HEIGHT-2

{

x=mouse.getX();

y=mouse.getY();

map[x][y]=MOUSE;

show_map();

if((map[x][y+1]!=WALL && map[x][y+1]!=DEAD_PASS &&map[x][y+1]!=PASS)&& test_bound(x,y+1)==true)

{

map[x][y]=PASS;

mouse.goRight();

}

else if((map[x+1][y]!=WALL && map[x+1][y]!=DEAD_PASS&&map[x+1][y]!=PASS)&& test_bound(x+1,y)==true)

{

map[x][y]=PASS;

mouse.goDown();

}

else if((map[x][y-1]!=WALL && map[x][y-1]!=DEAD_PASS&&map[x][y-1]!=PASS)&& test_bound(x,y-1)==true)

{

map[x][y]=PASS;

mouse.goLeft();

}

else if((map[x-1][y]!=WALL && map[x-1][y]!=DEAD_PASS && map[x-1][y]!=PASS)&& test_bound(x-1,y)==true)

{

map[x][y]=PASS;

mouse.goUp();

}

else

{

map[x][y]=DEAD_PASS;

int rb=mouse.reBack();

if(rb==-1)

break;

}

if(mouse.getX()==WIDTH-1 && mouse.getY()==HEIGHT-2)

break;

}

if(mouse.getX()==WIDTH-1 && mouse.getY()==HEIGHT-2)

cout<

else

cout<

}

//测试坐标是否合法

bool Game::test_bound(int x , int y)

{

if(x>0 && x0 && y

return true;

return false;

}

Java老鼠走迷宫流程图_老鼠走迷宫(队列实现)相关推荐

  1. c 实现走迷宫流程图_求教c 迷宫流程图

    代码如下不是很完善望大虾也能帮忙修改修改/*4.3.3源程序*/#include#include#include#include#include#defineN20/*迷宫的大小,可改... 代码如下 ...

  2. java 迷宫代码_老鼠走迷宫代码 JAVA

    展开全部 //老鼠走迷宫程序 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Maze1 ...

  3. c 实现走迷宫流程图_[求助]:迷宫问题 流程图

    得分:0 唉 没大大来帮一下吗 ----------------解决方案-------------------------------------------------------- #includ ...

  4. java中审核订单流程图_看95后java妹子横扫阿里,京东,小米,滴滴,美团等大厂,一份热腾腾的面经(最终入职阿里)...

    内容目录 头条 美团 滴滴 京东 others 算法题 HR面 tips 自序 这次面试的公司有一点点多,主要是因为毕业后前两份工作找的都很草率,这次换工作就想着,emm,毕业三年了,该找个工作好好沉 ...

  5. 计算走线长度_高速走线长度的一些思考

    图1-1 眼图示意图 随着高速信号的频率越来越高,对layout设计的挑战也越来越大,其中的挑战之一就是高速信号的长度限制,无论是串行还是并行总线,对线长的要求总的来说都是越来越严格,各总线对信号的长 ...

  6. java中审核订单流程图_「数据架构」数据流程图:实例-订餐系统

    数据流图(DFD)提供了系统内信息流(即数据流)的可视化表示.通过绘制数据流程图,您可以了解由参与系统流程的人员提供并交付给他们的信息.完成流程所需的信息以及需要存储和访问的信息.本文以一个订餐系统为 ...

  7. java鬼吹灯搬山法杖_鬼吹灯昆仑迷宫技能搭配之搬山篇攻略心得

    有的新手玩家可能对<鬼吹灯昆仑迷宫>相对复杂的技能搭配犯晕.小编下面整理了一下搬山职业的主流技能搭配套路,希望可以帮助新手玩家更好的入手. 下面所说的技能情况均以主角技能说明,伙伴的技能与 ...

  8. java程序设计(小时钟)流程图_数字电路课程设计--电子钟实验报告

    一:要求 ①要有时钟显示功能,能够实现时.分.秒的显示 ②要有整点报时功能 ③要有设置时间功能. 二:流程图 三:主要部分的实现方案 1)秒脉冲电路:利用集成电路555定时器与电阻和电容组成多谐振荡器 ...

  9. java 栈和队列实现迷宫代码_使用两个队列实现一个栈

    两个队列实现一个栈 栈的特点是后进先出,队列的特点是先进先出.使用两个队列模拟栈,实现栈的push,pop,top,empty 操作. 假设队列中均为数字,其中队列q1为操作队列,q2为辅助队列. p ...

最新文章

  1. 高亮提示、聚焦控件并滚动到浏览器中干好可以查看到该控件的位置
  2. top_k问题python解
  3. Stay hungry, Stay foolish---致所有迷茫的人
  4. C++longest palindromic subsequence最长回文子序列算法实现(附完整源码)
  5. mysql独立开发_独立开发一个 App 是一种怎样的体验?
  6. python turtle画四叶草的步骤_python turtle工具绘制四叶草的实例分享
  7. 设计模式之(四)抽象工厂模式(Abstract Factory)
  8. Bailian2710 数制转换(POJ NOI0113-01)【进制】
  9. How to Run Mac OS X in VirtualBox on Windows
  10. 考试系统分析对比考试系统哪个好
  11. css 图片放大1.2倍,什么是二倍图?怎样使用二倍图?
  12. How far away ? HDU - 2586 trajan算法lca
  13. find7刷Android,OPPO Find 7刷Color OS 2.0教程
  14. Android应用开发性能优化的知识点
  15. SEO工具脚本,Python百度下拉框关键词采集工具
  16. 筛法打印质数表【附:100000以内质数表】
  17. Web前端是什么?Web前端包括哪些技术?
  18. 管理QQ群,什么情况下适合用软件
  19. mbk文件导入到oracle,Oracle基于物化视图的远程数据复制
  20. 「诗云科技」获IDG资本领投数百万美元Pre-A轮融资,研发内容生成引擎Surreal Engine

热门文章

  1. android studio导入项目提示NO VARIANTS FOUND FOR ‘APP‘
  2. oracle索引的测试
  3. 海狮号水下机器人_SeaLion 海狮水下机器人ROV-JWFishers
  4. arduino-esp32:基于TFT-eSPI库实现触摸显示屏
  5. 2.4G、5GWiFi
  6. 航班管家获得1500万美元B轮融资
  7. Linux虚拟内存交换空间,Linux 添加 Swp 虚拟内存交换空间
  8. 即刻智能|2022【不忘初心 砥砺前行】年会盛典圆满落幕
  9. 浅论各种调试接口(JTAG、SWD、RDI、Jlink、Ulink、STlink)的区别
  10. window VPN连接不上问题?--- 解决