ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:170.11KB ,
资源ID:27788741      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27788741.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java21点游戏论文.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java21点游戏论文.docx

1、java21点游戏论文X X X X 大 学Java语言程序设计课程设计(论文)题目: 21点 游戏 院(系): 专业班级: 学 号: 学生: 指导教师: 教师职称: 起止时间: 课程设计(论文)任务及评语院(系): 教研室: 学 号 学生 专业班级 班 课程设计(论文)题目21点游戏 课程设计(论文)任务任务与要求:(1).掌握面向对象程序设计语言JAVA的基本语法(2).掌握JAVA面向对象设计的思想,(3).掌握VJAVA6.0与MyEclips JAVA 开发工具的使用 (4). 运用标准JAVA规设计应用程序设计过程中,要严格遵守设计的时间安排,听从指导教师的指导。正确地完成上述容,

2、规完整地撰写出设计报告。指导教师评语及成绩 成绩: 指导教师签字: 年 月 日第1章 课程设计目的与要求1.1设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程JAVA语言教程的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。(3)利用所学知识,开发小型应用系统,掌握运用JAVA语言编写调试

3、应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。(5)掌握面向对象程序设计的方法。(6)熟练掌握JAVA语言的基本语法,灵活运用各种数据类型。(7)进一步掌握在集成环境下如何调试程序和修改程序。1.2实验环境硬件要求能运行Windows 操作系统的微机系统。JAVA语言应用程序开发软件使用:VJAVA 系统,或其他JAVA语言应用程序开发软件。1.3预备知识熟悉JAVA语言程序设计的基本知识及VJAVA编辑器的使用方法。1.4设计要求1.仔细分析设计题目,画出程序流程图,编写程序源代码。2.积极上机调试源程序,

4、增强编程技巧与调程能力。3.认真书写课程设计预习报告,课程设计说明书。4.遵守课程设计要求和机房管理制度,服从指导教师的安排,确保课程设计的顺利完成课程设计容。第2章 课程设计容2.1 课题描述21点有着悠久的历史。1700年左右法国赌场就有这种21点的纸牌游戏。1931年,当美达州宣布赌博为合法活动时,21点游戏第一次公开出现在华达州的赌场俱乐部,15年,它取代掷骰子游戏,而一举成为非常流行的赌场庄家参与的赌博游戏。出现在亚洲是1957年在第一次出现,而后迅速的发展起来,五年不到的时间发展的与牌九,麻将一同成为中国人最喜欢的三大游戏。拥有最高点数的玩家获胜,其点数必须等于或低于21点;超过2

5、1点的玩家称为爆牌。2点至10点的牌以牌面的点数计算,J、Q、K 每为10点。A可记为1点或为11点,若玩家会因A而爆牌则A可算为1 点。当一手牌中的A算为11点时,这手牌便称为“软牌”,因为除非玩者再拿另一牌,否则不会出现爆牌。庄家在取得17点之前必须要牌,因规则不同会有软17点或硬17点才停牌的具体区分。每位玩家的目的是要取得最接近21点数的牌来击败庄家,但同时要避免爆牌。要注意的是,若玩家爆牌在先即为输,就算随后庄家爆牌也是如此。若玩家和庄家拥有同样点数,这样的状态称为“push”,玩家和庄家皆不算输赢。每位玩者和庄家之间的游戏都是独立的,因此在同一局,庄家有可能会输给某些玩家,但也同时

6、击败另一些玩家。两牌点数相加为21(一A再加一价值10点的牌)称为“二十一点”(Blackjack),拥有这副牌的玩家即自动成为赢家(除非庄家也同时持有二十一点,这种点数相同的情形就称为 push)。拥有二十一点的玩家可赢得下注筹码的1.5倍。部份的赌场仅付给1.2倍的金额;但通常是在仅使用一副牌游玩的赌局中。通常每次以四至六副扑克牌游玩,直至玩剩一副或一半为止,再重新洗牌。21点小游戏是一个非常流行的益智类游戏,它不仅能娱乐,还能在娱乐中锻炼人的反应能力、逻辑思维能力,是一款寓教于乐的小游戏。游戏的规则是:各个参与者设法使自己的牌达到总分21而不超过这个数值。扑克牌的分值取它们的面值,A充当

