您好,欢迎访问三七文档
当前位置:首页 > 医学/心理学 > 药学 > java-21点游戏--论文
XXXX大学《Java语言程序设计》课程设计(论文)题目:21点游戏院(系):专业班级:学号:学生姓名:指导教师:教师职称:起止时间:课程设计(论文)任务及评语院(系):教研室:学号学生姓名专业班级班课程设计(论文)题目21点游戏课程设计(论文)任务任务与要求:(1).掌握面向对象程序设计语言JAVA的基本语法(2).掌握JAVA面向对象设计的思想,(3).掌握VJAVA6.0与MyEclipsJAVA开发工具的使用(4).运用标准JAVA规范设计应用程序设计过程中,要严格遵守设计的时间安排,听从指导教师的指导。正确地完成上述内容,规范完整地撰写出设计报告。指导教师评语及成绩成绩:指导教师签字:年月日Xxxx大学课程设计说明书(论文)目录第1章课程设计目的与要求...................................................11.1设计目的............................................................11.2实验环境............................................................11.3预备知识............................................................11.4设计要求............................................................1第2章课程设计内容.........................................................22.1课题描述............................................................22.2系统设计............................................................32.2.1功能分析......................................................32.2.2面向对象设计..................................................42.2.2类成员描述....................................................62.3程序实现............................................................72.3.1源码分析......................................................72.3.2运行结果.....................................................10第3章总结................................................................11参考文献...................................................................14xxxx大学课程设计说明书(论文)1第1章课程设计目的与要求1.1设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程《JAVA语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。(3)利用所学知识,开发小型应用系统,掌握运用JAVA语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。(5)掌握面向对象程序设计的方法。(6)熟练掌握JAVA语言的基本语法,灵活运用各种数据类型。(7)进一步掌握在集成环境下如何调试程序和修改程序。1.2实验环境硬件要求能运行Windows操作系统的微机系统。JAVA语言应用程序开发软件使用:VJAVA系统,或其他JAVA语言应用程序开发软件。1.3预备知识熟悉JAVA语言程序设计的基本知识及VJAVA编辑器的使用方法。1.4设计要求1.仔细分析设计题目,画出程序流程图,编写程序源代码。2.积极上机调试源程序,增强编程技巧与调程能力。3.认真书写课程设计预习报告,课程设计说明书。4.遵守课程设计要求和机房管理制度,服从指导教师的安排,确保课程设计的顺利完成课程设计内容。xxxx大学课程设计说明书(论文)2第2章课程设计内容2.1课题描述21点有着悠久的历史。1700年左右法国赌场就有这种21点的纸牌游戏。1931年,当美国内华达州宣布赌博为合法活动时,21点游戏第一次公开出现在内华达州的赌场俱乐部,15年内,它取代掷骰子游戏,而一举成为非常流行的赌场庄家参与的赌博游戏。出现在亚洲是1957年在香港第一次出现,而后迅速的发展起来,五年不到的时间发展的与牌九,麻将一同成为中国人最喜欢的三大游戏。拥有最高点数的玩家获胜,其点数必须等于或低于21点;超过21点的玩家称为爆牌。2点至10点的牌以牌面的点数计算,J、Q、K每张为10点。A可记为1点或为11点,若玩家会因A而爆牌则A可算为1点。当一手牌中的A算为11点时,这手牌便称为“软牌”,因为除非玩者再拿另一张牌,否则不会出现爆牌。庄家在取得17点之前必须要牌,因规则不同会有软17点或硬17点才停牌的具体区分。每位玩家的目的是要取得最接近21点数的牌来击败庄家,但同时要避免爆牌。要注意的是,若玩家爆牌在先即为输,就算随后庄家爆牌也是如此。若玩家和庄家拥有同样点数,这样的状态称为“push”,玩家和庄家皆不算输赢。每位玩者和庄家之间的游戏都是独立的,因此在同一局内,庄家有可能会输给某些玩家,但也同时击败另一些玩家。两张牌点数相加为21(一张A再加一张价值10点的牌)称为“二十一点”(Blackjack),拥有这副牌的玩家即自动成为赢家(除非庄家也同时持有二十一点,这种点数相同的情形就称为push)。拥有二十一点的玩家可赢得下注筹码的1.5倍。部份的赌场仅付给1.2倍的金额;但通常是在仅使用一副牌游玩的赌局中。通常每次以四至六副扑克牌游玩,直至玩剩一副或一半为止,再重新洗牌。21点小游戏是一个非常流行的益智类游戏,它不仅能娱乐,还能在娱乐中锻炼人的反应能力、逻辑思维能力,是一款寓教于乐的小游戏。游戏的规则是:各个参与者设法使自己的牌达到总分21而不超过这个数值。扑克牌的分值取它们的面值,A充当1或者11分,J,Q和K人头牌都是10分。庄家VS1~7个玩家。在开局时,包括庄家在内的所有参与者都有两张牌。玩家可以看到他们的所有牌以及总分,而庄家有一张牌暂时是隐藏的。接下来,只要愿意,各个玩家都有机会依次再拿一张牌。如果是玩家的总分超过了21(称为引爆),那么这个玩家就输了。在所有玩家都拿了额外的牌后,庄家将显示隐藏的牌。只要庄家的总分等于或小于16,那么他就必须再拿牌。如果庄家引爆了,那么还没有引爆的所有玩家都将获胜,引爆的玩家打成平局。否则,将余下的各玩家的总分与庄家的总分做比较,如果玩家的总分大于庄家的总分,则玩家获胜。如果二者的总分相同,则玩家与庄家打成平局中。xxxx大学课程设计说明书(论文)32.2系统设计2.2.1功能分析本系统完成了21点游戏所要求的所有功能,下面是功能模块分析:1)游戏规则模块本模块显示了,这个游戏的规则,基本就运用了System.out.println;语句,没有什么特别的。2)下注模块可以让系统重新下注、输入赌注,并且记录该局已下的总赌注,当赌注小于0时乘-1,当资金不够,会提示重新下注,下注成功后,资金减少。3)要牌模块系统会先发前两张牌,然后牌数值记为2,并且计算机随机产生牌点,如果牌点数大于10,记为0.5,然后记录总点数发牌,随即产生牌点当大于10点记为半点,最后记录总点数。3)游戏过程模块发最初两张牌显示玩家牌点,电脑发前两牌并显示其中一张牌,计算机连续要牌,计算机在小于16点并少于5张牌是有权要牌,显示没次牌点,计算机要牌结束,玩家后几张要牌循环起点(小局),玩家要牌前可选择加注,玩家选择不再要牌时退出当盘比赛,比较当盘比赛结果,要派程序,根据返回值而定,返回值为1,进入普通玩家牌的张数加一,牌超过5张时将D=0,作为退出当盘比赛条件,满足普通玩家发牌条件时调用发牌函数发牌,返回值为2,高级玩家,满足高级玩家发牌条件,进入高级玩家函数,返回值为3,超级玩家,D=0,作为结束当盘比赛循环结束条件,调用结果统计函数,调用该函数询问是否再玩一盘,将全局变量变0,以进入下盘时用,返回值为Y时再玩一盘,否则退出,退出后打印出比赛最终结果。4)玩家选择模块本系统分为三个级别的玩家,普通玩家、高级玩家和超级玩家,玩家第一次登陆的时候都是从普通玩家开始,然后根据玩家级别的提升和登陆的次数增多,玩家的等级不断升高从而转变为高级玩家和超级玩家,本且系统会有一定的资金的奖励。每个玩家登陆后都会有500元的基础资金,然后就随着玩家自己对游戏的理解和熟练程度了。每当一个玩家登陆的时候系统会根据以前的游戏记录,判定玩家的级别,从而对玩家归类,使玩家进入到自己适合的级别。xxxx大学课程设计说明书(论文)42.2.2面向对象设计此图表示了系统所含有的模块,粗略的展示了系统所能展现的游戏过程,使玩家一样就能看见游戏的大概的方向和结果。图2.1系统功能模块图图2.2UML类图game21number:intsum:intonClick():voidisWin():voidclear():void21点游戏比赛规则高级玩家普通玩家超级玩家游戏玩家打印结果统计结果发牌过程下注过程xxxx大学课程设计说明书(论文)5此图是本系统21点游戏总体流程,它展现了这个游戏的过程,使用户直观的看出游戏的流程规范,在没有打开游戏的时候就能清楚地看清自己需要操作的具体步骤。图2.321点游戏总体流程图给庄家发最初的三张牌隐藏庄家的第一张牌和总分向玩家发额外的牌并显示牌和总分显示庄家的牌玩家输给玩家发最初的三张牌并显示牌和总分玩家需要额外的牌?庄家的总分=16?向庄家发额外的牌并显示牌和总分庄家引爆?玩家赢玩家引爆?玩家总分庄家?洗牌NYYNYYNN玩家引爆?玩家输YN平局玩家赢xxxx大学课程设计说明书(论文)62.2.3类成员描述1.类的数据成员本程序我声明了1个类,game21,在类中我定义了构造函数,构造函数定义了初始化变量。构造函数是一种特殊的方法主要用来在创建对象时初始化对象即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中特别的一个类可以有多个构造函数可根据其参数个数的不同或参数类型的不同来区分它们即构造函数的重载。Java语言为类提供的构造函数可自动完成对象的初始化任务,全局对象和静态对象的构造函数在main()函数执行之前就被调用,局部静态对象的构造函数是当程序第一次执行到相应语句时才被调用。然而给出一个外部对象的引用性声明时,并不调用相应的构造函数,因为这个外部对象只是引用在其他地方声明的对象,并没有真正地创建一个对象。2.函数成员描述1)延时函数wait()延时函数在本系统中是控制游戏开始的时间和结束的时间的,也是用来限制玩家与计算机的思考过程的限制,使游戏不至于由于思考的时间过长而影响,游戏的进度。学过汇编的就会知道,每条指令都占一定的时间(或者机器周期)的,如果你让机器什么都不做,即空指令的话,机器就会延时,然后你在计算好每次延时到底有多长,外面套一个循环(或者多重循环),根据你想
本文标题:java-21点游戏--论文
链接地址:https://www.777doc.com/doc-5739585 .html