C++实现推箱子游戏源代码

更新时间:2024-04-10 03:16:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

#define qiang 1 #define ren 2 #define xiangzi 3 #define jia 6 #define men 8 #define space 9

int map[13][17] = {0}; int fuben[13][17];

int num_guan; //现在的关数 int num_xiangzi; //箱子的个数 int move_num = 0; //人行走的次数 int push_num = 0; //人推箱子的次数

int people[2]; //M[0] 是人所在位置的横坐标M[1]是人所在位置的纵坐标

int door[2]; //门所在的坐标 int tem = 0; int cc;

void play(); void chushi2();

void guan1();void guan2();void guan3();void guan4();void guan5();void guan6();

void guan7();void guan8();void guan9();void guan10();void guan11();void guan12(); void guan13();void guan14(); void dayin(); int control(); int finish();

/**********************************************************主方法

*************************************************************************/

int main() {

void jiemian(); void shuoming(); void xuanguan(); void chushi(int nn); void chushi1();

int i; char c;

chushi1();

for(i = 0;i<=999;i++) {

jiemian(); c = getche();

if(c == '1') play(); else if(c == '2') xuanguan(); else if(c == '3') shuoming(); else if(c == '4') break;

else system(\);} }

/*************************游戏主界面******************************/

void jiemian() {

printf(\);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_BLUE);

printf(\╭╮ ■■ □ □ ◆◆◆◆◆◆◆◆\\n\);

printf(\││ ■ ■ □□□□□□□□ ◆ \\n\);

printf(\╭─┘└╮■■■■■ □ ■ □ ■ ◆ ◆ \\n\);

printf(\╰─┐┌■■ ■ □ ┏━━━┓ ◆ ◆ \\n\);

printf(\││ ■■■■ □□□□┃┏━┓┃ ◆◆ \\n\);

printf(\╭─┘└╮ ■ ■ □ ┃┏━┓┃ ┏━━━━◆━━┓\\n\);

printf(\╰─┐┌╯ ■■■■ □□ ┃┏━┓┃ ┗━━━━◆━━┛\\n\);

printf(\╭─┘│ ■ ■ □□□┃┗━┛┃ ◆ \\n\);

printf(\╰──╯ ■■■■■ □ □□┗━━━┛ ◆◆◆◆

◆◆ \\n\\n\);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY| FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);

printf(\开始游戏\\n\\n\);

printf(\\\n\\n\);

printf(\\\n\\n\);

printf(\\\n\\n\); }

void chushi1() {

int i,j;

for(i = 0;i<=12;i++) for (j = 0;j<=16;j++) fuben[i][j] = 0; }

void chushi2()

选择关卡游戏帮助退出游戏

{

int i,j;move_num = 0; push_num=0;

for(i = 0;i<=12;i++) for(j = 0;j<=16;j++) {

map[i][j] = 0; fuben[i][j] = 0; } }

/*************************游戏规则及说明******************************/ void shuoming() { int i; char c;

for(i = 0;i<=999;i++) {

system(\);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY| FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);

printf(\╭───────────╮\\n\); printf(\│ 游戏规则及说明 │\\n\); printf(\╰───────────╯\\n\\n \);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY|FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN |

BACKGROUND_BLUE|FOREGROUND_RED|FOREGROUND_RED); printf(\囧

\);SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY| FOREGROUND_RED |

FOREGROUND_GREEN | FOREGROUND_BLUE);printf(\);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY| FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);

printf(\别看了,这就是你了,还挺cool的吧,嘿嘿\\n\\n\\n\);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_INTENSITY); printf(\█ \);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY| FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);

printf(\这个是墙,放心,不是豆腐渣工程,要不你可以去撞撞看,\\n\);

printf(\你会懂得......\\n\\n\\n\); printf(\■ \);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY| FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);

printf(\这个是箱子,就是要你去推的那个,不要试图一下推两个箱\\n\);

