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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

動畫控制函數(shù)(設(shè)置光標(biāo)位置)需要包含什么頭文件?

沒用頭文件加進(jìn)去都是錯?用linux g++編譯器

正在回答

4 回答

/*?.h文件??*/
#ifndef?_maze_h_
#define?_maze_h_

#include?<stdio.h>

?#define?wall?1
?//?#typedef?1?wall;
?#define?road?0
//?#typedef?0?road;
?
int?map[10][11]?=?{??
					?{road,road,road,road,road,road,road,road,road,road,road},	
?????????????????????{road,wall,wall,wall,wall,wall,wall,wall,wall,wall,road},
?????????????????????{road,wall,wall,wall,wall,road,wall,wall,road,wall,road},
?????????????????????{road,wall,road,road,road,road,wall,wall,road,wall,road},
?????????????????????{road,wall,wall,wall,wall,road,wall,wall,road,wall,road},
?????????????????????{road,wall,wall,road,road,road,road,road,road,wall,road},
?????????????????????{road,wall,wall,road,wall,wall,road,road,road,wall,road},
?????????????????????{road,wall,road,road,wall,wall,wall,wall,wall,wall,road},
?????????????????????{road,wall,road,wall,wall,wall,wall,wall,wall,wall,road},
					?{road,road,road,road,road,road,road,road,road,road,road}
?????????????????};

class?maze
{
public:
	maze(int?x,int?y):m_X(x),m_Y(y){}
	void?setMazeMap(int?x,int?y);
//	void?setMazeWall(char?c);
//	void?drawMap();
private:
	int?m_X;?//
	int?m_Y;?//
};


enum?direction{Up,Down,Left,Right};
class?mazer
{
public:
	mazer():direct(Up){}
	void?setMazerPosition(int?x,int?y);
	void?resetMazerPosition(int?x,int?y);
	void?MazerStart(void);
	direction?getDirection(void);
	void?setDirection(direction?D);
	int?getPx(void);
	int?getPy(void);
private:	
	direction?direct;
	int?m_Px;
	int?m_Py;
};


#define?moveto(x,y)?printf("\033[%d;%dH",(x),(y))
#define?clear()??	printf("\033[2J")
#define?setRed()	printf("\033[31m")
#define?setBlack()??printf("\033[30m")
//#define?setBlack()?	printf("\033[30m\033[4m")
#endif?

/*?.cpp文件?*/
#include?<iostream>
#include?<string>
#include?<unistd.h>
#include?<time.h>
#include?<sys/time.h>
#include?"maze.h"?
using?namespace?std;
int?main()
{
	clear();
	moveto(1,1);
	////////////////////////////////////////////
	maze?myMaze(10,11);
	myMaze.setMazeMap(10,11);

	mazer?myMazer;
	myMazer.setMazerPosition(10,3);
	myMazer.MazerStart();

	////////////////////////////////////////////
	moveto(15,1);	
	setBlack();
	return?0;
}

void?maze::setMazeMap(int?x,int?y)
{
?????int?i=0,j=0;
?????for(i=0;i<x;i++)
?????{
?????????for(j=0;j<y;j++)
?????????{
?????????	if(map[i][j]==wall)
?????????		cout?<<?"*";
			else
				cout?<<?"?";
?????????}
?????????cout?<<endl;
?????}
}

void?mazer::setMazerPosition(int?x,int?y)
{
	m_Px?=?x;
	m_Py?=?y;

	moveto(x,y);
	setRed();
	cout?<<?"P"?<<?endl?;
//	sleep(1);?//?n?second
	usleep(500000);?//n?usecond
}
void?mazer::resetMazerPosition(int?x,int?y)
{
	moveto(x,y);
	setBlack();
	cout?<<?"?"?<<?endl;
}

int?mazer::getPx()
{
	return?m_Px;
}
int?mazer::getPy()
{
	return?m_Py;
}

direction?mazer::getDirection()
{
	return?direct;
}
void?mazer::setDirection(direction?D)
{
	direct?=?D;
}

