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("选择剪刀, 石头, 布开始游戏!");
 }
 }
}

运行结果:

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

时间: 2020-10-10

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

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)石头(

javaFX实现五子棋小游戏

javaFX实现五子棋游戏,供大家参考,具体内容如下 做课程设计的时候做到这个,分享出来大家参考一下吧,图片为游戏运行过程 最下的代码就是整个实现整个需求的 package Version3; import javafx.application.Application; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.

python实现石头剪刀布小游戏

本文实例为大家分享了python实现石头剪刀布的具体代码,供大家参考,具体内容如下 老师布置了一个石头剪刀布的作业,要可视化,还是先用代码实现再说可视化的事. 环境:window7,Python 3.5 代码: #coding=utf-8 import random exit_flag = False #设置flag用于break跳出两层循环,或者自定义异常也行,try:, except. dic = {} dic[0] = '剪刀' dic[1] = '石头' dic[2] = '布' whi

python实现人机猜拳小游戏

今天的这篇文章呢是对人机猜拳小游戏--石头剪刀布的一个描述以及代码展现 石头剪刀布游戏代码的简介:关于石头剪刀布这个小游戏,大致得到思路就是,玩家出一个手势,然后电脑再随机出一个手势,最后再判断是玩家获胜还是电脑获胜.最简单的思路就是将这三个手势是三个代号来表示,然后再去判断代号之间的关系,最后输出胜方. 最一般情况下,最先想到的就是使用1.2.3数字来对三个手势进行代号化,然后再通过代号的大小去判断,如下是对这个方式的简述: 石头   代号   用1来表示 剪刀   代号   用2来表示 布

php实现贪吃蛇小游戏

贪吃蛇游戏是经典手机游戏,既简单又耐玩.通过控制蛇头方向吃蛋,使得蛇变长,从而获得积分.在诺基亚时代,风靡整个手机界,今天我们来看看另类的,如何使用php来实现贪吃蛇小游戏 废话不多说,代码奉上: control.php <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> </head> <body>  <a href="control.php

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); //设置窗

使用vue编写一个点击数字计时小游戏

使用vue编写一个点击数字计时小游戏,列入你在文本框中输入3,点击开始会生成一个3行3列的表格,表格数据为1-9随机排列,这时候从1开始点击,按顺序点到9,当按正确顺序点击完毕,会提示所用的时间,如果顺序没有按对,会提示游戏结束. 1.首先下载vue源码,下载地址http://cn.vuejs.org 2.jquery是在面向dom操作,而vue是面向数据操作的,所以使用vue最好不要去操作dom,尽量发挥出vue的独到之处,(如果使用过angularjs可能更容易理解) 3.建立一个普通的ht

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

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

Java编写迷宫小游戏

缘起: 去年(大三上学期)比较喜欢写小游戏,于是想试着写个迷宫试一下. 程序效果: 按下空格显示路径: 思考过程: 迷宫由一个一个格子组成,要求从入口到出口只有一条路径. 想了一下各种数据结构,似乎树是比较合适的,从根节点到每一个子节点都只有一条路径.假设入口是根节点,出口是树中某个子节点,那么,从根节点到该子节点的路径肯定是唯一的. 所以如果能构造一棵树把所有的格子都覆盖到,也就能够做出一个迷宫了. 另外还要求树的父节点和子节点必须是界面上相邻的格子. 在界面显示时,父节点和子节点之间共用的边