算法设计论文.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法设计与分析课程论文 论文名称 24 计算问题 学 院 教育信息技术学院 学生姓名 莫怡琳、阮淑贞、陈鑫奕 学 号 2014210972、2014210970、2014210946 2017 年 1 月 3 日 目录 24 计算问题 一、问题描述 24 点游戏是指任意输入 1-9 的四个数,通过加减乘除四则运算连接,使得计算结果为 24,而使用计算机模拟该游戏,就是让程序随机产生数字,由用户组合成表达式,交给程序 进行结果判断。 二、前端分析 1、功能需求 (1)模式选择:根据玩家人数选择单人模式或者双人模式 (2 )用户登录/注册:允许用户登录、注册,确保账号安全 (3 )随机:自动产生随机数,供用户选择 (4 )验证:对用户输入的表达式进行判断 (5 )计算:对随机产生的数字求解,得出符合要求的表达式 (6 )记录:能够根据玩家的输赢情况,实时更新玩家等级 (7 )存储:存储并动态更新用户的相关信息,包括用户名、密码、游戏等级 2 、工具选择 工具:DW,语言:php,用本机 localhost 做服务器和测试端 (1)交互性强,用户能够通过鼠标、键盘等输入与网页进行交互 (2 )界面编写容易,div+css 可以实现网页布局 (3 )数据存储读取方便,能够实时与AppServ 自带的数据库链接 (4 )24 点游戏本身适合做成网页版 1 三、详细设计及说明 1、模式选择:选择不同的模式将会跳转至不同游戏界面 单人模式 双人模式 帮助:游戏规则:选择单人模式将独自完成任务,每完成一关将会上升一个等级, 回答错误 将会下降一个等级;选择双人模式胜利者将上升一个等级,失败者将下降一个等级。 2、登录/注册界面 登录:与数据库连接,验证用户名密码是否一致,用 post 方法获取表单提交的数据,将数 据库的信息与之匹配,登录成功则跳转至游戏界面,并为用户创建 session ,保存用户名与 等级;否则提示用户名密码错误,重新回到登录界面。 注册:用户名已经存在的不能被注册,保证用户名的唯一,新注册的用户等级为 0 。 2 3、单人模式游戏界面 用户信息:利用登陆界面传递的 session 获取用户名和密码 开始游戏:产生 4 个随机数 新一轮:即下一关,页面刷新,用户等级实施更新 提交:对用户输入的表达式进行验证,给出“回答正确”或者“回答错误”的结果,实施更 新用户等级 退出:返回模式选择界面 无解:计算是否有符合 24 要求的表达式,对用户的答案判断,如果存在符合的表达式,则 会显示表达式的个数和其中一个解,并实施更新用户等级 3 4 、双人模式游戏界面 用户信息:利用登陆界面传递的 session 获取用户名和密码 开始游戏:产生 4 个随机数 新一轮:即下一关,页面刷新,用户等级实施更新 提交:对用户输入的表达式进行验证,给出“回答正确”或者“回答错误”的结果,实施更 新用户等级 退出:返回模式选择界面 无解:计算是否有符合 24 要求的表达式,对用户的答案判断,如果存在符合的表达式,则 会显示表达式的个数和其中一个解,并实施更新用户等级 抢答:每个用户分别有抢答按钮,当一个用户抢答之后,通过 cookie 将 js 中的变量传递给 php,所有的输入都被看成是该用户的输入,因此达到了区分用户的目的 5、数据库存储 4 四、算法设计思想 核心算法 1、验证算法: 数据结构:堆栈 算法时间复杂度:O (n) (1)将表达式分为数字栈和符号栈两部分存储,并且以#作为开始符和结束符 (2 )定义优先级关系表 (3 )根据表决定运算顺序 如果即将压栈的符号的优先级小于栈顶的符号,则弹出数字栈栈顶的两个数字进行运算,否 则压入符号栈,直到完成表达式的计算。例如: 5 (4 )计算表达式的值

文档评论(0)

汪汪队 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档