printf(\子,更不要想推着箱子把墙撞开,没用的...不要沮丧,再免\\n\);

printf(\费给你一句忠告,要是把箱子推到了死角,呵呵,直接下一\\n\);

printf(\关吧\\n\\n\\n\);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_GREEN | FOREGROUND_RED);

printf(\★ \);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY| FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);

printf(\这里就是箱子们的最终归宿了,箱子要是回不到家,哼哼,\\n\);

printf(\你自己掂量着办吧。另外,只有他们都接到了自己的小箱子,\\n\);

printf(\你才能找到出口哦\\n\\n\\n\);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_GREEN); printf(\■ \);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY| FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);

printf(\箱子到家后就会变身啦\\n\\n\\n\);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE | FOREGROUND_RED); printf(\П \);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY| FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);

printf(\这就是你完成本关的见证了,走进去,紧接着下一关又来了\\n\\n\\n\);

printf(\呵呵,很遗憾,快重新开始吧\\n\\n\\n\);

printf(\这个是退出的哦,按了就什么都没有了\\n\\n\\n\);

printf(\↑↓←→ 按这个控制方向就可以了,开推吧那就\\n\\n\\n\\n\\n\\n\\t \);

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED | FOREGROUND_GREEN);

cout<<\返回请按B\<

c = getche();

if(c == 'B'||c == 'b') {

system(\); return; }

else continue; } }

void xuanguan() { int c;

int i,gg = 1,j = 0,k; for(i = 0;i<=999;i++) {

system(\); tem = 0;

printf(\);

printf(\╭─╮╭─╮\\n\);

╭─╮ ╭─╮─╮ ╭─╮ ╭

printf(\│1│ │2│ │3│ │4│ │5│ │6│\\n\);

printf(\╰─╯ ╰─╯ ╰─╯ ╰─╯ ╰─╯ ╰─╯\\n\\n\);

printf(\╭─╮ ╭─╮ ╭─╮ ╭─╮ ╭─╮ ╭─╮\\n\);

printf(\│7│ │8│ │9│ ││ ││ ││\\n\); printf(\╰─╯ ╰─╯ ╰─╯ ╰─╯ ╰─╯ ╰─╯\\n\\n\);

printf(\╭─╮ ╭─╮ \\n\); printf(\││ ││ \\n\); printf(\╰─╯ ╰─╯ \\n\\n\);

printf(\请选择关卡: \);

fflush(stdin); scanf(\,&c); system(\); for(k = c;k<=30;k++) {

tem = 0; system(\); if(k == 1)

guan1(); else if(k == 2) guan2(); else if(k == 3) guan3(); else if(k == 4) guan4(); else if(k == 5) guan5(); else if(k == 6) guan6(); else if(k == 7) guan7(); else if(k == 8) guan8(); else if(k == 9) guan9(); else if(k == 10) guan10(); else if(k == 11) guan11(); else if(k == 12)

guan12(); else if(k == 13) guan13(); else if(k == 14) guan14(); j = control(); if(j == 1) {

system(\); return ; } } } }

void play() {

int i,gg = 1,j = 0; for(i = 1;i<=20;i++) {

tem = 0; system(\);

if(i == 1) guan1(); else if(i == 2) guan2(); else if(i == 3) guan3(); else if(i == 4) guan4(); else if(i == 5) guan5(); else if(i == 6) guan6(); else if(i == 7) guan7(); else if(i == 8) guan8(); else if(i == 9) guan9(); else if(i == 10) guan10(); else if(i == 11) guan11();

else if(i == 12) guan12(); else if(i == 13) guan13(); else if(i == 14) guan14(); j = control(); if( j == 1 ) {

system(\); return ; } } }

