JAVA开发--游戏24点
也比较简单,写的不好,代码里用到了LOOKANDFELL,QUAQUA8.0的包
- package com.Game24;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.FlowLayout;
- import java.awt.GridLayout;
- import java.awt.Toolkit;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JOptionPane;
- import javax.swing.JPanel;
- import javax.swing.JPopupMenu;
- import javax.swing.JRootPane;
- import javax.swing.JTextArea;
- import javax.swing.JTextField;
- import javax.swing.UIManager;
- import javax.swing.UnsupportedLookAndFeelException;
- import ch.randelshofer.quaqua.jaguar.Quaqua15JaguarLookAndFeel;
- /*
- ############################################################
- # #
- # 【名称】 : 游戏-24点 #
- # 【作者】 : Sevck(一个写代码很帅的男人) #
- # 【团队】 : 网络尖刀 #
- # 【主页】 : http://sevck.lofter.com #
- # 【日期】 : 2015-10-17 #
- # 【功能】 : 24点,并且按钮不可以重复,并且结果不可以编辑 #
- # #
- ############################################################
- # ┏┓ ┏┓
- #┏┛┻━━━┛┻┓
- #┃ ┃
- #┃ ━ ┃
- #┃ ┳┛ ┗┳ ┃
- #┃ ┃
- #┃ ``` ┻ ```┃
- #┃ ┃
- #┗━┓ ┏━┛
- #####┃ ┃Code is far away from bug with the animal protecting.
- #####┃ ┃神兽护佑,代码无Bug.
- #####┃ ┗━━━━━┓
- #####┃ ┣┓
- #####┃ ┏┛
- #####┗┓┓┏━┳┓┏┛
- #######┃┫┫ ┃┫┫
- #######┗┻┛ ┗┻┛
- ############################################################
- */
- public class Game24 extends JFrame {
- static JButton b[] = null;// 随机数按钮
- JButton law[] = new JButton[] { new JButton("+"), new JButton("-"),
- new JButton("*"), new JButton("/") };// 四则运算按钮
- JLabel label = new JLabel("结果:");
- JTextArea text = new JTextArea(1, 15);
- JButton of[] = new JButton[] { new JButton("确定"), new JButton("刷新") };
- static int mark = 0;
- JLabel point = new JLabel("当前分数:" + mark);
- JPanel jp = new JPanel();
- JPanel jp2 = new JPanel();
- JPanel jp3 = new JPanel();
- JPanel jp4 = new JPanel();
- JPanel jp5 = new JPanel();
- String reg = "[0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2}";
- // 11 + 4 * 6 - 2
- char c[] = new char[3];
- public static String getNumber() {// 随机数方法
- int i = (int) (Math.random() * 13 + 1);
- String number = String.valueOf(i);
- return number;
- }
- // public static void setbname(){
- // n1=Game24.getNumber();
- // }
- public Game24() {
- setUndecorated(true);
- setDefaultCloseOperation(3);
- setFocusableWindowState(true);
- JRootPane rp = getRootPane();
- setVisible(true);
- rp.setWindowDecorationStyle(JRootPane.FRAME);
- // System.out.println(Game24.getNumber());
- b = new JButton[] { new JButton(Game24.getNumber()),
- new JButton(Game24.getNumber()),
- new JButton(Game24.getNumber()),
- new JButton(Game24.getNumber()) };
- init();
- }
- public void init() {
- this.setTitle("24点--By:Sevck");
- this.setVisible(true);// 是否可视
- this.setDefaultCloseOperation(3);// 关闭窗口模式
- this.setSize(700, 330);// 设置窗口尺寸
- this.setResizable(false);// 设置是否可以修改面板大小
- this.setLocationRelativeTo(null);
- this.setLayout(new GridLayout(5, 5, 5, 5));// 设置布局为流式布局
- this.setLocationRelativeTo(null);
- for (int i = 0; i < b.length; i++) {
- jp.add(b[i]);
- }
- for (int i = 0; i < law.length; i++) {
- jp2.add(law[i]);
- }
- Container cp = this.getContentPane();
- cp.add(jp);
- cp.add(jp2);
- text.setEditable(false);
- jp3.add(label);
- jp3.add(text);
- cp.add(jp3);
- jp4.add(of[0]);
- jp4.add(of[1]);
- cp.add(jp4);
- jp5.add(point);
- cp.add(jp5);
- b[0].addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- // TODO Auto-generated method stub
- b[0].setEnabled(false);
- String str = b[0].getText();
- text.append(str);
- }
- });
- b[1].addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- // TODO Auto-generated method stub
- b[1].setEnabled(false);
- String str = b[1].getText();
- text.append(str);
- }
- });
- b[2].addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- // TODO Auto-generated method stub
- b[2].setEnabled(false);
- String str = b[2].getText();
- text.append(str);
- }
- });
- b[3].addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- // TODO Auto-generated method stub
- b[3].setEnabled(false);
- String str = b[3].getText();
- text.append(str);
- }
- });
- law[0].addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- // TODO Auto-generated method stub
- String str = law[0].getText();
- text.append(str);
- }
- });
- law[1].addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- // TODO Auto-generated method stub
- String str = law[1].getText();
- text.append(str);
- }
- });
- law[2].addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- // TODO Auto-generated method stub
- String str = law[2].getText();
- text.append(str);
- }
- });
- law[3].addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- // TODO Auto-generated method stub
- String str = law[3].getText();
- text.append(str);
- }
- });
- of[0].addActionListener(new ActionListener() {
- // ///////
- int dian;
- @Override
- public void actionPerformed(ActionEvent e) {
- // TODO Auto-generated method stub
- String str = text.getText();
- boolean z = str.matches(reg);// 符合运算规则
- if (z) {
- String rule = text.getText();
- // System.out.println(rule);
- String sp = "[^0-9]";
- String num[] = rule.split(sp); // 得到4个数字
- // for (int i = 0; i < num.length; i++) {
- // System.out.println(num[i]);
- // }
- // /////////////////////////////
- String faze = "[0-9]+";
- String[] aa = rule.split(faze);
- // for (int j = 0; j < aa.length; j++) {// 得到3个运算符
- // System.out.println(aa[j]);
- // }
- // /////////////////////////////
- int num1 = Integer.parseInt(num[0]);
- int num2 = Integer.parseInt(num[1]);
- int num3 = Integer.parseInt(num[2]);
- int num4 = Integer.parseInt(num[3]);
- int d1 = getjg(aa[1], num1, num2);
- int d2 = getjg(aa[2], d1, num3);
- int d3 = getjg(aa[3], d2, num4);
- if (d3 == 24) {
- JOptionPane.showMessageDialog(null, "恭喜,进入下一关!");
- mark = mark + 5;
- point.setText("当前分数:" + mark);
- b[0].setText(Game24.getNumber());// 刷新
- b[1].setText(Game24.getNumber());
- b[2].setText(Game24.getNumber());
- b[3].setText(Game24.getNumber());
- for (int i = 0; i <= 3; i++) {
- b[i].setEnabled(true);
- text.setText("");
- }
- } else {
- JOptionPane.showMessageDialog(null, "不对呀,再想想~");
- b[0].setEnabled(true);
- b[1].setEnabled(true);
- b[2].setEnabled(true);
- b[3].setEnabled(true);
- }
- } else {
- JOptionPane.showMessageDialog(null, "错误的运算步骤!");
- }
- }
- public int getjg(String fh, int s1, int s2) {
- if (fh.equalsIgnoreCase("+")) {
- dian = s1 + s2;
- }
- if (fh.equalsIgnoreCase("-")) {
- dian = s1 - s2;
- }
- if (fh.equalsIgnoreCase("*")) {
- dian = s1 * s2;
- }
- if (fh.equalsIgnoreCase("/")) {
- dian = s1 / s2;
- }
- return dian;
- }
- });
- of[1].addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- // TODO Auto-generated method stub
- // Game24.setbname();
- b[0].setText(Game24.getNumber());
- b[1].setText(Game24.getNumber());
- b[2].setText(Game24.getNumber());
- b[3].setText(Game24.getNumber());
- for (int i = 0; i <= 3; i++) {
- b[i].setEnabled(true);
- text.setText("");
- }
- }
- });
- }
- public static void main(String[] args) {
- System.setProperty("Quaqua.tabLayoutPolicy", "wrap");
- try {
- UIManager.setLookAndFeel(ch.randelshofer.quaqua.QuaquaManager
- .getLookAndFeel());
- } catch (UnsupportedLookAndFeelException e) {
- // TODO Auto-generated catch block
- }
- new Game24();
- }
- }
JAVA开发--游戏24点的更多相关文章
- JAVA开发类似冒险岛的游戏Part1
JAVA开发类似冒险岛的游戏Part1 一.总结 二.JAVA开发类似冒险岛的游戏Part1 初学嘛) ,不过总的来说这个程序还是很有意思的.这里我重新再整理了一下,希望能帮助到其他想要开发类似程序的 ...
- 博主有偿带徒 《编程语言设计和实现》《MUD游戏开发》《软件破解和加密》《游戏辅助外挂》《JAVA开发》
<考研专题>操作系统原理 理论解答:8K 实战 1.5W CPU设计 理论解答:1W 实战 2.5W <编程语言设计和实现>初窥门径<5K>:编译原理.编译设计小试 ...
- 如何自学 Java 开发
如何自学 Java 开发? 568赞同反对,不会显示你的姓名 李艾米IT路上学习 568 人赞同 Java Web前端技术 HTML 入门视频课程 1 HTML 简介 2 HTML基本结构[ 3 HT ...
- 打造Linux三流娱乐环境,二流办公环境,一流Java开发环境
写这篇文章的目的首先是为让自己以后再装linux环境时候,不用再通宵google+百度,做个备忘录,其次,给新入Linux环境的同学分享一点个人经验,再高尚点的动机也算是想做为开源技术的传播布道者.我 ...
- java围棋游戏源代码
//李雨泽源代码,不可随意修改.//时间:2017年9月22号.//地点:北京周末约科技有限公司.//package com.bao; /*围棋*/ /*import java.awt.*; impo ...
- [转] java开源游戏
收藏一下 triplea Triplea是一个开放源码的boardgame.它允许玩家选择各种各样的战略版图游戏(如:轴心国或同盟军).TripleA引擎支持联网对战,支持声音,支持使用XML文 ...
- GJM : 各大开发游戏引擎
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
- Java编程思想重点笔记(Java开发必看)
Java编程思想重点笔记(Java开发必看) Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而 ...
- Unit01: JAVA开发环境案例
Top JAVA Fundamental DAY01 JDK及Eclipse目录结构操作 JDK的安装及配置 控制台版的JAVA HelloWorld 使用Eclipse开发Java应用程序 1 JD ...
随机推荐
- php的ssh2扩展安装
折腾半天,结论如下: 1.先需要openssl 用which openssl看是否已安装 2.然后libssh2 用rpm -ql libssh2查看 3.下载源码的shh2x.x.x.tgz的包 4 ...
- C#中的属性————只谈属性
废话少说直接一剑封喉--属性是对私有字段的保护(其实是对私有字段引用的另外一种变相公开化),属性在没有任何操作的时候是无法看出其优势来,上例子 // Field used by property.pr ...
- C#:控制WinForm界面的显示
控制WinForm界面在屏幕的四个角落显示,具体代码中有说明: using System; using System.Collections.Generic; using System.Drawing ...
- Asp.net Vnext Filters
ASP.NET MVC 提供Filters(筛选器)之前或之后调用操作方法执行筛选逻辑,和AOP面向切面编程一样. 本文已经同步到<Asp.net Vnext 系列教程 >中] 本章主要介 ...
- JAVA导出数据到excel中大数据量的解决方法
最近在做项目功能时 ,发现有20万以上的数据.要求导出时直接导出成压缩包.原来的逻辑是使用poi导出到excel,他是操作对象集合然后将结果写到excel中. 使用poi等导出时,没有考虑数据量的问题 ...
- [工具][windows][visualStudio][充电]番茄助手vaassist常见用法
参考:http://blog.csdn.net/hotdog156351/article/details/43955565 1 安装好VAS打开VS2010之后,首先关闭VA outline与VA V ...
- ACM题目————最长回文串
Description 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 回文就是正反读都是一样的字符串,如aba, abba等 Input 输入有多组cas ...
- [转]android使用shape stroke描边只保留底部
在项目中遇到这种情况:由于一些原因,自己需要用LinearLayout的垂直布局做出ListView的那种效果,但是ListView是自带了分割线的,而且顶部底部都是没有分割线的,每个item中间都是 ...
- C#利用POST实现杭电oj的AC自动机器人,AC率高达50%~~
暑假集训虽然很快乐,偶尔也会比较枯燥,,这个时候就需要自娱自乐... 然后看hdu的排行榜发现,除了一些是虚拟测评机的账号以外,有几个都是AC自动机器人 然后发现有一位作者是用网页填表然后按钮模拟,, ...
- 训练集(train set) 验证集(validation set) 测试集(test set)
转自:http://www.cnblogs.com/xfzhang/archive/2013/05/24/3096412.html 在有监督(supervise)的机器学习中,数据集常被分成2~3个, ...