一つアイデアを。鶏がゴールしたかどうかCという変数でチェックしていますがどの鶏がゴールしてもCを1にしているため2着以降の鶏のX座標が2になった時にX座標を3にする処理が行われず結果メインルーチンでゴールインする処理が行われないようです。鶏ごとにゴールしたかチェックをする(鶏2,3,4はC2,C3,C4という変数でチェックする)というのはどうでしょう?