public class Outside {
public static int proResMax = 100;
public static int resource = 100;
private static void circulation(){
if(resource == 0){
production();
}
}
private static void production(){
resource = proResMax;
}
public static void provide(Self s){
if(!probability(990)){
return;
}
circulation();
s.setResource(resource);
resource -= proResMax;
}
private static boolean probability(int random){
return (Math.random() * 1000) < random;
}
public static void main(String[] args) {
Self s1 = new Self();
while (s1.isLive()) {
s1.consume();
s1.supply();
System.out.println("正常运行中》》》" + s1.getResource());
}
System.out.println("运行结束《《《 !");
}
}
public class Entity {
private int resource = 0;
public Entity(){
supply();
}
public boolean isLive(){
return resource >= 0;
}
public void consume(){
resource -= 1;
}
public void supply(){
if(isResourceRequest()){
Outside.provide(this);
}
}
public boolean isResourceRequest(){
if(resource < 0) return true;
else return false;
}
public int getResource() {
return resource;
}
public void setResource(int resource) {
this.resource = resource;
}
}