Csoport neve: nullpointer
Feladat sorszáma: 6.
Feladat címe: Stratégiai játék
Objektumtervezés
Gyakorlatvezető::
RÉPÁSI TIBOR
Csoport tagok:
Bikki Balázs |
FOJNI7 |
bikki@iit.uni-miskolc.hu |
Bereczki Dániel |
JJ92CZ |
neuroster@gmail.com |
Horváth Lajos |
A2MT7H |
l.horvath4@chello.hu |
Kocsis Sándor |
C144EG |
rebel00@vipmail.hu |
Majoros Zoltán |
J1AHR8 |
majoros1@iit.uni-miskolc.hu |
2006-05-12
Történet
Dátum |
Verzió |
Leírás |
Szerző |
---|---|---|---|
2006.05.12. |
1.0 |
Első verzió |
Bikki Balázs |
|
|
|
|
|
|
|
|
Tartalomjegyzék
A termék valós idejű stratégiai játék a következő fikcióból kiindulva: Létezik egy bolygó, amely felszínét 85%-ban homoksivatag borítja. A maradék felület zömében sziklás és szinte elhanyagolható mértékben itt-ott növényzetet is tartalmaz. Valaha a felszínét dús esőerdő borította. Mára esőzés nincs, a bolygó vízháztartása a felszín alatt zajlik. Ott barlangokban tárolódik a víz. A bolygó őslakossága elhatározza, hogy újból virágzóvá teszi a Dűnét. De számolniuk kell a homokviharokkal és egy a sivatagi környezethez alkalmazkodott élőlény fajjal, a Homokférgekkel…
A fantáziabirodalom középpontjában az Arrakis bolygó és a csak itt található Fűszer áll. A bolygón azonban gyakorlatilag a Fűszer az egyetlen hasznosítható anyag, mivel a planéta felszínét hatalmas sivatagok borítják, ahol nagyon nehéz életben maradni. Maga a Fűszer az univerzum legcsodálatosabb anyaga: ami meghosszabbítja a tulajdonosa életét és nagyobb erők parancsolójává teszi őt, kitágítja az öntudatot, s ez teszi lehetővé, hogy a navigátorok (akiket még soha senki sem látott) meghajlítva a teret, csillagközi utazásokra vigyék a hatalmas űrhajókat. A bolygó fő terméke és kiviteli cikke (bolygóközi kereskedelem) a fűszer, másnéven melanzs, amit a homokférgek termelnek (fremen elnevezéssel mester, vagy Shai-hulud), a homokférgek számára viszont a víz és a nedves környezet mérgező.A történelem során számtalan csatát vívtak már ezért a varázslatos anyagért, és a bolygóért, de a Dűne évszázadokon át a Harkonnen Ház fennhatósága alatt maradt.
Frank Herbert eredeti regényétől eltérően a játék világa zárt világot alkot, az események menetébe nem szólnak bele a Padisah császár és a két ház, az Atreides és a Harkonnen közti háborúságok. A játékban nem szerepel továbbá a fremen nép összetett vallás- és hiedelemrendszere, a Bene Gesserit és egyéb iskolák hatása sincsen jelen.
A felhasználó feladata hogy megfelelően kialakított stratégiája
szerint vezetve az őslakos fremeneket, lakhatóbb hellyé tegye az
Arrakis bolygót anélkül hogy felborítaná a bolygó megváltozott
ökoszisztémáját, ami a homokférgek teljes populációjának
kipusztulásához és ezen keresztül a Fűszerhiányhoz vezet.
A játék
során a déli palmáriumokból kiindulva fokozatosan növényeket kell
telepíteni a Dűnén uralkodó hivatalos hatalom tudta nélkül, miközben
folyamatosan termelni kell a fűszert, új fremen településeket,
úgynevezett sziecseket alapítani, felszerelni. Mindezek közben a
Harkonnenek folyamatos őrjárataival is számolni kell, és vissza kell
verni a büntető vagy "hódító" támadásaikat is a
Harkonnen-katonáknak és a velük szövetséges császári
elitalakulatoknak, a Sardaukaroknak.
A tradicionális stratégiai alapokra épülő játék a jól ismert Dűne sci-fi világát dolgozza fel, néhol attól eltérve. A hatalmat úgy lehet megszerezni, hogy a lehető legnagyobb területeket kell meghódítani a Dűnén, a végső cél pedig a Fűszer feletti teljes kontroll megszerzése, hiszen "aki a Fűszert uralja, uralja az Univerzumot is!"
A programban használt adattípusok a C++ és az SDL által biztosított alaptípusok. Ezenkívül a többértékű típusok esetén a konkrét használattól függően vagy tömböt, vagy láncolt listát alkalmazunk. Ahol előre ismert az elemek száma ott tömböt, ahol nem ismert az elemek száma, vagy gyakran változhat, ott láncolt listát alkalmazunk.
A programban egyetlen nemtriviális algoritmust használunk a mozgó egységek útkeresésére. Az A* algoritmus heurisztikus keresőalgoritmus.
Keresés során az egyes útvonalakat egy prioritási sorban tárolja. Egy útvonal prioritását az f(x)=g(x)+h(x) függvény határozza meg.
g(x) az eddig megtett út költsége, h(x) pedig a célig még hátralévő út heurisztikus becslése. Esetünkben a heurisztikus függvény a cél és az adott pozíció légvonalban mért távolsága.
Az algoritmus vázlata:
function A*(start,goal)
var closed := the empty set
var q := make_queue(path(start))
while q is not empty
var p := remove_first(q)
var x := the last node of p
if x in closed
continue
if x = goal
return p
add x to closed
foreach y in successors(p)
if y not in closed
enqueue(q, extend_path(p,y))
return failure
A program végrehajtása a programozó szempontjából szekvenciális tehát eljárások soros meghívásásával történik. Valójában a futás közben több szál is létezik (eseménykezelő, hangkezelő) , de mivel ezeket az SDL rendszer implicit módon hozza létre, ezért ugyan jó ha a programozó tud létezésükről, de a programozás során szálkezeléssel nem kell foglalkoznia.
Magyarázat
Inicializáció: memóriafoglalás, szükséges fájlok betöltése (játékállás, hangfájlok, bitmapek)
User Input: lekérdezés után annak eldöntése, hogy mely objektumra vonatkozik az esemény
Időzítés: a program adott képernyőfrissítési frekvenciával fut. Itt történik a várakozás, majd a pontos idő lekérdezése, mivel ez szükséges a játékobjektumok időzítéséhez.
Logika végrehajtása: minden egyes játékobjektum doLogic() függvénye meghívódik, melynek során az objektum viselkedésének megfelelő tevékenység végrehajtása történik.
Renderelés: a grafikus alrendszer meghívja a képernyőn jelenlévő, ezért megjelenítendő objektumok Draw() metódusát
felelőssége, feladata: hangrendszer inicializálása, hangminták betöltése lejátszása
együttműködők: az összes Crenderable leszármazott
attribútumok
Név |
Típus |
Leírás |
---|---|---|
music |
*Mix_Music |
az éppen játszott zenét tárolja |
AChunk |
*Mix_Chunk[] |
hangeffektek tömbje |
|
|
|
operációk
Név |
Argumentumok |
Működése, feladata |
---|---|---|
Csound |
() |
Konstruktor, betölti az összes effektet, meghívja a zeneválasztó metódust. Csatornákat hoz létre. |
PlayChunk
|
(int) |
Lejátszik egy effektet. |
PlayMusic |
(int) |
Lejátszik egy zenét. |
RandMusic |
() |
Callback metódus, automatikusan választ egy zenét. |
felelőssége, feladata: bázisosztály a kirajzoláshoz alapvető funkciókat biztosítja
együttműködők: az összes CRenderable leszármazott
attribútumok
Név |
Típus |
Leírás |
---|---|---|
m_Position |
SDL_Rect |
Az objektumot pozíciója a játéktéren |
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
Draw |
|
|
|
felelőssége, feladata: bázisosztály leszármazottai a játékobjektumok
együttműködők: a GameLogic alrendszer összes osztálya
attribútumok
Név |
Típus |
Leírás |
---|---|---|
Cost |
integer |
Az objektum elkészítésének költsége fűszer egységben |
Type |
integer |
Az objektum típusa |
Time |
integer |
a játék indítása óta eltelt idő másodpercben |
Sound |
CSound |
a hangosztály interfésze |
VoiceIndex |
integer |
az egység hangmintájának indexe |
See |
CGameUnit[] |
Az objektum által látott más objektumok |
IsShot |
boolean |
Jelzi, hogy az adott körben lőttek az objektumra |
Owner |
Cplayer |
Tulajdonosra mutató pointer |
Health |
integer |
Életerő |
MaxHealth |
integer |
maximális életerő |
Tile |
CTile |
tartózkodás helye |
TextureIndex |
integer |
Az objektumra jellemző textúra |
Graphic |
CGraphic |
a grafikus osztály interfésze |
operációk
Név |
Argumentumok |
Működése, feladata |
Visszatérési érték |
---|---|---|---|
Draw |
() |
Ezt meghívva a grafikus alrendszerrel együttműködve kirajzolja az objektumot |
|
DoLogic |
() |
Irányítja az objektum viselkedését |
|
Save |
(stream) |
Elmenti az objektumot a megadott streambe |
|
modifyHealth |
(integer) |
életerő módosítása |
|
SetTime |
(integer) |
a játék kezdete óta eltelt idő beállítása |
|
WhereAreYou |
() |
az objektum helye |
CTile |
felelőssége, feladata: bázisosztály a mozgó játékobjektumok közös jellemzőit fogja össze
együttműködők: a GameLogic alrendszer tagjai.
attribútumok
Név |
Típus |
Leírás |
---|---|---|
Path |
Ctile[] |
Az egység által követendő útirány |
Direction |
Integer |
A mozgás aktuális iránya |
From |
SDL_Rect |
mozgás kezdőpozíciója |
To |
SDL_Rect |
mozgás célpozíciója |
Speed |
integer |
sebesség |
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
|
|
|
|
CountPos |
() |
SDL_Rect |
aktuális pozíció számítása |
go |
(CTile) |
SDL_Rect |
lefoglalja a cél CTile-t |
leave |
(CTile) |
|
felszabadítja az elhagyott CTile-t |
felelőssége, feladata: bázisosztály a harcolni tudó objektumok közös jellemzőit fogja össze
együttműködők: a GameLogic alrendszer tagjai.
attribútumok
Név |
Típus |
Leírás |
---|---|---|
ShootNow |
CGameUnit |
támadott játékobjektum |
FirePower |
integer |
tűzerő |
Guard |
boolean |
őrségben áll: ekkor nem mozdul el |
RateOfFire |
integer |
tüzelési gyakoriság |
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
Shoot |
(CGameUnit) |
|
megadott objektum támadása |
felelőssége, feladata: bázisosztály az épületek közös jellemzőit fogja össze
együttműködők: a GameLogic alrendszer tagjai.
attribútumok
Név |
Típus |
Leírás |
---|---|---|
|
|
|
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
Destroy |
() |
|
Megsemmisítés |
Repair |
() |
|
Javítás |
Sell |
() |
|
Épület eladása |
|
|
|
|
felelőssége, feladata: a begyűjtött fűszer feldolgozása
együttműködők: CSpiceCollector, CTransporter, CSpiceSilo
attribútumok
Név |
Típus |
Leírás |
---|---|---|
Collector |
CSpiceCollector |
a hozzá tartozó fűszeres |
Transporter |
CTransporter |
a hozzá tartozó transzporter |
Silo |
CSpiceSilo |
a hozzá tartozó siló |
|
|
|
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
doLogic |
() |
|
működés biztosítása |
|
|
|
|
felelőssége, feladata: a játékteret felépítő négyzetek
együttműködők: a GameLogic alrendszer tagjai.
attribútumok
Név |
Típus |
Leírás |
---|---|---|
Unit |
CGameUnit |
A rajta tartózkodó objektum |
Position |
SDL_Rect |
Helyzet, kiterjedés |
Type |
integer |
Típus |
|
|
|
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
Reserve |
() |
boolean |
CTile lefoglalása |
Release |
() |
void |
CTile felszabadítása |
growGreen |
(int) |
void |
növényzet elhelyezése |
felelőssége, feladata: a fremenek által gyártható féreghajtó eszközök termelése
együttműködők: CFeydakin
attribútumok
Név |
Típus |
Leírás |
---|---|---|
WormDrivingTool |
integer |
rendelkezésre álló készlet |
Need |
integer |
gyártandó mennyiség |
|
|
|
|
|
|
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
CreateTool |
() |
boolean |
egy eszköz termelése |
doLogic |
() |
|
működés biztosítása |
felelőssége, feladata: a Harkonnenek által gyártható eszközök készítése
együttműködők: ?
attribútumok
Név |
Típus |
Leírás |
---|---|---|
|
|
|
|
|
|
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
doLogic |
() |
|
|
|
|
|
|
felelőssége, feladata: Minimap elérhetővé tétele
együttműködők: a GameLogic alrendszer tagjai.
attribútumok
Név |
Típus |
Leírás |
---|---|---|
count |
integer |
|
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
EnableMinimap |
() |
|
minimap engedélyezése |
DisableMinimap |
() |
|
minimap tiltása |
felelőssége, feladata: víztározó
együttműködők: CWindTrap
attribútumok
Név |
Típus |
Leírás |
---|---|---|
WaterLevel |
int |
vízszint |
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
fill |
(integer) |
|
feltöltés |
use |
(integer) |
boolean |
használat |
felelőssége, feladata: szélcsapda, vízgyűjtő
együttműködők: CReservoir
attribútumok
Név |
Típus |
Leírás |
---|---|---|
Store |
CReservoir |
itt tárolja a gyűjtött vizet |
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
doLogic |
() |
|
működés biztosítása |
AddWater |
(integer) |
|
víztározó töltés |
felelőssége, feladata: gyalogos harci egységek készítése
együttműködők: CFeydakin, CSardaukar
attribútumok
Név |
Típus |
Leírás |
---|---|---|
Need |
integer |
igényelt egységek száma |
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
doLogic |
() |
void |
működés biztosítása |
Create |
() |
boolean |
egység készítése |
felelőssége, feladata: növények készítése, kihelyezése
együttműködők: CPeasant
attribútumok
Név |
Típus |
Leírás |
---|---|---|
Need |
integer |
igényelt egységek száma |
Stock |
integer |
rendelkezésre álló egységek száma |
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
doLogic |
() |
void |
működés biztosítása |
CreatePlant |
() |
boolean |
növény készítése |
PlacePlant |
(Ctile) |
boolean |
növény kihelyezése |
CreatePeasant |
() |
void |
földművelő készítése |
felelőssége, feladata: torony, mely képes megtámadni az ellenséget
együttműködők: A GameLogic alrendszer összes osztálya
attribútumok
Név |
Típus |
Leírás |
---|---|---|
|
|
|
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
doLogic |
() |
void |
működés biztosítása |
|
|
|
|
felelőssége, feladata: fremen egységek gyógyítása
együttműködők: CPeasant, CFeydakin
attribútumok
Név |
Típus |
Leírás |
---|---|---|
rate |
integer |
gyógyítás ismétlési sebessége |
power |
integer |
gyógyítás során átadott életerő |
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
doLogic |
() |
void |
működés biztosítása |
Heal |
(CGameUnit) |
boolean |
gyógyítás |
felelőssége, feladata: fűszeres szállítása hosszabb távon
együttműködők: CSpiceCollector, CSpiceRefinery
attribútumok
Név |
Típus |
Leírás |
---|---|---|
Collector |
CSpiceCollector |
a hozzá tartozó fűszeres |
Refinery |
CSpiceRefinery |
a hozzá tartozó feldolgozó |
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
doLogic |
() |
void |
működés biztosítása |
getCollector |
() |
void |
fűszeres felvétele |
releaseCollector |
() |
void |
fűszeres eleresztése |
felelőssége, feladata: földművelő, felelős a növényzet telepítéséért és karbantartásáért
együttműködők: COrangery
attribútumok
Név |
Típus |
Leírás |
---|---|---|
ToKeep |
CTile[] |
karbantartandó növények |
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
doLogic |
() |
void |
működés biztosítása |
Keep |
(CTile) |
void |
növény gondozása |
felelőssége, feladata: Fremen harci egység
együttműködők: CBarrack, CSardaukar, CBuilding leszármazottai
attribútumok
Név |
Típus |
Leírás |
---|---|---|
CanDriveWorm |
boolean |
féreghajtó |
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
doLogic |
() |
void |
működés biztosítása |
driveWorm |
() |
boolean |
féreghajtás |
felelőssége, feladata: Harkonnen harci egység
együttműködők: CFeydakin, CBarrack, CBuilding leszármazottai
attribútumok
Név |
Típus |
Leírás |
---|---|---|
|
|
|
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
doLogic |
() |
void |
működés biztosítása |
|
|
|
|
felelőssége, feladata: homokféreg
együttműködők: CMovingUnit leszármazottai
attribútumok
Név |
Típus |
Leírás |
---|---|---|
Driver |
CFeydakin |
vezető |
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
doLogic |
() |
void |
működés biztosítása |
|
|
|
|
felelőssége, feladata: játéktér, CTile tároló, útkeresés, egységkeresés
együttműködők: CTile, Cgameunit leszármazottak
attribútumok
Név |
Típus |
Leírás |
---|---|---|
Tiles |
CTile[] |
A játékteret alkotó négyzetek |
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
getPath |
(CTile) |
CTile[] |
útkeresés a megadott CTile-ig |
getNearestUnit |
(integer) |
CTile |
megadott típusú legközelebbi egység helyét keresi |
felelőssége, feladata: egy játékost valósít meg
együttműködők: összes GameLogic alrendszerbeli osztály
attribútumok
Név |
Típus |
Leírás |
---|---|---|
Units |
CGameUnit[] |
a játékos objektumai |
Spice |
int |
rendelkezésre álló vízmennyiség |
Water |
int |
rendelkezésre álló fűszer mennyisége |
WhatCanBeBuilt |
int |
az aktuális játékban építhető egységek |
WhatIsBuilt |
int |
már felépített egységek |
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
doLogic |
() |
void |
működés biztosítása |
Build |
(CGameUnit) |
boolean |
építés engedélyezése |
felelőssége, feladata: központi AI stratégia megvalósítója
együttműködők: minden GameLogic alrendszerbeli osztály
attribútumok
Név |
Típus |
Leírás |
---|---|---|
|
|
|
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
doLogic |
() |
void |
működés biztosítása |
|
|
|
|
felelőssége, feladata: humán játékos speciális tulajdonságait valósítja meg
együttműködők: minden GameLogic alrendszerbeli osztály
attribútumok
Név |
Típus |
Leírás |
---|---|---|
SelectedUnit |
CGameUnit |
a kiválasztott egység |
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
doLogic |
() |
void |
működés biztosítása |
Event |
() |
void |
esemény fogadása |
felelőssége, feladata: A grafikai alrendszer főosztálya. Feladata a grafika inicializációja, a megjelenítendő objektumok kirajzolása.
együttműködők: CgameControl, CRenderable
attribútumok
Név |
Típus |
Leírás |
---|---|---|
Width |
Numerikus |
A képernyő-felbontás vízszintes mérete |
Height |
Numerikus |
A képernyő-felbontás függőleges mérete |
Bpp |
Numerikus |
A használt videómód színmélysége |
|
|
|
operációk
Név |
Argumentumok |
Működése, feladata |
---|---|---|
Init |
Nincs |
Inicializálja a grafikus alrendszert, betöltö a megfelelő grafikus adatokat |
Render |
Nincs |
Frame-enként meghívandó, az aktuális képernyőtartalom kirajzolásáért felelős metódus. |
|
|
|
felelőssége, feladata: A grafikai alrendszer egyik alosztálya. Ősosztáyként szolgál a megjeleníthető objektumok számára.
együttműködők: CGraphics
attribútumok
Név |
Típus |
Leírás |
---|---|---|
x |
Numerikus |
Az objektum bal felső sarkának x koordinátája |
y |
Numerikus |
Az objektum bal felső sarkának y koordinátája |
Width |
Numerikus |
Az objektum szélessége pixelben |
Height |
Numerikus |
Az objektm magassága pixelben |
operációk
Név |
Argumentumok |
Működése, feladata |
---|---|---|
Draw |
Célterület |
A célterületként megadott surface-re kirajzolja az objektumot |
|
|
|
felelőssége, feladata: A grafikai alrendszer egyik alosztálya.Az álláskimentés/betöltés során megjelenített ablak.
együttműködők: Cgraphics, CRenderable
attribútumok
Név |
Típus |
Leírás |
---|---|---|
FileList |
CList |
Az aktuális jegyzékben található fájlok listája |
Slider |
CSlider |
A fájllista scroll-ozására sziolgáló elem |
OK |
CButton |
A kiválasztott fájlon a művelet végrehajtása |
Cancel |
CButton |
A panel bezárása |
FileName |
CTextBox |
A fájl nevét tartalmazó mező |
operációk
Név |
Argumentumok |
Működése, feladata |
---|---|---|
Load |
FileName |
Betölti az adott nevű játékállást |
Save |
FileName |
Kimenti a megadott fájlnévvel az aktuális játékállást |
Close |
Void |
A panel bezárása |
felelőssége, feladata: A grafikai alrendszer egyik alosztálya. A játék inicializációja után megjelenítendő menü, amelyből elindíthatjuk a játékot,
együttműködők: Cgraphics, CRenderable
attribútumok
Név |
Típus |
Leírás |
---|---|---|
BStart |
CButton |
Új játék kezdése |
BLoad |
CButton |
Játékállás betöltése |
BQuit |
CButton |
Kilépés a játékból |
operációk
Név |
Argumentumok |
Működése, feladata |
---|---|---|
Start |
Void |
Új játék indítása |
Load |
Void |
A töltés fájlpanel meghívása |
Quit |
Void |
Kilépés a játékból |
felelőssége, feladata: A grafikai alrendszer egyik alosztálya. Játék közben előhozható menü, amely segítségével lementhetjük, visszatölthetjük az aktuális állást, kiléphetünk a a játékból, vagy újraindíthatjuk azt..
együttműködők: Cgraphics, CRenderable
attribútumok
Név |
Típus |
Leírás |
---|---|---|
BSave |
CButton |
Játékállás kimentése |
BLoad |
CButton |
Játékállás betöltése |
BQuit |
CButton |
Kilépés a játékból |
operációk
Név |
Argumentumok |
Működése, feladata |
---|---|---|
Save |
Void |
A mentés fájlpanel meghívása |
Load |
Void |
A töltés fájlpanel meghívása |
Quit |
Void |
Kilépés a játékból |
felelőssége, feladata: A grafikai alrendszer egyik alosztálya. A játék közben a felhasználó számára biztosít egy felületet, ami segítségével parancsokat, utasításokat tud kiadni a játék egységeinek, irányíthatja a játékot..
együttműködők: Cgraphics, CRenderable
attribútumok
Név |
Típus |
Leírás |
---|---|---|
Controlelemek |
Láncolt lista |
A panelon szereplő menüpontok láncolt listája |
|
|
|
operációk
Név |
Argumentumok |
Működése, feladata |
---|---|---|
|
|
|
felelőssége, feladata: A grafikai alrendszer egyik alosztálya. A játék közben a játékos számára egy ablakon belül a nyersanyagok mennyiségéről ad tájékoztatást.
együttműködők: Cgraphics, CRenderable
attribútumok
Név |
Típus |
Leírás |
---|---|---|
Controlelemek |
Láncolt lista |
A panelon szereplő menüpontok láncolt listája |
|
|
|
felelőssége, feladata: felhasználói események lekérdezése
együttműködők: CGameControl
attribútumok
Név |
Típus |
Leírás |
---|---|---|
Event |
SDL_Event |
az SDL event alrendszer adatstruktúrája |
operációk
Név |
Argumentumok |
Visszatérési érték |
Működése, feladata |
---|---|---|---|
getMessage |
() |
Event |
esemény lekérdezése |
|
|
|
|