JAVA赛马游戏
java课程设计斗兽棋

java课程设计斗兽棋一、教学目标本章节的教学目标是使学生掌握Java编程基础,能够运用Java编写简单的斗兽棋游戏。
具体目标如下:1.知识目标:–了解Java编程语言的基本语法和结构。
–掌握面向对象编程的基本概念,如类、对象、继承、多态等。
–学习Java标准库的相关知识,如集合框架、输入输出等。
2.技能目标:–能够使用Java开发工具,如Eclipse、IntelliJ IDEA等。
–能够编写Java程序,实现基本的输入输出、控制结构、函数调用等。
–能够运用面向对象编程思想,设计并实现具有继承、多态等特征的程序。
3.情感态度价值观目标:–培养学生对编程的兴趣和热情,提高学生的问题解决能力。
–培养学生团队合作精神,学会与他人交流和分享。
–培养学生良好的编程习惯,如代码规范、注释清晰等。
二、教学内容本章节的教学内容主要包括以下几个方面:1.Java编程语言基本语法和结构。
2.面向对象编程的基本概念,如类、对象、继承、多态等。
3.Java标准库的相关知识,如集合框架、输入输出等。
4.斗兽棋游戏的规则和逻辑实现。
具体的教学大纲如下:1.第1-2课时:Java编程语言基本语法和结构。
2.第3-4课时:面向对象编程的基本概念。
3.第5-6课时:Java标准库的相关知识。
4.第7-8课时:斗兽棋游戏的规则和逻辑实现。
三、教学方法本章节的教学方法采用讲授法、案例分析法和实验法相结合的方式。
1.讲授法:用于讲解Java编程语言基本语法和结构、面向对象编程的基本概念以及Java标准库的相关知识。
2.案例分析法:通过分析斗兽棋游戏的案例,使学生掌握游戏的规则和逻辑实现。
3.实验法:让学生动手编写Java程序,巩固所学知识,提高编程能力。
四、教学资源本章节的教学资源包括教材、参考书、多媒体资料和实验设备。
1.教材:选用《Java编程思想》作为主要教材,辅助以《Java核心技术》等参考书。
2.多媒体资料:提供Java编程语言基本语法和结构、面向对象编程的基本概念等视频教程。
Java猜拳小游戏源代码

第一个文件:public class Computer {String name;int score;public int showfist(){int quan;quan=(int)(Math.random()*10);if(quan<=2){quan=1;}else if(quan<=5){quan=2;}else{quan=3;}switch(quan){case 1:System.out.println(name+"出拳:剪刀");break;case 2:System.out.println(name+"出拳:石头");break;case 3:System.out.println(name+"出拳:布");break;}return quan;}}第二个文件:import java.util.Scanner;public class Game {int count=0;int countP=0;Person person=new Person();Computer computer=new Computer();Scanner input=new Scanner(System.in);public void initial(){System.out.print("请选择你的角色(1.刘备 2.孙权 3.曹操):");int juese=input.nextInt();switch(juese){case 1:="刘备";break;case 2:="孙权";break;case 3:="曹操";break;}System.out.print("请选择对手角色(1.关羽 2.张飞 3.赵云):");int JueSe=input.nextInt();switch(JueSe){case 1:="关羽";break;case 2:="张飞";break;case 3:="赵云";break;}}public void begin(){System.out.print("\n要开始吗? (y/n)");String ans=input.next();if(ans.equals("y")){String answ;do{int a=person.showFist();int b=computer.showfist();if(a==1&&b==3||a==2&&b==1||a==3&&b==2){System.out.println("结果:你赢了!");person.score++;}else if(a==1&&b==1||a==2&&b==2||a==3&&b==3){System.out.println("结果:平局,真衰!嘿嘿,等着瞧吧!");countP++;}else{System.out.println("结果:你输了!");computer.score++;}count++;System.out.print("\n是否开始下一轮? (y/n)");answ=input.next();}while(answ.equals("y"));}}public String calcResult(){String a;if(person.score>computer.score){a="最终结果:恭喜恭喜!你赢了!";}else if(person.score==computer.score){a="最终结果:打成平手,下次再和你一决高下!";}else{a="最终结果:呵呵,你输了!笨笨,下次加油啊!";}return a;}public void showResult(){System.out.println("---------------------------------------------------");System.out.println("\t\t"++" VS"++"\n");System.out.println("对战次数:"+count+"次");System.out.println("平局:"+countP+"次");System.out.println(+"得:"+person.score+"分");System.out.println(+"得:"+computer.score+"分\n");System.out.println(calcResult());System.out.println("---------------------------------------------------");}}第三个文件:import java.util.Scanner;public class Person {String name;int score;Scanner input=new Scanner(System.in);public int showFist(){System.out.print("\n请出拳:1.剪刀2.石头3.布");int quan=input.nextInt();switch(quan){case 1:System.out.println("你出拳:剪刀");break;case 2:System.out.println("你出拳:石头");break;case 3:System.out.println("你出拳:布");break;}return quan;}}第四个文件:public class Test {public static void main(String[]args){Game g=new Game();System.out.println("-----------------欢迎进入游戏世界--------------------\n\n");System.out.println("\t\t******************");System.out.println("\t\t** 猜拳开始 **");System.out.println("\t\t******************\n\n");System.out.println("出拳规则:1.剪刀2.石头3.布");g.initial();g.begin();g.showResult();}}。
《Java程序设计》大作业

1、查询余额:初始余额为10000元
2、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
3、ATM存款:不能出现负存款。
4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
6、万年历
要求:
使用图形用户界面。
实现日期与星期的查询
7、计算器
要求:
使用图形用户界面。
实现常用的计算功能。
8、日历记事本
要求:带有日程提醒功能的日历。
1、显示信息:用户可以向前翻页查询前一个月的日期,也可以向后翻页查询下一个月的日期。
2、定时提醒:用户可以针对某一天来添加,删除和编辑这一天的日程提醒信息,当系统时间和提醒时间相吻合时,给出具有提示信息的对话框。
《Java程序设计》大作业
要求:
最后提交打印的大作业报告,报告内容格式如下:
封面(包括姓名,学号,班级,专业,院系)
题目(把你选择的题目写在这里)
程序(程序的源代码)
运行结果(运行的结果,贴图的形式)
总结
大作业题目:
1、编写一个记事本程序
要求:
用图形用户界面实现。
能实现编辑、保存、另存为、查找替换等功能。
12、.敏感词汇分析
要求:
任意选择一个文本文件,分析该文件,如果存在敏感词汇(这些词汇保存在sentive.txt文件中,每个词占一行),报告每个词出现的次数。
3、查询信息:用户可以查询到某个月的所有的提示信息。
赛马小游戏

赛马小游戏赛马小游戏是一款简单、有趣的游戏,玩家需要通过策略和运气来帮助自己的马赢得比赛。
以下是游戏的目标、规则和玩法,以及必要的术语和技巧。
目标:游戏的目标是帮助自己的马赢得比赛,赢得更多的奖金。
规则:1.游戏中有5匹马,每匹马都有不同的赔率和能力。
2.玩家需要在比赛开始前选择一匹马进行投注。
3.比赛开始后,玩家不能更改自己的投注。
4.比赛结束后,如果玩家选择的马获胜,玩家将赢得相应赔率的奖金。
5.如果玩家选择的马未能获胜,则玩家将失去投注金额。
玩法:1.选择马匹:在比赛开始前,玩家需要选择一匹马进行投注。
玩家可以根据马匹的赔率和能力来进行选择。
赔率越高,赢得的奖金越多,但胜利的机会也越小。
2.观察比赛:比赛开始后,玩家需要观察比赛,看自己选择的马是否有机会获胜。
玩家可以根据自己的观察和判断来调整自己的策略。
3.赢得奖金:如果玩家选择的马获胜,玩家将赢得相应赔率的奖金。
玩家可以使用赢得的奖金来继续进行游戏,或者退出游戏并将奖金提取到自己的账户中。
术语和技巧:1.赔率:每匹马的赔率表示获胜时可以获得的奖金。
赔率越高,胜利的机会越小。
2.能力:每匹马的能力表示其在比赛中的表现。
能力越高,胜利的机会越大。
3.观察:玩家需要观察比赛,看自己选择的马是否有机会获胜。
观察比赛的过程中,玩家可以根据自己的判断来调整自己的策略。
4.策略:玩家可以根据马匹的赔率和能力来选择投注的马匹。
玩家也可以在比赛开始后根据自己的观察和判断来调整自己的策略。
总结:赛马小游戏是一款简单、有趣的游戏,玩家需要通过策略和运气来帮助自己的马赢得比赛。
玩家需要选择一匹马进行投注,观察比赛,赢得相应赔率的奖金。
玩家可以根据马匹的赔率和能力来进行选择,并根据自己的观察和判断来调整自己的策略。
玩家需要注意赔率和能力的关系,并根据自己的判断来进行投注。
赛马游戏程序

