Jokoaren kodea 11 klase desberdinetan banatzen da. Klase bakoitzak jokoaren atal batez arduratzen da. Klaseak honako hauek dira:
CApp Juego;
CFuente FBerlin, FCalibri, FEras, FFranklin, FShowcard, FTrebuchet;
CLenguaje Traduccion;
CIdioma Idioma;
CInicio Inicio;
CJugar Principal;
CRecuento Recuento;
CBotones Botones;
CContador Contador;
CPanel Panel;
CRuleta Ruleta;
Ikus daitekeenez, 16 objektu erabiltzen dira, esparru orokor batean deklaratuta. Klase bakoitza bere goiburu fitxategian definitzen da, .h luzapenduna, eta izen berdineko .cpp fitxategi batean inplementatuta dago. Klaseek “Common.h” fitxategia dute denen artean. Bertan, konstante orokorrak eta preprozesadore aginduak adierazten dira, esate baterako:
#define BOT_YTEXTO 492
#define JUG_VOCAL 100
#define LANG_ENTRADAS 37
#include
#include
#include
typedef unsigned short int SInt;
#include "Main.h"
Jokoaren klaserik konplexuenak hiru dira: CApp, CFuente eta CLenguaje.
Lehenik eta behin, CAppek leihoa sortu, bereizmena ezarri eta baliabideak kargatzen ditu: irudiak, soinuak... Horretarako, SDL liburutegia erabiltzen da. Gainera, SDL_image eta SDL_mixer hedapenak erabiltzen dira baliabideak ireki eta memorian gordetzeko.
Ondoren, jokoaren begizta nagusia hasten da. Begizta 50 aldiz exekutatzen da segundo bakoitzeko, hau da, 50 fotograma sortzen dira segundoko. Begizta honako hau da:
// Begizta irteerako seinalea jaso arte
while( !m_bTerminar )
{
m_iTicksInicial = SDL_GetTicks();
// Arratoi eta teklatu bidezko sarrera irakurri
LeerEntrada();
if( m_bPausa ) {
// Pausatu minimizatuta badago
#ifdef __WIN32__
WaitMessage();
#elif __LINUX__
while( !XPending( m_wmWindow.info.x11.display ) )
{
SDL_Delay( 200 );
}
#endif
m_iTicksPerdidos = SDL_GetTicks() - m_iTicksInicial;
} else {
// Errendatu
Renderizar();
}
m_iTicksFinal = SDL_GetTicks();
// Frameratea kontrolatu
ControlFPS();
}
Terminar();
Begiztan egiten diren lanak hauek dira: arratoi eta teklatuaren bidez bidaltzen diren seinaleak irakurri eta prozesatu LeerEntradan, fotograma sortu eta pantailan erakutsi Renderizaren, eta 50 fotogramen muga ezarri ControlFPSen. Arratoi eta teklatuaren sarrerak prozesatu eta fotogramak errendatzea gainerako klaseei agintzen zaie.
Jokotik irteteko seinale bat iristen denean, normalean erabiltzaileak irteteko botoia sakatu duelako, begizta bukatzen da eta memoria garbitzeko funtzioak hasten dira. Funtzio hauen helburua baliabideak ixtea da, eta horretarako berriz ere SDL erabili behar da.
Aipatu dugunez, gainerako klaseak kargatu, errendatu eta memoria askatu egiten dute. Bakoitzak jokoaren elementu bat kudeatzen du, hala nola, CBotonesek botoiak kontrolatzen ditu eta CRuletak erruleta, markagailuak eta puntuazioa kontrolatzen ditu. Gehienetan klaseek funtzio bereziak dituzte zeregin berezientzako, teklatu eta arratoi bidezko sarrera aproposa jasotzen denan deitutakoak: panelaren letrak erakutsi, partida berria hasi, soinuak erreproduzitu, etab.
Jokoa hizkuntza aukerarekin hasten da:
1. irudia
Behin erabili nahi dugun hizkuntza hautatuta, menu nagusia erakusten zaigu, non jokalari kopurua aukeratu edo jokotik irten dezakegun.
2. irudia.
Jokatzeko botoia sakatzerakoan, jokoaren oinarrizko elementuak erakusten zaizkigu: panela, pista, erruleta, letrak, botoiak, markagailuak, mezuak, etab. Momentu honetan, lau aukera dauzkagu: erruletari eragin, bokala erosi, panela ebatzi edo jokotik irten.
3. irudia.
Erruletak bira egingo du eta ausaz erabakitako lauki batean geldituko da. Laukiak zenbaki bat badu, kontsonante bat hautatu behar da. Laukiak dioen kantitatea, kontsonantea panelean dagoen hainbat aldiz biderkatuta, markagailura gehituko da (Ikus 4. irudia). Laukiak “porrota” edota “txanda galduta” esango balu, ez legoke kontsonantea eskatzeko eskubiderik eta hurrengo jokalariaren txanda izango litzateke (Ikus 5. irudia).
Bokal bat erosi daiteke erruletari eragin baino lehen edo kontsonantea hautatu ondoren. Bokal bakoitzak 100 eguzki kostatzen du (eguzkiak jokoaren txanpona dira) (Ikus 6. irudia).
Aurreko edozein egoeratan, hautatutako letra panelean ez balego, txanda galduko litzateke.
4. irudia. Eragin ondoren, erruletak zenbaki bat dio.
5. irudia. Eragin ondoren, erruletak “txanda galduta” dio.
6. irudia. Bokal bat erosten.
Panelaren erantzuna badakigunean, ebazteko unea da. Ebatzi botoia sakatuz gero, ez dago atzera joaterik, ebaztea ezin da ezeztatu (Ikus 7. irudia). Panela osatzen duten letrak aukeratu behar dira banan-banan, panel osoa agertu arte. Panelean ez dagoen letraren bat aukeratzen bada, okertzat hartzen da eta gaizki ebatzi duen jokalariak ezin du hurrengo panela jokatu (Ikus 8. irudia). Panel guztia behar bezala ebatziz gero, jokalariak markagailuan duen kantitatea bere puntuazio orokorrera gehitzen da (Ikus 9. irudia). Azpimarratu behar da ebazten duen jokalariaren puntuazioa bakarrik kontutan hartzen dela, gainerako jokalariek ez dute ezer irabazten.
Edozein unetan partida bukatzea erabaki daiteke. Irtetea berretsi behar da, botoia nahi gabe sakatuz gero partida bukatu ez dadin. Behin irten nahi dugula egiaztatuta, puntuazio orokorra erakusten da.
8 segundoko denbora dago azaldu diren aukeratako bat edo letraren bat hautatzeko. Segundo hauek agortuko balira, automatikoki txanda galduko litzateke. Behe-ezkerrean kokatutako kontagailuak zerbait erabakitzeko gelditzen den denbora adierazten du (Ikus 10. irudia).
7. irudia. Panela ebazteko unea.
8. irudia. Panela okerki ebatzita.
9. irudia. Panela zuzenki ebatzita.
10. irudia. Erabakitzeko denboraren kontagailua.
Azkenik, puntuazio orokorra ikusteko momentua iristen da. Jokalari bakoitzak ebatzitako panelak eta lortutako eguzkiak erakusten dira. Irabazlea eguzki gehiago lortu dituena izango da, eta berdinketa kasuan, panel gehiago ebatzi dituena. Berdinketa bikoitza badago edo inork ez badu panelik ebatzi, ez dago irabazlerik.
11. irudia.
Botoia sakatzerakoan, menu nagusira itzultzen gara, berriz jokatu edo jokotik irteteko.
Nahiz eta kutsagarri diren zenbait elementu murrizteko proiektuak dauden, ez dira nahikoak edo ez lirateke aproposak izango, arazoa ezin baita errotik akabatu. Berotegi efektuko gasak deuseztatzea beste arazo mota batzuk sortuko lituzke, esaterako, distira globala.
Irtenbiderik onena bizitzarako onuragarria den oreka aurkitzea da, kutsagarria ez den baina bete beharreko funtzioak egiteko gai den gas kantitatea mantentzea. Ez dago konponbide zehatzik, aldaketa klimatikoa arazo globala baita, baina badaude aldaketa klimatikoa gelditzen laguntzeko hartu ditzakegun hainbat neurri, bai orokorrak, bai banakakoak.
Konponbide orokorrak
Irtenbide hauetan gobernuek parte hartu behar dute, lege, kontrol edota ikerketen bidez:
Banakako konponbideak
Hauek dira norberak bere etxean hartu ditzaken neurriak, bideojokoan proposatzen direnak:
Bideojokoa edota iturburu-kodea deskargatzeko eta zure ordenagailuan jolasteko aukera duzu.
Egin klik hurrengo irudian jokoa deskargatzeko. WinZIP edo antzeko programaren bat beharko duzu jokoa deskonprimitzeko.
Windows-en erabiltzaile ez bazara, iturburu-kodea deskargatu eta zuk zeuk konpilatu beharko duzu. Konpilatzeko argibideak fitxategian bertan daude, baina ez da "Makefile"-rik erantsi.
Ongi ibili!
Copyright © 2011 Elhuyar Fundazioa | Lege-oharra