Adrian-George GĂVAN (87693) - Brick Breaker Game CS Open CourseWare

Контакти

Въведение

game
Проектът се състои в създаване на игра тип „Brick Breaker“. Това беше една от любимите ми игри като дете, затова си помислих, че би било интересно да внедря версия на тази игра. Проектът ще има акселерометър за управление и LCD за наблюдение на напредъка на играта.

Brick Breaker е аркадна игра, обикновено за един играч. Първоначално играта се нарича Breakout и е разработена през 1976 г. Основната промяна настъпва през 2007 г., когато играта е пусната като "Brick Breaker". Това беше първата игра, създадена за телефона BlackBerry.

Общо описание

Целта на играта е играчът да унищожи всички тухли в съответното ниво. За целта играчът ще използва топка, която ще бъде хвърлена от дъска. Топката може да се движи в различни посоки и тухла ще бъде унищожена, когато топката влезе в контакт с нея.

Тежестта на играта идва от факта, че играчът не трябва да изпуска топката от екрана. Той може да излезе само през страната, на която е дъската на играча. Играчът трябва да контролира дъската (да я мести наляво и надясно), за да не позволи на топката да мине дъската и да я пренасочи към различни тухли. В зависимост от нивото, играчът ще има ограничен брой животи. Когато топката напусне играта, един живот ще бъде загубен. Играчът губи играта, ако остане без живот.

Играта ще има няколко нива: по-силни тухли, топката ще се движи по-бързо или ще има по-малко животи. Също така, по време на различните нива ще срещнете различни сили (като по-голяма дъска или допълнителен живот).

Блокова схема:

Описание на блокова схема

Хардуерен дизайн

LCD и зумерът са монтирани на една и съща тестова платка.
5-те бутона и акселерометърът са монтирани на една и съща дъска, от тук дъската може да се контролира, ако направите пауза или излезете от играта, можете да изберете различни опции и т.н.
Зуммерът е свързан към порт D, LCD е свързан към порт B, акселерометърът е свързан към порт C и бутоните са свързани към порт A.
GND, изваден от порт A, се изтегля от щифта, наречен VCC, защото на дънната платка името на VCC и GND щифтовете за порт A е обърнато.

Софтуерен дизайн

Играта започва с показване на съобщение "Добре дошли". Натиснете произволен бутон, за да продължите напред.
Играта има 3 менюта за опции:

Първото меню е за избор на ниво на трудност. Играта има 3 нива:

Използвайте бутоните „Нагоре“ и „Надолу“, за да се придвижвате през нивата. Текущата опция ще има "← Избрано" до него. Натиснете "Enter", за да изберете нивото.
Второто меню е за избор на режим на управление. Играчът може да избере да използва бутоните „Наляво“ и „Надясно“ на контролната дъска, за да премести игралната дъска, или може да използва акселерометъра, като наклони контролната дъска наляво или надясно. Както по-горе, изберете желаната опция и след това преминете към следващото меню.

От последното меню играчът може да избере един от трите варианта за цвета на дъската и топката.
След като бъдат избрани опциите, играта ще започне и елементите от съответното ниво ще бъдат показани на екрана.
Играчът винаги ще започне с 3 живота и животи могат да се видят на горната стена на нивото.
Играта ще бъде спечелена, ако играчът унищожи всички тухли. В зависимост от нивото, тухлите имат 1,2 или 3 живота (и различни цветове в зависимост от текущия брой животи).

Играчът ще загуби, ако загуби живота си (падане на топката до дъската или чрез различни бонуси).
Тухлите могат да имат 1,2 или 3 живота ⇒ ще бъдат оцветени в жълто (1 живот), синьо (2 живота) и тъмно червено (3 живота). Когато тухла бъде ударена, тя или ще бъде изтрита, или животът й ще бъде намален и цветът й ще се промени.

Плочата може да се движи отляво надясно (до стените), а топката има 3 посоки: вертикална, наклонена вляво и наклонена вдясно. Топката ще вземе посока в зависимост от това къде се удря в плочата и в зависимост от това как ще отскочи от стените или тухлите.

Играта също има опция за пауза: можете да натиснете "Down/P", за да направите пауза или да отмените паузата.
Играта също има опция за бягство, така че когато натиснете бутона "Нагоре/Esc" по време на играта, играта ще приключи и ние ще се върнем в първото меню.
За да направи всичко по-интересно, към играта са добавени бонуси. Има общо 6 вида бонуси:

Бонусите са произволно прикрепени към тухли. Когато тухла е унищожена и има бонус, тя ще започне да пада в долната част на екрана.
Ако падне до чинията, тогава изчезва. Ако е уловено с плочата, тогава ефектът му ще бъде изпълнен.

Всяко ниво ще има 2 бонуса от всеки от първите 5 вида бонуси в списъка. Средните и твърди нива също ще имат бонус „Instant Death“.
Този бонус отнема целия живот на играча ⇒ играчът губи моментално. Ако нивото е трудно, тогава ще има още 2 бонуса за отнемане на живот, за да затруднят нещата.

Когато животът е загубен, падащите бонуси ще бъдат автоматично унищожени и ефектът от бонусите „по-голяма дъска“, „по-малка дъска“ или „нон-стоп топка“ ще бъде отменен.
Когато играч спечели или загуби, съответното съобщение ще се покаже за 7 секунди и след това ще се върнем в менюто за избор на ниво.

Получени резултати

Резултатите бяха това, което исках: успях да създам функционална игра и да постигна всичко, което съм си поставил за цел.
Това е забавна игра с различни опции, нива и бонуси. Успях и да накарам хардуера да работи, от което най-много се страхувах.
Играчът може да избере дали да използва бутоните за преместване на дъската или акселерометъра. Ако искате да използвате акселерометъра, дръжте плочата успоредна на пода и я наклонете наляво или надясно.