/***********************接收键盘控制命令************************/ int control() {

int win; int temm;

char command;

//存放接收到命令 while(1) {

command = getch(); if(command == 1) {

move_num = move_num-1; }

if(command == 22) {

if(num_guan == 1) {

system(\); guan1(); }

else if(num_guan == 2) {

system(\); guan2(); }

else if(num_guan == 3)

{

system(\); guan3(); }

else if(num_guan == 4) {

system(\); guan4(); }

else if(num_guan == 5) {

system(\); guan5(); }

else if(num_guan == 6) {

system(\); guan6(); }

else if(num_guan == 7) {

system(\);

guan7(); }

else if(num_guan == 8) {

system(\); guan8(); }

else if(num_guan == 9) {

system(\); guan9(); }

else if(num_guan == 10) {

system(\); guan10(); }

else if(num_guan == 11) {

system(\); guan11(); }

else if(num_guan == 12) {

system(\); guan12(); }

else if(num_guan == 13) {

system(\); guan13(); }

else if(num_guan == 14) {

system(\); guan14(); } }

if(command == -32) //F11,F12:-123,-122 {

temm = 0; command = getch(); if(temm == 0&&command == 'H'

&&

(map[people[0]-1][people[1]] ==

xiangzi||map[people[0]-1][people[1]] == space) && map[people[0]-2][people[1]] == jia) {

map[people[0]-1][people[1]] = ren; map[people[0]][people[1]] = 0; map[people[0]-2][people[1]] = space; people[0] = people[0]-1; move_num = move_num+1; push_num = push_num+1; temm = temm+1; }

if(temm == 0&&command == 'P' && (map[people[0]+1][people[1]] ==

xiangzi||map[people[0]+1][people[1]] == space) && map[people[0]+2][people[1]] == jia) {

map[people[0]+1][people[1]] = ren; temm = temm+1;

map[people[0]][people[1]] = 0; map[people[0]+2][people[1]] = space; people[0] = people[0]+1;

move_num = move_num+1; push_num = push_num+1; }

if(temm == 0&&command == 'K' && (map[people[0]][people[1]-1] ==

xiangzi||map[people[0]][people[1]-1] == space) && map[people[0]][people[1]-2] == jia) {

map[people[0]][people[1]-1] = ren; map[people[0]][people[1]] = 0; temm = temm+1;

map[people[0]][people[1]-2] = space; people[1] = people[1]-1; move_num = move_num+1; push_num = push_num+1; }

if(temm == 0&&command == 'M' && (map[people[0]][people[1]+1] ==

xiangzi||map[people[0]][people[1]+1] == space) && map[people[0]][people[1]+2] == jia) {

map[people[0]][people[1]+1] = ren;

temm=temm+1;

map[people[0]][people[1]] = 0; map[people[0]][people[1]+2] = space; people[1] = people[1]+1; move_num = move_num+1; push_num = push_num+1; }

if(temm == 0&&command == 'H' && (map[people[0]-1][people[1]] ==

xiangzi||map[people[0]-1][people[1]] == space) && (map[people[0]-2][people[1]] ==

0||map[people[0]-2][people[1]] == jia)) {

map[people[0]-1][people[1]] = ren; temm = temm+1;

map[people[0]][people[1]] = 0; map[people[0]-2][people[1]] = xiangzi; people[0] = people[0]-1; move_num = move_num+1; push_num = push_num+1; }

if(temm == 0&&command == 'H' && (map[people[0]-1][people[1]] == 0||map[people[0]-1][people[1]] ==

jia||map[people[0]-1][people[1]] == men)) {

map[people[0]-1][people[1]] = ren; temm = temm+1;

map[people[0]][people[1]] = 0; move_num = move_num+1; people[0] = people[0]-1; }

if(temm == 0&&command == 'P' && (map[people[0]+1][people[1]] == 0||map[people[0]+1][people[1]] ==

jia||map[people[0]+1][people[1]] == men)) {

map[people[0]+1][people[1]] = ren; temm = temm+1;

map[people[0]][people[1]] = 0; people[0] = people[0]+1; move_num = move_num+1; }

if(temm == 0&&command == 'P' && (map[people[0]+1][people[1]] ==

xiangzi||map[people[0]+1][people[1]] == space) && (map[people[0]+2][people[1]] ==

0||map[people[0]+2][people[1]] == jia)) {

map[people[0]+1][people[1]] = ren; map[people[0]][people[1]]=0; temm = temm+1;

map[people[0]+2][people[1]] = xiangzi; people[0] = people[0]+1; move_num = move_num+1; push_num = push_num+1; }

if(temm == 0 && command == 'K' && (map[people[0]][people[1]-1] == 0||map[people[0]][people[1]-1] ==

jia||map[people[0]][people[1]-1] == men)) {

map[people[0]][people[1]-1] = ren; temm=temm+1;

map[people[0]][people[1]]=0;

people[1] = people[1]-1; move_num = move_num+1; }

if(temm == 0 && command == 'K' && (map[people[0]][people[1]-1] ==

xiangzi||map[people[0]][people[1]-1] == space) && (map[people[0]][people[1]-2] ==

0||map[people[0]][people[1]-2] == jia)) {

map[people[0]][people[1]-1] = ren; temm = temm+1;

map[people[0]][people[1]] = 0; map[people[0]][people[1]-2] = xiangzi; people[1] = people[1]-1; move_num = move_num+1; push_num = push_num+1; }

if(temm == 0 && command == 'M' && (map[people[0]][people[1]+1] == 0||map[people[0]][people[1]+1] ==

jia||map[people[0]][people[1]+1] == men)) {

map[people[0]][people[1]+1] = ren; temm = temm+1;

map[people[0]][people[1]] = 0; people[1] = people[1]+1; move_num = move_num+1; }

if(temm == 0&&command == 'M' && (map[people[0]][people[1]+1] ==

xiangzi||map[people[0]][people[1]+1] == space) && (map[people[0]][people[1]+2] ==

0||map[people[0]][people[1]+2] == jia)) {

map[people[0]][people[1]+1] = ren; temm = temm+1;

map[people[0]][people[1]] = 0; map[people[0]][people[1]+2] = xiangzi; people[1] = people[1]+1; move_num = move_num+1; push_num = push_num+1; }

else if(command == -122 || command == -123) ; else ;

}

