Хеши SHA1, не соответствующие между моими направляющими и приложениями Какао

Более «практичный» способ (более короткий код, который избегает условных проверок) - создать массив плиток, чтобы он содержал дополнительную «границу» плиток вокруг допустимой области. Если какая-либо позиция плитки находится в допустимой области, то она действительна и такова.

Вы можете иметь специальный тип для плиток границы, которые есть только у них, и просто включить эти плитки в список «соседей». Если в вашем мире есть стены, то граница может состоять из материала стен.

Излишне говорить, что вы никогда не должны запрашивать список соседей плитки границы. Это обеспечивается логикой, такой как недопущение того, чтобы плитка границы была допустимой позицией для чего-либо.

Эта плитка находится в допустимой области внутри границы "- это условие, которое легче проверить, в меньшем количестве мест, и ваша программа может быть структурирована так, что эта проверка на самом деле является просто съемным утверждением (проверка для ситуация, которая не должна возникать, если программа правильная, а не проверка на ожидаемую ситуацию).

В C и C ++ мы можем сместить указатели так, чтобы позиция [0][0] оставалась углом допустимая область, но координаты за пределами [-1][-1] являются действительными индексами, как и [w][h].

Во-первых, массив столбцов выделяется на два элемента больше, чем необходимо, и указатель увеличивается на 1. Затем столбцам выделяется на два элемента больше, и каждый указатель увеличивается на единицу перед назначением в основной массив.

При освобождении массивов с помощью delete [] необходимо помнить, чтобы уменьшить каждый указатель на один.

14
задан Sijmen Mulder 27 March 2009 в 16:11
поделиться

1 ответ

Найденный ошибкой, глупой небольшой вещью:

-CC_SHA1([self bytes], CC_SHA1_DIGEST_LENGTH, hashBytes);
+CC_SHA1([self bytes], [self length], hashBytes);

Я отправил длину обзора вместо длины данных. Не знайте, как я, возможно, сделал такую ошибку – и затем пропускаю его в течение многих часов.

8
ответ дан 1 December 2019 в 16:15
поделиться