import java.awt.event.*
class A extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0)
}
}
class WindowButton extends Frame implements ActionListener {
int number
Label 提示条
TextField 输入框
ButtonbuttonGetnumber, buttonEnter
public WindowButton(String s) {
super()
this.addWindowListener(new A())
setLayout(new FlowLayout())
init()
this.setLayout(null)
this.setSize(400, 300)
}
public void init() {
buttonGetnumber = new Button("得到一个随机数物培")
buttonGetnumber.setBounds(150, 100, 100, 25)
add(buttonGetnumber)
提示条 = new Label("输入你的猜测:", Label.CENTER)
提示条.setBackground(Color.cyan)
输入框 = new TextField("0", 10)
add(提示条)
提示条.setBounds(150, 135, 100, 20)
add(输入框)
输入框.setBounds(150, 165, 100, 20)
buttonEnter = new Button("确定简贺")
buttonEnter.setBounds(260, 165, 40, 20)
add(buttonEnter)
buttonEnter.addActionListener(this)
buttonGetnumber.addActionListener(this)
// setBounds(100,100,250,250)
// 把初始化放在这了
number = (int) (Math.random() * 100) + 1
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == buttonGetnumber) {
提示条.setText("请输入你的猜测:罩咐唯")
输入框.setText(null)
} else if (e.getSource() == buttonEnter) {
int guess = 0
try {
guess = Integer.parseInt(输入框.getText())
if (guess == number) {
提示条.setText("猜对了")
} else if (guess >number) {
提示条.setText("猜大了")
输入框.setText(null)
} else if (guess <number) {
提示条.setText("猜小了")
输入框.setText(null)
}
} catch (NumberFormatException event) {
提示条.setText("请输入数字字符")
}
}
}
}
public class Example1 {
public static void main(String args[]) {
WindowButton win = new WindowButton("窗口")
win.setVisible(true)
win.validate()
System.out.println(win.number)
}
}
改了两个地方, 一个是把number的初始化放在init()方法里面, 最后一行
一个是修改了main()方法
WindowButton win = new WindowButton("窗口")
win.setVisible(true)
win.validate()
System.out.println(win.number)
你仔细看看与你代码的不同处
Java实袜肆现猜拳游戏的核心在于电脑随机数的生成,Java中的随机数生成方法是:首先引入包 import java.util.* 然后 int r=new Random().nextInt(3) (nextInt中的数字三代表随机数生成的个数,从零开始)
所以在猜拳的输入中需要有0、1、2三个数字代替,如果要输入汉字,则用if进行相应判断即可。
在实现的游戏中实现①猜拳;②记录胜负;③玩家决定游戏局数;④输出获胜、失败及平局;⑤统计总共的胜负结果(根据获胜次数判断)
①猜拳基础功能:该部分代码可以放到一个方法中,减少主函数代码量。
电脑出拳即 int r=new Random().nextInt(3) 注意:告慧轿该部分一定要写在for循环内部,否则无法实现每次不同的随机数。
通过if判断双方出拳是否相碧困等 if(a==0&&r==0) else if(a==0&&r==1) else if(a==0&&r==2) 即可实现猜拳,if内直接输出相关语句即可
②记录胜负: 定义猜拳方法为int ,通过返回值记录相关比赛的胜负情况 ,可以用0--失败;1--获胜;2--平局 进行记录,在主函数中对相应抛出的数字记录即可
if(a==0&&r==0){
System.out.println("The computer comes out with cloth,it was a draw. ")
return 2
}
h=comp.compare(a,r) if (h==1)j++
登录后复制
③玩家决定局数: 定义一个数,在循环中不大于该数即可
④输出获胜、失败及平局: j、k即胜利和失败,平局数即n-j-k。
⑤统计结果,直接用if比较i、j的数字结果即可。
主函数部分:
package SS2_5
import java.util.*
public class Main {
public static void main(String args[]){
Scanner scanner=new Scanner(System.in)
Compare comp=new Compare()
int h=0,j=0,k=0
System.out.println("rules:0--cloth1--stone2--scissors.\nU can choose how many times you want to play:")
int n=scanner.nextInt()
for(int i=1i<=ni++){
System.out.print("It's the "+i+" round,your turn:")
int a=scanner.nextInt()
int r=new Random().nextInt(3)
switch (a){
case 0:
h=comp.compare(a,r)
break
case 1:
h=comp.compare(a,r)
break
case 2:
h=comp.compare(a,r)
break
default:
System.out.println("Wrong number!")
break
}
if (h==1)
j++
else if(h==0)
k++
}
System.out.println("The total times you won are "+j+",The draw times are "+(n-j-k)+".")
if(j>k)
System.out.println("You are the final winner")
else if(k>j)
System.out.println("The computer is the winner.")
if(j==k)
System.out.println("The final result is draw")
}
}
登录后复制
compare方法部分
package SS2_5
public class Compare {
public int compare(int a,int r){
int counter=0
if(a==0&&r==0){
System.out.println("The computer comes out with cloth,it was a draw. ")
return 2
}
else if(a==0&&r==1){
System.out.println("The computer comes out with stone, you won. ")
return 1
}
else if(a==0&&r==2){
System.out.println("The computer comes out with scissor,you lost. ")
return 0
}
else if(a==1&&r==0){
System.out.println("The computer comes out with cloth,you lost. ")
return 0
}
else if(a==1&&r==1){
System.out.println("The computer comes out with stone,it was a draw. ")
return 2
}
else if(a==1&&r==2){
System.out.println("The computer comes out with scissors,you won. ")
return 1
}
else if(a==2&&r==0){
System.out.println("The computer comes out with cloth,you won. ")
return 1
}
else if(a==2&&r==1){
System.out.println("The computer comes out with stone,you lost. ")
return 0
}
else if(a==2&&r==2){
System.out.println("The computer comes out with scissors,it was a draw. ")
return 2
}
else
return 0
}
}
登录后复制
java
704拖拉机
精选推荐
广告
java写简单的猜拳游戏
2下载·0评论
2016年7月27日
用Java编写的猜拳小游戏
2029阅读·0评论·0点赞
2021年3月7日
Java猜拳游戏和Random的应用
21阅读·0评论·0点赞
2022年10月24日
java实现完整版猜拳小游戏
25下载·0评论
2018年11月22日
用python实现功能猜拳
1137阅读·2评论·3点赞
2022年7月14日
java猜拳switch计分制_java----猜拳(10局分胜负)
117阅读·0评论·1点赞
2021年3月15日
二手拖拉机交易市场,你还在高价买吗?
精选推荐
广告
利用Java编写简单的猜拳游戏
911阅读·0评论·1点赞
2022年9月8日
Java简单实现猜拳游戏
1.1W阅读·1评论·2点赞
2022年1月23日
java猜拳游戏代码_Java实现简单猜拳游戏
4496阅读·0评论·0点赞
2021年3月1日
用java来写一个简单的猜拳小游戏
890阅读·1评论·1点赞
2022年7月26日
java实现猜拳游戏
3180阅读·2评论·1点赞
2022年5月4日
JAVA编写猜拳游戏
3037阅读·3评论·3点赞
2021年3月16日
[Java教程]17.实战,趣味猜拳小游戏
8040阅读·2评论·3点赞
2020年6月24日
怎么用java实现人机猜拳?
1959阅读·6评论·9点赞
2021年7月22日
Java Random经典例子【猜拳游戏】
4318阅读·0评论·0点赞
2014年3月22日
java的人机猜拳代码_Java实现人机猜拳游戏
702阅读·0评论·2点赞
2021年3月12日
Java基础练习之猜拳游戏
363阅读·1评论·1点赞
2021年8月19日
用java写猜拳小游戏
1096阅读·0评论·1点赞
2021年9月1日
Java猜拳小游戏
97阅读·0评论·0点赞
2022年8月23日
java猜拳小游戏
500阅读·1评论·0点赞
2022年7月14日
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)