代表人Р case 5:Р printf("※");break;//"※"代表箱子已在空位上Р case 6:Р printf("♀");break;}Р}Р}Рprintf("\n\t\t\t\t步数:%d",count++);Рprintf("\n\t\t\t\t");Рreturn (a[9][10]);Р}Рint main()Р{char c;?Р?int map[9][10]={ Р?{0,0,0,0,0,0,0,0,0,0},Р?{0,0,0,1,1,2,1,0,0,0},Р?{0,1,3,2,3,3,3,1,1,0},Р?{0,1,0,1,0,2,1,0,1,0},Р?{0,1,4,2,1,2,1,0,1,0},Р?{0,0,0,0,1,3,1,1,1,0},Р?{0,0,0,0,3,2,0,0,0,0},Р?{0,0,0,0,1,1,0,0,0,0},Р?{0,0,0,0,0,0,0,0,0,0}};Р system("color E9");Р map1(map);Р Рwhile(1)Р { c=getch();Р if(c=='8' || c=='6' || c=='2' || c=='4')Р { move(c,map);}Р}Р}Р四、总结Р通过对推箱子游戏的编程和设计,进一步巩固了数据结构和算法设计与分析所学的知识,在查阅了有关推箱子游戏问题编程的相关知识的同时,也进一步了解了结构体之间的密切关系,并加深和巩固了函数调用的方法和技巧。同时,也了解到自我知识体系的不足。在实验编程中,出现很多问题,如将函数的形参和实参混淆等,这些问题最终在老师的帮助下成功解决,并成功运行。Р五、参考文献Р[1] 马安鹏.Visual C++程序设计导学。北京:清华大学出版社,2002Р[2]谭浩强,C程序设计(第三版)。北京:清华大学出版社,2005(2007重印)