else if(command == 0)

command = getch(); //接收Fn的下一个字符 //F1~F10:59~68 else if(command >= 2&&command <= 26) {

if(command==3) return 1; }

else ; //Ctrl+a~z:1~26 if(win = finish() == 0) tem=0; system(\); dayin();

if((win = finish()) == 1&&map[door[0]][door[1]] == ren) {

Sleep(225); return 0; } }

return 0;

}

/*****************************关卡初始化区域********************************/ void guan1() {

int i,j; chushi2(); num_guan = 1; move_num = 0; push_num = 0; num_xiangzi = 1; for(i=0;i<=12;i++) for(j=0;j<=16;j++) {

map[i][j] = 0; fuben[i][j] = 0; }

for(i=3;i<=14;i++) {

map[3][i]=1; map[11][i]=1; }

for(i=4;i<=10;i++) {

map[i][3]=1; map[i][14]=1; }

map[7][6] = ren; people[0] = 7; people[1] = 6; fuben[7][10] = jia; map[7][8] = xiangzi; map[7][10] = jia; fuben[5][11] = men; door[0] = 5; door[1] = 11; dayin(); }

void guan2() { int i; chushi2(); num_guan = 2; num_xiangzi = 2;

for(i = 4;i<=13;i++) map[2][i] = 1; for(i = 3;i<=11;i++) map[i][4] = 1; for(i = 4;i<=9;i++) map[11][i] = 1; for(i = 8;i<=11;i++) map[i][9] = 1; for(i = 9;i<=13;i++) map[8][i] = 1; for(i = 2;i<=8;i++) map[i][13] = 1; map[9][7] = ren; people[0] = 9; people[1] = 7; map[6][6] = xiangzi; map[7][9] = xiangzi; map[4][6] = jia; map[4][11] = jia; fuben[4][6] = jia; fuben[4][11] = jia; fuben[9][6] = men;

door[0] = 9; door[1] = 6; dayin(); }

