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);
}
}
}
运行效果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
java 石头剪刀布_Java实现石头剪刀布小游戏相关推荐
- 像素鸟java版_JAVA 像素鸟小游戏源码(支持俩人一起玩)
[实例简介] [实例截图] 双人 像素鸟如下: [核心代码] package Flappybirid_1; import java.awt.image.BufferedImage; import ja ...
- 面向对象程序设计(Java)课程设计——五子棋小游戏
目录 一.团队成员及任务 二.项目简介 三.功能设计图 四.运行结果截图 五.核心源码 六.课程设计感想与展望 一.团队成员及任务 队长:管俊杰 计科(智能)22-1 202203200037 负责 ...
- 编程语言用 Java 开发一个打飞机小游戏(附完整源码)
编程语言用 Java 开发一个打飞机小游戏(附完整源码) 上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过 ...
- 用JAVA实现吃豆人小游戏
用JAVA实现吃豆人小游戏 游戏运行效果 Model.java Pacman.java 完整的游戏代码及资源文件 游戏运行效果 Model.java package pacman;import jav ...
- java 扫雷游戏_java的扫雷小游戏(超简单)
这学期的专业选修课选了java,由于之前已经学过了C++,数据结构和操作系统的原因吧!所以感觉上手还是比较容易的-- 于是,实验课老师并没有要求那样一次次的做实验交实验报告,而是在最后一次实验课上,利 ...
- java剪刀石头布小游戏_JAVA实现“剪刀石头布”小游戏
JAVA实现"剪刀石头布"小游戏 import java.util.Random; import javax.swing.*; import java.awt.BorderLayo ...
- java实现智能拼图_java实现拼图小游戏
一个简单的拼图小游戏,供大家参考,具体内容如下 1.首先设计视图面板. 2.添加所需要的图片按钮. 3.最主要的是设计监听事件,添加图片的监听按钮,设定移动空白图片周围的按钮. 4.判断是否成功 . ...
- java五子棋小游戏_java实现五子棋小游戏
java实现五子棋小游戏 package Gomoku; import java.awt.Toolkit; import javax.swing.JFrame; public class Gomoku ...
- java飞机场模拟程序_java 飞机大战 小游戏源码
[实例简介] 本项目是一个使用java做的一个飞机大战的小游戏,一个英雄机,初始有三次生命,当打中蜜蜂会有一次生命奖励,当打中敌机会有相应分数奖励,但如果被敌机打中会失去一次生命机会.如果生命都失去, ...
最新文章
- Spring Mock单元测试
- css点击a标签显示下划线_好程序员HTML5培训教程-html和css基础知识
- java map存放班级和姓名_Java 创建一个HashMap对象,并在其中添加学生的姓名和成绩,键为学生姓名,值为学生成绩,使用增强for循环遍历该HashMap,并输出学生成绩。...
- C#高级应用之CodeDomProvider引擎篇 .
- sql server 架构_在SQL Server中引入架构文档
- 秒懂文件路径 ‘/‘ , ‘./‘ , ‘../‘ 的区别
- eoffice key8.0.php_Office2019增强版永久密钥key
- 嵌入式linux离线地图,基于gmap.net制作离线地图下载器
- 基于Nextcloud,挂载Google drive,搭建Aria2+AriaNg,实现在线下载BT磁链/在线观看/全功能文件管理/无限容量云盘
- 简单概括一下《金字塔原理》的主要内容?
- SYD8811/SYD8810 一拖一离线批量烧录板(FD1201)使用说明
- tplink 无线打印服务器,tplink打印服务器设置
- 算法——中国剩余定理
- 200个SOLIDWORKS使用技巧
- 【Linux】基础:进程的概念
- FileStream,StreamReader,StreamWiter的用法
- 微星 GE63 声音异常处理方法 声音忽大忽小 有杂音 爆音
- 计算机二级python-第七章-文件和数据的格式化
- 【产品】小白进阶之产品经理的职责和挑战
- 如何将PDF如何存入MySQL_如何将生成的pdf文件保存到java中的mysql数据...