c 实现走迷宫流程图_C/走迷宫代码

这是一个使用C语言编写的程序,它模拟了走迷宫的过程。程序中包含了多个不同布局的迷宫地图,玩家可以通过键盘输入方向键来探索迷宫。当找到出口时,程序会清除路径并允许重新开始。同时,程序还提供了帮助菜单。
摘要由CSDN通过智能技术生成

2 #include

3 #include"GotoXY.h"

4 #include

5 #include

6 #include

7 using namespace std;

8 void help();

9 void migong();

10 void m();

11 void help()

12 {

13 char ch2;

14 system("cls");

15 cout<

16 cout<

17 cout<

18 cout<

19 cout<

20 cout<

21 cout<

22 cout<

23 cout<

24 cout<

25 cout<

26 cout<

27 cout<

28 cout<

29 ch2=_getch();

30 m();

31 }

32 void migong()

33 {

34 system("cls");

35 char ch;

36 srand(time(NULL));

37 int k;

38 int z=0;

39 int key=0;

40 int zx[100];

41 int zy[100];

42 int gq=0;

43 GotoXY(60,5);

44 cout<

45 while (1)

46 {

47 int map[10][6][10]={

48 {

49 {1,1,1,1,1,1,1,1,1,1},

50 {1,0,3,0,4,0,1,1,0,1},

51 {1,0,0,0,0,1,1,1,2,1},

52 {1,0,0,0,0,1,1,1,0,1},

53 {1,0,0,0,0,0,0,0,0,1},

54 {1,1,1,1,1,1,1,1,1,1}

55 },

56 {

57 {1,1,1,1,1,1,1,1,1,1},

58 {1,0,0,0,0,0,1,0,2,1},

59 {1,0,1,0,1,1,1,0,0,1},

60 {1,0,1,0,0,0,0,0,0,1},

61 {1,3,1,0,0,0,0,4,0,1},

62 {1,1,1,1,1,1,1,1,1,1}

63 },

64 {

65 {1,1,1,1,1,1,1,1,1,1},

66 {1,0,0,0,0,0,0,2,0,1},

67 {1,0,0,3,0,0,0,0,0,1},

68 {1,0,0,0,0,0,0,0,6,1},

69 {1,0,0,5,0,0,0,6,4,1},

70 {1,1,1,1,1,1,1,1,1,1}

71 },

72 {

73 {1,1,1,1,1,1,1,1,1,1},

74 {1,3,1,0,0,0,1,7,4,1},

75 {1,0,1,0,1,0,1,0,0,1},

76 {1,0,1,0,1,2,1,0,7,1},

77 {1,0,0,0,1,0,0,0,7,1},

78 {1,1,1,1,1,1,1,1,1,1}

79 },

80 {

81 {1,1,1,1,1,1,1,1,1,1},

82 {1,1,2,1,1,0,0,0,1,1},

83 {1,1,0,1,1,0,1,0,1,1},

84 {1,0,0,0,0,0,1,0,1,1},

85 {1,3,1,1,1,1,1,0,4,1},

86 {1,1,1,1,1,1,1,1,1,1}

87 },

88 {

89 {1,1,1,1,1,1,1,1,1,1},

90 {1,0,0,0,0,0,0,2,1,1},

91 {1,6,6,6,6,0,1,0,1,1},

92 {1,6,3,5,6,0,1,0,0,1},

93 {1,6,6,6,6,0,0,0,4,1},

94 {1,1,1,1,1,1,1,1,1,1}

95 },

96 {

97 {1,1,1,1,1,1,1,1,1,1},

98 {1,5,0,0,0,0,0,3,0,1},

99 {1,6,6,6,0,0,0,0,0,1},

100 {1,6,2,6,0,0,0,0,0,1},

101 {1,6,6,6,0,0,0,0,4,1},

102 {1,1,1,1,1,1,1,1,1,1}

103 },

104 {

105 {1,1,1,1,1,1,1,1,1,1},

106 {1,2,6,0,0,0,0,6,4,1},

107 {1,7,6,0,0,0,0,6,5,1},

108 {1,6,6,0,6,6,6,6,6,1},

109 {1,0,0,0,6,3,5,0,0,1},

110 {1,1,1,1,1,1,1,1,1,1}

111 },

112 {

113 {1,1,1,1,1,1,1,1,1,1},

114 {1,0,0,0,1,1,0,0,0,1},

115 {1,2,0,0,7,7,0,0,3,1},

116 {1,0,0,0,7,7,0,0,4,1},

117 {1,0,0,0,0,0,0,1,0,1},

118 {1,1,1,1,1,1,1,1,1,1}

119 },

120 {

121 {1,1,1,1,1,1,1,1,1,1},

122 {1,7,7,2,0,0,0,7,7,1},

123 {1,5,7,7,0,0,7,7,5,1},

124 {1,5,7,7,0,0,7,7,5,1},

125 {1,7,3,0,0,0,0,4,7,1},

126 {1,1,1,1,1,1,1,1,1,1}

127 }

128 };

129 k=rand()%10;

130 while (1)

131 {

132 int e=1;

133 int keyx,keyy;

134 int x;

135 int y;

136 int dx;

137 int dy;

138 GotoXY(0,0);

139 for (int i=0;i<6;i++)

140 {

141 for (int j=0;j<10;j++)

142 {

143 if (map[k][i][j]==1)

144 {

145 cout<

146 }

147 if(map[k][i][j]==0)

148 {

149 cout<

150 }

151 if(map[k][i][j]==2)

152 {

153 cout<

154 keyx=i;

155 keyy=j;

156 }

157 if (map[k][i][j]4)

158 {

159 cout<

160 dx=i;

161 dy=j;

162 }

163 if (map[k][i][j]3)

164 {

165 cout<

166 x=i;

167 y=j;

168 }

169 if (map[k][i][j]5)

170 {

171 cout<

172 zx[e]=i;

173 zy[e]=j;

174 e++;

175 }

176 if (map[k][i][j]6)

177 {

178 cout<

179 }

180 if (map[k][i][j]7)

181 {

182 cout<

183 }

184 }

185 cout<

186 }

187 if(xkeyx&&ykeyy)

188 {

189 key=1;

190 GotoXY(60,4);

191 cout<

192 }

193 else if (xdx-1&&ydy||xdx+1&&ydy||xdx&&ydy+1||xdx&&ydy-1)

194 {

195 if (key1)

196 {

197 GotoXY(60,4);

198 cout<>> ";

199 ch=_getch();

200 key=0;

201 break;

202 }

203 else

204 {

205 GotoXY(60,4);

206 cout<

207 }

208 }

209 for (int i=1;i<=5;i++)

210 {

211 if (xzx[i]&&yzy[i])

212 {

213 z+=1;

214 zx[i]=100;

215 zy[i]=100;

216 GotoXY(60,4);

217 cout<

218 GotoXY(66,5);

219 cout<

220 }

221 }

222 GotoXY(60,3);

223 cout<

224 GotoXY(0,6);

225 ch=_getch();

226 switch (ch)

227 {

228 case 'w':

229 if (map[k][x-1][y]1||map[k][x-1][y]4||map[k][x-1][y]6)

230 {

231 break;

232 }

233 else if (map[k][x-1][y]7)

234 {

235 GotoXY(y,x-1);

236 cout<

237 GotoXY(y,x);

238 cout<

239 GotoXY(60,4);

240 cout<

241 ch=_getch();

242 system("cls");

243 m();

244 }

245 else

246 {

247 map[k][x-1][y]=3;

248 map[k][x][y]=0;

249 }

250 break;

251 case 's':

252 if (map[k][x+1][y]1||map[k][x+1][y]4||map[k][x+1][y]6)

253 {

254 break;

255 }

256 else if (map[k][x+1][y]7)

257 {

258 GotoXY(y,x+1);

259 cout<

260 GotoXY(y,x);

261 cout<

262 GotoXY(60,4);

263 cout<

264 ch=_getch();

265 system("cls");

266 m();

267 }

268 else

269 {

270 map[k][x][y]=0;

271 map[k][x+1][y]=3;

272 }

273 break;

274 case 'a':

275 if (map[k][x][y-1]1||map[k][x][y-1]4||map[k][x][y-1]6)

276 {

277 break;

278 }

279 else if (map[k][x][y-1]7)

280 {

281 GotoXY(y-1,x);

282 cout<

283 GotoXY(y,x);

284 cout<

285 GotoXY(60,4);

286 cout<

287 ch=_getch();

288 system("cls");

289 m();

290 }

291 else

292 {

293 map[k][x][y]=0;

294 map[k][x][y-1]=3;

295 }

296 break;

297 case 'd':

298 if (map[k][x][y+1]1||map[k][x][y+1]4||map[k][x][y+1]6)

299 {

300 break;

301 }

302 else if (map[k][x][y+1]7)

303 {

304 GotoXY(y+1,x);

305 cout<

306 GotoXY(y,x);

307 cout<

308 GotoXY(60,4);

309 cout<

310 ch=_getch();

311 system("cls");

312 m();

313 }

314 else

315 {

316 map[k][x][y]=0;

317 map[k][x][y+1]=3;

318 }

319 break;

320 case 'x':

321 if (z>0)

322 {

323 z--;

324 GotoXY(66,5);

325 cout<

326 for (int m=x-1;m<=x+1;m++)

327 {

328 for (int d=y-1;d<=y+1;d++)

329 {

330 if (map[k][m][d]6)

331 {

332 map[k][m][d]=0;

333 }

334 }

335 }

336 }

337 else

338 {

339 GotoXY(60,4);

340 cout<

341 }

342 break;

343 }

344 }

345 GotoXY(0,7);

346 gq++;

347 key=0;

348 }

349 }

350 void m()

351 {

352 system("cls");

353 char ch1;

354 system("title 迷宫-作者S_JH330206");

355 cout<

356 cout<

357 cout<

358 cout<

359 cout<

360 cout<

361 cout<

362 ch1=_getch();

363 if (ch1'm')

364 {

365 migong();

366 }

367 if (ch1=='h')

368 {

369 help();

370 }

371 else

372 {

373 m();

374 }

375 }

376 int main()

377 {

378 m();

379 return 0;

380 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值