void guan3() { int i; chushi2(); num_xiangzi = 2; num_guan = 3; for(i = 6;i<=9;i++) map[3][i] = 1; for(i = 3;i<=9;i++) map[i][6] = 1; for(i = 6;i<=9;i++) map[9][i] = 1; for(i = 9;i<=11;i++) map[8][i] = 1; for(i = 5;i<=8;i++) map[i][11] = 1; map[4][9] = 1; map[5][9] = 1;

map[5][10] = 1; map[6][8] = ren; map[6][7] = space; map[7][9] = xiangzi; map[4][8] = jia; fuben[4][8] = jia; fuben[6][7] = jia; people[0] = 6; people[1] = 8; fuben[8][7] = men; door[0] = 8; door[1] = 7; dayin(); }

void guan4() { int i; chushi2();

num_guan = 4; num_xiangzi = 2; for(i = 6;i<=9;i++)

map[3][i] = 1; for(i = 4;i<=6;i++) map[4][i] = 1; for(i = 9;i<=12;i++) map[4][i] = 1; for(i = 5;i<=8;i++) map[i][4] = 1; for(i = 5;i<=8;i++) map[i][12] = 1; map[6][6] = 1; map[6][9] = 1; map[7][9] = 1; for(i = 4;i<=12;i++) map[8][i] = 1; map[7][10] = ren; map[6][10] = xiangzi; map[5][10] = xiangzi; map[7][6] = jia; map[7][8] = jia; fuben[7][8] = jia; fuben[7][6] = jia; people[0] = 7;

people[1] = 10; fuben[4][7] = men; door[0] = 4; door[1] = 7; dayin(); }

void guan5() { int i; chushi2();

num_xiangzi = 3; num_guan = 5; for(i = 4;i<=9;i++) map[i][3]=1; for(i = 3;i<=14;i++) if(i != 9) map[4][i] = 1; for(i = 3;i<=7;i++) map[9][i] = 1; for(i = 7;i<=14;i++) map[8][i] = 1;

for(i = 4;i<=8;i++) map[i][14] = 1; map[6][12] = 1; map[5][8] = 1; map[5][9] = 1; map[5][10] = 1; map[7][7] = 1; map[6][13] = ren; people[0] = 6; people[1] = 13; map[7][8] = jia; map[7][9] = jia; map[7][10] = jia; fuben[7][8] = jia; fuben[7][9] = jia; fuben[7][10] = jia; map[6][6] = xiangzi; map[7][5] = xiangzi; map[6][5] = xiangzi; door[0] = 6; door[1] = 5; fuben[6][5] = men;

dayin(); }

void guan6() {

int i;chushi2();

num_xiangzi = 3;num_guan = 6; for(i=6;i<=9;i++) map[2][i]=1; for(i=2;i<=6;i++) map[i][6]=1; for(i=6;i<=10;i++) map[i][7]=1; for(i=7;i<=10;i++) map[10][i]=1;

for(i=10;i<=12;i++) {map[9][i]=1;map[6][i]=1;} for(i=6;i<=9;i++) map[i][12]=1;

map[3][9]=1;map[3][10]=1;map[4][10]=1;map[5][10]=1; map[4][8]=ren;people[0]=4;people[1]=8;

map[6][8]=xiangzi;map[5][9]=xiangzi;map[7][9]=xiangzi;

map[3][7]=jia;map[4][7]=jia;map[5][7]=jia; fuben[3][7]=jia;fuben[4][7]=jia;fuben[5][7]=jia; door[0]=8;door[1]=10;fuben[8][10]=men; dayin(); }

