推箱子源**初步:
1 #include2 #include3 #include4#define boolean int
5#define true 1
6#define false 078
#define rows 109//
之所以定義為11,是因為字串的尾部的\0
10#define columns 11
1112
//根據程式定義或者檔案讀入來構建地圖,然後把他繪製到螢幕上
13void drawmap(char
map[columns]);
14void swapxy(char map[columns], int *x1, int *y1, int *x2, int *y2);
15 boolean islose(char map[columns], int boxpositionx, int boxpositiony, char
condition);
16//
讀取檔案中的地圖和人物、箱子的位置
17void loadmap(char map[columns], int *boxpositionx, int *boxpositiony, int *manpositionx, int *manpositiony);
18//
在推箱子的過程中接收使用者的輸入,然後做出相應的處理
19void pushbox(int *boxpositionx, int *boxpositiony, int *manpositionx, int *manpositiony);
2021
intmain()22;
50drawmap(map);
51 loadmap(map, &boxpositionx, &boxpositiony, &manpositionx, &manpositiony);
5253
while(!iswin)
5471
if(map[mannextpositionx][mannextpositiony] ==street)
7276
77drawmap(map);
7879
if(boxpositionx == winpositionx && boxpositiony ==winpositiony)
8085
if(islose(map,boxpositionx, boxpositiony, wall))
8690
}91 system("
pause");
92return0;
9394}95
96void drawmap(char
map[columns])
97102
}103
void swapxy(char map[columns], int *x1, int *y1, int *x2, int *y2)
104112 boolean islose(char map[columns], int boxpositionx, int boxpositiony, char
condition)
113122
return
false
;123
}124
void loadmap(char map[columns], int *boxpositionx, int *boxpositiony, int *manpositionx, int *manpositiony)
125131
void pushbox(int *boxpositionx, int *boxpositiony, int *manpositionx, int *manpositiony)
132162 }
C語言 推箱子
這個小遊戲設計起來不難,之所以做他的目的是,一天老師給我了個他很早以前寫的2d庫,讓我去使用這個庫完成乙個小遊戲,這個過程的意義再去讓我乙個以前從未用過別人手寫庫的學生,了解到了庫的設計結構,和如果好的使用別人的庫去完成任務,雖然程式設計難度不大,但是意義深刻,至少知道了以後遇見別人的庫是怎麼使用,...
推箱子 C語言
主要功能分析 使用switch語句實現,上下左右移動 用棧實現返回上一步操作。include include include include int map1 9 9 0代表空地 1代表牆 3代表目的地 4代表箱子 5代表人 int map2 9 9 typedef char elementtype...
C語言推箱子分析
用乙個二維陣列來表示整個地圖,我們先網上找一張地圖來分析下。分析 地圖上有 牆 目的地 箱子 人 背景牆 目的地和箱子合起來的 紅箱子 我們用數字來在二維陣列中對應的標記這些東西,二維陣列的大小就是地圖的大小咯。定義地圖大小 8 8 int map 8 8 哈哈哈,當然是初始化這個地圖咯,就是往這個...