赛马游戏程序代码
•mbar.add(systemMenu); •this.setJMenuBar(mbar); •jL1=new JLabel("欢迎来到赛马世界!"); •jL2=new JLabel("林情出品"); •jL3=new JLabel("1006003209"); •jL1.setFont(new Font("微软雅黑",Font.BOLD,25)); •jL2.setFont(new Font("微软雅黑",Font.BOLD,18)); •jL3.setFont(new Font("微软雅黑",Font.BOLD,15)); •jL1.setForeground(Color.BLUE); •jL2.setForeground(Color.RED); •jL3.setForeground(Color.black); •jL1.setBounds(50,30,300,100); •jL2.setBounds(230,80,300,100); •jL3.setBounds(230,100,300,100); •winContainer=this.getContentPane(); •winContainer.setLayout(null); •winContainer.add(jL1); •winContainer.add(jl2); •winContainer.add(jl3); •
2013-1-4
JAVA简介
• Java 不同于一般的编译执行计算机语言和解释执行计算机 语言。它首先将源代码编译成二进制字节码(bytecode), 然后依赖各种不同平台上的虚拟机来解释执行字节码,从 而实现了“一次编译、到处执行”的跨平台特性。不过, 每次的编译执行需要消耗一定的时间,这同时也在一定程 度上降低了 Java 程序的运行效率。但在 J2SE 1.4.2 发布后, Java 的执行速度有了大幅提升。与传统程序不同,Sun 公 司在推出 Java 之际就将其作为一种开放的技术。全球数以 万计的 Java 开发公司被要求所设计的 Java 软件必须相互 兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与 微软公司所倡导的注重精英和封闭式的模式完全不同。
一个简单又有趣的JAVA小游戏代码

