📄 marking.java
字号:
public class marking {
protected static final int w = Integer.MAX_VALUE - 200;
protected int[] mar;
protected String name = "";
public marking(int[] m){
this.mar = new int[m.length];
for(int i = 0; i < m.length; i++)
this.mar[i] = m[i];
}
public marking(marking m){
new marking(m.mar);
}
public marking(pn PN){
this.mar = new int[PN.numberOfPlaces()];
for(int i = 0; i < PN.numberOfPlaces(); i++){
mar[i] = PN.getPlace(i).getTokens();
}
}
public int[] getMar(){
return this.mar;
}
public boolean equal(marking m){
boolean equal = true;
if(mar.length == 0 || m.mar.length == 0 || mar.length != m.mar.length)
equal = false;
else
for(int i = 0; i < mar.length; i++)
if(mar[i] != m.mar[i])
equal = false;
return equal;
}
public boolean notSmallToOneMarking(marking m){
boolean big = true;
if(mar.length == 0 || m.mar.length == 0 || mar.length != m.mar.length)
big = false;
for(int i = 0; i < m.mar.length; i++)
if(mar[i] < m.mar[i])
big = false;
return big;
}
public boolean enable(pn PN, transition t){
boolean able = false;
for(int j = 0; j < PN.numberOfPlaces(); j++){
PN.getPlace(j).setTokens(this.mar[j]);
}
if(t.canFire(PN, true)){
able = true;
}
return able;
}
public marking fire(pn PN, transition t){
marking m;
if(this.enable(PN, t)){
t.fire(PN, true);
}
m = new marking(PN);
return m;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -