プログラムを見させていただきました。鶏の移動処理で鶏がゴールを過ぎたときに位置を修正する部分の条件に問題があるようです。あとどの鶏もゴールしていないときのみX座標を3にしているためどれか鶏がゴールした後にX座標が2になるとメインルーチンでゴールの処理に飛びません。