二維陣列與推箱子

2021-09-27 06:06:06 字數 2910 閱讀 1762

#include#include#include#include///*

// //1.牆: ■

// //0.空地 :兩個空格

// //3.目的地 ☆

// //4.箱子 ★

// //5:人 ※

// //3+4:箱子到達目的地 ●

//*/

int map[8][8] = ;

void gotoxy(int x, int y) //游標移動到(x,y)位置,在遊戲中列印一張畫面後將游標拉到(x,y)處進行列印。

int main(void)

}printf("\n");

} //定位

int i;

int j;

for (i = 0; i < 8; i++)

}if (map[i][j] == 5 || map[i][j] == 8)

}printf("%d%d", i, j);

char userkey = _getch();

switch (userkey)

else if (map[i - 1][j] == 4 && (map[i - 2][j] == 0 || map[i - 2][j] == 3))

else if (map[i - 1][j] == 7 && map[i - 2][j] == 0)

break;

case 's':

case 's':

case 80:

if (map[i + 1][j] == 0 || map[i + 1][j] == 3)

else if (map[i + 1][j] == 4 && (map[i + 2][j] == 0 || map[i + 2][j] == 3))

else if (map[i + 1][j] == 7 && map[i + 2][j] == 0)

break;

case 'a':

case 'a':

case 75:

if (map[i][j - 1] == 0 || map[i][j - 1] == 3)

else if (map[i][j - 1] == 4 && (map[i][j - 2] == 0 || map[i][j - 2] == 3))

else if (map[i][j - 1] == 7 && map[i][j - 2] == 0)

break;

case 'd':

case 'd':

case 77:

if (map[i][j + 1] == 0 || map[i][j + 1] == 3)

else if (map[i][j + 1] == 4 && (map[i][j + 2] == 0 || map[i][j + 2] == 3))

else if (map[i][j + 1] == 7 && map[i][j + 2] == 0)

break;

} }return 0;

}

#include#include#include#include//模組設計理念:盡量避免功能交叉,做到高內聚,底耦合。

///*

// //1.牆: ■

// //0.空地 :兩個空格

// //3.目的地 ☆

// //4.箱子 ★

// //5:人 ※

// //3+4:箱子到達目的地 ●

//*/

int cas = 0;

int map[3][8][8] = ;

void gotoxy(int x, int y) //游標移動到(x,y)位置,在遊戲中列印一張畫面後將游標拉到(x,y)處進行列印。

void drawgraph()

} printf("\n"); }}

void keydown()

} if (map[cas][i][j] == 5 || map[cas][i][j] == 8)

}printf("%d%d", i, j);

char userkey = _getch();

switch (userkey)

else if (map[cas][i - 1][j] == 4 || map[cas][i - 1][j] == 7)

}break;

case 's':

case 's':

case 80:

if (map[cas][i + 1][j] == 0 || map[cas][i + 1][j] == 3)

else if (map[cas][i + 1][j] == 4 || map[cas][i + 1][j] == 7)

}break;

case 'a':

case 'a':

case 75:

if (map[cas][i][j - 1] == 0 || map[cas][i][j - 1] == 3)

else if (map[cas][i][j - 1] == 4 || map[cas][i][j - 1] == 7)

}break;

case 'd':

case 'd':

case 77:

if (map[cas][i][j + 1] == 0 || map[cas][i][j + 1] == 3)

else if (map[cas][i][j + 1] == 4 || map[cas][i][j + 1] == 7)

}break; }}

int gameover()

} }return flag;

}int main(void)

} }system("cls");

printf("victory\n");

return 0;

}

15 07 09 二維陣列 推箱子小遊戲

1 int a 2,b 1 人的初始座標 2 region 造地圖 3int map new int 10,10 5 6 7 8 9 10 11 12 13 14 15 endregion 16 region 顯示地圖 17for int x 0 x 10 x 1826 if map x,y 0 2...

c 語言 通過二維陣列實現推箱子小遊戲

main.c 05推箱子 created by liuan on 2019 7 9.include define rows 10 define cols 11 地圖陣列,用來把村地圖上每乙個格仔的型別 char map rows cols 小人 當前所在的行座標 預設在第三行 二列 int pers...

二維陣列與二維指標

1.二維陣列的儲存是線性的,可以通過一維指標的方式訪問。如一下 int map 5 5 int mapd map 0 0 則 map i j mapd i 5 j 而利用二維陣列線性儲存的特性,可以將二維陣列當作一維指標方便的在函式之間傳遞 如 將乙個二維陣列賦值給乙個動態二維陣列,引數設定為一維指...