7、1或者11分,J,Q和K人头牌都是10分。庄家VS17个玩家。在开局时,包括庄家在的所有参与者都有两牌。玩家可以看到他们的所有牌以及总分,而庄家有一牌暂时是隐藏的。接下来,只要愿意,各个玩家都有机会依次再拿一牌。如果是玩家的总分超过了21(称为引爆),那么这个玩家就输了。在所有玩家都拿了额外的牌后,庄家将显示隐藏的牌。只要庄家的总分等于或小于16,那么他就必须再拿牌。如果庄家引爆了,那么还没有引爆的所有玩家都将获胜,引爆的玩家打成平局。否则,将余下的各玩家的总分与庄家的总分做比较,如果玩家的总分大于庄家的总分,则玩家获胜。如果二者的总分相同,则玩家与庄家打成平局中。2.2 系统设计2.2.1功

8、能分析本系统完成了21点游戏所要求的所有功能,下面是功能模块分析:1)游戏规则模块本模块显示了,这个游戏的规则,基本就运用了System.out.println;语句,没有什么特别的。2)下注模块可以让系统重新下注、输入赌注,并且记录该局已下的总赌注,当赌注小于0时乘-1,当资金不够,会提示重新下注,下注成功后,资金减少。3)要牌模块系统会先发前两牌,然后牌数值记为2,并且计算机随机产生牌点,如果牌点数大于10,记为0.5,然后记录总点数发牌,随即产生牌点当大于10点记为半点,最后记录总点数。3)游戏过程模块发最初两牌显示玩家牌点,电脑发前两牌并显示其中一牌,计算机连续要牌,计算机在小于16点

9、并少于5牌是有权要牌,显示没次牌点,计算机要牌结束,玩家后几要牌循环起点(小局),玩家要牌前可选择加注,玩家选择不再要牌时退出当盘比赛,比较当盘比赛结果,要派程序,根据返回值而定,返回值为1,进入普通玩家牌的数加一,牌超过5时将D=0,作为退出当盘比赛条件,满足普通玩家发牌条件时调用发牌函数发牌,返回值为2,高级玩家,满足高级玩家发牌条件,进入高级玩家函数,返回值为3,超级玩家,D=0,作为结束当盘比赛循环结束条件,调用结果统计函数,调用该函数询问是否再玩一盘,将全局变量变0,以进入下盘时用,返回值为Y时再玩一盘,否则退出,退出后打印出比赛最终结果。4)玩家选择模块本系统分为三个级别的玩家,普

10、通玩家、高级玩家和超级玩家,玩家第一次登陆的时候都是从普通玩家开始,然后根据玩家级别的提升和登陆的次数增多,玩家的等级不断升高从而转变为高级玩家和超级玩家,本且系统会有一定的资金的奖励。每个玩家登陆后都会有500元的基础资金,然后就随着玩家自己对游戏的理解和熟练程度了。每当一个玩家登陆的时候系统会根据以前的游戏记录,判定玩家的级别,从而对玩家归类,使玩家进入到自己适合的级别。2.2.2面向对象设计此图表示了系统所含有的模块,粗略的展示了系统所能展现的游戏过程,使玩家一样就能看见游戏的大概的方向和结果。图2.1系统功能模块图图2.2UML类图此图是本系统21点游戏总体流程,它展现了这个游戏的过程

11、,使用户直观的看出游戏的流程规,在没有打开游戏的时候就能清楚地看清自己需要操作的具体步骤。图2.3 21点游戏总体流程图2.2.3类成员描述1.类的数据成员本程序我声明了1个类,game21,在类中我定义了构造函数,构造函数定义了初始化变量。构造函数是一种特殊的方法主要用来在创建对象时初始化对象即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中特别的一个类可以有多个构造函数可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。 Java语言为类提供的构造函数可自动完成对象的初始化任务,全局对象和静态对象的构造函数在main()函数执行之前就被调用,局部静态对象的

12、构造函数是当程序第一次执行到相应语句时才被调用。然而给出一个外部对象的引用性声明时,并不调用相应的构造函数,因为这个外部对象只是引用在其他地方声明的对象,并没有真正地创建一个对象。 2.函数成员描述1)延时函数wait()延时函数在本系统中是控制游戏开始的时间和结束的时间的,也是用来限制玩家与计算机的思考过程的限制,使游戏不至于由于思考的时间过长而影响,游戏的进度。学过汇编的就会知道,每条指令都占一定的时间(或者机器周期)的,如果你让机器什么都不做,即空指令的话,机器就会延时,然后你在计算好每次延时到底有多长,外面套一个循环(或者多重循环),根据你想要的延时时间即可计算出来循环的次数 ,延时函

