Pálfy János Szakközépiskola, Szolnok
TETRIX Játékszerkesztő
Szakdolgozat
2002
Árvai Zoltán
[email protected] Számítástechnikai Programozó képzés OKJ 54 4641 04 Konzulens: Szlankó Tibor
Árvai Zoltán
Tetrix játékszerkesztő program
Nyilatkozat Alulírott Árvai Zoltán Kijelentem, hogy a Tetrix játékszerkesztő című szakdolgozat önálló szellemi termék.
……………………… aláírás
2
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
Tartalomjegyzék NYILATKOZAT.......................................................................................................................................... 2 TARTALOMJEGYZÉK.............................................................................................................................. 3 BEVEZETŐ.................................................................................................................................................. 5 A SZÁMÍTÓGÉPEK TÖRTÉNETE ..............................................................................................................................5 JÁTÉK ÉS A SZÁMÍTÓGÉPEK................................................................................................................................. 6 FELHASZNÁLÓI DOKUMENTÁCIÓ..................................................................................................... 7 HARDVER- ÉS SZOFTVERIGÉNYEK......................................................................................................................... 7 TELEPÍTÉSI ÚTMUTATÓ....................................................................................................................................... 7 A PROGRAM FUTTATÁSA......................................................................................................................................8 A PROGRAM KEZELÉSE / MENÜSZERKEZET............................................................................................................. 8 JÁTÉK BETÖLTÉSE................................................................................................................................................ 9 JÁTÉK-SZERKESZTŐ............................................................................................................................................ 10 ÚJ JÁTÉK LÉTREHOZÁSA......................................................................................................................................10 MEGLÉVŐ JÁTÉK TÖRLÉSE...................................................................................................................................12 BEÁLLÍTÁSOK................................................................................................................................................... 12 SÚGÓ ............................................................................................................................................................. 13 FELADAT SPECIFIKÁCIÓ..................................................................................................................... 14 LOGIKAI VÁZLAT.............................................................................................................................................. 16 FÁJLLISTA....................................................................................................................................................... 17 A FORRÁSFÁJLOK SZEREPE................................................................................................................................ 17 TOVÁBBFEJLESZTHETŐSÉG.................................................................................................................................18 ADATSPECIFIKÁCIÓ.............................................................................................................................. 19 A LAP ÉS HLP FÁJLOK:.................................................................................................................................. 19 AZ LST FÁJLOK............................................................................................................................................... 21 AZ INF ÉS UGT FÁJLOK.................................................................................................................................. 21
3
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
A GET ÉS INI FÁJLOK ..................................................................................................................................... 22 A GAMES.DAT FELÉPÍTÉSE............................................................................................................................22 A GAMES.LST SZEREPE................................................................................................................................ 22 TESZTDOKUMENTÁCIÓ....................................................................................................................... 23 TESZTELÉSI MÓDSZEREK ................................................................................................................................... 23 FUNKCIÓK TESZTJE...........................................................................................................................................24 FELHASZNÁLT IRODALOM................................................................................................................. 30 MELLÉKLETEK FORRÁSKÓD
4
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
Bevezető A számítógépek története Az
emberiség
régóta
arra
törekszik,
hogy
a
lehető
legkevesebb erő- és időráfordítással legyen képes elérni céljait. Megpróbálja a feladatait gépesíteni, automatizálni. Ennek legjobb példája
maga
a
számítógép,
melyet
a
kutatók
folyamatosan
fejlesztenek, újabb tulajdonságokkal ruháznak fel. Az
első
generáció
képviselője
az
ENIAC
volt.
1946-ban
építették 18000 elektroncső, 10000 kondenzátor, 6000 kapcsoló és 1500 relé felhasználásával. Az akkori technológia csúcsa volt a maga 30 tonnájával és a tornateremnyi méretével. A
második
Tranzisztort
generációs
alkalmaztak
gépek
a
1958-ban
jelentek
megbízhatatlanabb
meg.
elektroncsövek
kiváltására és bevezették a ferritgyűrűs memóriát. Háttértárként mágnesszalagot, majd mágneslemezt használtak. A sebességük 50100000 másodpercenkénti művelet volt. Térfogatuk kevesebb volt 1 köbméternél. Programozásuk FORTRAN nyelven történt. 1965-ben jelentek meg a harmadik generációs gépek. Ezekben már integrált áramköri elemeket alkalmaztak. Memóriájuk alkalmas volt 16 majd 64 bites adatok tárolására. Sebességük 1 millió művelet másodpercenként. Programozási nyelvük az ALGOL. (Ez a nyelv volt a később kifejlesztett PASCAL nyelv alapja.) A
negyedik
jellemző.
Az
első
tartalmaztak, ma memória
és
számítógép
a
generációs
gépekre
képviselőik
már 64
bites
háttérkapacitás
akár
3000
4
nagyfokú
bites
integráltság
processzort
(1971)
processzorokat is gyártanak. is
millió
a
egyre
műveletet
nő. is
Egy
mai
képes
A
átlagos
elvégezni
másodpercenként. Az ötödik generációs jövőbeli gépek, lehet, hogy fehérjevagy
fény
alapon
fognak
működni,
mesterséges
intelligenciával
fognak rendelkezni.
5
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
Játék és a számítógépek A
korai
számítógépek
hatalmasak
és
drágák
voltak
az
egyéni
felhasználók számára. Egy-egy kiszolgálógéphez kliensek százai is csatlakozhattak egyazon időben. A számítógépeket csak munkához használták. Ahogy fejlődött a számítástechnika, úgy vált egyre megfizethetőbbé a felhasználók széles táborában. Először csak a munka közi szünetekben használták egyszerű játékok futtatására. Eleinte
a
játékra
való
felhasználhatóságot
gátolták
a
számítógépek korlátai a grafika és a hangtechnika gyengesége. Ekkoriban élték fénykorukat a konzol-gépek (játékgépek), melyek a játékokra
voltak
kihegyezve
szemben
a
PC-k
sokoldalúságával.
Természetesen nem szabad megfeledkezni arról, hogy nem csak (IBM kompatibilis,
x86-os)
PC-k
tartoznak
a
számítógépek
közé.
Léteznek olyan gépek is, melyek még napjainkban is felülmúlják egyes
területeken
a
PC-k
tudását
(pl.:
Macintosh).
Később
a
személyi számítógépek is kiegészültek multimédia eszközökké. Mára az otthoni gépek is alkalmasak olyan vizuális hatások valós idejű megjelenítésére, melyeket néhány éve még csak a mozik hónapokig készülő filmjeiben voltak láthatóak.
6
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
Felhasználói dokumentáció A TETRIX játékprogram azoknak a játékosoknak készült, akik nem elégszenek meg a kapott játékokkal, hanem szeretnék azokat testre szabni, igényeikhez igazítani. A
felhasználónak
játékmodulokból összerakni.
a
lehetősége
saját
Természetesen
csalódjanak
a
van
a
elképzeléseik azok
programban,
a
TETRIX-ben szerint
felhasználók
akik
nem
található
új
sem
játékokat kell,
szeretnének
hogy
játékok
szerkesztésével foglalkozni: a TETRIX tartalmaz előre elkészített játékokat is.
Hardver- és szoftverigények -Dos kompatibilis operációs rendszer (MsDos, Win9x…) -VGA kompatibilis videokártya és monitor (640*480/256 színnel) -Egér,
és
hozzá
driver
Dos
alá
(ez
utóbbi
mellékelve
a
telepítőlemezen) -1 Megabyte szabad lemezterület -200 Mhz-es processzor ajánlott a gördülékeny működéshez, de akár egy 486-oson is működik
Telepítési útmutató -Helyezze be a telepítő lemezt a meghajtóba -Indítsa el a lemezen található INSTALL.EXE programot Az INSTALL program kéri a könyvtárat, melybe a TETRIX fog települni
(alapértelmezett:
C:\TETRIX\).
Ha
meg
szeretné
szakítani a telepítést az <ESC> billentyű lenyomásával teheti meg.
A
telepítés
indítása
az
<ENTER>
billentyű
lenyomásával
kezdődik.
7
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
A program futtatása A telepítéskor megadott (pl.: c:\TETRIX) könyvtárba lépés után a TETRIX parancs kiadásával indul a program. Mivel a program nagyrészt
egérrel
vezérelhető,
így
elengedhetetlen
az
egér
megléte és az egér driver betöltése. Amennyiben nem rendelkezik Dos
operációs
rendszer
telepítőlemezen
mouse.com
alá néven
készült
egér
lévőt
driverrel
használhatja.
(Ez
a a
figyelmeztetés Windows rendszer Dos ablakában való futtatáskor figyelmen
kívül
hagyható,
ott
ugyanis
nincs
szükség
külön
driverre.) A
program
nem
tartalmaz
nehézségi
szinteket,
a
játékidő
teltével folyamatosan gyorsul a játékmenet. A program használatát helyzet érzékeny súgó segíti, melyet a SÚGÓ gombra kattintással lehet indítani.
A program kezelése / menüszerkezet Indítás után először egy bevezető animáció látható, amely egy billentyű leütésével át is ugorható. Ezután jelenik meg a Főmenü:
JÁTÉK BETÖLTÉSE: Itt lehet játszani az elkészített játékokkal. JÁTÉK-SZERKESZTŐ: Készíthetünk saját játékokat. BEÁLLÍTÁSOK: program kezelőfelületének nyelvét adhatjuk meg. 8
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
A SÚGÓRA kattintva olvasható ismertető a program kezeléséről. A KILÉPÉS gomb a program használatának befejezéshez használható.
Játék betöltése
A választódoboz (1) segítségével választhatja ki a betölteni kívánt játékot. A doboz jobb alsó és felső sarkán lévő nyilak segítségével lehet görgetni a pontok között. A szövegdobozban (2) további információ jelenhet meg az adott játékról. Az OK gombra kattintva indul a játék. A játék az <ESC> gomb segítségével szakítható meg. Amennyiben a játék során annyi pontot szerez, hogy bekerül az első 10 közé, a játék kéri a nevét. Amennyiben nem kíván élni ezzel a lehetőséggel, az <ESC> gombot megnyomva átugorható.
9
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
Játék-szerkesztő
Az ÚJ JÁTÉK LÉTREHOZÁSÁ-val készíthet játékot. A
MEGLÉVŐ
JÁTÉK
TÖRLÉSÉ-vel
távolíthat
el
korábban
készült
játékot.
Új játék létrehozása
a) A játékos által irányított modul kiválasztása a választódoboz (1) segítségével. A játék-modulokról további információ jelenik meg a szövegdobozban (2), például az irányítás gombjai. Ha a TETRIS CLASSIC-ot választja, a C pont következik. 10
azbest.uw.hu
Árvai Zoltán
b) A
Tetrix játékszerkesztő program
számítógép által
ponthoz
hasonlóan.
irányított
Itt
különböző
modul kiválasztása, az OPCIÓ-kat
is
1-es
beállíthat,
melyekről bővebb információt az adott játékkal kapcsolatban, a szövegdobozban (2) kaphat. c) A játék nevének megadása d) A képernyőn való megjelenés, elhelyezkedés beállítása.
Az egér segítségével, az egyik elemre kattintva, az egér gombját lenyomva
tartva, az
egér
elmozdításával, majd a
gomb
felengedésével helyezhetők át az elemek. A pálya átméretezése a fentihez hasonló módon, a pályát jelképező téglalap bal alsó sarkán található piros négyzet segítségével végezhető. e) A játékhoz szöveges leírást készíthetünk. A befejezéshez az <ESC> gombot kell lenyomni.
11
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
Meglévő játék törlése
A
választódoboz
(1)
segítségével
kiválasztható
az
eltávolítani kívánt játék. Az OK gombra kattintással történik a törlés. A MÉGSEM gombbal lehet visszatérni a FŐMENÜBE. Ha már csak egy játék található a listán, a program nem hajtja végre a törlési műveletet.
Beállítások A
program
kezelőfelületének
nyelve
változtatható.
Magyar
vagy
Angol nyelv választató. (Az angol csak bemutató jelleggel készült, így előfordulhatnak benne értelemzavaró vagy hibás megfogalmazások!)
12
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
Súgó
A programban található helyzet érzékeny, gyors súgó indítása.
13
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
Feladat specifikáció A
TETRIX
program
Turbo
Pascal
7.0
alatt,
Dos
operációs
rendszerre készült. A programozási nyelv megválasztásában nagy szerepet játszott a benne készült forrás könnyű olvashatósága, hogy
támogatja
programba
más
az
objektumokat,
nyelven
készült
s
könnyen
eljárás
is.
beillesztető Ennek
a
legnagyobb
hasznát az egérkezelés elkészítésekor láttam. A Dos és a Pascal mellett szólt, hogy a lefordított program kis méretű és erőforrás igényű.
Míg
egy
Windows
alá
írt
program
gépigénye
már
az
operációs rendszer miatt is magas, addig Dos alatt csak a program igénye számít. Emellett alkalom nyílt kipróbálni egy-egy új vagy kevésbé ismert programozás-technikai módszert is. Ilyen például a dinamikus tömbkezelés Turbo Pascal alatt. Erre több
lehetőség is
kínálkozik
(pl.: assembly), azonban a
legegyszerűbb megoldás az, ha a beépített eljárásokat használja a program: Ehhez szükség van a határtúllépés kikapcsolására ({$R-}), s egy egyelemű tömb típus létrehozására. Ezt a típust felhasználva kell deklarálni a tömbváltozót. „type seged= array [0..0] of byte; var tomb:^seged;” Így
a
Pascal
lekezeli
az
elemek
típusát.
Az
elemek
számának
megfelelő memóriaterületet kell foglalni a Getmem eljárással és rendelkezésre áll a tömb. A cél a TETRIX megírásával egy olyan program készítése volt, amely
működése
történhet,
nem
hanem
változtatható. programban
a
csak
a
fixen
felhasználó
Emellett
a
előre
által
program
programozott
módon
"szerkeszthető"
módon
kezelőfelülete
megváltoztathatatlanul
beépítve,
sincs
hanem
a
külső
fájlokként van tárolva, így érve el egy web-böngészőhöz hasonló működést. Erre a legjobb példa a SÚGÓ, melynek kezelését teljes egészben
a
kezelőfelület
végzi.
14
A
programban,
ahol
csak
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
lehetséges az adatbevitel feladatát is ez a kezelőfelület látja el,
a
főprogram
a
tőle
kapott
értékeket
dolgozza
fel.
Természetesen kötött, hogy milyen elemeket kell tartalmaznia egyegy
menünek,
azonban
ezek
kinézete,
elhelyezkedése
bármilyen
lehet. Ennek prezentálására készült el a program angol nyelvű felülete. A nyelvet csak egy a munkakönyvtárt tartalmazó változó határozza meg. A programban a kezelőfelület egér segítségével használható. A fejlesztés során kiderült, hogy az egérkezeléssel 256 színű módban problémák vannak. Ennek az oka az, hogy az SVGA videó kártyák sokfélesége miatt a programozók egyszerűen kihagyták a kurzor kezelését 256 színű módban az egér driverekből. Hagytak azonban lehetőséget a driverhez való kapcsolódásra, mellyel a programozók maguk megírhatják a kurzorkezelést. Sajnos a Pascal grafikus utasításai ebben a formában teljesen hibásan működtek, teleszemetelik a képernyőt vagy lefagyáshoz vezettek. A probléma megkerüléseként az egér drivertől független módon kellett kezelni a kurzort. A Pascal fejlesztői környezet angol kódtáblázatot használ a grafikus
betűkészleteiben,
így
a
hiányzó
ékezetes
betűk
pótlására, magyarításra szorultak a fontok. Ezeknek a fontoknak az előnye, hogy a környezeti beállításoktól függetlenül minden számítógépen ugyanúgy jelennek meg az ékezetes betűk is. A
program
rendszerigénye
a
felhasználói
dokumentáció
fejezetben olvasható.
15
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
Logikai vázlat
Tetrix program
Játék betöltése
Választás
Játék
Játékos
Computer
modulja
modulja
Játék-szerkesztő
Új játék
Névadás
Beállítások
Játék törlése
Elrendezés
Súgó
Nyelv kiválasztás
Ismertető írása
Kilépés
Súgó oldalak
Törlendő kiválasztása, törlés
16
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
Fájllista -tetrix.exe
:a program
Games/ -games.dat
:játék adatbázis
-games.lst
:játék menüpontok
-language.ini
:nyelv konfigurációs fájl
-svga256.bgi
:Borland grafikus driver
-*.ugt
:játékleírások
Images/ -*.bmp
:a program képei
Hun/ -*.hlp
:súgófájlok
-*.lap
:kezelőfelület fájl
-*.get
:üzenetek
-*.lst
:menüfájlok
-*.inf
:információs fájlok
-*.bmp
:pont és top10 kép
Eng/*.*
:a Hun könyvtár angol megfelelöje
A forrásfájlok szerepe Main.pas: A főprogram. Ez végzi a grafikus mód inicializálását, értelmezi a kezelőfelület által visszaadott adatokat. Menuunit.pas:
A
kezelőfelület
megjelenítése.
A
kezelőfelület
hivatkozásainak kezelése. Boxs.pas: A kezelőfelületen megjelenő dobozok működése. Bmp.pas: A 16 színű, tömörítetlen Bmp képek kirajzolása. Mouse.pas: Az egér működéséért felelős unit. Utils.pas:
Az
induláskori
logo
megjelenítése,
a
programban
használt időzítő eljárás. Games.pas:
A
játékszerkesztéshez
és
futtatáshoz
szükséges
eljárások. Gmoduls.pas: A játékban található játék-modulok, eljárások. 17
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
Fontlink.pas: A programban használt betűkészleteket csatolja a program futtatható fájlához. Install.pas: A program telepítőjének forrása.
Továbbfejleszthetőség A
program
tervezése
során
fontos
szempont
volt
a
továbbfejleszthetőség, bővíthetőség. A
program
újrafordítása
nélkül
lehetséges
a
program
kezelőfelületének megváltoztatása, ehhez csak a Hun könyvtárban lévő
fájlok
szerkesztése
szükséges.
A
program
kezelőfelülete
egyszerűen bővíthető újabb nyelvekkel, ehhez egy nyelvi könyvtár (pl.: Hun\*.*) tartalmát kell lefordítani, s a meglévő nyelvek könyvtárában lévő settings.lap fájlt kell bővíteni egy gombbal, melynek értéke az új nyelv könyvtára. További
játékmodulok
hozzáadása
esetén
gmoduls.pas
-ba
beírni.
A
games.pas
elágazásokat
kell
bővíteni
az
új
azokat
célszerű
unitban
játékmoduloknak
lévő
a
case
megfelelően.
Ezen kívül csak a comp.lst és user.lst fájlokat kell bővíteni aszerint, hogy játékos vagy computer eljárásról van szó és egyegy szöveges leírófájlt létrehozni. A
program
(menuunit,boxs,bmp) változtatás moduláris
kezelőfelületét önálló
létrehozó
egységet
nélkül
felhasználhatóak
felépítés
következtében
képeznek, más
unitok s
programokban
egyszerűen
szinte is.
A
lecserélhetőek,
fejleszthetőek az eljárások (pl.: a BMP kirajzolás gyorsabbra cserélése).
18
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
Adatspecifikáció A Program által használt fájlformátumok: A LAP és HLP fájlok: A
fájl
tartalmú
soronként sor
kerül
jelentése,
értelmezésre hogy
a
a
menuunit
következő
sor
által.
parancsot
A
#
fog
tartalmazni. A parancsok a következők lehetnek (kis és nagybetű megkülönböztetve): -e : soremelés szövegigazítással, azaz az igazítás beállítása szerint balra, középre vagy jobbra kerül a kurzor. -i : szöveg igazítása. A parancshoz további sor is tartozik. Az igazítás módját megadó karakter, l jelenti a balra, c a jobbra, r pedig
a
jobbra
igazítást.
Továbbá
m
érték
az
igazítás
most
parancsnak felel meg. Ez utóbbira azért van szükség, mert az igazítás egyébként nem változtatja meg a kurzor pozícióját, ezzel is
növelve
az
elérhető
hatások
számát.
Egy
sorban
többféle
igazítást is lehet alkalmazni, így akár az is elérhető, hogy három oszlopban legyenek az oldalon található szavak. -m : margó beállítása. Két további sor is tartozik a parancshoz. Az első sor tartalma l vagy r lehet, és azt adja meg, hogy a bal vagy a jobb margót állítjuk. A következő sorban pedig az adott margó helye szerepel képpontban megadva. -c : rajzolószín beállítása. A következő sorban található a hozzá tartozó színérték. -b : háttérszín beállítása. Ehhez is tartozik még egy sor a színértékkel. Sajnos 256 színű módban nincs érezhető hatása. -b
:
betűtípus
kiválasztása.
A
hozzá
tartozó
adatsorban
egy
számérték található, amely a következő értékű lehet: 0 = Default font
(a
Dos
által
használt
betűkészlet,
ezért
nem
célszerű
alkalmazni, mert gépenként változhat az adott nyelvhez igazodva), 1 = Triplex font, 2=Small font, 3 = SansSerif font, 4 = Gothic font.
19
azbest.uw.hu
Árvai Zoltán
-s
:
Tetrix játékszerkesztő program
betűméret
segítségével.
A
beállítása segédsorban
a
Pascal
egy
1-től
SetTextStyle 10-ig
parancsa
behatárolt
érték
lehet. -S :
szintén betűméret
állítás.
Itt a Pascal
SetUserCharSize
parancs szerint. Azért van megkülönböztetve kétféle méretállítás, mert
eltérő
korlátlanul
módon
működnek.
lehet
méretet
Az
utóbbival
változtatni.
pontosabban, Ennek
szinte
segédsorában
bármilyen 0-nál nagyobb számot lehet használni. -g : gomb elhelyezése a kezelőfelületen. Ehhez a parancshoz 3 segédsor tartozik, sorrendben a következők: gomb értéke (szöveg), háttérszíne (szám, 16 esetén nincs háttere), hátér szélessége betűszámban. Ez
utóbbi azért
különösen
fontos, mert a
háttér
által fedett terület lesz érzékeny a rákattintásra, még akkor is, ha
nem
látszik
a
háttér.
A
gomb
értéke
is
hordozhat
információkat, a funkcióját tekintve: ha B –vel kezdődik az érték akkor ez biztos gomb, ha L –lel, akkor ez egy link arra a fájlra, amelynek
a
nevét
az
L
utáni
karakterek
adják.
A
linkeket
(hivatkozásokat) a program kezelőfelülete kezeli: a súgó teljes egészében így működik. -T : szövegdoboz elhelyezése. Ennek 7 darab további adatsora van: kezdeti tartalmat tároló fájl neve, a doboz bal felső sarkának x és y koordinátája, majd a jobb alsó sarok x és y koordinátája. Végül a betűszín és a háttérszín számértéke. -V : választó-doboz elhelyezése. Ennek is 7 adatsora van: bal felső
sarok
x
koordinátája,
és majd
y a
koordinátája, betű
és
a
jobb
háttérszín
alsó
sarok
számértéke,
x
és
y
végül
a
menüpontokat leíró fájl neve. Ez utóbbiról további információ található e leírás későbbi részén. -R : checkbox további 6 segédsorral: bal fölső sarok koordinátái, jobb
alsó
sarok
koordinátái,
betűszín
végül
a
háttérszín
számértéke. -u : a kurzor áthelyezése. Két adatsorában találhatók az x és y koordináták, ahova a kurzor ugrik.
20
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
-y : képkirajzoláshoz átlátszóság beállítása. Az 1 adatsora adja azt
a
számot,
amellyel
egyező
palettaszámú
szín
nem
kerül
kirajzolásra. -k : kép beillesztése. 3 adatsora van: a képfájl neve (csak 16 színű és tömörítetlen BMP lehet) és koordinátái a képernyőn. Az LST fájlok Ezek a fájlok egy-egy választó-dobozhoz tartoznak. Itt vannak letárolva a menü adatai, soronkénti feldolgozással: Az első sor a menüpontok számát határozza meg. Ezután következik a menüpont felirata, ez látszik a képernyőn. Majd a menüpont értéke következik. Ez utóbbi kettő annyiszor ismétlődik ahány pontból áll a választó-doboz. Az értékeknek akkor van szerepük, ha képernyőn
egy szövegdoboz
is
látható, ugyanis a
választó-
dobozban lépkedve a szövegdobozban megjelenik az értékhez tartozó fájl tartalma.
Az INF és UGT fájlok Ezek a fájlok normál Dos karaktertáblát használó szövegfájlok. Egy korlátozás
van csak
rájuk,
miszerint 64 kilobyte-nál
nem
lehetnek nagyobbak. Ezeket a fájlokat használja a szövegdoboz. Az UGT fájlokat maga a program generálja, ezek a szöveges leírások a JÁTÉK-SZERKESZTŐben
készíthetők,
s
méretük
kisebb,
mint
32
kilobyte kell, hogy legyen.
21
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
A GET és INI fájlok Egy
sort
tartalmazó
szövegfájlok,
melyeket
különböző
értékek
tárolására használ a program. Ezekre a különböző nyelvek miatt van szükség.
A GAMES.DAT felépítése Ez a fájl tartalmazza a kész játékokat. Lényegében egy adatbázis, amelyet a program hoz létre. A rekordjai a következő mezőkből állnak: -a játék neve, 20 karakter -a pálya bal felső sarkának koordinátái, 2*2 byte -a pálya szélessége és magassága, 2*2 byte -a Top10 tábla bal felső sarkának koordinátái, 2*2 byte -a Pont tábla bal felső sarkának koordinátái, 2*2 byte -a számítógép és a felhasználó moduljának sorszámát, 2*2 byte -tíz nevet és pontot, 10*(20+4) byte -a számítógép modul beállításai (opciók), 4 byte -a játékhoz tartozó leírásfájl nevét, 30 byte
A GAMES.LST szerepe Ez a fájl tartalmazza a játékok listáját a kezelőfelület által elérhető
formában.
A
games.lst
ugyanolyan
felépítésű,
mint
a
többi LST fájl, különlegessége abban rejlik, hogy őt a program generálja a GAMES.DAT felhasználásával.
22
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
Tesztdokumentáció Tesztelési módszerek A
program
végezhetjük. tesztelés,
tesztelését
Vizsgálhatjuk vagy
a
a
logikailag program
program
két
szövegét,
végrehajtódását,
szemszögből
ez
ez
a
statikus
a
dinamikus
a
statikus
tesztelés. A
program
teszteléssel
tesztelését
kezdeni.
összehasonlítjuk tartalmi
a
A
mindig
kódellenőrzés
program
ellenőrzés
célszerű
szövegét
sokkal
a
során
feladat
nehezebb
logikailag
leírásával.
feladat,
A
ekkor
ellentmondásokat kell keresni. A dinamikus tesztelés során a programot futtatva különböző tesztadatok
segítségével
optimális eset
az lenne,
vonunk ha
le
következtetéseket.
az összes lehetséges
Az
lehetőséget
kipróbálnánk, azonban ez kivitelezhetetlen. A
program
statikus
fejlesztése
módszert.
előfordultak
furcsa,
Erre
során
folyamatosan
szükség
volt,
megmagyarázhatatlannak
alkalmaztam
mivel tűnő
a
kezdetben
hibák.
Ilyen
hiba volt az, hogy a játéktér átméretezésével készült játékokban furcsa „adatmaradványok” jelentek meg a pályán. Mint kiderült ennek
oka
két
ciklusváltozó
felcserélése
volt
a
pálya
inicializálása kori kiürítésénél. Másik hibajelenség a program használata során az időnként előugró memória elfogyását jelző hibaüzenetek voltak. Ezek oka a memóriafoglalások utáni memória felszabadítások gyakori elhagyása volt.
23
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
Funkciók tesztje Új játék létrehozása Első eset Belépés a Játék-szerkesztőbe Új játék létrehozása -tetris classic választása -játék nevének bekérése -elrendezés -átméretezés a lehető legkisebbre -leírás készítése Második eset Új játék létrehozása -tengeralattjáró választása -mivel
nem
tetris
classicot
választottam
bejön
a
számítógép modul kiválasztása is. -Hajó kiválasztása -2 opció kijelölése -elrendezés -pálya átméretezése -leírás készítése Játék betöltése Első eset A játék megjelent a betölthető játékok közt. Játék kiválasztásakor megjelenik a hozzá tartozó leírás a szövegdobozban. Betöltés után a játék fut. A Top10 táblán a pontok értéke 0.
24
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
Játék végén, a pontok száma alapján be kell kerülni a Top10 listájába. Ennek megfelelően a program kéri a játékos nevét. Ezt megadva a következő betöltéskor 1. Helyen áll a név a Top10 táblán. Második eset Ez a játék is megjelent a betölthető játékok között. Játék kiválasztásakor a hozzátartozó leírás megjelenik. Betöltés után a játék fut. A szerkesztéskor kijelölt opciók számának megfelelően csak 2 bombát lő ki egyszerre a hajó. Mivel nem szerzek pontot, nem jelenik meg a név kérése. Meglévő játék törlése Az előbbiekben készített játékok szerepelnek a menüben. Az
első
kiválasztásakor
megjeleni
a
leírása
a
szövegdobozban. Az Ok gombra kattintva eltűnik a listáról. A második játékot kiválasztva annak is megjelenik a leírása. Az Ok gomb hatására eltűnik a listáról. A Vissza gombra kattintva visszajutok a főmenübe. A játék betöltése menüben sem szerepelnek a törölt játékok. A törlésre vonatkozó korlátozás tesztelése A
Játék
törlése
menüben
kiválasztok
egy
játékot,
majd
törlöm. Ezt annyiszor ismétlem, amíg már csak 1 játék marad. A
játék
kiválasztása
után
az
Ok
gombra
kattintva
nem
történik változás. A program nem engedi törölni az utolsó játékot.
25
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
A különböző játékmodulok párosításának tesztje Tetris Classic Az új játék létrehozásánál a Tetris Classic kiválasztása Az Ok gombra kattintva a játék nevének kérése következik. Ezután a pálya átméretezése, rendezése következik. Végül leírás készítése. A Játék betöltése alatt megjelenik az új játék. Azt kiválasztva és az Ok gombra kattintva elindul és működik. Faltörő + Téglák Új játék létrehozása lapon a faltörő kiválasztása. Az Ok gombra kattintva megjelenik a számítógép-modul kiválasztó menü. Ebből a téglák választása. 3 opció kijelölése. Az Ok gomb megnyomása után a játék nevének kérése. A pálya elrendezése. Majd leírás készítése. A játék betöltése menüjéből az új játék kiválasztása, betöltése. A játék működik. A megjelölt opciók szerint 4 sor tégla van (3+1). Lassan mozognak a téglák lefele.
26
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
Faltörő + Hajó Az Új játék menüből a Faltörő választása. A számítógép számára a Hajó kiválasztása 1 opcióval. Játék nevének megadása. A pálya elrendezése és átméretezése. Végül leírás készítése. Az új játék betöltése után helyesen működik. A hajó csak 1-et tud lőni egyszerre. Tengeralattjáró + Téglák Új játék létrehozása. A játékosnak a tengeralattjáró modul választása. Ezután kéri a számítógép moduljának kiválasztását is. Itt a téglák kiválasztása. 4 opció megjelölése. Névadás a játéknak. Pálya elrendezése. Leírás-szerkesztés. A játékot betöltve az működik. 5 Sor tégla látható. Tengeralattjáró + Hajó Új
játék
létrehozásánál
a
játékos
számára
a
tengeralattjáró
választása. Ezután a számítógép moduljának kiválasztása következik. A számítógép a Hajót irányítja. 2 opció kijelölése. Kéri a játék nevét. A pálya átméretezése, elrendezése.
27
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
Végül a játékhoz leírás készíthető. Betöltés után a játék helyesen működik. A Hajó 2-t tud egyszerre lőni. A Top10 tábla tesztelése Játék során 0 pont szerzése: -a program nem kéri be a felhasználó nevét. A Top10 tábla értékei már feltöltve, az elért pont kevesebb, mint a Top10 tizedik bejegyzése: -a program nem kér be nevet. A Top10 táblán szereplő értékek szerint az elsőnél kevesebb, a másodiknál több pont megszerzése: -a program kéri a nevet. -a név bekerült a második helyre -a
korábbi
második-kilencedik
helyezett
egyel
lejjebb
csúszik. A Top10 tábla utolsó helyezettjénél több pont megszerzése: -a program kéri a nevet. -a 10. Helyre bekerült a név. -a korábbi utolsó helyezett nem szerepel a táblán. A kezelőfelület nyelvének megváltoztatása A beállítások menüpont alatt az angol kiválasztása. Rögtön a főmenü jön be, de angol szöveggel. A
Játék-betöltés
(play
a
game)
menüponton
belül
is
angol
feliratok láthatóak. Játék után a név kérése angolul történik.
28
azbest.uw.hu
Árvai Zoltán
A
Tetrix játékszerkesztő program
Játék-szerkesztőben
(game
constructor)
angol
feliratok
láthatók. A játék törlése (delete an existing game) pont alatt is angol szöveg található. A Főmenübe visszalépve, a súgóra kattintva (help) is angol szöveg fogad. A súgó helyzetérzékenységének tesztelése A főmenüben a súgóra kattintva a súgó főmenüt ismertető része jön be. A játék betöltése oldalon a súgó aktiválása a játék betöltésével kapcsolatos súgó látható. A Játék-szerkesztő menü alatt a súgóra hatására ismertető látható játék-szerkesztő menüpontjairól. Az
Új
játék
létrehozása
pont
alatti
súgó
bemutatja
a
választóoldal felépítését. A meglévő játék törlése pont súgója tájékoztatót tart a törléssel kapcsolatban. A beállítások oldalon a súgó a nyelvek beállításáról ír.
29
azbest.uw.hu
Árvai Zoltán
Tetrix játékszerkesztő program
Felhasznált irodalom
Bődi Zoltán – Tóth József........... Számítástechnikai kisszótár Dusza Árpád....................... Turbo Pascal 6.0 az alapoktól Király Sándor........................ Programozás logikája I, II
30
azbest.uw.hu