Нет атрибута list
в ZombieList
. Только после того, как вы создали ZombieList
- например, self.zombie_list = ZombieList()
Вы сможете использовать свой список через self.zombie_list.list
.
Но даже тогда, я думаю, что это, вероятно, не тот дизайн, к которому вы стремитесь: я полагаю, что вы не хотите ZombieList
для каждого человека Zombie
. Скорее, тот, кто инициализирует объекты Zombie
, вероятно, также должен отвечать за поддержание экземпляра ZombieList
.
Вы также столкнетесь с другими проблемами. Например, цикл в
self.list = []
for zombie in self.list:
ds.blit(zombie.image, (1000, random.randint(10, 790)))
никогда не будет иметь никакого эффекта, поскольку self.list
всегда пуст при выполнении этого кода (так как вы определили его как пустое в предыдущей строке). ]
1.) Как я хеширую файлы с C#?
Можно использовать классы.NET под Системой. Безопасность. Криптография
2.) Что доступно?
3.) Существует ли интерфейс, который я должен наследовать?
Нет Вы не имеете к. Смотрите на HashAlgorithm. Создайте (...)
Чего Вы пытаетесь достигнуть с хешами? При попытке на самом деле гарантировать, что никто злонамеренно не изменил файлы, не реализуйте свою собственную контрольную сумму или хеш. Вы, вероятно, сделаете некоторую ошибку, и кто-то сможет вмешаться в файл и иметь контрольные суммы, все еще соответствуют. Используйте хорошую хеш-функцию как SHA-256.
Отрывок
byte[] result;
SHA1 sha = new SHA1CryptoServiceProvider();
using(FileStream fs = File.OpenRead(@"file.txt"))
{
result = sha.ComputeHash(fs);
}
См. также SHA1CryptoServiceProvider или MD5CryptoServiceProvider.
CRC не доступен - более эффективно создать Ваше собственное.