Война Вирусов — мой первый публичный проект на Github

В начале 2010-го года я еще только учился разработке под iOS, которая даже еще так не называлась. Первая программа еще в декабре 2009 была «Крестики и нолики». Тема рекурсии меня увлекла, и как-то плавно перетекла в разработку игры «Война вирусов». В Википедии про нее есть статья, правда ее почему-то хотят удалить. Надо будет ее себе сохранить для будущего. Не помню точно, почему я выбрал эту игру, скорее всего потому, что ниша была свободна, а тема была мне интересна. Надо было на чем-то учиться. Это сейчас я понимаю, что это не лучший вариант для обучения, да и с точки зрения потом программы в AppStore это почти дохлый номер — народ такие программы не любит, у них есть очень узкий круг энтузиастов, интересующихся логическими играми.

Решил выложить этот проект на github.com как публичный (лицензия MIT). Игра полностью играбельная на сегодняшний день, правда буквально вчера обнаружил, что не доделал фиксацию выигрыша или проигрыша — надо будет доделать в ближайшее время. Видимо потому, что программа сегодня думает очень и очень долго, что для мобильного устройства практически неприемлемо, и я никогда не доходил до конца. Даже на симулятора айфона компьютер делает ход примерно 3-5 минут, при этом сейчас компьютер смотрит всего на два хода вперед. Ограничить время «думания» можно константой в коде. Но если поставить слишком маленькую цифру, то он будет играть очень тупо, так как пока никакого ранжирования важности ходов пока нет, как в шахматных программах, когда сначала исследуются все ходы со взятиями, а затем другие. Одна из основных проблем, по крайней мере для меня была и есть — что один ход это три клеточки. Если в шахматах один ход это один ход, то у меня их три и надо создать все сочетания ходов по три клетки. Причем, если мы пронумеруем клетки от 1 до 100, то по идее ход 17, 42, 55 это точно такой же ход как 55, 42, 17 — но система генерации ходов сгенерирует их сначала как разные, и нам нужно будет их удалять. Удалять дубликаты надо обязательно, так как запуская их в рекурсию, мы тратим больше времени, чем на их отсеивание. Кстати про отсеивание дубликатов из массива NSMutableArray мы как раз и поговорим в следующий раз.

Так что, кому интересны разработка логических игр — милости просим в наш репозиторий 🙂

https://github.com/soj/iVirusWar

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s