Szöveges szakterületi nyelv kidolgozása játéklogika leírásához

OData támogatás
Konzulens:
Dr. Mezei Gergely
Automatizálási és Alkalmazott Informatikai Tanszék

1958-ban készítették el az első sakk-számítógépet, amely egy teljes játékot le tudott játszani. Bár akkoriban a játék még csak egy érdekesség volt, amire alkalmazni lehetett a számítógépeket, mára a számítógépek fejlődésének egyik mozgatórugójává vált.

Sok számítógépes játék a való életből átvett játékokat mintázza, vagy azon alapszik. Népszerűek a kártyás játékok – gondoljunk csak az online pókerre –, a különféle szójátékok, keresztrejtvények, de a sakkhoz hasonló táblás játékoknak is megvan a követőtábora.

Néhány játék elég nagy népszerűségnek örvend világszerte, így rengeteg játékszoftver készült hozzá. Mások azonban regionálisak, vagy csak szűk körben ismertek, nem érhető el jó minőségű szoftver hozzájuk. Ezt a problémát megoldhatnánk, ha a nem hivatásos programozók és informatikus mérnökök is rögzíteni tudnák a játékok szabályait, és egy szoftver e szabályok alapján játszhatóvá tudná tenni az adott játékot. A szakdolgozatom témája egy szakterületi nyelv és egy hozzá tartozó környezet kialakítása a szabályok beviteléhez és a tényleges játékhoz. A hatékony és tömör nyelv készítéséhez a játékok egy részhalmazára, a táblás játékokra szorítkoztam.

Megterveztem egy nyelvet, amely alkalmas a táblás játékok szabályrendszereinek a leírására. A nyelvet az ANTLR keretrendszer használatával definiáltam és dolgoztam fel. A hozzá tartozó környezetet két részre osztottam: a szabályok betartását segítő értelmezőre, és a hozzá tartozó felhasználói felületekre. Az értelmező egy .NET osztálykönyvtár, az UI pedig egy WPF alapú desktop alkalmazás. Emellett készítettem egy konzolos UI-t is, amely a fejlesztést segítette. Végül, a környezet ellenőrzése végett leírtam és teszteltem néhány klasszikusnak mondható, elterjedt táblás játékot.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.