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);
      }

  }

}

运行效果:

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

(0)

相关推荐

  • Java实现石头剪刀布游戏

    本文实例为大家分享了Java实现石头剪刀布游戏的具体代码,供大家参考,具体内容如下 题目: 用 JAVA 语言设计如下界面的石头剪刀布游戏.游戏的一方点击界面上石头.剪刀.布按钮,游戏的另一方计算机随机选择,然后给出游戏结果. Java: import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; @SuppressWarning

  • Java实现的剪刀石头布游戏示例

    本文实例讲述了Java实现的剪刀石头布游戏.分享给大家供大家参考,具体如下: ChoiceAnswer.java public class ChoiceAnswer { String texts[] = { "石头", "剪刀", "布" }; int value; // [1]石头\t[2]剪刀\t[3]布 String getText() { return texts[value - 1]; } ChoiceAnswer(int value)

  • JavaFX实现石头剪刀布小游戏

    用JavaFX写一个石头剪刀布的小游戏,供大家参考,具体内容如下 课程上布置的作业,其实java很少用来写这种程序的 - GUI界面部分 - 石头剪刀布的逻辑部分 书上教的是JavaFX,其实还有很多方法,书上说AWT和Swing基本上淘汰了,但事实上- 代码 MyJavaFX.java package cn.homework; import javafx.application.Application; import javafx.event.ActionEvent; import javaf

  • 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; im

  • java实现五子棋小游戏

    java实现五子棋小游戏 package Gomoku; import java.awt.Toolkit; import javax.swing.JFrame; public class GomokuFrame extends JFrame { //定义一个操作面板 OperatorPane op=null; public GomokuFrame() { //设置名称 this.setTitle("五子棋"); //设置窗口大小 this.setSize(510,510); //设置窗

  • Java编程经典小游戏设计-打砖块小游戏源码

    [程序中使用的数据结构和符号说明] HitBrick类 GreenBallThread控制小球路线 xUp,yUp,bouncing定义变量存储16位数值形式 x,y小球坐标 xDx,yDy坐标增量 MAX_X,MAX_Y坐标最大值 renew初始化 label标签 Rx,Ry横板坐标 Brick[]砖块 ball小球 HitBrick()定义小球横板及砖块位置坐标 keyPressd(keyEent)定义小球启动键(按空格键启动) keyReleased(keyEvent)接收键盘事件侦听器接

  • java实现桌球小游戏

    本文实例为大家分享了java实现桌球小游戏的具体代码,供大家参考,具体内容如下 桌球小游戏 两张图片放在src的同级目录下 版本一.出现窗口 package cn.xjion.game; /** * 出现窗口 * @author xjion * */ import java.awt.*; import javax.swing.*; //继承窗口类 public class BallGame extends JFrame{ // 窗口加载的方法 void launchFrame(){ // 窗口的

  • python石头剪刀布小游戏(三局两胜制)

    Python 石头剪刀布小游戏(三局两胜),供大家参考,具体内容如下 import random all_choioces = ['石头', '剪刀', '布'] win_list = [['石头', '剪刀'], ['剪刀', '布'], ['布', '石头']] poeple_on = True poeple_add = 0 compute_add =0 while poeple_on: compute = random.choice(all_choioces) put ='''(0)石头(

  • java猜数字小游戏案例

    本文实例为大家分享了java猜数字小游戏案例,供大家参考,具体内容如下 package day08; import java.util.Scanner; public class GuessNumber { /** * 猜数字小游戏:. 需求: 随机产生一个整数数1-100(被猜数)不设置输出 * 键盘录入一个玩家要猜的数字 * 判断猜大还是猜小了或者猜中 */ public static void main(String[] args) { // 随机产生整数1-100 int number

  • java实现扫雷小游戏

    本文实例为大家分享了java实现扫雷小游戏的具体代码,供大家参考,具体内容如下 代码: package GUI; import java.util.Random; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.awt.BorderLayout; import java.awt.GridLayo

  • java实现象棋小游戏

    本文实例为大家分享了java实现象棋小游戏的具体代码,供大家参考,具体内容如下 用Eclipse编写 java环境1.8jdk 代码如下 package xiangqi象棋; /** *中国象棋Java版V3.0 *源文件:Chess.java *添加功能:实现了当前棋局的保存 **/ import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; import java.io.*; //

  • java实现2048小游戏

    本文实例为大家分享了java实现2048小游戏的具体代码,供大家参考,具体内容如下 一.实现效果 二.实现代码 Check表示格子,GameView实现游戏视图界面及功能,是核心. Check.java import java.awt.Color; import java.awt.Font; // 方格类 public class Check { public int value; Font font1 = new Font("宋体", Font.BOLD, 46); Font fon

  • Java实现2048小游戏(可直接运行)

    运行效果: 1.项目结构 2.代码 BaseData接口 package com.hsy.game; import java.awt.*; public interface BaseData { Font topicFont = new Font("微软雅黑", Font.BOLD, 50); Font scoreFont = new Font("微软雅黑", Font.BOLD, 28); Font normalFont = new Font("宋体&q

随机推荐