logo资料库

C课程设计--吃豆人.doc

第1页 / 共25页
第2页 / 共25页
第3页 / 共25页
第4页 / 共25页
第5页 / 共25页
第6页 / 共25页
第7页 / 共25页
第8页 / 共25页
资料共25页,剩余部分请下载后查看
1.课程设计的目的
2.课程设计的要求
3.课程设计报告内容
3.1需求分析
3.2概要设计
3.3详细设计
3.4使用说明
3.5设计总结
参考文献
附录:源程序
课程设计报告 课程名称: 《程序设计基础》 课程设计题目: 吃豆人 系: 信息与机电工程系 业: 计算机科学与技术 级: 2017 级 号: 名: 专 年 学 姓 指导教师: 职 称: 副教授 2018~2019 学年第 1 学期
课程设计结果评定 序号 评定标准 分值 评定结果 1 课程设计报告符合标准,有条理,重点突出 20% 2 程序实现设计方案,软件可靠性好 40% 3 课程设计有自己的收获、体会、感受,等等 10% 4 能够按照要求演示课程设计 5 有一定的创新性,难易程度 20% 10% 合计 成绩: 指导教师签字: 任务下达日期:2017 年 11 月 24 日 评定日期:
目 录 1.课程设计的目的 ............................................................................................................................ 1 2.课程设计的要求 ............................................................................................................................ 1 3.课程设计报告内容 ........................................................................................................................ 1 3.1 需求分析 .............................................................................................................................. 1 3.2 概要设计 .............................................................................................................................. 3 3.3 详细设计 .............................................................................................................................. 4 3.4 程序调试分析 ....................................................................................错误!未定义书签。 3.5 使用说明 ............................................................................................................................ 11 3.6 设计总结 ............................................................................................................................ 11 参考文献 .................................................................................................................................. 12 附录:源程序 .......................................................................................................................... 12
吃豆人 1.课程设计的目的 程序设计语言课程设计的目的是要通过一次集中的强化训练,使学生能及时 巩固已学的知识,补充未学的但又必要的内容。通过课程设计学生可以加深对程 序设计基础中基础理论和基本知识的理解,掌握结构化程序设计方法,促进理论 与实践的结合,进一步提高程序设计的能力。 2.课程设计的要求 1) 具备初步的独立分析和解决问题的能力; 2) 初步掌握问题分析、系统设计、程序编码、测试等基本方法和技能; 3) 提高综合运用所学的理论知识和方法的能力; 4) 训练用系统的观点和软件开发一般规范进行软件开发,培养科学的工作 方法和作风; 5) 设计的题目要求达到一定工作量,并具有一定的深度和难度; 6) 编写出课程设计报告。 3.课程设计报告内容 3.1 需求分析 1.人物的移动:运用光标移动(遇到墙不能穿越需绕道而行)。 2.怪物的移动:①红色怪物(开局出现直接对准玩家); ②紫色怪物(玩家走 8 步后,目标对准玩家前方两格位置); ③湖蓝色怪物(玩家吃地 30 个豆子后出来,目标对准玩家后方两格位置); ④绿色怪物 (玩家吃地 50 个豆子后出来,目标对准玩家后方两格位置)。 1
【怪物遇到墙不能穿越需绕道而行】 3.一个友好的交互界面(游戏界面整洁色彩丰富,游戏提示人性化)。 4.游戏开始前的加载界面。 5.三种游戏结束方式:①豆子全部吃光 ②不想玩了强制结束 ③被怪物吃 15 次(在第 8 次被吃时会有提示) 6.此游戏有个无敌模式:该模式下人物不会被吃(在第 12 次被吃时会有提 示开无敌模式的方式) 7.游戏的暂停与继续。 8.人物与怪物移动速度可调整。 吃豆人 界 面 地 图 加 载 界 面 运 行 界 面 结 束 界 面 移 动 操 作 人 物 移 动 速 度 调 节 游戏暂 停与结 束 怪 物 移 动 无 敌 状 态 怪 ① 怪 ② 怪 ③ 怪 ④ 图 3-1 系统功能模块图 2
3.2 概要设计 整体功能:通过 wasd/8456 依次为上下左右来控制人物行走,避开怪物通过 吃豆获得分数。按下 t 键可实现暂停与继续,按下 e 键可强制结束游戏。按下 g 可实现无敌模式,(在被怪物吃掉 12 次后会有提示)。游戏界面中有操作方式、 分数、被吃次数、被吃多少次游戏结束。 图 3-2 整体流程图 各模块关系:主函数 main()调用以下函数: ①begin()函数 ②reset()函数 ③shuru()函数 ④move1()函数 ⑤move2()函数; 3
color()函数在以上函数均有调用,gotoxy()函数贯穿程序整体。 3.3 详细设计 1.reset()函数:构建地图、人物,界面右侧的部分游戏提示,并对一些 关键变量进行赋值 for (int k=0; k<=n; k++) int i=k/27,j=k%27; gotoxy(i,j) if (ditu[i][j]==1) else if color(7); printf("·"); color(1); (!ditu[i][j]) printf("■"); 图 3-3 流程图 图 3-4 运行效果图 4
代码及分析: void reset(){ system("cls");color(11); //颜色函数的调用 gotoxy(0,29); printf(" ★ 吃豆人 ★"); color(15); gotoxy(2,29); printf("控制方向:w/s/a/d"); gotoxy(4,29); printf("你的速度:z 减速/x 加速"); gotoxy(6,29); printf("怪物速度:c 减速/v 加速"); x=22; y=13; //人物初始位置 x1=x2=x3=x4=14; y1=11; y2=12; y3=14; y4=15; //怪物初始位置 now=607; now1=389; now2=390; now3=392; now4=393; for (int k=0; k<=n; k++){ int i=k/27,j=k%27; gotoxy(i,j); if (ditu[i][j]==1){color(7); printf("·");} else if (!ditu[i][j]){color(1); printf("■");} } } gotoxy(0,0); //将光标移动到屏幕左上角 gotoxy(x,y); color(14); printf("●"); //人物(淡黄色) gotoxy(x1,y1); color(4); printf("◆"); //红色怪物 gotoxy(x2,y2); color(5); printf("◆"); //紫色怪物 gotoxy(x3,y3); color(3); printf("◆"); //湖蓝色怪物 gotoxy(x4,y4); color(2); printf("◆"); //绿色怪物 fangx=0; T1=T2=guaitimer=0; t1=100; t2=90;stopped=0; fenshu=0; duozi=237; g1=g2=g3=g4=0; wudi=0;} 5
分享到:
收藏