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太阳系小游戏分析和源代码 -20150809 近期看了面向对象的一些知识.然后跟着老师的解说做了一个太阳系各行星绕太阳转的小游戏,来练习巩固一下近期学的知识: 用到知识点:类的继承.方法的重载 ...
- Java五子棋小游戏(控制台纯Ai算法)
Java五子棋小游戏(控制台纯Ai算法) 继续之前的那个五子棋程序 修复了一些已知的小Bug 这里是之前的五子棋程序 原文链接 修复了一些算法缺陷 本次增加了AI算法 可以人机对战 也可以Ai对Ai看 ...
- 从零开始学java(小游戏 石头剪刀布)
Game.java package com.java;import java.util.Scanner;public class Game { private Player player ...
- Java猜拳小游戏(剪刀、石头、布)
1.第一种实现方法,调用Random数据包,直接根据“1.2.3”输出“剪刀.石头.布”.主要用了9条输出判断语句. import java.util.Random; import java.util ...
- Java开发小游戏 用键盘控制精灵在游戏中上下左右跑动 窗体小游戏可打包下载,解压后双击start运行
package com.swift; import java.awt.Point; import java.awt.event.KeyEvent; import com.rupeng.game.Gam ...
- Java经典小游戏——贪吃蛇简单实现(附源码)
一.使用知识 Jframe GUI 双向链表 线程 二.使用工具 IntelliJ IDEA jdk 1.8 三.开发过程 3.1素材准备 首先在开发之前应该准备一些素材,已备用,我主要找了一个图片以 ...
- Java 坦克小游戏心得
原本是闲得慌无聊才去尝试做这个项目的,因为小时候玩小霸王的游戏机,那个时候经常玩这个游戏吧,特别是喜欢那种自定义地图的模式,觉得自由度非常不错.总之关于这个游戏,想说的一大堆.鉴于能有个空闲的时间,打 ...
- 微信小程序开发入门学习(1):石头剪刀布小游戏
从今天起开始捣鼓小程序了2018-12-17 10:02:15 跟着教程做了第一个入门实例有兴趣的朋友可以看看: 猜拳游戏布局 程序达到的效果 猜拳游戏的布局是纵向显示了三个组件:文本组件(tex ...
- 一个基于Myeclipse开发的Java打地鼠小游戏(Appletcation)
package javaes.zixue.wangshang.daima; 2 3 import java.awt.Cursor; import java.awt.Image; import java ...
随机推荐
- sublime介绍常用插件和快捷键
简介 Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来的,它最初被设计为一个具有丰富扩展功能的Vim. 是一个跨平台的编辑器,同时支持Windows.Linux.M ...
- 从刷票了解如何获得客户端IP
我的个人博客,源地址:http://www.woniubi.cn/get_client_ip/ 前两个星期帮一个朋友的亲戚的孩子刷票,谁让咱们是程序员呢.这当中也遇到过重装系统,除灰尘,淘宝购物,盗Q ...
- 算法练习-Palindrome Number
判断回文整数 来源 https://leetcode.com/problems/palindrome-number/ 要求 判断一个整数是不是回文数,尽量减少内存暂用. 思路 可能的情况: 负数的应当 ...
- SaaS “可配置”和“多租户”架构的几种技术实现方式
1.数据存储方式的选择 多租户(Multi-Tenant ),即多个租户共用一个实例,租户的数据既有隔离又有共享,说到底是要解决数据存储的问题. 常用的数据存储方式有三种. 方案一:独立数据库 一 ...
- 翻译-ExcelDNA开发文档
转载自个人主页 前言 翻译开源项目ExcelDNA开发文档 异步处理 ExcelDNA支持两种异步函数: RTD,该函数适用与Excel2003及以上版本,(当你使用ExcelAsyncUtil.*时 ...
- 02、体验Spark shell下RDD编程
02.体验Spark shell下RDD编程 1.Spark RDD介绍 RDD是Resilient Distributed Dataset,中文翻译是弹性分布式数据集.该类是Spark是核心类成员之 ...
- 洛谷 P1266 速度限制
题目描述 在这个繁忙的社会中,我们往往不再去选择最短的道路,而是选择最快的路线.开车时每条道路的限速成为最关键的问题.不幸的是,有一些限速的标志丢失了,因此你无法得知应该开多快.一种可以辩解的解决方案 ...
- IOS TableView代理设置 table的行高
// 设置行高(每一行的高度一致) self.tableView.rowHeight = ; self.tableView.delegate = self; #pragma mark - 代理方法 / ...
- framework7 v2.x轮播图写法:
<div class="swiper-container swiper-init travel-index-swiper"> <div class="s ...
- office2010激活
软件下载链接: http://yunpan.cn/cySGrE99u6uv3 (提取码:c612) 下面是操作演示,我录制成gif文件了,下载下来用浏览器打开 360网盘:http://yunpan. ...