13、数基本上都是这种原理,它的参数就是用来控制循环次数的。2)暂停函数pause()本系统中设置了暂停函数,它是使玩家更好的控制系统的,玩家可以根据自己需要的思考时间来控制游戏的进度,本系统中设置了玩家可以按任意一个键使游戏继续或者停止,并且都有相应的中文语句提示。3)显示比赛规则的函数rules()在比赛规则函数中主要是运用了System.out.println;这条语句主要是输出本游戏的规则要领,使第一玩这个游戏的玩家了解游戏规则。4)下注函数Bet() 在下注函数中主要分为两类,一是资金足够的情况,一是资金不够的情况。资金足够的情况我定义了一个数学运算公式:all=all+a.nGamble

14、;并且通过a.nGamble=a.nGamble*(-1);来控制下注资金在以有的资金控制围,来控制资金的输入,还有减少资金的语句“a.nRMB=a.nRMB-a.nGamble”。资金不够的情况我定义了一个提示语“coutt对不起,您资金不够,请重新下注 21) JOptionPane.showMessageDialog(this, 你输了);clear();return; else if (sum = 21) JOptionPane.showMessageDialog(this, 你赢了);clear();return; else int i = JOptionPane.showOptio

15、nDialog(this, 是否继续?, 提示,JOptionPane.OK_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE, null, null, null);if (i = JOptionPane.OK_OPTION) onClick(); elsereturn;private void clear() label_2.setText(合计:);sum = 0;number = 0;label_1.setText(你已经拥有的牌:);/* return*/protected JLabel getLabel_2() if (label_2 = n

16、ull) label_2 = new JLabel();label_2.setText(合计:);label_2.setBounds(313, 35, 66, 18);return label_2;2.3.2运行结果此界面为开始界面,玩家直接点出牌就可以了。图2.5游戏开始界面图此界面是确定你是否继续要牌,当你点击出牌按钮时出现一个数字,系统就会自动弹出一个对话框,显示是否继续,如果你想要就直接点击确定,否则撤销。图2.6游戏运行界面图此界面显示你赢了,当你的点数正好是21点或者小于21点的时候,系统就会自动弹出一个窗口显示你赢了。图2.7游戏赢了界面图此界面显示你输了,当你点击的点数超过21

17、点,系统就会自动弹出一个窗口显示你输了,这样你就结束了本次游戏。图2.8游戏输了界面图第3章 总结通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,比如说类,面向对象,通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。21点小游戏的课程设计看似简单,却需要

18、能对Java知识进行应用。首先,Java课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识,再次,我在课程设计中碰到了很多的问题,我通过查阅相关书籍,资料,通过自己钻研, 当然,通过这次课程设计,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我,不断进取。开始的时候真的感觉编程是一件很无聊的事情,不过当一个程序运行成功的时候那种喜悦是无法言语的,那种成就感是无法比拟的。又经过几天的努力,终于把程序完成了,尽管程序还是有很多错误和漏洞,不过还是很高兴的。无论如何是自己的劳动成果,是自己经过努力得到的成绩,同时也是学习Java的一次实践作业

19、,自己进步的证明。通过这次课程设计,使我对Java有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;还有对Java中经常出现的错误也不了解,通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习Java,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。 在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去

20、克服心理上的不良情绪,通过这个课设我更加了解Java了!参考文献1.耿祥义 跃平编著 JAVA2实用教程(第4版) :清华大学2.跃平 耿祥义编著 JAVA 2实用教程(第4版)实验指导与习题解答 :清华大学3.刚 Eclipse从入门到精通M :清华大学4.钱能 JAVA程序设计教程(第2版) :清华大学5. Bjarne Stroustrup C+程序设计原理与实践 :机械工业6.三成 JSP与JDBC应用详解M :中国铁道7.卫琴 JAVA开发技术详解 :电子工业8.Metsker S J JAVA设计模式M :电子工业9.京华 JAVA Web整合开发王者归来 :电子工业10.毕建信 基于MVC设计模式的Web应用研究与实现 :理工大学11.安渝 JAVA技术与实现 :国防工业12.一林 JAVA数据库编程实例 :清华大学13.朱红 JAVA Web编程指南 :电子工业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1