Java实现石头剪刀布游戏

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

题目:

用 JAVA 语言设计如下界面的石头剪刀布游戏。游戏的一方点击界面上石头、剪刀、布按钮,游戏的另一方计算机随机选择,然后给出游戏结果。

Java:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

@SuppressWarnings("serial")
public class TestOne extends JFrame implements ActionListener{
 // 定义石头剪刀布的 JButton 对象
 JButton jiandao, shitou, bu, clear;
 JPanel panel2, panel1;
 JLabel label;

 // 主函数
 public static void main(String[] args) {
 TestOne frame = new TestOne();
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  // 设置窗体关闭按钮
 frame.setVisible(true);         // 使窗体可见
 }

 // 设置窗体
 public TestOne() {
 setTitle("石头剪刀布游戏"); // 石头剪刀布游戏
 setLocation(250, 250);  // 设置窗体坐上顶点坐标
 setSize(300, 300);   // 设置窗体大小。窗体大小 : 350X350

 // 建立对象
 panel1 = new JPanel();
 panel1.setBackground(Color.yellow);
 shitou = new JButton("石头");
 jiandao = new JButton("剪刀");
 bu = new JButton("布");
 clear = new JButton("清空");
 panel2 = new JPanel();
 panel2.setBackground(Color.green);
 label = new JLabel("选择剪刀, 石头, 布开始游戏");

 // 给所有 JBUtton 对象添加事件约束
 // 给事件添加监听器
 shitou.addActionListener(this);
 jiandao.addActionListener(this);
 bu.addActionListener(this);
 clear.addActionListener(this);

 // 把所有的新添加的对象都放进去窗体里面,先放进组件类,再放进窗体类
 panel1.add(shitou);
 panel1.add(jiandao);
 panel1.add(bu);
 panel1.add(clear);
 panel2.add(label);

 add(panel1, BorderLayout.NORTH);
 add(panel2, BorderLayout.CENTER);
 }

 // 事件响应器
 public void actionPerformed(ActionEvent e) {
 if(e.getSource() == shitou) {
 int i = ((int)(Math.random()*10))%3;
 switch(i) {
 case 0:
  label.setText("你出石头,电脑出石头,平局!");
  break;
 case 1:
  label.setText("你出石头,电脑出剪刀,恭喜你赢了!");
  break;
 case 2:
  label.setText("你出石头,电脑出布,很遗憾你输了!");
  break;
 }
 }else if(e.getSource() == jiandao){
 int i = ((int)(Math.random()*10))%3;
 switch(i) {
 case 0:
  label.setText("你出剪刀,电脑出石头,很遗憾你输了!");
  break;
 case 1:
  label.setText("你出剪刀,电脑出剪刀,平局!");
  break;
 case 2:
  label.setText("你出剪刀,电脑出布,恭喜你赢了!");
  break;
 }
 }else if(e.getSource() == bu){
 int i = ((int)(Math.random()*10))%3;
 switch(i) {
 case 0:
  label.setText("你出布,电脑出石头,恭喜你赢了!");
  break;
 case 1:
  label.setText("你出布,电脑出剪刀,很遗憾你输了!");
  break;
 case 2:
  label.setText("你出布,电脑出布,平局!");
  break;
 }
 }else if(e.getSource() == clear) {
 label.setText("选择剪刀, 石头, 布开始游戏!");
 }
 }
}

运行结果:

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

(0)

