第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

沒有文件或目錄,就是include"maze.h"

沒有文件或目錄,就是include"maze.h"

C#
forever丶會(huì) 2016-09-14 09:25:51
/maze.h ifndef MAZE_H define MAZE_H include <iostream> include <ctime> include <cstring> using namespace std; const int SEC = CLOCKS_PER_SEC; static const int row = 20;//迷宮大小 static const int column = 20; enum{north=1,south=2,west=3,east=4}; enum{fast=1,slow=2}; enum{wall='0',road=' ',eage='1'}; enum{turnRight,turnLeft,turnBack}; class mazePerson { private: char name; int startx;//開始位置 int starty; int px;//當(dāng)前位置 int py; int dir;//小人的朝向 public: mazePerson(char name,int sx,int sy,int d); ~mazePerson(); void setDir(int turn); char getName(){return name;}; int getStartx(){return startx;} int getStarty(){return starty;} int getPx(){return px;}; int getPy(){return py;}; int getDir(){return dir;}; void moveFront(); }; class Maze { char map[row][column]; mazePerson per; public: Maze(char arr[row][column],char p,int sx,int sy,int d); Maze(); ~Maze(); void changeMap(); bool move(); bool isStartxy(); bool isExit();//是否到達(dá)出口 char getRight();//讀取右邊信息 char getLeft();//讀取左邊信息 char getFront();//讀取前方信息 //char getRear(); void disMap(); void start(int speed); }; endif // MAZE_H //maze.cpp include "maze.h" static int steps = 0; //結(jié)構(gòu)函數(shù),初始化小人 mazePerson::mazePerson(char n,int sx,int sy,int d) { name = n; startx = sx; starty = sy; px = startx; py = starty; dir = d; } mazePerson::~mazePerson() { } //重新設(shè)置小人方向(turnLeft左轉(zhuǎn), turnBack向后轉(zhuǎn),else右轉(zhuǎn) void mazePerson::setDir(int turn) { switch(dir) { case north: if(turn == turnLeft) dir = west; else if(turn == turnBack) dir = south; else dir = east; break; case south: if(turn == turnLeft) dir = east; else if(turn == turnBack) dir = north; else dir = west; break; case west: if(turn == turnLeft) dir = south; else if(turn == turnBack) dir = east; else dir = north; break; case east: if(turn == turnLeft) dir = north; else if(turn == turnBack) dir = west; else dir = south; break; } } //往前移動(dòng) void mazePerson::moveFront() { switch(dir) { case north:px--; break; case south:px++; break; case west:py--; break; case east:py++; break; } } //結(jié)構(gòu)函數(shù),初始化迷宮 Maze::Maze(char arr[row][column],char name,int sx,int sy,int d): per(name,sx,sy,d) { int i,j; for(i=0;i<row;i++) strcpy(map[i],arr[i]); map[per.getStartx()][per.getStarty()] = per.getName(); } Maze::~Maze() { cout << "you get it!\n"; } //shifou shi kaishi weizhi bool Maze::isStartxy() { if(per.getStartx()==per.getPx() && per.getStarty()==per.getPy()) return true; else return false; } //判斷是否到達(dá)出口 bool Maze::isExit() { if(isStartxy()&&steps == 0) return false; else if(getLeft()==eage getRight()==eage getFront()==eage) return true; } //輸出迷宮信息(地圖和小人位置) void Maze::disMap() { int i,j; for(i=0;i<row;i++) { cout << map[i] << endl; } } //讀取小人左右和前方的信息 char Maze::getRight() { switch(per.getDir()) { case north:return map[per.getPx()][per.getPy()+1]; break; case south:return map[per.getPx()][per.getPy()-1]; break; case west:return map[per.getPx()-1][per.getPy()]; break; case east:return map[per.getPx()+1][per.getPy()]; break; } } char Maze::getLeft() { switch(per.getDir()) { case north:return map[per.getPx()][per.getPy()-1]; break; case south:return map[per.getPx()][per.getPy()+1]; break; case west:return map[per.getPx()+1][per.getPy()]; break; case east:return map[per.getPx()-1][per.getPy()]; break; } } char Maze::getFront() { switch(per.getDir()) { case north:return map[per.getPx()-1][per.getPy()]; break; case south:return map[per.getPx()+1][per.getPy()]; break; case west:return map[per.getPx()][per.getPy()-1]; break; case east:return map[per.getPx()][per.getPy()+1]; break; } } //移動(dòng)小人,并更新迷宮信息 bool Maze::move() { if(getRight()==road)//如果右邊有路,右轉(zhuǎn) { ??? per.setDir(turnRight); ??? map[per.getPx()][per.getPy()] = road; ??? per.moveFront(); ??? changeMap(); } else if(getFront()==road)//如果前方有路,直走 { ??? map[per.getPx()][per.getPy()] = road; ??? per.moveFront(); ??? changeMap(); } else if(getLeft()==road) { ??? per.setDir(turnLeft);//如果左邊有路,左轉(zhuǎn) ??? map[per.getPx()][per.getPy()] = road; ??? per.moveFront(); ??? changeMap(); } else if(getRight()==wall&&getLeft()==wall&&getFront()==wall) { ??? per.setDir(turnBack);//如果左右前都是墻向后轉(zhuǎn) ??? return false; } return true; } //開始走迷宮,speed(fast/slow)代表速度 void Maze::start(int speed) { for(;!isExit();) { system("cls"); if(move()) steps++; disMap(); clock_t time = clock(); for(;clock()-time < speed * SEC / 5;); } if(isStartxy())//如果走回開始位置,地圖錯(cuò)誤 { cout << "Map error!Dont have exit!"; return; } else cout << "恭喜你,用了" << steps << "步" << endl; } //更新小人位置 void Maze::changeMap() { map[per.getPx()][per.getPy()] = per.getName(); } //main.cpp include "maze.h" /* Maze(char arr[row][column],char p,int sx,int sy,int d); 初始化迷宮類 參數(shù)1:地圖(自己隨便設(shè)置,3,4,5參數(shù)要自己改) 參數(shù)2:表示小人的字符 參數(shù)3,4:開始坐標(biāo) 參數(shù)5:小人的朝向 小人默認(rèn)是靠右走,如果想靠左走, 把maze里面start函數(shù)的第一和第三個(gè)if語句交換一下 / char per =''; int main(int argc, char *argv[]) { char arr[row][column] = { "1111111111111111111", "100000000000000001", "1000000000 00001", "1000000000 00 00001", "1000000 00 001", "100000 0000000 001", "100000 00000000 001", "10 00 00 001", "10 000000 00 00 001", "10 000000 00 00 001", "10 0 00 00 001", "10 0 000000 00 001", "1 0 0000 000 001", "10 0 0 00 001", "10 0 00 0 00 000001", "10 000 0 00 00001", "1000000 0 000 00001", "10 0 00001", "10 0000000000000001", "1111111111111111111" }; Maze maz(arr,per,12,1,east); maz.start(fast); cout << "Bye!\n"; return 0; }
查看完整描述

1 回答

?
漢江怪人

TA貢獻(xiàn)50條經(jīng)驗(yàn) 獲得超11個(gè)贊

放在一個(gè)工程里了嗎,在一個(gè)工程的話路徑一樣嗎

查看完整回答
反對(duì) 回復(fù) 2016-09-14
  • 1 回答
  • 0 關(guān)注
  • 1864 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)