Игра Жизнь by Malcolm (с открытыми исходниками) Иногда я устаю от своих масштабных проектов, и хочется немного отвлечься от хитрых форматов и обработки данных. В результате появляются маленькие програмки вроде этой. Это "Игра Жизнь" Конвея, для тех, кто не знает, поясняю. Есть поле, разбитое на клетки, часть из которых заполнена, а остальные пустые (мертвые). Дальше клетки начинают жить своей жизнью по правилам: 1. Если вокруг клетки 2 или 3 соседа, она живет дальше. 2. Если вокруг клетки 1 или нет соседей, она гибнет от одиночества. 3. Если вокруг клетки больше 3 соседей, она гибнет от перенаселения. 4. Если вокруг пустой клетки 3 соседа, она оживает. Иногда добавляют пятое правило: ячейка сама по себе гибнет через какое-то количество ходов. Взяв все эти правила за основу, я и написал маленькую прогу, в которой настраивается длительность жизни и заселенность поля.
На этот раз я решил открыть исходный код моего приложения, чтобы помочь всем желающим прогерам разобраться в программировании графики, создании потоков и управлении RMS. Вот ссылки на Jar и Jad: malcolm-soft.com/gameoflife/GameOfLife.jad malcolm-soft.com/gameoflife/GameOfLife.jar А вот ссылка на исходники: malcolm-soft.com/gameoflife/PocketGameOfLife-source.zip Лицензия — GPLv3, так что все могут свободно использовать исходники в своих проектах с открытым исходным кодом. И напоследок об управлении: левая софт вызывает настройки, средний софт или 5 — генерировать новое поле, а решетка — выход. Кстати, мидлет можно ставить на фон. Качайте! Надеюсь, исходники пригодятся народу.
aNNiMON, нет, это не мой брат, под моим ником пишу только я. В этом проекте нет никаких библиотек, которые я разрабатывал на протяжении не одного месяца, весь он сам небольшой и написан буквально за два дня. Таких проектов, надо сказать, я давно не писал. А раз на форуме живет тема с желающими научиться программировать, то я подумал, что неплохо бы кое-что показать как пример. Тем более, что народ вполне обоснованно жалуется на их малочисленность. Что хорошо именно в этом приложении - я могу пояснить все, что я тут написал, если возникнут какие-то вопросы, почему я сделал так-то и так-то. Так что если что, можете спрашивать. Вообще, это не совсем игра, от "игрока" ведь ничего не требуется делать. Вот проект и находится в приложениях. Вообще, я давно хотел написать что-то такое, только все отвелкали большие проекты.
SEM@X, теоретически все можно, прога не шибко сложная. Но уж точно не за два дня. aNNiMON, а очень просто: если ее поставить, человечки начнут дохнуть сами по себе (пятое правило) через то количество поколений, которое укажешь. По умолчанию через 50. Они еще темнеют, когда дохнут. *Wolf, да какой MIDletPascal, все на чистой Java.
ts 24 авг 2008 в 00:25
Иногда я устаю от своих масштабных проектов, и хочется немного отвлечься от хитрых форматов и обработки данных. В результате появляются маленькие програмки вроде этой.
Это "Игра Жизнь" Конвея, для тех, кто не знает, поясняю. Есть поле, разбитое на клетки, часть из которых заполнена, а остальные пустые (мертвые). Дальше клетки начинают жить своей жизнью по правилам:
1. Если вокруг клетки 2 или 3 соседа, она живет дальше.
2. Если вокруг клетки 1 или нет соседей, она гибнет от одиночества.
3. Если вокруг клетки больше 3 соседей, она гибнет от перенаселения.
4. Если вокруг пустой клетки 3 соседа, она оживает.
Иногда добавляют пятое правило: ячейка сама по себе гибнет через какое-то количество ходов. Взяв все эти правила за основу, я и написал маленькую прогу, в которой настраивается длительность жизни и заселенность поля.