Leaves: Replace a big mess of code with something nice and simple (#2432)

This commit is contained in:
Dylan K. Taylor 2018-09-13 16:36:10 +01:00 committed by GitHub
parent c0962a47be
commit fee42e9f34
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -81,50 +81,15 @@ class Leaves extends Transparent{
if($down === $this->woodType){ if($down === $this->woodType){
return true; return true;
} }
if($fromSide === null){
for($side = 2; $side <= 5; ++$side){ foreach([
if($this->findLog($pos->getSide($side), $visited, $distance + 1, $side)){ Facing::NORTH,
return true; Facing::SOUTH,
} Facing::WEST,
} Facing::EAST
}else{ //No more loops ] as $side){
switch($fromSide){ if($side !== $fromSide and $this->findLog($pos->getSide($side), $visited, $distance + 1, Facing::opposite($side))){
case 2: return true;
if($this->findLog($pos->getSide(Facing::NORTH), $visited, $distance + 1, $fromSide)){
return true;
}elseif($this->findLog($pos->getSide(Facing::WEST), $visited, $distance + 1, $fromSide)){
return true;
}elseif($this->findLog($pos->getSide(Facing::EAST), $visited, $distance + 1, $fromSide)){
return true;
}
break;
case 3:
if($this->findLog($pos->getSide(Facing::SOUTH), $visited, $distance + 1, $fromSide)){
return true;
}elseif($this->findLog($pos->getSide(Facing::WEST), $visited, $distance + 1, $fromSide)){
return true;
}elseif($this->findLog($pos->getSide(Facing::EAST), $visited, $distance + 1, $fromSide)){
return true;
}
break;
case 4:
if($this->findLog($pos->getSide(Facing::NORTH), $visited, $distance + 1, $fromSide)){
return true;
}elseif($this->findLog($pos->getSide(Facing::SOUTH), $visited, $distance + 1, $fromSide)){
return true;
}elseif($this->findLog($pos->getSide(Facing::WEST), $visited, $distance + 1, $fromSide)){
return true;
}
break;
case 5:
if($this->findLog($pos->getSide(Facing::NORTH), $visited, $distance + 1, $fromSide)){
return true;
}elseif($this->findLog($pos->getSide(Facing::SOUTH), $visited, $distance + 1, $fromSide)){
return true;
}elseif($this->findLog($pos->getSide(Facing::EAST), $visited, $distance + 1, $fromSide)){
return true;
}
break;
} }
} }
} }