throw new IllegalArgumentException("本局无效");
}
}
}
对局5局的运行结果:
我这里就只能统计当前游戏的数据了,如果你想统计多局游戏总的胜率信息,那么需要将每一局的比赛结果写到txt文件里 , 最终根据txt文件内容统计即可 。
java人机猜拳游戏initial方法import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Random; public class FingerGuessing { private String[] op = new String[] { "布", "剪刀", "石头" }; Random r = new Random(); private int wj = 0; private int dn = 0; private int count = 0; private int go() { int k = r.nextInt(3); System.out.println("电脑:" + op[k]); return k; } private void compare(int i) { count++; System.out.println("玩家:" + op[i - 1]); int k = go(); if ( i - 1 == k) { System.out.println("打平"); } else if ( i - 1 - k == 1 || i-1-k == -2) { System.out.println("玩家获胜"); wj++; } else { System.out.println("电脑获胜"); dn++; } } private void info() { System.out.println("共" + count + "盘"); System.out.println("玩家获胜" + wj + "盘"); System.out.println("电脑获胜" + dn + "盘"); System.out.println("打平" + (count-wj-dn) + "盘"); } public void start() { String xz = ""; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); do { System.out.println("\n请选择:\n1.布\n2.剪刀\n3.石头\n结束请输入exit"); try { xz = br.readLine(); if (xz.equalsIgnoreCase("exit")) { info(); continue; } if (!xz.equals("1")!xz.equals("2")!xz.equals("3")) { System.out.println("选择错误,请重新选择"); continue; } compare(Integer.parseInt(xz)); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } while (!xz.equals("exit")); } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub new FingerGuessing().start(); } }
求JAVA人机猜拳的代码,类似一下界面 。自己纯手打,老半天才弄出来啊
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.util.Random;
import javax.swing.AbstractAction;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Demo2 extends JFrame {
private JLabel lb1, lb2, lb3, lb4; // 提示标签
private JTextField ta1, ta2;// 两个文本框
private JButton b1, b2, b3; // 三个按钮
private JPanel p1, p2; // 两个JPanel面板
public Demo2() {
// 初始化所有组件
lb1 = new JLabel("欢迎使用人机猜拳程序");
lb2 = new JLabel("你出拳:");
lb3 = new JLabel("电脑出拳:");
lb4 = new JLabel("结果");
ta1 = new JTextField();
ta1.setPreferredSize(new Dimension(60, 60)); // 设置大小
ta1.setEditable(false);//设置不可编辑
ta2 = new JTextField();
ta2.setPreferredSize(new Dimension(60, 60));
ta2.setEditable(false);//设置不可编辑
b1 = new JButton("剪刀");
b2 = new JButton("石头");
b3 = new JButton("布");
p1 = new JPanel();
p2 = new JPanel();
// 设置第一个面板内容
Box box = Box.createVerticalBox();
Box box1 = Box.createHorizontalBox();
box1.add(lb2);
box1.add(ta1);
box1.add(lb3);
box1.add(ta2);
box.add(lb1);
box.add(Box.createVerticalStrut(40));
box.add(box1);
box.add(Box.createVerticalStrut(10));
box.add(lb4);
box.add(new JLabel());
p1.add(box);
// 设置第二个面板
p2.setLayout(new GridBagLayout()); // 使用GridBagLayout布局管理器
p2.setPreferredSize(new Dimension(0, 60));
GridBagConstraints g2 = new GridBagConstraints();
推荐阅读
- 电脑显卡怎么看星盘,电脑显卡怎么看星盘参数
- css制作简单的网页,用css制作一个网页
- 韩川工具直播,韩川电动工具有限公司
- go语言HLS Go语言面试题
- 显卡重插又好了怎么办,显卡重插后一直黑屏
- chatgpt崩溃了吗,chat support
- mysql数据倒序查询,mysql倒叙排列
- php数据统计功能 php统计函数
- 怎么看是不是旗舰显卡电脑,显卡怎么区分丐版还是旗舰款