Силоз 1: Игри


Този силоз съдържа проекти, които реализират някои популярни компютърни игри от миналия век. Не е нужно игрите да бъдат реализирани в графична среда, нито да използват други входни устройства (мишка, gamepad или други). Приемат се решения реализирани дори само с cin и cout, но използването на допълнителни библиотеки за постигане на по-добри ефекти е позволено. Вместо подробно описание на игрите, към повечето от тях е добавена връзка, на която можете сами да поиграете и да получите представа за логиката на играта.


Snake


Примерна игра: http://html5games.com/2012/09/snake-game/


Alien Attack


Примерна игра: http://html5games.com/2012/10/space-invectors/


Sokoban


Примерна игра: http://html5games.com/2011/03/caravan-sokoban/


Tetris


Примерна игра: http://html5games.com/2013/06/tetris-9-cells/


Breakout


Примерна игра: http://html5games.com/2011/05/html5-breakout/


Xonix


Примерна игра: http://www.youtube.com/watch?v=POhMfAFZ_6c


Pacman


Примерна игра: http://html5games.com/2012/08/html5-pacman/


Mine Sweeper


Примерна игра: http://html5games.com/2010/07/mine-sweeper/


Pong


Примерна игра: http://ricklamers.nl/pong/


Lander


Примерна игра: http://html5games.com/2010/09/jslander/


Arcade Voleyball


Примерна игра: http://html5games.com/2010/04/blobby-volley-2/


Frogger


Примерна игра: http://html5games.com/2011/04/turtle-rescue/


The Game of Life


(вижте повече в Wikipedia на английски или български)


Да се напише програма, която реализира “Игра на Живот”. В Играта на Живот има "дъска" състояща се от NxM клетки (10<N<60,10<M<60, дори да е възможна с по-малки стойности от дадените играта е безинтересна). Във всяка клетка или има живо същество или не. Живите същества могат да бъдат от различни племена (т.е условно можем да ги наречем Варвари, Рицари, Граждани и т.н). Всяко племе си има собствен “знак” (т.е ‘%’ за Варварин, “+” за Рицар, “&” за Гражданин и т.н).  Дъската има начално състояние. To определя се в кои клетки има живот, в кои не и кое същество от кое племе е. Играта се състои от безброй много ходове, като на всеки ход дъската се променя по следните правила:

  • Всяка жива клетка с по-малко от две живи(независимо от племето) съседни клетки умира (от самота).

  • Всяка жива клетка с повече от три живи (независимо от племето) съседни клетки умира (от пренаселеност).

  • Всяка жива клетка с две или три живи(от същото племе) съседни клетки остава жива и на следващата итерация.

  • Всяка мъртва клетка с точно три живи (от същото племе) съседни клетки се превръща в жива клетка (от съответното племе).

  • * Ако за дадена "мъртва" клетка се удовлетворява условието за раждане за N племена, "съдбата" (т.е остатъка от целочислено деление на random()/N) решава от кое племе да бъде тя.

След края на всеки ход дъската трябва да се визуализира на екрана. Между два последователни хода трябва да се изчака известно време за да може човек да наблюдава развитието на играта.

Бонус:

  • Всеки път дъската се инициализира с произволен размер, брой племена и състояние на клетките.

  • Добавете опция за игра до “победа”. Като (някои) от избираемите условия за победа могат да са:

    • Да остане само едно “живо” племе

    • Да умрат всички племена

    • Дъската да не се е променила в рамките на два последователни хода

Last modified: Friday, 8 November 2013, 3:24 PM