void guan7() {

int i;chushi2();

num_xiangzi=5;num_guan=7; for(i=2;i<=5;i++) map[4][i]=1;

for(i=5;i<=8;i++) {map[i][2]=1;map[i][16]=1;} for(i=2;i<=16;i++) map[8][i]=1; for(i=5;i<=16;i++) map[5][i]=1;

map[6][14]=ren;map[6][12]=xiangzi;map[6][10]=xiangzi;map[6][8]=xiangzi;

map[6][6]=xiangzi;map[6][4]=xiangzi;people[0]=6;people[1]=14;

map[7][4]=jia;map[7][5]=jia;map[7][6]=jia;map[7][7]=jia;map[7][8]=jia;

fuben[7][4]=jia;fuben[7][5]=jia;fuben[7][6]=jia;fuben[7][7]=jia;

fuben[7][8]=jia;door[0]=5;door[1]=3;fuben[5][3]=men; dayin(); }

void guan8() {

int i;chushi2();

num_guan=8;num_xiangzi=4; for(i=5;i<=12;i++) map[3][i]=1;

for(i=3;i<=5;i++){map[i][5]=1;map[i][12]=1;} for(i=4;i<=13;i++) {map[6][i]=1;map[9][i]=1;} map[6][7]=0;map[6][10]=0;

for(i=7;i<=8;i++) {map[i][4]=1;map[i][13]=1;} map[4][8]=ren;people[0]=4;people[1]=8;

map[5][7]=xiangzi;map[5][10]=xiangzi;map[7][10]=xiangzi;map[7][7]=xiangzi;

map[7][8]=jia;map[7][9]=jia;map[8][8]=jia;map[8][9]=jia;

fuben[7][8]=jia;fuben[7][9]=jia;fuben[8][8]=jia;fuben[8][9]=jia;

fuben[4][9]=men;door[0]=4;door[1]=9; dayin(); }

void guan9() {

int i;chushi2();

num_guan=9;num_xiangzi=8;

for(i=3;i<=10;i++){map[i][5]=1;map[i][12]=1;} for(i=5;i<=12;i++){map[3][i]=1;map[10][i]=1;} map[4][6]=ren;people[0]=4;people[1]=6;

map[5][8]=xiangzi;map[5][9]=xiangzi;map[6][10]=xiangzi;map[7][10]=xiangzi;

map[6][7]=xiangzi;map[7][7]=xiangzi;map[8][8]=xiangzi;map[8][9]=xiangzi;

map[5][7]=jia;map[5][10]=jia;map[8][10]=jia;map[8][7]=jia;

map[6][8]=jia;map[6][9]=jia;map[7][8]=jia;map[7][9]=jia;

fuben[5][7]=jia;fuben[5][10]=jia;fuben[8][10]=jia;fuben[8][7]=jia;

fuben[6][8]=jia;fuben[6][9]=jia;fuben[7][8]=jia;fuben[7][9]=jia;

fuben[9][11]=men;door[0]=9;door[1]=11; dayin(); }

void guan10() {

int i;chushi2();

num_guan=10;num_xiangzi=5; for(i=2;i<=6;i++) map[4][i]=1; for(i=6;i<=9;i++) map[3][i]=1; for(i=1;i<=7;i++) map[9][i]=1; for(i=7;i<=10;i++)map[10][i]=1; for(i=9;i<=15;i++)map[5][i]=1; for(i=5;i<=9;i++) map[i][15]=1;

map[9][14]=1;map[9][13]=1;map[9][12]=1;

map[5][2]=1;map[6][2]=1;map[6][1]=1;map[7][1]=1;map[8][1]=1;map[6][4]=1;map[6][5]=1;

map[7][7]=1;map[6][9]=1;map[4][9]=1;map[8][10]=1;map[8][11]=1;map[8][12]=1; map[9][10]=1;

map[7][11]=ren;people[0]=7;people[1]=11;

map[7][3]=xiangzi;map[7][5]=xiangzi;map[7][6]=xiangzi;map[7][8]=xiangzi;map[5][8]=xiangzi;

map[6][7]=jia;map[6][8]=jia;map[6][12]=jia;map[6][13]=jia;map[6][14]=jia;

fuben[6][7]=jia;fuben[6][8]=jia;fuben[6][12]=jia;fuben[6][13]=jia;fuben[6][14]=jia;

fuben[4][8]=men;door[0]=4;door[1]=8; dayin();

}

