Dmitry-Mayorov
@Dmitry-Mayorov
Человек

Почему ничего не происходит?

Я хз, но я что-то не понимаю, почему ничего не работает?
Вот ссылка на гит, просто кода много и ошибка может быть где угодно: https://github.com/Omega0x0/Cells
В общем, проблема такова, что поля толком не меняются, т. е. поле direction в структуре Cell и равняется всегда 1, вместо того, чтобы постоянно увеличиваться и я не понимаю, почему так происходит:
match cell.genome[cell.step] {
            Gen::SetDirection(d) => {
                cell.direction += d;
                
                if cell.direction > 3 { cell.direction = 0; }
                else if cell.direction < 0 { cell.direction = 3; }
            },
...

И при этом клетка "не делится", с ней вообще ничего не происходит, но как только из генома удаляется направление, то всё робит...
Да и с самим проходом по геному что-то не так, не получается поймать момент превращения поля step в 0.
...
cell.step += 1;
        if cell.step >= cell.genome.len() { cell.step = 0; }
...


До этого момента я уже сталкивался в этом же месте с данной ошибкой, и не найдя проблемы, решил всё переписать (данный кусок) заново, но снова споткнулся об это.
Ну, мне кажется, что я просто где-то воду сильно намутил...
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
Dmitry-Mayorov
@Dmitry-Mayorov Автор вопроса
Человек
Ошибка с буфером клеток.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы