Articles tagged ‘breadth-first search’
* Vývoj Pacmana – Den 4
31. July 2009, Jakub Horák. Categorized as Pacman.
Hru programuji v C++ s knihovnou Qt, se kterou už mám pár dobrých zkušeností. Sice bych to měl správně programovat v kombinaci C# + .NET, ale zkusil jsem napsat cvičícímu a záměna mu nevadila. Ušetřil jsem si tím lapálie spojené s programováním ve Windows, Qt je totiž na rozdíl od .NETu multiplatformní. Při psaní mi trochu chybělo debugování Visual Studia, používal jsem totiž IDE zvané QDevelop, které v tomhle ohledu dost zaostává.
Dnes v 8 hodin vypršel čas na odevzdání finální verze zápočtového programu. Špatně jsem odhadnul práci, posledních pár dnů proflákal a strávil pařbou na Let it roll, takže jsem v noci spal jenom asi 3 hodiny. Můj mail ale odešel včas, přesně v 8:00. Včera po desáté hodině jsem dodělal základní třídy starající se o zobrazení objektů na hrací ploše a jejich pohyb v rámci dlaždicové mapy. Nezbylo mi tedy moc času na nejtěžší část Pacmana, AI. V časové tísni jsem se sice pokusil napsat nalezení nejkratší cesty k Pacmanovi za pomocí prohledávání do šířky, jenže moc nefunguje a příšerky chodí chvíli pseudonáhodně, dokud se trvale nezaseknou v jedné části bludiště.
Snažil jsem se dodělat základní featury hry, mezi které patří i jezení “žracích kuliček”. Chovají se podobně jako normální jídlo, problém ale spočívá v tom, že zvýší rychlost Pacmana. Ve vyšší rychlosti pak hráč často nemůže změnit směr, protože musí stisknout šipku ve chvíli, kdy se nachází do 20 pixelů od křižovatky (má na to přibližně 180ms). Co se týče žracích kuliček, dokonce se mi dvakrát stalo, že mi po jejich snědení úplně vytuhnul počítač. Nemám zdání, co se v tu chvíli stalo, jen doufám, že tahle nedebugovatelná chyba sama zmizí.
Poznámka na okraj: Při psaní tohoto příspěvku se mi poprvé v životě kvůli přehřátí vypnul počítač. Teplota se pohybovala vysoko, o tom žádná. Na pozadí běžel `emerge -vu world`. Myslím si ale, že teplota tohohle notebooku už během uplynulých tří a půl let dosáhla vyšších hodnot. Zřejmě je vypínání při přehřátí vychytávka nového kernelu 2.6.30.
Archives
- March 2024
- October 2023
- May 2020
- December 2018
- October 2018
- July 2017
- April 2017
- March 2017
- November 2016
- April 2016
- March 2016
- November 2014
- September 2014
- May 2014
- March 2014
- February 2014
- August 2013
- June 2013
- April 2012
- August 2011
- May 2011
- October 2010
- September 2010
- August 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- April 2009
- January 2009
- December 2008
- October 2008
- September 2008