void guan11() {

int i;chushi2();

num_guan=11;num_xiangzi=13; for(i=3;i<=13;i++) map[1][i]=1;

for(i=1;i<=3;i++) map[2][i]=1;for(i=13;i<=15;i++) map[2][i]=1;

map[3][2]=1;map[3][3]=1;map[3][14]=1;map[3][13]=1; map[4][3]=1;map[4][4]=1;map[4][12]=1;map[4][13]=1; map[5][4]=1;map[5][5]=1;map[5][7]=1;map[5][9]=1;map[5][11]=1;map[5][12]=1;

map[6][5]=1;map[6][11]=1;map[7][5]=1;map[7][11]=1; for(i=5;i<=11;i++)map[8][i]=1;map[8][8]=0;

map[9][4]=1;map[9][5]=1;map[9][11]=1;map[9][12]=1; map[10][4]=1;map[10][12]=1; for(i=4;i<=12;i++)

map[11][i]=1;map[11][7]=0;map[11][8]=0;map[11][9]=0; for(i=6;i<=10;i++)

map[12][i]=1;map[7][8]=ren;people[0]=7;people[1]=8; map[3][5]=xiangzi;map[2][8]=xiangzi;map[3][8]=xiangzi;map[4][8]=xiangzi;map[5][8]=xiangzi;

map[3][11]=xiangzi;map[5][6]=xiangzi;map[5][10]=xiangzi;map[6][7]=xiangzi;map[6][9]=xiangzi;

map[9][7]=xiangzi;map[9][9]=xiangzi;map[10][8]=xiangzi;

map[2][4]=jia;map[2][7]=jia;map[2][9]=jia;map[2][12]=jia;

map[4][6]=jia;map[4][7]=jia;map[4][9]=jia;map[4][10]=jia;

map[6][6]=jia;map[6][10]=jia;map[10][5]=jia;map[10][11]=jia;

map[11][8]=jia;

fuben[2][4]=jia;fuben[2][7]=jia;fuben[2][9]=jia;fuben[2][12]=jia;

fuben[4][6]=jia;fuben[4][7]=jia;fuben[4][9]=jia;fuben[4][10]=jia;

fuben[6][6]=jia;fuben[6][10]=jia;fuben[10][5]=jia;fuben[10][11]=jia; fuben[11][8]=jia;

fuben[8][8]=men;door[0]=8;door[1]=8; dayin(); }

void guan12()

{

int i;chushi2();

num_guan=12;num_xiangzi=5; for(i=4;i<=12;i++) map[2][i]=1;

map[3][4]=1;map[3][12]=1;map[4][4]=1;map[4][12]=1;map[5][4]=1;map[5][12]=1;map[5][7]=1;map[5][5]=1;map[5][8]=1;map[5][9]=1;

map[6][5]=1;map[6][11]=1;map[6][12]=1;map[7][5]=1;map[7][10]=1;map[7][11]=1;

map[7][5]=1;map[8][10]=1;map[9][5]=1;map[9][8]=1;map[9][9]=1;map[9][10]=1;map[8][5]=1; for(i=5;i<=8;i++) map[10][i]=1;

map[5][10]=ren;people[0]=5;people[1]=10;

map[4][6]=xiangzi;map[6][8]=xiangzi;map[7][8]=xiangzi;map[8][8]=xiangzi;map[7][7]=xiangzi;

map[3][5]=jia;map[4][5]=jia;map[3][7]=jia;map[4][7]=jia;map[4][8]=jia;

fuben[3][5]=jia;fuben[4][5]=jia;fuben[3][7]=jia;fuben[4][7]=jia;fuben[4][8]=jia;

fuben[6][7]=men;door[0]=6;door[1]=7; dayin();

}

