电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

推箱子C课程设计报告

16页
  • 卖家[上传人]:m****
  • 文档编号:471980519
  • 上传时间:2023-10-01
  • 文档格式:DOC
  • 文档大小:135KB
  • / 16 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、程序设计课程设计报告书学生 :孟祥煜指导老师:曾宇容课程设计名称:推箱子小游戏班级: 软件11401一、 设计任务介绍推箱子游戏的实现方法,并逐步介绍C语言图形编程的方法和技巧。在C语言编写软件WINTC上,涉及软中断、二维数组、键盘操作及图形化函数等方法,显示器中断寄存器的设置、二维数组的定义、键盘上键值的获取、图形方式下光标的显示和定位,以及部分图形函数的使用实现了一个完整的推箱子游戏界面,界面清晰可见.二、 设计目的训练学生掌握C的数据结构和综合编程能力和游戏开发技巧等应用能力。初步设想推箱子是一款经典的益智小游戏,目的是在训练人的逻辑思考能力。在一个狭小的空间中,要求把木箱从起始位置处推放到指定位置。在空间中有地方限制,稍不小心就会出现箱子无法移动或者通道被堵住的情况,而且箱子只能推不能拉,所以需要玩家巧妙的利用有限的空间和通道,合理的移动次序和位置,才能完成任务。本游戏一共分14关,由易到难,每一关都随着关数的增加来增加难度,从而达到吸引游戏玩家的目的。 三 功能 1、菜单功能,玩家通过看目录按对应的键可以进入对应的功能菜单,其中1进入游戏,2选择游戏关卡,3游戏帮助指南 ,

      2、4退出游戏. 2 游戏功能: 玩家可以通过操纵键盘中的上下左右键进入游戏进行各种操作来完成游戏.3 循环功能:当玩家正在游戏的时候如果某一步走错了,导致游戏无法完成,可以随时重新开始游戏来完成关卡,游戏过程中可以随时按Ctrl+V退出游戏。4顺序功能: 当玩家完成了某一关之后,随着进入下一关门可以按顺序进入下一关,继续开始更有挑战的关卡,如果该关是最后一关,则显示通关完成.三、 总体设计1、 功能模块设计函数功能描述本程序包括5个模块,分别是初始化模块、画图模块、移动箱子模块、移动小人模块和功能控制模块.各个模块功能的功能描述如下:(1)初始化模块.该模块包括屏幕初始化和游戏第一关到第最后一关的初始化。屏幕初始化用于输出欢迎信息和操作提示,游戏每一关的初始化是构建每一关的关卡。(2)画图模块.该模块主要是被其他模块调用,用于画墙、在空地画箱子、在目的地画箱子、画小人和画目的地.(3)移动箱子模块。该模块用于移动箱子,包括目的地之间、空地之间和目的地与空地之间箱子的移动。(4)移动小人模块.该模块是几个功能函数的集合,包括屏幕输出功能、指定位置状态判断功能和关卡重置功能。(5)功能控制模

      3、块。该模块是几个功能函数的集合,包括屏幕输出功能、指定位置状态判断功能和关卡重置功能.推箱子游戏初始化模块画图模块移动箱子模块移动小人模块功能控制模块任务执行流程图数据流程图游戏从第一关开始,按上下左右方向键控制小人移动来推动箱子,可以在游戏中的任何时候按Esc键退出。如果游戏无成功希望,可以按CTRI+V回到当前任务的开始状态;如果成功完成当前关,则进入下一关,如果当前关是最后一关,则显示通关信息,提示游戏结束。小人移动流程图 小人移动的方向有4个,move()函数(处理小人移动的函数)对这4个方向移动的处理都一致,只是调用函数时的参数有所不同。首先判断小人移动的方向,然后根据小人所处世的当前状态、下一步状态或者下下一步状态进行适当的处理。2、 数据结构设计设置全局变量定义int v1317,用于记录箱子在屏幕中哪个坐标上.其中“0”表示什么都没有。定义了int num_guan指现在的关数,int num_xiang;箱子的个数,int move_num人行走的次数;int push_num人推箱子的次数;定义数组int M2表示人所在的位置; M0 是人所在位置的横坐标 M1是人

      4、所在位置的纵坐标;定义数组int door2表示门所在的坐标,door0是“下一关门”的横坐标,door1是“下一关门”的纵坐标。3主函数下面让我们来看看主函数的操作流程,主函数首先进入游戏目录,提醒游戏玩家输入对应的数字来进行的对应的操作,如果玩家输入1则进入游戏第一关,输入2选择关卡进入,输入3显示游戏帮助菜单,帮助玩家更好的理解这个游戏的规则,输入4退出游戏.进入游戏后,首先调用chushi1()函数初始化要使用的页面,之后程序进入play()函数,play()函数中通过if语句通过判断i的值来初始化不同的关卡(设置好关卡的人,箱子,箱子的目的地,门),接着程序进入control函数通过获取玩家在键盘上的操作来分别对游戏人物进行操作,最后通过wancheng函数来对操作进行判断,如果判断成功的话则进入下一关游戏。反之则失败。一直通过到最后一个则通关成功。四 代码设计(或编程)单个模块或函数处理 将整个系统程序分解为各个单独的模块,即C的函数,各模块可单独编译;整个程序的联调 在各个模块基本的单独编译通过后,用主函数将他们集成在一起,实现调用,并进行输出数据的可靠性、输入数据及系统

      5、的容错性测试。五 程序说明书功能模块1. play()2. control()3. Daying()4. Wancheng()解析1. play()play()函数在这个程序中的功能主要是按1进入游戏系统后自动按照顺序进行游戏和完成每一关游戏后进入下一关关卡,其中变量i控制关卡的关数,j控制进入下一关,首先利用if语句将i从一开始,初始化完成第一关,通过play()函数中的内嵌函数control()函数来控制游戏中人和箱子的各种操作,当过关了control()函数return 0。即j=control()中的j等于0,游戏进入下一关。依次类推,当完成14关之后j=1游戏结束。void play()int i,j=0;for(i=1;i=20;i+)tem=0;system(cls);/清屏 if(i=1) chushihua_guan1(); /设置关卡1的墙,箱子,人。 门 else if(i=2) chushihua_guan2();else if(i=3) chushihua_guan3();else if(i=4) chushihua_guan4(); else if(i=5)

      6、 chushihua_guan5();else if(i=6) chushihua_guan6();else if(i=7) chushihua_guan7();else if(i=8) chushihua_guan8();else if(i=9) chushihua_guan9();else if(i=10) chushihua_guan10();else if(i=11) chushihua_guan11();else if(i=12) chushihua_guan12();else if(i=13) chushihua_guan13();else if(i=14) chushihua_guan14();j=control();if(j=1)system(”cls);return ;2 control()Control()在这个程序中主要控制游戏中人物和箱子的运动,当玩家在键盘进行各种操作时系统会给出不同的反应。模块中定义了command变量,来接收玩家在键盘上的各种操作,首先调用getch()函数为command赋一个初值command=(“空字符”)22, 进入界面图表初始化,

      7、根据num_guan的大小来具体初始化对应的关卡(箱子,人,墙的图标),接着模块进入了“控制阶段”,再次通过getch()函数command获得一个字符,当command=”H”(也就是)时人进行向上前进的动作,对应的(“P”K”M”)进行人的、操作,以及人的上下左右推箱子的动作,同时当人的前进的方向是墙或者双层箱子的时候人则不能运动,人推箱子如果箱子的前面是墙或者箱子的话箱子和人都不能运动.运动过程中如果玩家输入ctrl+c时游戏此关卡重新开始,同时在control函数中调用一个win变量来判断是否完成了游戏,调用内嵌函数wancheng() 函数,当((win=wancheng()=1vdoor0door1=ren)时,表示这个关卡已经完成了,return 0,即把play()函数中的j赋值等于0,游戏进入下一个关。 游戏过程玩家每操作一步,系统通过控制daying()函数来控制画面中目标的运动,来达到游戏的目的。int control() int win;int temm;char command; /存放接收到命令 while(1) command=getch(); /输入一个

      8、字符 /if(command=1)if(command=22) if(num_guan=1) system(”cls);chushihua_guan1();else if(num_guan=2) system(”cls);chushihua_guan2();else if(num_guan=3) system(”cls);chushihua_guan3();else if(num_guan=4) system(cls”);chushihua_guan4();else if(num_guan=5) system(”cls);chushihua_guan5();else if(num_guan=6) system(cls);chushihua_guan6();else if(num_guan=7) system(cls);chushihua_guan7();else if(num_guan=8) system(cls);chushihua_guan8();else if(num_guan=9) system(cls);chushihua_guan9();else if(num_guan=10) system(cls”);chushihua_guan10();else if(num_guan=11) system(”cls”);chushihua_guan11();else if(num_guan=12) system(”cls);chushihua_guan12();else if(num_guan=1113) system(cls”);chushihua_guan13();else if(num_guan=14) system(cls);chushihua_guan14(); if(command=32) /F11,F12:-123,122temm=0;command=getch(); if(temm=0&comma

      《推箱子C课程设计报告》由会员m****分享,可在线阅读,更多相关《推箱子C课程设计报告》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.