相关推荐

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

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

  • 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)

  • Java实现石头剪刀布游戏

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

  • 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实现简单石头剪刀布游戏的具体代码,供大家参考,具体内容如下 问题描述 Alice, Bob和Cindy一起玩猜拳的游戏.和两个人的猜拳类似,每一轮,他们会从石头.剪刀.布中各自选一个出拳,基本的胜负规则是石头赢剪刀.剪刀赢布.布赢石头.如果一轮中正好可以分成胜负两边,则负边的每个人要支付给胜边的每个人一块钱.如果无法分成胜负两边,则都不出钱.比如,如果Alice出石头,而Bob和Cindy都出布,则Alice要分支付Bob和Cindy一块钱.再如,如果Alice出石头

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

    ruby实现石头剪刀布游戏 复制代码 代码如下: #encoding: utf-8arr = ['石头', '剪刀', '布']win_arr = [['石头', '剪刀'], ['剪刀', '布'], ['布', '石头']]#随机computer的值,放入result数组中result = [arr.sample]while (true)  puts "请输入石头.剪刀.布"  input_value = gets.force_encoding("GBK").e

  • Java太阳系小游戏分析和源码详解

    最近看了面向对象的一些知识,然后跟着老师的讲解做了一个太阳系各行星绕太阳转的小游戏,来练习巩固一下最近学的知识: 用到知识点:类的继承.方法的重载与重写.多态.封装等 分析: 1.需要加载图片.画图 2.建一个面板,主页面 3.行星类 效果图: 先看一下源码结构图: 现在逐步分析各个类的功能: 1)工具类-----util包中 --Constant类   封装了游戏中用到的常量 --GameUtil类  封装了游戏的图片加载功能 --MyFrame类  封装了游戏面板的构造,用于各面板的父类 -

  • java贪吃蛇游戏编写代码

    本文实例为大家分享了java贪吃蛇游戏展示的具体代码,供大家参考,具体内容如下 1.采用MVC(model.view.control)框架模式 2.包和类的关系树形图为: 3.源码: package com.huai; import Java.awt.Color; import java.awt.Graphics; import java.awt.Point; import java.util.HashSet; import java.util.LinkedList; import java.u

  • 基于Java代码实现游戏服务器生成全局唯一ID的方法汇总

    在服务器系统开发时,为了适应数据大并发的请求,我们往往需要对数据进行异步存储,特别是在做分布式系统时,这个时候就不能等待插入数据库返回了取自动id了,而是需要在插入数据库之前生成一个全局的唯一id,使用全局的唯一id,在游戏服务器中,全局唯一的id可以用于将来合服方便,不会出现键冲突.也可以将来在业务增长的情况下,实现分库分表,比如某一个用户的物品要放在同一个分片内,而这个分片段可能是根据用户id的范围值来确定的,比如用户id大于1000小于100000的用户在一个分片内.目前常用的有以下几种:

  • Java贪吃蛇游戏完善版

    很认真的写的一个java版的贪吃蛇游戏,图形界面,支持菜单操作,键盘监听,可加速,减速,统计得分,设定运动速度,设定游戏背景颜色等!应该没有Bug了,因为全被我修改没了. 下面是项目各包及类的层次关系: 游戏的主要运行界面截图如下: 下面是部分代码,详细源码见此链接:贪吃蛇源码下载 Snake类: package com.huowolf.entities; import java.awt.Color; import java.awt.Graphics; import java.awt.Point

  • java桌球小游戏 小球任意角度碰撞

    本文实例为大家分享了java桌球小游戏的具体代码,供大家参考,具体内容如下 import javax.swing.*; import java.awt.*; public class BallGame extends JFrame { /** *继承swing里面的窗口类 */ //加载图片 Image ball = Toolkit.getDefaultToolkit().getImage("images/ball.jpg.png");/*得到系统默认的工具包*/ Image desk

  • C# Winform实现石头剪刀布游戏

    本文实例为大家分享了Winform实现石头剪刀布游戏的具体代码,供大家参考,具体内容如下 新建一个windows窗体程序,用数字1代表石头,用数字2代表剪刀,用数字3代表布,结果取玩家和电脑出拳之差,有三种结果 玩家赢: -1,2 平手: 0 玩家输: 其它值 新建3个类: 1)Computer.cs 电脑随机出拳 using System; using System.Collections.Generic; using System.Linq; using System.Text; using

随机推荐