Java的事件自定义事件学习
课程设计要做一个游戏,由于对C++不是很熟悉,老师也准许使用java 或者其他的语言,在.net我学过事件,一种委托回调,但是在java 我不是很了解,应该原理都相同吧!
游戏大致是这样的,现在这在写成功判断!于是我自己加了一个事件\
package com.zhaojun.base; import org.w3c.dom.events.Event; import java.util.*; /**
* 游戏类
*
* @author Coder-Jun
*/
public class Game { /* 地图枚举 */
public enum MAP_USER {
Red, Black, Null,
} /* 记录错误日志 */
private StringBuilder errorStringBuilder; /* 记录日志 */
private StringBuilder arrivedBuilderLog; /* 游戏地图 */
private MAP_USER[][] map; public int getCount() {
return this._count;
} public int getAllCount() {
return this._all_count;
} private int _xcount;
private int _ycount; /* 记录胜利人 */
private MAP_USER winUser = MAP_USER.Null; private Dictionary<MAP_USER, String> _userMsg;
private int _count;// 走了多少
private int _all_count;// 一共可以走多少 private Collection winlistener; /**
* 添加成功事件
*
* @param listener
*/
public void addWinListener(WinEvent listener) {
if (winlistener == null) {
winlistener = new HashSet();
}
this.winlistener.add(listener);
} private void notifyDoEvent() {
Iterator iter = winlistener.iterator();
while (iter.hasNext()) {
WinEvent listener = (WinEvent) iter.next();
listener.DoEvent();
}
} /**
* 成功接口
*/
public interface WinEvent extends EventListener {
public void DoEvent();
} /**
* 初始化地图大小
*
* @param xCount
* @param yCount
*/
private Game(int xCount, int yCount) {
/* 初始化地图 */ errorStringBuilder = new StringBuilder();
arrivedBuilderLog = new StringBuilder();
arrivedBuilderLog.append("1.初始化地图成功!\n");
_userMsg = new Hashtable<MAP_USER, String>();
this.initMap(xCount, yCount);
this.initUser(); } public static void Start(int x, int y) { //初始化地图
Game game = new Game(x, y);
Scanner scanner = new Scanner(System.in);
game.addWinListener(new WinEvent() {
@Override
public void DoEvent() {
System.out.println("我成功拉!");
}
});
//存用户
byte userint = 1;
/*下棋*/
for (int i = 0; i < game.getAllCount(); ++i) { //下棋 Start
MAP_USER user;
int var11;
int var12;
while (true) { /*用户 判断Start*/
user = MAP_USER.Null;
switch (userint) {
case 1:
user = MAP_USER.Red;
System.out.println("红方先走X,Y:");
break;
case 2:
user = MAP_USER.Black;
System.out.println("黑方先走X,Y:");
}
/*End*/ String string = scanner.next(); /*解析路径*/
try {
String[] e = string.split(",");
if (e.length >= 2) {
var11 = Integer.parseInt(e[0]);
var12 = Integer.parseInt(e[1]);
} else {
System.err.println("您下棋有误,重新修正!");
continue;
}
} catch (Exception var10) {
System.err.println("您下棋有误,重新修正!");
continue;
}
//下棋失败
if (!game.inputGo(var11, var12, user)) {
System.err.println(game.getError());
continue;
} else {
game.showMap();
if (userint == 1) {
userint = 2;
break;
} if (userint == 2) {
userint = 1;
break;
}
}
}
//下棋 Start
}
} /**
* @return
*/
private MAP_USER checkWin() {
return MAP_USER.Black;
} /**
* 加载地图
*
* @param xCount
* @param yCount
*/
private void initMap(int xCount, int yCount) {
// 记录能下的总步
this.map = new MAP_USER[xCount][yCount];
for (int i = 0; i < map.length; i++) {
for (int j = 0; j < map[i].length; j++) {
map[i][j] = MAP_USER.Null;
}
}
this._xcount = xCount;
this._ycount = yCount;
this._all_count = xCount * yCount;
} /**
* 初始化用户
*/
private void initUser() {
System.out.println("请输入黑方名字:");
Scanner canScanner = new Scanner(System.in);
String heiNameString = canScanner.next();
System.out.println("请输入红方名字:");
String hongNameString = canScanner.next();
_userMsg.put(MAP_USER.Black, heiNameString);
_userMsg.put(MAP_USER.Red, hongNameString); } /**
* 地图
*/
private void showMap() {
for (int i = 0; i < map.length; i++) {
/* 输出头 */
if (i == 0) {
System.out.print("Map\t");
for (int j = 0; j < map[i].length; j++) {
System.out.print(" [" + j + "]\t");
}
System.out.println("");
}
System.out.print("[" + i + "]\t");
/* 地图输出 */
for (int j = 0; j < map[i].length; j++) {
System.out.print("{" + map[i][j] + "}\t");
}
System.out.println("");
}
} /**
* 下棋
*
* @param x
* @param y
* @param user
* @return
*/
private boolean inputGo(int x, int y, MAP_USER user) {
boolean tag = false;
/*越界检查*/
if (x > this.map[0].length - 1) {
errorStringBuilder.append("下棋越界X犯规!");
return false;
}
if (y > this.map.length - 1) {
errorStringBuilder.append("下棋越界Y犯规!");
return false;
}
if (map[y][x] == MAP_USER.Null) {
map[y][x] = user;
tag = true;
} else {
/* 添加错误信息 */
errorStringBuilder.append("X:" + x + "Y:" + y + "已经有人在这个地方下了!!");
return false;
} /* 用户下了棋 是否成功! */
if (this.checkWin() == MAP_USER.Null) { } else { }
this._count++;
return tag;
} /**
* 获取错误信息
*
* @return 错误信息
*/
private String getError() {
String resString = errorStringBuilder.toString();
this.errorStringBuilder.delete(0, errorStringBuilder.length() - 1);
return resString; }
}
1.首先要使用事件,自己就必须写一个接口 继承EventListener 然后里面写一个需要实现的接口方法
/**
* 成功接口
*/
public interface WinEvent extends EventListener {
public void DoEvent();
}
private Collection winlistener; /**
* 添加成功事件
*
* @param listener
*/
public void addWinListener(WinEvent listener) {
if (winlistener == null) {
winlistener = new HashSet();
}
this.winlistener.add(listener);
}
private void notifyDoEvent() {
Iterator iter = winlistener.iterator();
while (iter.hasNext()) {
WinEvent listener = (WinEvent) iter.next();
listener.DoEvent();
}
}
2.实现基本的添加事件和通知就可以了;;;接下来就是使用了
aaarticlea/png;base64,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" alt="" /> 哈哈,成功了!aaarticlea/png;base64,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" alt="" />
学习来源: http://www.cnblogs.com/atyou/archive/2013/01/07/2850321.html
Java的事件自定义事件学习的更多相关文章
- 如何给ActiveX控件添加“事件”“属性”“标准事件”“自定义事件”等一些相关操作
上一篇小编带大家熟悉了一下ActiveX的建立以及相关的概念,(http://blog.csdn.net/u014028070/article/details/38424611) 本文介绍下如何给控件 ...
- 主动触发事件 自定义事件 trigger 及其用法
1. 触发自定义事件方式 js.jq 2. jq 触发 2.1 默认支持的事件 $('#h').on('click',function(){ $(this).append('<p>p< ...
- C#事件-自定义事件的使用方法(转载)
1.声明一个委托类 public delegate SomethingChangedHandler(object sender,EventArgs e); 2.在你的类中声明一个事件绑定到该委托 pu ...
- Spring Boot(六)自定义事件及监听
事件及监听并不是SpringBoot的新功能,Spring框架早已提供了完善的事件监听机制,在Spring框架中实现事件监听的流程如下: 自定义事件,继承org.springframework.con ...
- javascript和jquey的自定义事件小结
“通过事件机制,可以将类设计为独立的模块,通过事件对外通信,提高了程序的开发效率.” 可以把多个关联但逻辑复杂的操作利用自定义事件的机制灵活地控制好 对象之间通过直接方法调用来交互 1)对象A直接调用 ...
- 【教程】【FLEX】#003 自定义事件、模块间通讯
本篇笔记,主要阐明 事件是如何创建 和 如何使用自定义事件达到模块之间通讯 的效果. 句子解释: 什么叫做模块之间的通讯呢?? 简单点说,就是两个模块之间可以互相传数据. A模块 可以接收到 B模块的 ...
- jQuery事件命名空间多事件绑定自定义事件js 命名空间 javascript命名空间
http://blog.csdn.net/pigpigpig4587/article/details/24727791 jQuery事件命名空间 jQuery支持事件命名空间,以方便事件管理.例如,在 ...
- Spring容器事件、自定义事件
Spring容器内置事件,如容器的启动.停止.关闭.销毁等事件 <bean name="contextStartedHandler" class="com.nuts ...
- js原生创建模拟事件和自定义事件的方法
让我万万没想到的是,原来<JavaScript高级程序设计(第3版)>里面提到的方法已经是过时的了.后来我查看了MDN,才找到了最新的方法. 模拟鼠标事件MDN上已经说得很清楚,尽管为了保 ...
随机推荐
- Elastic-Job:动态添加任务,支持动态分片
多情只有春庭月,犹为离人照落花. 概述 因项目中使用到定时任务,且服务部署多实例,因此需要解决定时任务重复执行的问题.即在同一时间点,每一个定时任务只在一个节点上执行.常见的开源方案,如 elasti ...
- MySQL二进制日志分析-代码实现(FORMAT_DESCRIPTION_EVENT)
如前文概述,MySQL Binlog v3以前版本, 二进制日志文件的第一个事件是START_EVENT_V3, 从v4版本开始第一个事件为FORMAT_DESCRIPTION_EVENT(以下简称F ...
- vue2.0搭建vue手脚架(vue-cli)
1.安装node.js 从node官网下载并安装node,安装步骤很简单,只要一路“next”就可以了.安装完成后,打开命令行工具输入命令node -v,如下图,如果出现对应版本号,就说明安装成功了. ...
- git rebase 与 merge 的那些事儿~(详细图解,通俗易懂)
什么是 rebase? git rebase 你其实可以把它理解成是"重新设置基线",将你的当前分支重新设置开始点.这个时候才能知道你当前分支于你需要比较的分支之间的差异. 原理很 ...
- 词义消除歧义NLP项目实验
词义消除歧义NLP项目实验 本项目主要使用https://github.com/alvations/pywsd 中的pywsd库来实现词义消除歧义 目前,该库一部分已经移植到了nltk中,为了获得更好 ...
- [Spark] 05 - Spark SQL
关于Spark SQL,首先会想到一个问题:Apache Hive vs Apache Spark SQL – 13 Amazing Differences Hive has been known t ...
- [Pandas] 04 - Efficient I/O
SQLITE3接口 调动 SQLITE3数据库 import sqlite3 as sq3 query = 'CREATE TABLE numbs (Date date, No1 real, No2 ...
- JavaScript之数学对象Math
Javascript 中Math和其他对象不同,它具有数学常数和函数的属性和方法.因为它的属性是数学常数,所以不能被改变(可以进行赋值操作,但最后值不变). Math的方法就是普通函数,调用他们直接用 ...
- JavaScript学习记录
js整理笔记 1.数据类型 2.基本语法 3.js运算符 4.条件语句 5.类型转换 6.函数 7.预编译 8.作用域 9.闭包 10.对象创建方法 11.this 12.dom操作 13.事件 14 ...
- 死磕 java同步系列之Phaser源码解析
问题 (1)Phaser是什么? (2)Phaser具有哪些特性? (3)Phaser相对于CyclicBarrier和CountDownLatch的优势? 简介 Phaser,翻译为阶段,它适用于这 ...