void?mazer::MazerStart()
{
	int?Px,Py;
	int?over=0,step=0;
	Px?=?getPx();
	Py?=?getPy();
	while(1)
	{
		direction?D?=?getDirection();
		switch?(D)
		{
			case?Up:
				resetMazerPosition(Px,Py);
				setMazerPosition(Px-1,Py);
				Px?=?getPx();
				Py?=?getPy();
				if(map[Px-1][Py+1-1]?!=?wall)
				{
					if((map[Px-1-1][Py-1]?!=wall)?&&?(?(Px==1)?||?(Px==10)?||?(Py==1)?||?(Py==11)))over?=?1;
					else?setDirection(Right);
				}	
				else?if(map[Px-1-1][Py-1]?==?wall)?
				{
					if(map[Px-1][Py-1-1]?!=?wall)setDirection(Left);
					else?setDirection(Down);
				}	
				else?setDirection(Up);
				break;		
			case?Down:
			????resetMazerPosition(Px,Py);
			????setMazerPosition(Px+1,Py);
				Px?=?getPx();
				Py?=?getPy();
				if(map[Px-1][Py-1-1]?!=?wall)?
				{
					if((map[Px+1-1][Py-1]?!=?wall)?&&?(?(Px==1)?||?(Px==10)?||?(Py==1)?||?(Py==11)))over?=?1;
					else?setDirection(Left);
				}
				else?if(map[Px+1-1][Py-1]?==?wall)
				{
					if(map[Px-1][Py+1-1]?!=?wall)setDirection(Right);
					else?setDirection(Up);
				}
				else?setDirection(Down);
				break;
			case?Left:
			???	resetMazerPosition(Px,Py);
			????setMazerPosition(Px,Py-1);
				Px?=?getPx();
				Py?=?getPy();
				if(map[Px-1-1][Py-1]?!=?wall)
				{
					if((map[Px-1][Py-1-1]?!=?wall)?&&?(?(Px==1)?||?(Px==10)?||?(Py==1)?||?(Py==11)))over?=?1;
					else?setDirection(Up);
				}
				else?if(map[Px-1][Py-1-1]?==?wall)?
				{
					if(map[Px+1-1][Py-1]?!=?wall)setDirection(Down);
					else?setDirection(Right);
				}
				else?setDirection(Left);
				break;
			case?Right:
				resetMazerPosition(Px,Py);
				setMazerPosition(Px,Py+1);
				Px?=?getPx();
				Py?=?getPy();
				if(map[Px+1-1][Py-1]?!=?wall)
				{
					if((map[Px-1][Py+1-1]?!=?wall)?&&?(?(Px==1)?||?(Px==10)?||?(Py==1)?||?(Py==11)))over?=?1;
					else?setDirection(Down);
				}
				else?if(map[Px-1][Py+1-1]?==?wall)
				{
					if(map[Px-1-1][Py-1]?!=?wall)setDirection(Up);
					else?setDirection(Left);
				}
				else?setDirection(Right);
				break;						
		}
		
		if(over)
		{
			moveto(12,1);
			cout?<<?"Congratulation!?use?step?"?<<?step?<<endl;
			break;
		}
		step?++;
	}	
}


0 回復(fù) 有任何疑惑可以回復(fù)我~
/***??.h文件??*/
#ifndef?_maze_h_
#define?_maze_h_

#include?<stdio.h>

?#define?wall?1
?//?#typedef?1?wall;
?#define?road?0
//?#typedef?0?road;
?
int?map[10][11]?=?{??
					?{road,road,road,road,road,road,road,road,road,road,road},	
?????????????????????{road,wall,wall,wall,wall,wall,wall,wall,wall,wall,road},
?????????????????????{road,wall,wall,wall,wall,road,wall,wall,road,wall,road},
?????????????????????{road,wall,road,road,road,road,wall,wall,road,wall,road},
?????????????????????{road,wall,wall,wall,wall,road,wall,wall,road,wall,road},
?????????????????????{road,wall,wall,road,road,road,road,road,road,wall,road},
?????????????????????{road,wall,wall,road,wall,wall,road,road,road,wall,road},
?????????????????????{road,wall,road,road,wall,wall,wall,wall,wall,wall,road},
?????????????????????{road,wall,road,wall,wall,wall,wall,wall,wall,wall,road},
					?{road,road,road,road,road,road,road,road,road,road,road}
?????????????????};

class?maze
{
public:
	maze(int?x,int?y):m_X(x),m_Y(y){}
	void?setMazeMap(int?x,int?y);
//	void?setMazeWall(char?c);
//	void?drawMap();
private:
	int?m_X;?//
	int?m_Y;?//
};


enum?direction{Up,Down,Left,Right};
class?mazer
{
public:
	mazer():direct(Up){}
	void?setMazerPosition(int?x,int?y);
	void?resetMazerPosition(int?x,int?y);
	void?MazerStart(void);
	direction?getDirection(void);
	void?setDirection(direction?D);
	int?getPx(void);
	int?getPy(void);
private:	
	direction?direct;
	int?m_Px;
	int?m_Py;
};


#define?moveto(x,y)?printf("\033[%d;%dH",(x),(y))
#define?clear()??	printf("\033[2J")
#define?setRed()	printf("\033[31m")
#define?setBlack()??printf("\033[30m")
//#define?setBlack()?	printf("\033[30m\033[4m")
#endif

/* ? .cpp文件 */

#include <iostream>

#include <string>

#include <unistd.h>

#include <time.h>

#include <sys/time.h>

#include "maze.h"?

using namespace std;

int main()

