石头布的小游戏用java代码实现_Java实现石头剪刀布小游戏

本文实例为大家分享了Java实现石头剪刀布的具体代码,供大家参考,具体内容如下

代码:

package com.neusoft.test;

import java.awt.BorderLayout;

import java.awt.Choice;

import java.awt.Color;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

public class Test05 extends JFrame implements ActionListener, ItemListener{

int m = 1;

int n = 2;

int peace = 0;

int win = 0;

int lose = 0;

int all = 0;

JButton jb1,jb2;

JLabel jl1,jl2,jl2i,jl3,jl3i,jl4,jl5;

ImageIcon img1,img2;

Choice ch;

JPanel jp1,jp2,jp3,jp4,jp5,jp6;

public Test05(){

jb1 = new JButton("确定出拳");

jb2 = new JButton("退出");

//设置监听

jb1.addActionListener(this);

jb2.addActionListener(this);

jl1 = new JLabel("猜拳小游戏");

jl2 = new JLabel("我方出拳");

jl3 = new JLabel("敌方出拳");

jl4 = new JLabel("请出拳...");

jl5 = new JLabel("您玩了"+all+"局,平了"+peace+"局,赢了"+win+"局,输了"+lose+"局");

System.out.println(m);

img1 = new ImageIcon("D:/mkn/test/img/"+m+".png");

img2 = new ImageIcon("D:/mkn/test/img/"+n+".png");

jl2i = new JLabel(img1);

jl3i = new JLabel(img2);

ch = new Choice();

ch.add("石头");

ch.add("剪刀");

ch.add("布");

ch.addItemListener(this);

jp1 = new JPanel(new BorderLayout());

jp2 = new JPanel();

jp3 = new JPanel(new BorderLayout());

jp4 = new JPanel(new BorderLayout());

jp5 = new JPanel(new GridLayout(5,1));

jp6 = new JPanel(new BorderLayout());

jp2.setSize(600, 25);

jp2.setBackground(Color.red);

jp3.setSize(280, 300);

jp4.setSize(280, 300);

jp5.setSize(40, 300);

jp6.setSize(600, 25);

// jp6.setBackground(Color.GRAY);

jp2.add(jl1); //标题

jp3.add(jl2,BorderLayout.NORTH); //

jp3.add(jl2i,BorderLayout.CENTER);

jp4.add(jl3,BorderLayout.NORTH);

jp4.add(jl3i, BorderLayout.CENTER);//敌方出拳

jp5.add(ch);

jp5.add(jb1);

jp5.add(jb2);

jp6.add(jl4,BorderLayout.WEST);

jp6.add(jl5,BorderLayout.EAST);//结果

jp1.add(jp2,BorderLayout.NORTH);

jp1.add(jp3,BorderLayout.WEST);

jp1.add(jp4,BorderLayout.CENTER);

jp1.add(jp5,BorderLayout.EAST);

jp1.add(jp6,BorderLayout.SOUTH);

this.add(jp1);

this.setTitle("猜拳小游戏");

this.setSize(540,300);

// this.setLayout(new BorderLayout());

this.setLocationRelativeTo(null); //居中

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

this.setResizable(false); //窗口大小可变

}

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

if(e.getActionCommand()=="确定出拳"){

n = (int)(1+Math.random()*(3));

jl3i.setIcon(new ImageIcon("D:/mkn/test/img/"+n+".png"));

if (m - n == 0) {

jl4.setText("您和计算机平局");

peace++;

}

if (m - n == -1||m - n == 2) {

jl4.setText("您赢了!!!");

win++;

}

if (m - n == -2||m - n == 1) {

jl4.setText("您输了!!!");

lose++;

}

all++;

jl5.setText("您玩了"+all+"局,平了"+peace+"局,赢了"+win+"局,输了"+lose+"局");

// System.out.println(n);

}else{

this.dispose();

}

}

public static void main(String[] args) {

Test05 test05 = new Test05();

}

@Override

public void itemStateChanged(ItemEvent e) {

if(e.getSource()==ch){

Choice temp=(Choice)e.getSource();

if (temp.getSelectedItem() == "石头") {

m = 1;

}

if (temp.getSelectedItem() == "剪刀") {

m = 2;

}

if (temp.getSelectedItem() == "布") {

m = 3;

}

jl2i.setIcon(new ImageIcon("D:/mkn/test/img/"+m+".png"));

// System.out.println(m);

}

}

}

运行效果:

c13353d3c1d1f57857ff8b229219befb.png

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值