void guan13() {

int i;chushi2();

num_guan = 13;num_xiangzi = 6; for(i = 5;i<=11;i++)map[3][i] = 1; for(i = 4;i<=9;i++) map[i][4] = 1; for(i = 4;i<=9;i++) map[9][i] = 1; for(i = 9;i<=13;i++) map[10][i] = 1; for(i = 6;i<=10;i++) map[i][13] = 1;

for(i = 3;i<=6;i++) map[i][11] = 1;map[6][12] = 1; map[4][5] = 1;map[6][9] = 1;map[7][6] = 1;map[8][8] = 1;map[8][9] = 1;map[8][11] = 1;

map[7][8] = ren;people[0] = 7;people[1] = 8; map[7][7] = xiangzi;map[6][7] = space;map[5][7] = space;

map[7][9] = xiangzi;map[7][10] = xiangzi; map[5][9] = xiangzi;

map[6][8] = jia;map[5][8] = jia;map[5][10] = jia;map[6][10] = jia;

fuben[6][8] = jia;fuben[5][8] = jia;fuben[5][10] = jia;fuben[6][10] = jia;

fuben[6][7] = jia;fuben[5][7] = jia;fuben[4][6] = men; door[0] = 4;door[1] = 6; dayin(); }

void guan14() { int i; chushi2(); num_guan = 14; num_xiangzi = 6; for(i=5;i<=8;i++) map[2][i] = 1; for(i = 3;i<=5;i++) map[3][i] = 1; for(i = 8;i<=11;i++) map[3][i] = 1; map[4][3] = 1; map[4][11] = 1; for(i=3;i<=7;i++) map[i][3] = 1; map[5][5] = 1; map[5][9] = 1;

for(i = 11;i<=13;i++) map[5][i] = 1; for(i=5;i<=9;i++) map[i][13] = 1; map[7][4] = 1; map[7][5] = 1; map[7][7] = 1; map[7][9] = 1; map[7][11] = 1; map[8][5] = 1; for(i = 5;i<=8;i++) map[9][i]=1; for(i = 11;i<=13;i++) map[9][i] = 1; for(i = 8;i<=11;i++) map[10][i] = 1; map[4][7] = ren; people[0] = 4; people[1] = 7; map[6][5] = xiangzi; map[6][6] = xiangzi; map[6][7] = xiangzi;

map[6][9] = xiangzi; map[6][10] = xiangzi; map[6][11] = xiangzi; map[5][6] = jia; map[5][8] = jia; map[5][10] = jia; map[7][6] = jia;

map[7][8] = jia;map[7][10] = jia; fuben[5][6] = jia; fuben[5][8] = jia; fuben[5][10] = jia; fuben[7][6] = jia; fuben[7][8] = jia; fuben[7][10] = jia; fuben[9][10] = men; door[0]=9; door[1]=10; dayin(); }

void dayin() {

int i,j;

for(i = 0;i<=12;i++) for(j = 0;j<=16;j++)

if(fuben[i][j] == jia && map[i][j] == 0) map[i][j] = jia; for(i = 0;i<=12;i++) { for(j = 0;j<=16;j++) {

if(map[i][j] == qiang) {

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_INTENSITY); cout<<\█\; }

else if(map[i][j] == men) {

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE | FOREGROUND_RED); cout<<\П\; }

else if(map[i][j] == space)

{

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_GREEN); cout<<\■\; }

else if(map[i][j] == ren) {

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY|FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE|FOREGROUND_RED); cout<<\人\; }

else if(map[i][j] == jia) {

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_GREEN | FOREGROUND_RED); cout<<\★\;

本文来源:https://www.bwwdw.com/article/6c3r.html

Top