Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

В последнем обновлении появилось странное - теперь есть чужой хвост стало опасно #289

Open
spaceorc opened this issue Jul 24, 2019 · 9 comments

Comments

@spaceorc
Copy link
Contributor

Кажется что такого не хотели, чтобы нельзя было есть чужой хвост, хотели только окруженных убивать. Здесь не тот случай. Предложение:

  1. Вернуть проверку кусания хвоста снова выше заливки.
  2. Если кто умер из-за откушенного хвоста - тот умер, и ни в какой заливке больше не участвует.
  3. Обоюдное кусание - обоюдная смерть.

ezgif com-video-to-gif

@ud1
Copy link

ud1 commented Jul 25, 2019

По мне тут оба игрока должны умереть, потому что:

  1. Голова зеленного оказалась на захватываемой территории - смерть;
  2. Красному пересекли хвост - смерть.

@estekhin
Copy link
Contributor

estekhin commented Jul 25, 2019

Голова зеленного оказалась на захватываемой территории - смерть;

Если это ещё был хвост красного, то красный должен был умереть.
Если это уже была территория красного, то никто не должен был умереть, а зелёный должен был поехать по ней с целью захвата.

@0x0badc0de
Copy link

  1. Чья-то голова на чьей-то территории не является признаком смерти

Тоже заметил эту ситуацию. Формально, она не подходит под правила. Потому, либо ситуацию надо исправить, либо обновить правила.

@spaceorc
Copy link
Contributor Author

По мне так умереть должен зелёный. Красный не должен умереть ни в каком случае, он не делал ничего плохого. Его не окружали, не наступали на его хвост.

@cheetaah
Copy link

С чего это должен умереть зелёный? Он как и полагается поймал красного за хвост. Значит должен умереть красный.

@spaceorc
Copy link
Contributor Author

Да, я цвета перепутал. :)) конечно ты прав

@SannikovDmitry
Copy link
Contributor

@spaceorc сейчас это актуально?

@spaceorc
Copy link
Contributor Author

сейчас уже нет

@Pro100AlexHell
Copy link

Pro100AlexHell commented Jul 30, 2019

не закрывайте пока.
сейчас там логика такая после просмотра кода:

  1. если я в центре клетки: проверяется что в этой клетке - захваченно && в prev_клетке - захвачено, т.е в обоих - тут все ок
  2. если я двигаюсь (is_move): проверяется что в предыдущей клетке - захвачено (не в той куда я двигаюсь - изза того что diff_position инверсию делает внутри себя)
    так и задумано?
    может логичней проверять - куда я двигаюсь?

повлияет если я пытался съесть хвост врага, а он закрасил мою позицию куда я двигаюсь

  • если проверять целевую-позицию (куда иду) - и он ее закрасил (потому что захватил) - то я погибну
  • если проверять предыдущую-позицию (откуда идут) и он ее Не закрасил - то я выживу (сейчас так - и выживаю)
  • если проверять предыдущую-позицию (откуда идут) и он ее закрасил - то я погибну (сейчас так)

а этот вот код - крутит в обратную сторону

while not ((x - round(WIDTH / 2)) % WIDTH == 0 and (y - round(WIDTH / 2)) % WIDTH == 0):
            x, y = self.diff_position(self.direction, x, y, self.speed)

и по сути он юзается только для случая когда двигаюсь (is_move) т.е не в центре стою, и крутит он его влево - если я двигаюсь вправо
т.е этот код делает тоже prev_pos по сути, т.к. крутит и он - и в get_prev_position - в сторону противоположную direction

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants