猜拳游戏课程设计.doc_第1页
猜拳游戏课程设计.doc_第2页
猜拳游戏课程设计.doc_第3页
猜拳游戏课程设计.doc_第4页
猜拳游戏课程设计.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计计算机学院算机学院计计算机科学与技算机科学与技术专业术专业 程序设计综合课程设计程序设计综合课程设计 报告报告 2011 2012 学年 第一学期 学生姓名 学生姓名 学生班级 学生班级 学学生生学学号号 指导教师指导教师 2011 年 12 月 30 日 2 猜 拳 游 戏 设 计 报 告 3 目录 第一章程序设计的目的和要求 4 1 1 课程设计的目的 4 1 2 课程设计的目标 5 1 3 课程设计的要求 6 第二章 课程设计任务内容 3 2 1 课程设计的题目 7 2 2 背景 7 第三章 程序流程图及概况图 8 第四章 系统测试及调试结果 10 4 1 调试结果及截图 11 第五章 游戏规则说明 12 第六章 课程设计总结及心得 13 附录 参考文献 27 附录 程序代码 27 4 1 1 课程设计的目的 c 语言课程设计的主要目的是培养学 生综合运用 c 程序设计课程所学到的知识 编写 c 程序解决实际问题的能力 以及严 谨的工作态度和良好的程序设计习惯 通过课程设计的训练 学生应该能够 了解程序设计的基本开发过程 掌握编写 调试和测试 c 语言程序的基本技巧 充分 理解结构化程序设计的基本方法 c 语言程序设计的主要任务时要求学 生遵循软件开发过程的基本规范 运用结 构化程序设计的方法 按照课程设计的题 目要求 分析 设计 编写 调试和测试 c 语言程序及编写设计报告 本次课程设计是通过设计一个较为简 单的 猜拳系统 进一步熟悉 c 中有关 各种知识的运用与掌握 了解系统开发的 需求分析 模块分析 程序流程图 编码 测 试 模块组装与整体调试的全过程 加深 对 c 的理解与 visual c 环境的使用 5 逐步熟悉程序设计的方法 并养成良好的 编程习惯 进一步培养完善的 c 编程设计 思维 为以后进行软件编程 数据库管理 等深入学习打下一个牢固基础 1 2 课程设计的目标 本课程设计的目标 1 巩固和加深学生对 c 语言课程的基 本知识的理解和掌握 2 掌握 c 语言编程和程序调试的基本 技能 3 掌握利用 c 语言进行软件设计的方 法 4 提高书写程序设计说明文档的能力 5 提高运用 c 语言解决实际问题的能 力 6 1 3 课程设计要求 基本要求 1 题目 设计一个 猜拳游戏系统 软件 2 了解该系统软件开发的相关背景 3 参考相关书籍学习课程设计的基本 知识 4 清楚所开发系统软件的各个相关功 能 以便顺利开发系统软件 5 对系统功能模块进行分析 写出设 计说明文档 6 设计完成的软件要便于操作和使用 7 对自己所设计的程序进行调试 并 不断完善 8 在设计过程中熟练掌握软件编程的 相关知识 9 详细体会并记录相关过程 并将心 得体会写在课程设计报告中 10 设计完成后提交课程设计报告 7 第二章 课程设计任务内容 2 1 课程设计题目 猜拳游戏系统 该游戏是根据童年时候 我们经常玩的 剪刀 石头 布 和 斗兽旗 这两个小游戏 相互借鉴 经过组合创新 改出来的新游戏 其中多了几种变化 使游戏更丰富 更加的有趣 改变过去传统的玩法 让你多一种选择 2 2 背景 在以前玩过的游戏或生活中看到的事物里 选出 4 种相互克制的事物 组成猜拳游戏的四个基本单位 在此基础上实现猜拳游戏的可行性 通过程序运行实 现人机对战 8 第第 3 3 章章 程序详细设计及流程图程序详细设计及流程图 y 开始 输入选择输入选择 输出结果 是否继续 1 9 n 游戏设计概况图 1 结束 游戏设计概况 开 始 游 戏 输 入 选 的 对 象 程 序 判 断 胜 负 重 新 开 始 10 第第 4 4 章章 系统测试及调试结果系统测试及调试结果 程序程序 1 1 运行结果运行结果 图一 11 图二 程序 2 运行结果 图三 图四 图五 图六 12 第第 5 章章 游戏规则说明游戏规则说明 游戏根据剪刀 包袱 锤这个小游戏游戏根据剪刀 包袱 锤这个小游戏 改编 在原有的单个相克的基础上 增加改编 在原有的单个相克的基础上 增加 了一个单位 出现了一个可以胜两个的关了一个单位 出现了一个可以胜两个的关 系 使游戏更加的复杂 增加了一种选择 系 使游戏更加的复杂 增加了一种选择 使游戏更加有趣 使游戏更加有趣 新规定的游戏规则如下 新规定的游戏规则如下 游戏根据斗兽棋中的规则 选择其中 象 虎 狐 鼠 四种动物作为单位 以 其中的相克作为判断胜负的标准 其中 1 象胜虎和狐 2 虎胜狐和鼠 3 狐胜鼠 4 鼠胜象 其中 象 虎 狐 鼠分别对应 0 1 2 3 13 第第 6 6 章章 课程设计总结及心得课程设计总结及心得 课程设计刚开始的时候 我真的感觉到无从下手 因为已经过去一个学期了 期间又没有怎么看书 大 一的时候学的 c 不过基本上已经忘光了 而且那 时候学的不深 如果单单写一个比较的小的程序还可 以 大程序基本写不了 当老师把题目发给我们之后 刚开始是一筹莫展 不过短时间内就已经觉醒 重新 对题目分析了一遍 了解了一下要用到哪方面的知识 然后着手去看书 重新熟悉一下以前的知识 然后去 图书馆借了一些关于数据结构和 c 的书 看过那些 书之后 信心增加了不少 对接下来的程序编译有很 大帮助 通过这三周的课程设计 我独立完成了一个较大 的 c 语言程序的设计 并认真完成了课程设计报告 回忆这三周的时间 我收获很大 首先 我熟练 地运用了所学的知识编写程序 并成功的完成 感觉 成就感很强 这大大激发了我编程的兴趣 其次 在 设计的过程中遇到了一些困难 我会认真的去思考 14 或者充分利用网络资源来寻求帮助 提高获取信息的 能力 课程设计期间 我有向老师和同学寻求帮助 在交流中共同进步 最后 我了解了软件开发的大体 过程及各个步骤 这对将来的学习和工作是很有帮助 的 对于信管专业的大学生来说 积累实战经验是一 项极其重要的内容 很可能成为将来就业的敲门砖 而程序设计综合课程设计就是积累实战经验的一个过 程 虽然程序的规模并不大 但能够让我们尽早地认 识软件开发的重要性和必要性 为将来的就业打下坚 实的基础 经过两个星期的上机实践学习 使我对 c 语言 有了更进一步的认识和了解 要想学好它要重在实践 要通过不断的上机操作才能更好地学习它 通过实践 我也发现我的好多不足之处 首先是自己编程粗心大 意 经常出错 通过学习也有所改进 再有对 c 语 言的一些标准函数不太了解 还有对函数调用的正确 使用不够熟悉 以及对 c 语言中经常出现的错误也 不了解 通过实践 使我在这几个方面的认识有所提 高 这次的课程设让我认识到很多 c 的内在要素 15 1 程序设计语言是程序设计的工具 这是我通 过两周课程设计深深体会的一点 并且发现如果想有 效的进行程序设计 正确地应用程序设计语言表达算 法 必须准确的运用程序设计语言 掌握其语法知识 2 学习程序设计必须重视时间环节 多读程序 多编写程序 多上机实践 这次的课程设计就使得课 堂教学 式样和实践之间的关系更为紧密 对我的学 习有着很深远的影响 3 我发现作为一个程序设计人员 需要掌握面 向过程的程序设计 也要掌握面向对象的程序设计 从前 人们通过 c 语言学习面向过程的程序设计 再通过 c 学习面向对象的程序设计 其实 c 并 不是纯粹的面向对象的语言 它是一种混合语言 学 习 c 既可以编写面向过程的程序 也可以编写面向 对象的程序 这一点是我通过可课程设计所的实践发 现的 4 深切的感受到了 c 语法的复杂 内容的繁 多 发现如果对它缺乏系统的了解 将难以真正的运 用 编出来的程序错误百出 在设计的过程中 让我了解到要设计一个大型 16 程序 查找资料是至关重要的 在他人的基础上 再 根据自己所学进行修改与调试 最后设计出自己想要 的程序 这过程艰辛 但只要你持之以恒 成功指日 可待 另外平时扎实的基础也很关键 因为如果你平 时学得就不怎么样 那么你面对这么一个比较有难度 的程序 你可能会望而却步 看他人的程序都是个难 点 更别说让你自己去设计 为了解决此 类问题 最好就是多向同学 老师请教 不要怕难为情 尤其 是老师 评他们多年的编写程序的经验 要解决我们 的问题 对他们来说只是 small case 在设计这个程序时 我们刚开始是根据老师给我们提 供的资料 用画图以及循环将框架设计出来 但是接 下去便无从下手了 计算是个关键和难点 我们也查 了相应的资料 但是它上面用得是坐标来做的 所以 为了方便设计程序 我们也改为坐标来做的 这样计 算问题解决了 接下去就是按键问题 我们的资料是 用鼠标做的 所以关于按键这个函数就只能我们自己 设计 还好手头有类似的资料 经过自己的反复尝试 以及与与同学的讨论 这也不难 最好还是被我们搞 定了 最后就是闪烁 这个设计的方法很死板 都一 个类型 就是算坐标比较烦琐 要确定好它的位置 17 但是这些只要你自己愿意去尝试 问题都可以迎刃而 解的 收获及体会 c 语言课程设计和现代计算机技术的实际应用相结合 是我们在本阶段学完理论课程之后对自己该方面的能 力的一次很好的检验 从开始的算法思路到运行调试 后的美观的图形界面以及另人兴奋的可用程序 都是 一个很好的学习和锻炼的过程 使我们巩固了原有的 理论知识 培养了我们灵活运用和组合集成所学过知 识及技能来分析 解决实际问题的能力 使我们体会 到自身知识和能力能在实际中的应用和发挥 不但可 以激发创新意识 还可以开发创造能力 培养沟通能 力 这次实习时间虽然仅有一个星期 但确实使我受 益非浅 通过实习我丰富了计算机操作经验 更加深 了对 c 语言的了解 熟悉了其环境 更增强了对 turbo c 的使用技巧 另外 实习中老师对我们进行了细心 耐心的指 导 鼓励我们对程序进行合理改进 培养了我们的创 新意识和创新能力 原来是我认为可怕的课程设计 就在种种辅助条件下完成了 心里有说不出的高兴 18 虽说捧着自己的成果很高兴 但成果背后总是付出很 大的努力 一个多礼拜中 我们有过山穷水尽的困惑 有过柳暗 花明的惊喜 有过唇枪舌剑的辩论 有过相互鼓励的 安慰 一个多礼拜的时间我们经历了很多 也收获了 很多 与其说它是体力与脑力的作业 不如说它是合 作精神和毅力的考验 经过这次课程设计 我不仅学 到了很多知识和技能 更重要的是我们学会了如何运 用所学知识去解决实际问题 一个多礼拜的挣扎 绞尽脑汁终于带着麻木的手指和 大脑脱出那堆 泥潭 现在的心情是如鱼得水 干涩 的眼睛前方是万里晴空 终于 所有的努力即将化成 了一个个铅字 打印机 滋滋 的声音仿佛已经宛如天 籁般悦耳地在耳畔响起 此时此刻 真想把一切抛上 天空 高呼 出来了 我的成果即将出来了 心 里也在默默的感慨着 有志者 事竟成 破釜沉舟 百二秦关终归楚 苦心人 天不负 卧薪尝胆 三千 越甲可吞吴 这两星期一直在做程序设计 今天终于完成了 心里别提有多兴奋 看着这两礼拜自己的劳动成果 这两个礼拜发生的种种历历在目 还记得刚开始时 进展可以用一筹莫展来形容 当时 19 真想放弃 可自身不轻易认输的性格支持着我 同时 我也清楚地知道21世纪挑战与机遇并存 没有 足够的知识储备必将被时代所抛弃 c 语言作为国际 上广泛流行的通用程序设计语言 在计算机的研究和 应用中已展现出强大的生命力 c 语言兼顾了诸多高 级语言的特点 是一种典型的结构化程序设计语言 它处理能力强 使用灵活方便 应用面广 具有良好 的可移植性 虽然我们 c 语言已有四个月 但一直 都重概念 轻实践 这次设计对我们来说是千载难逢 的机会 无论如何都要好好把握 心态一转变 整个人的精神状态都非同寻常 而且这 种程序设计课比一般的课堂教学更具灵活性 它可以 始终使人处于兴奋之中 高中的教育模式化倾向太强 整齐划一的教育模 式使学校变成 工厂 学生成为统一式模子加工出来 的 标准件 但大学的程序设计实践课促进我们的个 性充分 健康地发展 最大限度地激发我们的学习热 情和创造热情 我可以说若你一一欣赏我们的设计 你一定会眼花缭乱 因为它们各种各样 各有千秋 并且 它无形中促进我们自主学习 使我们对 c 语 言有了更深刻地了解 对程序设计有了更高的操作水 平 20 通过这次实践我明白 人是在与他人交往中认识世界 在交流中不断调整和修正自己的错误 从而使之更全 面 更透彻 这套运算器的程序都由我们自己互相帮 助 经过无数次的修改而成 老师只是辅导 我们知 道老师不再是全知全能的权威 不再是知识的来源 他们只是学生的协作和促进者 只有我们才是学习的 主人 请允许我把这种课堂模式称作 放水养鱼 模式 它很自由 有利与培养我们的独立思考 求异思维 创新能力 使我们获得更多的知识和更强的能力 我觉得这次程序设计课相当成功 学校应多多开展 一个星期前的现在 当听到老师布置给我们的这 个题目时 我们都蒙了 这么难的题目我们怎么会啊 我们都表示不满 抗议 可是一切都是徒劳 我们只 能尽我们自己最大的努力把程序给写出来 虽然知道 这一路肯定是异常的艰苦 但豁出去了 上网查资料是我们迈开的第一步 有类似的题目 可 是不一样 我们失望而回 然后再是去图书馆查 肯 定没有现成的 我们只能查相关的函数 经过两三天 的努力 我们把框架弄出来了 可是还有计算和闪烁 这两大难题摆在我们面前 真的是个难题 自从把框 架弄好了以后就没有进展了 眼看一个星期快过去了 21 我们那个急啊 可是急也没有用 29个人总归可以搞 定 这是我们可以坚持到现在的信念 终于工夫不负 有心人 我们参照类似程序 改改和添添 终于大功 告成 我们欢呼我们雀跃 终于相信我们自己是足够 的伟大 这一个多星期以来 我们坐在电脑旁 又累又热 可 是当程序做出来了之后 那点累那点苦又算得了什么 呢 当现在敲打这些字的时候 满足感油然而生 如果有 人问我物质和精神哪个更让人满足 那答案一定是精 神 那种感觉只有自己体会了才能懂 这可不是大话 原来一直认为这样一个程序我们是不 能完成的 可是现在我会很自信的说 没有什么可以 难倒我们 程序设计提升了我们的自信心 真的是受 益匪浅啊 这当然得感谢刘金平老师和全班同学的帮助 我们不仅仅是尽力 更是竭尽全力 这就是年少轻狂的我们 什么都敢做 什么都不怕 就算跌倒了 再爬起来 没有什么大不了 通过这段时间的课程设计 我认识到 c 语言是一 门比较难的课程 需要多花时间上机练习 这次的程 序训练培养了我实际分析问题 编程和动手能力 使 22 我掌握了程序设计的基本技能 提高了我适应实际 实践编程的能力 刚开始做这个程序的时候 感到完全无从下手 觉得 让我完成这次程序设计根本就是不可能的 于是开始 查阅各种资料以及参考文献 谭浩强著 c 程序设计 第二版 北京 清华大学出版社 1999 徐金梧 杨德斌 徐科著 turboc 实用大全 北京 北京机械工 业出版社 1996 之后便开始着手写程序 写完运行 时有很多问题 如输入的数据总是覆盖之前的数据 在做按键的闪烁时 闪烁后的按键不能变回原来的颜 色等 后来花了很长时间才解决了这些问题 我的程 序有许多值得改进的地方 如可以增加一些函数 cos sin ln sqrt 等 在画界面矩形的时候可以使用 for 语句 总的来说 这次程序设计让我获益匪浅 对 c 语言 也有了进一步的认识 c 语言功能高 表达能力强 使用灵活方便 目标程序效率高 c 语言是在国内外广泛使用的一种计算机语言 我相 信除了以上优点之外还有许多 希望能在以后的学习 中有更深入的认识 在大学以前我从来就没见过 c 语言 这东西对我来说是十分陌生的 刚开始学 23 c 语言 感到每天都在云里雾里飘着 感 觉对这个东西真的好难入手 但学了一段 时间后逐渐对 c 语言有了认识 并能进行 简单操作 现在我们又要开始进行课程设 计 我的天空突然彻底 black 了 阿门 不过我不会放弃 前辈们都说 坚持到底 就是胜利 恩 我也是这么认为的 万 事开头难 只要我找到方法 我一定可以 的 嘿 嘿 嘿 不过我们都知道 我们 是一定会成功的 因为我们有我们的太阳 至于是谁呢 我就不说了 大家都知道了 是吧 刚开始编程时 那个 error 啊 多得 已经无法用 多 来形容了 那是 很多 啊 于是我开始了漫长而繁琐的地毯式搜查 我累的地暗天黑都已无所谓 那个疯狂的 人 是我 是我 还是我 海阔凭鱼跃 天高任我飞 我曾经花了整整一个上午的 时间来弄一个麻烦的闪烁 那做出来后的 感觉 就能用一个字来形容 那就是 爽 人生最幸福的事也就莫过于此 这小小的 成功使我的信心十足 我看到希望了 来 西牙 24 于是 我开始了更为艰巨的任务 那就是 把整体结构弄出来 我为此都 白 了少年 头 在我们整个宿舍的团结合作下 终于 把框架弄出来了 接下来就应该改错误了 随着一个个错误的纠正 终于一个程序浮 出了水面 我们成功了 高兴啊 真 高兴 通过这次课程设计 我对 c 语言更 有兴趣了 我相信以后我一定赶上我们的 太阳的 学习 c 程序这门课一个学期了 这是我 们学的第一门专业课 所以作为我这个计 算机系的学生来说当然十分重要 老师在 第一节课说过 c 语言是计算机的基础 大多数软件都需要用 c 语言来编写 通过 一个学期的学习 使我初步掌握了一些关 于这门课的知识 这次的课程设计是对我们一个学期来 所学的知识的综合考察 里面涉及到了我 们大多数所学知识 记得刚开始学这门课 的时候 对这门课充满了希望 自己有信 心学好这门课 但是经过一段时间的学习 之后 才发现程序设计并不好学 它既要 25 你有很强的领悟能力 还要你课后的努力 也许是自己之前太有信心学好这门课了吧 中间遇到了很大的瓶颈 一度陷入无休止 的烦恼中编程序时没有一次是成功的 总 会遇到很多的 error 改完一个又有一个 哎 这时我会想到一句古话 天将降大人于 斯人也 必先苦其心志 劳其筋骨 饿其 体肤 也许以后会有些许光明吧 之后 随着时间的推移 慢慢掌握了这门课学习 的一些窍门 学习起来也比刚开始的时候 好了一点 至于编程序吗还是有错误 但 比以前少了 呵呵 总让我看到希望了 这次的课程设计要求我们编一个简易计算 器 刚开始的时候我一头雾水 丈二摸不 着头脑 不知从哪里下手 后来经过老师 和同学的帮助 从最简单的编框开始 慢 慢的到最关键的算法 这其中经历了很多 弯路 也犯过了很多错误 但是还是一一 攻克了 好比红军长征两万五千里终于到 达了终点 看到最后自己编写出来的计算 器感到格外的高兴 暂且不说计算器的功 能方面吧 但毕竟是自己写的第一个正式 26 的程序吗 感到格外的高兴 在编写程序的过程中受到了其他同学的指 点 也许在某些程序方面会和有的同学想 类似 另外老师也帮助了很多 一个好的 学生离不开一个好老师吗 虽说我不算一 个好学生 但是老师在我编程序过程中也 起到了很大的作用 就像刘老师说的一句 话一样 革命尚未成功 同志仍需努力 我们在 c 语言这门课上还会继续走下去 以后还会经常碰到 我会努力的 附录附录 参考文献参考文献 c primer plus 中文版本第5版 1 附录附录 程序代码程序代码 程序程序1 include include include 27 void show int input switch input case 0 cout 出的是象 break case 1 cout 出的是虎 break case 2 cout 出的是狐 break case 3 cout 出的是鼠 break default void compare int inputplay int inputcomputer if inputplay 0 28 else if inputplay inputcomputer cout n平局 n else cout n电脑胜 n void main char isgoon int inputplay int inputcomputer cout 猜拳游戏 n cout 游戏说明 n n cout 象 0 虎 1 狐 2 鼠 3 n srand time null do 29 cout inputplay if inputplay 0 show inputplay inputcomputer rand 4 cout 电脑 show inputcomputer compare inputplay inputcomputer else cout 您输入有错误 n cout n说明 象 0 虎 1 狐 2 鼠 3 n cout isgoon while isgoon n isgoon n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论