资源简介
java课程设计大作业写的 推箱子小游戏(含说明文档)
java课程设计大作业写的 推箱子小游戏(含说明文档)

代码片段和文件信息
package controller;
import entity.immobile.Immobile;
import entity.mobile.Box;
import entity.mobile.Mobile;
import exception.CannotUndoException;
/**
* Created by caojiajun on 2018/3/24.
*/
public class History {
private Node current;
private static History history;
private History() {
this.current = new Node(null null);
}
public static History getHistory() {
if (history == null) {
history = new History();
}
return history;
}
public static void restart() {
history = null;
}
public void addRecord(Immobile from Immobile to Mobile mobileInstance) {
HistoryRecord newRecord = new HistoryRecord(from to mobileInstance);
Node newNode = new Node(current newRecord);
current = newNode;
}
private void undoHelper() {
HistoryRecord record = current.record;
int rowFrom = record.from.getPositionRow();
int colFrom = record.from.getPositionCol();
int rowTo = record.to.getPositionRow();
int colTo = record.to.getPositionCol();
record.mobileInstance.move(rowTo colTo rowFrom colFrom);
current = current.pre;
}
public void undo() throws CannotUndoException {
if (current == null || current.record == null) {
throw new CannotUndoException(“已经到了初始状态,不能进行回退!“);
}
if (current.pre != null && current.pre.record != null && current.pre.record.mobileInstance instanceof Box) {
undoHelper();
undoHelper();
} else {
undoHelper();
}
}
private class HistoryRecord {
final Immobile from;
final Immobile to;
final Mobile mobileInstance;
protected HistoryRecord(Immobile from Immobile to Mobile mobileInstance) {
this.from = from;
this.to = to;
this.mobileInstance = mobileInstance;
}
}
private class Node {
Node pre;
final HistoryRecord record;
protected Node(Node pre HistoryRecord record) {
this.pre = pre;
this.record = record;
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-03-31 05:54 Sokoban-master\
文件 130 2018-03-31 05:54 Sokoban-master\README.md
目录 0 2018-03-31 05:54 Sokoban-master\Sokoban\
目录 0 2018-03-31 05:54 Sokoban-master\Sokoban\.idea\
文件 273 2018-03-31 05:54 Sokoban-master\Sokoban\.idea\misc.xm
文件 254 2018-03-31 05:54 Sokoban-master\Sokoban\.idea\modules.xm
文件 8792 2018-03-31 05:54 Sokoban-master\Sokoban\.idea\uiDesigner.xm
文件 33859 2018-03-31 05:54 Sokoban-master\Sokoban\.idea\workspace.xm
文件 423 2018-03-31 05:54 Sokoban-master\Sokoban\Sokoban.iml
目录 0 2018-03-31 05:54 Sokoban-master\Sokoban\maps\
文件 76 2018-03-31 05:54 Sokoban-master\Sokoban\maps\1.map
文件 59 2018-03-31 05:54 Sokoban-master\Sokoban\maps\2.map
文件 113 2018-03-31 05:54 Sokoban-master\Sokoban\maps\3.map
文件 67 2018-03-31 05:54 Sokoban-master\Sokoban\maps\4.map
文件 92 2018-03-31 05:54 Sokoban-master\Sokoban\maps\5.map
文件 93 2018-03-31 05:54 Sokoban-master\Sokoban\maps\6.map
文件 125 2018-03-31 05:54 Sokoban-master\Sokoban\maps\7.map
文件 126 2018-03-31 05:54 Sokoban-master\Sokoban\maps\8.map
文件 70 2018-03-31 05:54 Sokoban-master\Sokoban\maps\9.map
目录 0 2018-03-31 05:54 Sokoban-master\Sokoban\src\
目录 0 2018-03-31 05:54 Sokoban-master\Sokoban\src\controller\
文件 2199 2018-03-31 05:54 Sokoban-master\Sokoban\src\controller\History.java
文件 4389 2018-03-31 05:54 Sokoban-master\Sokoban\src\controller\Main.java
目录 0 2018-03-31 05:54 Sokoban-master\Sokoban\src\entity\
文件 4254 2018-03-31 05:54 Sokoban-master\Sokoban\src\entity\Map.java
目录 0 2018-03-31 05:54 Sokoban-master\Sokoban\src\entity\immobile\
文件 1272 2018-03-31 05:54 Sokoban-master\Sokoban\src\entity\immobile\Immobile.java
目录 0 2018-03-31 05:54 Sokoban-master\Sokoban\src\entity\mobile\
文件 1264 2018-03-31 05:54 Sokoban-master\Sokoban\src\entity\mobile\Box.java
文件 2394 2018-03-31 05:54 Sokoban-master\Sokoban\src\entity\mobile\Mobile.java
文件 1108 2018-03-31 05:54 Sokoban-master\Sokoban\src\entity\mobile\Pla
............此处省略3个文件信息
相关资源
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
- java Servlet投票实例
- 操作系统作业 (pv,作业管理,等5个
评论
共有 条评论