{

clear();

moveto(1,1);

////////////////////////////////////////////

maze myMaze(10,11);

myMaze.setMazeMap(10,11);


mazer myMazer;

myMazer.setMazerPosition(10,3);

myMazer.MazerStart();


////////////////////////////////////////////

moveto(15,1);

setBlack();

return 0;

}


void maze::setMazeMap(int x,int y)

{

? ? ?int i=0,j=0;

? ? ?for(i=0;i<x;i++)

? ? ?{

? ? ? ? ?for(j=0;j<y;j++)

? ? ? ? ?{

? ? ? ? ? if(map[i][j]==wall)

? ? ? ? ? cout << "*";

else

cout << " ";

? ? ? ? ?}

? ? ? ? ?cout <<endl;

? ? ?}

}


void mazer::setMazerPosition(int x,int y)

{

m_Px = x;

m_Py = y;


moveto(x,y);

setRed();

cout << "P" << endl ;

// sleep(1); // n second

usleep(500000); //n usecond

}

void mazer::resetMazerPosition(int x,int y)

{

moveto(x,y);

setBlack();

cout << " " << endl;

}


int mazer::getPx()

{

return m_Px;

}

int mazer::getPy()

{

return m_Py;

}


direction mazer::getDirection()

{

return direct;

}

void mazer::setDirection(direction D)

{

direct = D;

}


void mazer::MazerStart()

{

int Px,Py;

int over=0,step=0;

Px = getPx();

Py = getPy();

while(1)

{

direction D = getDirection();

switch (D)

{

case Up:

resetMazerPosition(Px,Py);

setMazerPosition(Px-1,Py);

Px = getPx();

Py = getPy();

if(map[Px-1][Py+1-1] != wall)

{

if((map[Px-1-1][Py-1] !=wall) && ( (Px==1) || (Px==10) || (Py==1) || (Py==11)))over = 1;

else setDirection(Right);

}

else if(map[Px-1-1][Py-1] == wall)?

{

if(map[Px-1][Py-1-1] != wall)setDirection(Left);

else setDirection(Down);

}

else setDirection(Up);

break;

case Down:

? ?resetMazerPosition(Px,Py);

? ?setMazerPosition(Px+1,Py);

Px = getPx();

Py = getPy();

if(map[Px-1][Py-1-1] != wall)?

{

if((map[Px+1-1][Py-1] != wall) && ( (Px==1) || (Px==10) || (Py==1) || (Py==11)))over = 1;

else setDirection(Left);

}

else if(map[Px+1-1][Py-1] == wall)

{

if(map[Px-1][Py+1-1] != wall)setDirection(Right);

else setDirection(Up);

}

else setDirection(Down);

break;

case Left:

? resetMazerPosition(Px,Py);

? ?setMazerPosition(Px,Py-1);

Px = getPx();

Py = getPy();

if(map[Px-1-1][Py-1] != wall)

{

if((map[Px-1][Py-1-1] != wall) && ( (Px==1) || (Px==10) || (Py==1) || (Py==11)))over = 1;

else setDirection(Up);

}

else if(map[Px-1][Py-1-1] == wall)?

{

if(map[Px+1-1][Py-1] != wall)setDirection(Down);

else setDirection(Right);

}

else setDirection(Left);

break;

case Right:

resetMazerPosition(Px,Py);

setMazerPosition(Px,Py+1);

Px = getPx();

Py = getPy();

if(map[Px+1-1][Py-1] != wall)

{

if((map[Px-1][Py+1-1] != wall) && ( (Px==1) || (Px==10) || (Py==1) || (Py==11)))over = 1;

else setDirection(Down);

}

else if(map[Px-1][Py+1-1] == wall)

{

if(map[Px-1-1][Py-1] != wall)setDirection(Up);

else setDirection(Left);

}

else setDirection(Right);

break;

}

if(over)

{

moveto(12,1);

cout << "Congratulation! use step " << step <<endl;

break;

}

step ++;

}

}


0 回復(fù) 有任何疑惑可以回復(fù)我~

那是在windows下面的。視頻里講的都是在windows平臺的,在linux下已經(jīng)實現(xiàn)了。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

遲早是大神

我也是在Linux環(huán)境下開發(fā)的,想問一下你是如何控制光標(biāo)的,視頻里沒講linux下的操作,能把你的源代碼共享一下嗎
2016-03-29 回復(fù) 有任何疑惑可以回復(fù)我~

#include <windows.h>

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

愛飛的小鳥 提問者

那是在windows下面的,視頻里講的都是在windows平臺的。后面自己在linux下已經(jīng)實現(xiàn)了,效果還行。
2015-08-25 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
C++遠(yuǎn)征之封裝篇(下)
  • 參與學(xué)習(xí)       70903    人
  • 解答問題       532    個

封裝--面向?qū)ο笕筇卣髦?,通過案例讓C++所學(xué)知識融會貫通

進(jìn)入課程

動畫控制函數(shù)(設(shè)置光標(biāo)位置)需要包含什么頭文件?

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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