Closed Justize closed 6 years ago
а это нормально что там в первом ифе нет проверки на elevator.ready_for_enemy_passenger() ? то есть если у пассажира уже был лифт, следующий назначается без этой проверки. Или я что то недопонял?
Касается не только начала игры, преимущество у второго игрока сохраняется на протяжении всей симуляции в данной ситуации.
И я это вижу немного по другому: левый игрок зовет пассажира правый игрок зовет того же пассажира и если пассажир ближе к правому, то игнорится правило 40 тиков и пассажир пойдет к правому игроку.
Исправили
Например, если оба игрока на первых тиках используют одинаковую стратегию: зовём всех своих пассажиров в лифт с id 3/4, а всех чужих пассажиров в лифт с id 1/2 (то есть имеем ситуацию, когда для каждого пассажира чужой лифт ближе чем свой), то на первых тиках все пассажиры побегут в лифты левого игрока. Реплей Это происходит, т.к. в функции set_passenger_elevator()
пассажиру может назначиться новый лифт ,если пассажир в состоянии 1 или 3, в случаях:
Поскольку сначала просчитывается правый игрок, то имеем следующую ситуацию:
if passenger.elevator:
).Таким образом левый игрок может "угонять" чужих пассажиров, а правый не может, несправедливо)