Csoport neve: nullpointer

Feladat sorszáma: 6.

Feladat címe: Stratégiai játék








Analízis modell





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-04-15



Történet


Dátum

Verzió

Leírás

Szerző

2006.04.15.

0.5

Előzetes verzió

Bikki Balázs

Majoros Zoltán

Bereczki Dániel









Tartalomjegyzék

  1. 1 Bevezetés

  2. 2 Kezdeti osztálydiagram

2.1 Osztálydiagram

2.2 Osztályok felsorolása

  1. 3 Alrendszerek

3.1 Grafikus alrendszer

3.1.1 Osztályai

3.2 Sound alrendszer

3.2.1 Osztályai

3.3 UserInput alrendszer

3.3.1 Osztályai

3.4 GameLogic alrendszer

3.4.1 Osztályai



1 Bevezetés



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!"



2 Kezdeti osztálydiagram

2.1 Osztálydiagram




2.2 Osztályok felsorolása



CInput

Eseménykezelő osztály ha parancsot kap lekérdezi a kapott eseményeket az SDL_Event rendszeren keresztül.



CRenderable

Bázisosztály, melyből az összes képernyőn megjeleníthető, renderelhető osztály származik. Tárolja az osztály helyét a képernyőn, és felelős a megjelenítésért.



CGraphics

A játék vizuális megjelenítéséért felelős osztály. Tartalmazza a legfontosabb grafikai adatszerkezeteket, algoritmusokat. Inicializálja a grafikai elemeket.

CFilePanel

Megjelenít egy fájl panelt, melyben directory struktúra jelenik meg. Felelős a viselkedéséért. Kiválasztható egy fájl.



CMainMenu

A játék inicializációja után megjelenítendő menü, amelyből elindíthatjuk a játékot, megváltoztathatjuk a beállításokat, vagy kiléphetünk az operációs rendszerbe.



CGameMenu

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.



CControlPanel

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.



CGameUnit

Ősosztály, melyből származik az összes játékobjektum. Tartalmazza ezek közös tulajdonságait, viselkedését.



CFixedUnit

Ősosztály, a nem mozgatható játékobjektumok őse. Tartalmazza közös tulajdonságaikat, viselkedésüket.



CMovingUnit

A mozgatható játékobjektumok őse. Felelős a megjelenítés helyének számításáért.



CBuilding

Az épület játékobjektumok őse. Közös tulajdonságaik, viselkedésük.



CSound

Feladata a hangrendszer inicializációja. Effektek, zenék lejátszása. Hang betöltése. Hangerő szabályozása.



CPlayer

Az egyes játékosok tulajdonságait tartalmazza.



CTile

A játéktér építőelemei.



CGameField

Tartalmazza a CTile-okat, szolgáltatásokat nyújt a játékobjektumoknak.



CGameLogic

Felügyeli a játékmenetet. Felelős a betöltésért, mentésért. Hozzá jutnak el a felhasználó által küldött események.



CResources

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.

3 Alrendszerek




3.1 Grafikus alrendszer

Felelős a megjelenítésért, ezen belül a textúrák betöltéséért, a játékobjektumok kirajzolásáért.

3.1.1 Osztályai



CResources

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.



CRenderable

Bázisosztály, melyből az összes képernyőn megjeleníthető, renderelhető osztály származik. Tárolja az osztály helyét a képernyőn, és felelős a megjelenítésért.



CGraphics

A játék vizuális megjelenítéséért felelős osztály. Tartalmazza a legfontosabb grafikai adatszerkezeteket, algoritmusokat. Inicializálja a grafikai elemeket.

CFilePanel

Megjelenít egy fájl panelt, melyben directory struktúra jelenik meg. Felelős a viselkedéséért. Kiválasztható egy fájl.



CMainMenu

A játék inicializációja után megjelenítendő menü, amelyből elindíthatjuk a játékot, megváltoztathatjuk a beállításokat, vagy kiléphetünk az operációs rendszerbe.



CGameMenu

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.



CControlPanel

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.



3.2 Sound alrendszer

Felelős a hanghatásokért, hangfájlok betöltéséért, zene és hangeffektek lejátszásáért.



3.2.1 Osztályai



CSound

Feladata a hangrendszer inicializációja. Effektek, zenék lejátszása. Hang betöltése. Hangerő szabályozása.



3.3 UserInput alrendszer

A felhasználói események beolvasása.



3.3.1 Osztályai



CInput

Eseménykezelő osztály ha parancsot kap lekérdezi a kapott eseményeket az SDL_Event rendszeren keresztül.



3.4 GameLogic alrendszer

Felelős a játék logikájának végrehajtásáért, az események lekezeléséért, és a játék futásának felügyeletéért.



3.4.1 Osztályai



CGameUnit

Ősosztály, melyből származik az összes játékobjektum. Tartalmazza ezek közös tulajdonságait, viselkedését.



CFixedUnit

Ősosztály, a nem mozgatható játékobjektumok őse. Tartalmazza közös tulajdonságaikat, viselkedésüket.



CMovingUnit

A mozgatható játékobjektumok őse. Felelős a megjelenítés helyének számításáért.



CBuilding

Az épület játékobjektumok őse. Közös tulajdonságaik, viselkedésük.



CSound

Feladata a hangrendszer inicializációja. Effektek, zenék lejátszása. Hang betöltése. Hangerő szabályozása.



CPlayer

Az egyes játékosok tulajdonságait tartalmazza.



CTile

A játéktér építőelemei.



CGameField

Tartalmazza a CTile-okat, szolgáltatásokat nyújt a játékobjektumoknak.



CGameLogic

Felügyeli a játékmenetet. Felelős a betöltésért, mentésért. Hozzá jutnak el a felhasználó által küldött események.



SourceForge.net Logo