entry.java
来自「一个JAVA程序员的游戏」· Java 代码 · 共 102 行
JAVA
102 行
/*
* Entry.java
*
* Created on 7. Dezember 2006, 23:07
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package kanjitori.lesson;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
/**
* A key (as displayed int the HUD) and a value (as shown on a bot) pair.
* The value should be normaly just 1 character for KanjiBots. A key
* should be unique in one data file, the values don't have to.
*
* @author Pirx
*/
public class Entry {
private String key;
private LinkedList<String> values;
private boolean ordered = true;
private boolean dirty = false;
public Entry() {
values = new LinkedList<String>();
}
public Entry(String key, String[] values, boolean ordered) {
this.key = key;
this.values = new LinkedList<String>(Arrays.asList(values));
this.ordered = ordered;
}
public String getKey() {
return key;
}
public void addValue(String value) {
values.add(value);
}
public List<String> getValues() {
return values;
}
public boolean equals(Object o) {
return getKey().equals(((Entry)o).getKey());
}
public String toString() {
return getKey() + " -> " + values;
}
public void setKey(String key) {
this.key = key;
}
public boolean isOrdered() {
return ordered;
}
public void setOrdered(boolean ordered) {
this.ordered = ordered;
}
public boolean isSolved() {
return values.isEmpty();
}
public boolean accept(String value) {
if (isSolved()) {
return false;
}
if (ordered) {
if (values.getFirst().equals(value)) {
values.removeFirst();
dirty = true;
return true;
} else {
return false;
}
} else {
if (values.remove(value)) {
dirty = true;
return true;
} else {
return false;
}
}
}
public boolean isDirty() {
return dirty;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?