一个简单又有趣的JAVA小游戏代码猜数字import java.util.*;import java.io.*;public class CaiShu{public static void main(String[] args) throws IOException{Random a=new Random();int num=a.nextInt(100);System.out.println("请输入一个100以内的整数:");for (int i=0;i<=9;i++){BufferedReader bf=new BufferedReader(new InputStreamReader(System.in)); String str=bf.readLine();int shu=Integer.parseInt(str);if (shu>num)System.out.println("输入的数大了,输小点的!");else if (shu<num)System.out.println("输入的数小了,输大点的!");else {System.out.println("恭喜你,猜对了!");if (i<=2)System.out.println("你真是个天才!");else if (i<=6)System.out.println("还将就,你过关了!"); else if (i<=8)System.out.println("但是你还……真笨!"); elseSystem.out.println("你和猪没有两样了!"); break;}import java.util.Scanner;import java.util.Random;public class Fangfa{static int sum,sum1=0;public static void main(String [] args){int a=1,b=1,c=1;int k=0,m=1;int money =5000;int zhu =0;boolean flag = true;Random rand = new Random();Scanner input = new Scanner(System.in);while(m==1){while(flag){System.out.println("掷色子开始!");System.out.println("请下注注:下注金额只能是50的倍数且不能超过1000"); zhu=input.nextInt();if(zhu%50==0&&zhu<=1000&&zhu<=money){System.out.println("下注成功");System.out.println("买大请输入数字1,买小输入数字2");k=input.nextInt();a= rand.nextInt(6)+1;b= rand.nextInt(6)+1;c= rand.nextInt(6)+1;sum=a+b+c;if(k==1){if(sum>9){money+=zhu;System.out.println("恭喜您猜对了,骰子点数为"+sum+"结果是大"+"余额为"+money); }else{money-=zhu;System.out.println("很遗憾,骰子点数为"+sum+"结果是小"+"余额为"+money);}}if(k==2){if(sum<=9){money+=zhu;System.out.println("恭喜您猜对了,骰子点数为"+sum+"结果是小"+"余额为"+money); }else{money-=zhu;System.out.println("很遗憾,骰子点数为"+sum+"结果是大"+"余额为"+money);}}flag= false;System.out.println("继续请按1,退出请按任意键");m=input.nextInt();if(m==1){flag=true;System.out.println("您选择的是继续");}else{flag=false;System.out.println("欢迎您下次再来玩");}}else{System.out.println("下注失败"+"余额为"+money); }}}}。
值得苦练的55个java小项目
值得苦练的55个java小项目在这个数字化时代,掌握一门编程语言对于个人发展和职业规划至关重要。
而在众多编程语言中,Java是一门广泛使用的编程语言,尤其在企业级应用开发中应用广泛。
为了帮助初学者提升自己的Java编程能力,以下是值得苦练的55个Java小项目。
1.计算器:创建一个简单的图形用户界面(GUI)来模拟一个计算器,并实现基本的加、减、乘、除功能。
2.猜数游戏:编写一个程序,在一定范围内生成一个随机数,然后用户通过输入猜测数字,程序逐步给出用户的猜测是否正确。
3.五子棋游戏:实现一个供两人玩的五子棋游戏,包括游戏规则、棋盘、计分等功能。
4.银行管理系统:设计和实现一个基本的银行管理系统,包括账户创建、存款、取款、转账等功能。
5.图书管理系统:创建一个图书管理系统,包括图书的添加、删除、借出和归还等功能。
6.学生成绩管理系统:创建一个学生成绩管理系统,包括学生信息录入、查询、修改和删除等功能。
7.聊天室应用:使用Socket编程创建一个简单的聊天室应用,允许多个用户之间进行实时通信。
8.网页爬虫:编写一个程序以网络爬虫的方式访问网页并提取所需的信息。
9.文件压缩器:创建一个程序,能够将多个文件压缩为一个压缩文件,并能够解压缩已压缩的文件。
10.文件比较器:编写一个程序,用于比较两个文件的内容,以确定它们是否相同或相似。
11.数据库连接应用:使用Java JDBC连接到数据库,并实现增加、删除和修改数据的功能。
12.日历应用:开发一个简单的日历应用,可以显示当前日期、添加事件和提醒等功能。
13.地址簿应用:创建一个能够存储联系人信息的地址簿应用,包括添加、查找、编辑和删除联系人等功能。
14.天气应用:使用天气API获取实时天气信息,并显示在一个简单的用户界面中。
15.网络速度测试应用:开发一个简单的应用程序,用于测试用户的网络速度。
16.电子邮件客户端:编写一个程序,用于发送和接收电子邮件。
《Java程序设计》课程设计任务书
《Java程序设计》课程设计任务书一.课程设计基本信息课程名称:《Java程序设计》课程设计学时:1周学分:1学分二.课程设计目的与要求1.教学目的:本课程是学习《Java程序设计》后的综合实践课,使学生能够比较深入的理解Java 语言的特征及体系;熟练的掌握并会运用Java语言与面向对象程序设计的思想和方法设计应用程序解决应用问题,积累程序设计的实践经验,为培养软件技术高技能人才奠定基础。
本课程是培养计划中综合性较强的实践教学环节之一,帮助学生掌握教学内容、培养学生运用知识解决应用问题的实际动手能力、提高学生综合素质有很重要的意义。
2.教学要求:本课程设计以设计一个或多个实际应用系统为目的,通过课程设计让学生较全面的掌握Java语法基础知识、面向对象程序设计方法,尤其是基于Java的应用程序设计的方法与技术,能够运用J2SE平台,结合相应的数据库系统开发应用程序,理论联系实际,达到培养实践操作技能的目的。
学生要了解Java程序开发的一般过程,特别掌握系统分析与设计的基本方法,写出系统分析与设计报告,并能设计真实可用的应用系统。
三.课程设计内容与安排根据老师提供的设计题目,写出系统分析与设计报告,并建立原型系统。
题目可以由教师与学生根据实际情况商定,可参考的题目:图书借阅管理系统、产品管理系统、学生成绩管理、学生信息管理、人事管理、人力资源管理系统、物流信息管理系统等。
1.主要设计内容如下:(1)系统设计:包括系统需求分析、总体设计和功能设计,必要时使用图表说明。
(2)各功能模块设计:包括用户界面及相应功能算法等设计。
(3)各功能模块实现:各功能模块算法程序编写。
2.教学安排总课时30课时,其中需求分析与系统设计、数据库设计与实现、系统各模块实现所以及系统集成调试运行用时间建议各占15%,15%,40%,20%的课时,学生可根据具体情况调整,利用10%的时间完成课程设计报告。
四.课程设计教学建议及要求1.要求学生有一定的程序设计和数据库基础知识,由老师指定或学生自行组织形成项目小组,必要时由多人开发一个项目,其中需要指定负责项目的小组长控制项目进度。
赛马小游戏
赛马小游戏
赛马小游戏是一款简单而有趣的游戏,玩家的目标是通过策略和运气来赢得比赛,成为冠军。
玩法和规则:
1. 玩家需要选择一匹赛马作为自己的代表,每匹赛马都有其自身的特点和能力,例如速度、耐力等。
2. 在比赛开始前,玩家可以对自己的赛马进行训练和调整,以提高赛马的表现。
3. 比赛开始后,玩家需要根据赛马的状态和比赛情况来制定赛马的策略,例如
控制速度、使用道具等。
4. 比赛中会出现一些障碍和挑战,玩家需要及时做出反应,以确保赛马顺利通
过并保持领先地位。
5. 最终,第一匹冲过终点线的赛马将成为冠军,玩家将获得相应的奖励和荣誉。
术语和技巧:
1. 调整速度:根据比赛情况和赛马状态,玩家需要灵活调整赛马的速度,以保
持耐力和保持领先地位。
2. 使用道具:在比赛中,玩家可以使用各种道具来帮助赛马,例如加速道具、
障碍物清除道具等。
3. 训练和调整:玩家可以通过训练和调整赛马的能力和状态,来提高赛马的表现,例如增加速度、提高耐力等。
创造性和想象力:
玩家可以尝试不同的训练和调整方法,来发掘赛马的潜力,以及制定不同的比
赛策略,来应对不同的挑战和障碍。
此外,玩家还可以尝试使用不同的道具组
合,来发挥赛马的优势,创造出更加精彩的比赛表现。
通过这些玩法和规则,赛马小游戏将为玩家带来刺激和乐趣,同时也能锻炼玩家的策略思维和反应能力。
希望玩家能够充分享受游戏的乐趣,并不断探索和尝试新的方法和策略,让游戏更加具有挑战性和乐趣。
田忌赛马算法java
package Test1;import java.util.Scanner;public class LOLTest<AnyType> {/*** @param args*/Node firstNode=new Node(0);Node secondNode=new Node(0);int sizeA=1;int sizeB=1;public int getSizeA() {return sizeA;}public int getSizeB() {return sizeB;}public static void main(String[] args) {// TODO Auto-generated method stubScanner reader = new Scanner(System.in);int T = reader.nextInt();for (int i = 0; i < T; i++) {int m = reader.nextInt();LOLTest test = new LOLTest();double[] a = new double[m];double[] b = new double[m];for (int j = 0; j < m; j++) {a[j] = reader.nextDouble();}for (int j = 0; j < m; j++) {b[j] = reader.nextDouble();}test.sort(a);test.sort(b);test.create1(test.firstNode, a);test.create2(test.secondNode, b);int sum = test.abcd();if (sum >= 0) {System.out.println("Xiaoming will get " + sum + "QB");} else {System.out.println("Xiaotao will get " + Math.abs(sum) + "QB");}}}// 计算sum并返回public <AnyType extends Comparable<? super AnyType>> int abcd() {int sum = 0;while (firstNode.next!=null) {Node p=firstNode.next;Node q=secondNode.next;if (p.data > q.data) {sum=sum+200;remove1(1);remove2(1);}if (p.data == q.data) {Node c=getNode(getSizeA(),firstNode);Node d=getNode(getSizeB(),secondNode);if(c.data<=d.data&&c.data!=p.data){remove1(1);remove2(getSizeB()-1);sum=sum-200;}else if(c.data>d.data){remove1(getSizeA()-1);remove2(getSizeB()-1);sum=sum+200;}else if(c.data==d.data&&c.data==p.data){remove1(getSizeA()-1);remove2(getSizeA()-1);}}if (p.data < q.data) {sum=sum-200;remove1(1);remove2(getSizeB()-1);}}return sum;}//获得idx位置的节点public Node getNode(int idx,Node node){Node p=node;for(int i=0;i<idx-1;i++){p=p.next;}return p;}// 删除单链表中的元素public void remove1(int idx){Node p=firstNode;for(int i=0;i<idx-1;i++){p=p.next;}Node node=p.next.next;p.next=node;sizeA--;}public void remove2(int idx){Node p=secondNode;for(int i=0;i<idx-1;i++){p=p.next;}Node node=p.next.next;p.next=node;sizeB--;}// 对数组进行构造单链表public void create1(Node node, double[] a) { Node p = node;for (int i = 0; i < a.length; i++) {p.next = new Node(a[i]);p = p.next;sizeA++;}}public void create2(Node node, double[] a) { Node p = node;for (int i = 0; i < a.length; i++) {p.next = new Node(a[i]);p = p.next;sizeB++;}}// 对输入的数组进行排序public void sort(double[] a) {for (int i = 0; i < a.length; i++) {for (int j = i; j < a.length - 1; j++) {if (a[j + 1] < a[i]) {double c = a[j + 1];a[j + 1] = a[i];a[i] = c;}}}}// 节点类private static class Node {double data;Node next;Node() {}Node(double date) {this.data = date;this.next = null;}public Node(double d, Node n) {this.data = d;this.next = n;}}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
游戏的登录界面
游戏的登录界面主要是为了迎合游戏的两个版本,两个版本的两个登录帐号都不 同。该界面写于【SelectPanel】类中。 帐号框主要是由【JTextField】声明的,密码框则是由【JPasswordField】声明。 界面的两个按钮主要是用来调用版本一【BetPanel】和版本二【BetPanel2】。当登 录版本一的时候,执行下面的程序:
图3
图4
游 戏 规 则 说 明 和 关 于 界 面
图5
图6
【关于】界面里面主要是显示的是制作者的信息显示,和游戏版 本的信息显示。如图5所示。 【游戏规则】界面主要是显示游戏规则,操作方式则不做介绍。 里面的内容主要采用了文本框【JTextArea】实现。如图6所示。
游戏版本一的进行界面
游戏结束界面பைடு நூலகம்示
图13
图14
图13是版本一的结束界面 图14是版本二的结束界面 图15是游戏的退出提示
图15
谢谢观赏
WPS Office
Make Presentation much more fun
@WPS官方微博 @kingsoftwps
图1
beginMenuItem=new JMenuItem("开始游戏"); beginMenuItem.addActionListener(this); initMenuItem=new JMenuItem("参数设定"); initMenuItem.addActionListener(this); aboutMenuItem=new JMenuItem("关于"); aboutMenuItem.addActionListener(this); exitMenuItem=new JMenuItem("退出"); exitMenuItem.addActionListener(this); helpMenuItem=new JMenuItem("帮助"); helpMenuItem.addActionListener(this); fileMenu=new JMenu("游戏"); systemMenu=new JMenu("系统");
菜单项的程序
mbar=new JMenuBar(); fileMenu.add(beginMenuItem); fileMenu.add(initMenuItem); systemMenu.add(aboutMenuItem); systemMenu.add(helpMenuItem); systemMenu.addSeparator(); systemMenu.add(exitMenuItem); mbar.add(fileMenu); mbar.add(systemMenu); this.setJMenuBar(mbar);
if(e.getSource()==BT0){ if(jT1.getText().equals("林福山")&& jP1.getText().equals("1006003220")){ BetPanel p1=new BetPanel();//实例化游戏版本1界面 p1.setBounds(0,0,340,250);//设置该实例的空间大小 this.removeAll();//移除当前容器中的所有内容 this.add(p1);//将游戏开始界面添加到当前容器 this.repaint();//调用repaint()方法,更新界面显示}
图7
图8
图9
在游戏过程中,游戏所产生的马号这是由随机函数从1到7里面随机产 生的,并将其显示到界面上。代码如下: int num=(int)(Math.random()*6+1);//随机产生1~7之间的马号 String num1=String.valueOf(num); tema1.setText(num1);//显示开码号 如果竞猜成功则可获得下注金额的四倍奖励,失败则只是输掉下注金额, 没竞猜一次,竞猜的次数都会自动减少,直至为零时,显示游戏最后结 果。代码如下:
赛马游戏界面
赛马的游戏界面主要是菜单条,主要的 事件的按钮,也就是菜单项都包含在菜单 条里。 JMenuBar mbar;//菜单条 JMenu fileMenu,systemMenu;//菜单项 再将菜单项用add()加入到菜单条里。 子菜单项【JMenuItem】里面主要包 含的菜单想有: 开始子菜单项【beginMenuItem 】 参数子菜单项【initMenuItem】 关于子菜单项【aboutMenuItem】 退出子菜单项【exitMenuItem】 帮助子菜单项【helpMenuItem】 将以上的子菜单项加入到菜单项里面。最 后用this.setJMenuBar(mbar);在窗口上显示 菜单。
主要的类
主界面类【MybetExample】 参数设置界面类【InitPanel】
版本一游戏进行类【BetPanel】
版本二游戏进行类【BetPanel2】
版本选择界面类【SelectPanel】
Page 2
赛马游戏设计的菜单处理流程图
赛马游戏规则
本游戏的规则如下: ①游戏开始前,可以设定游戏的参数,包括庄家本金、玩家本金以及竞猜次 数(庄家拥有的本金至少要比玩家多5000元,竞猜次数最多10次)。如不进 行设定,系统默认庄家本金10000元,玩家本金1000元,竞猜次数为5次。 进入游戏后,输入不同版本的登录帐号和密码(这里版本一的帐号为【林 福山】,密码为【1006003220】;版本二的帐号为【linfushan】,密码为 【1006003220】)。 ②游戏进行中,玩家可以竞猜可能获胜的马号(马号为1~7),并可以设定 自己的下注金额(不能超过自己的本金余额)。当确认时,系统随机产生一 个号码,如果玩家竞猜成功,则获得下注金额的四倍奖励,否则重本金中扣 除相应的下注金额。 ③当玩家的本金和竞猜次数为0时,游戏结束,显示当前的结果。
版本一游戏号码竞猜实现程序
try{if(e.getSource()==jB1){ int q1=Integer.parseInt(jT5.getText()); int num=(int)(Math.random()*6+1);//随机产生1~7之间的马号 String num1=String.valueOf(num); if(mybetMoney>0){ if(q1==num){ jL3.setText(num1); jL4.setText("成功!"); MybetExample.betMoney-=mybetMoney*4;//庄家本金减少 MybetExample.myMoney+=mybetMoney*4;//玩家本金增加 MybetExample.betCount--;//竞猜次数减一 }else { jL3.setText(num1); jL4.setText("失败!"); MybetExample.betMoney+=mybetMoney;//庄家本金增加 MybetExample.myMoney-=mybetMoney;//玩家本金减少 MybetExample.betCount--;//竞猜次数减一 } }else if(mybetMoney<1){ JOptionPane.showMessageDialog(this,"玩家本金不能为0,请输入金额。","信息提示",1); } }}catch(Exception e1){ System.out.print(""); }
if(num==mybet){//竞猜成功信息显示 jL7.setText("竞猜成功!"); jL7.setForeground(Color.RED); jL7.setFont(new Font("宋体",Font.BOLD,15)); jL8.setText("继续努力!"); jL8.setForeground(Color.RED); jL8.setFont(new Font("宋体",Font.BOLD,15)); MybetExample.betMoney-=mybetMoney*4;//庄家本金减少 MybetExample.myMoney+=mybetMoney*4;//玩家本金增加 MybetExample.betCount--;//竞猜次数减一 } else {//竞猜错误信息显示 jL7.setText("竞猜失败!"); jL7.setForeground(Color.darkGray); jL7.setFont(new Font("宋体",Font.BOLD,15)); jL8.setText("再来一次!"); jL8.setForeground(Color.darkGray); jL8.setFont(new Font("宋体",Font.BOLD,15)); MybetExample.betMoney+=mybetMoney;//庄家本金增加 MybetExample.myMoney-=mybetMoney;//玩家本金减少 MybetExample.betCount--;//竞猜次数减一 } if(MybetExample.betCount>0&&MybetExample.myMoney>0){ //竞猜次数未完,并且玩家仍有本金,则更新显示,游戏继续 jT1.setText(MybetExample.betMoney+""); jT2.setText(MybetExample.myMoney+""); jT3.setText(MybetExample.betCount+""); }else showEnd();//显示游戏结束界面 }