[wouso-dev] Despre nivelurile jocului

Vlad Dumitrescu vlad at dumitrescu.ro
Tue Aug 19 10:22:17 EEST 2008


--------------------------------------------------
From: "Alex Eftimie" <alex at rosedu.org>
Sent: Tuesday, August 19, 2008 9:15 AM
To: "Lista de discutii pentru USO Quest" <wouso-dev at lists.rosedu.org>
Subject: Re: [wouso-dev] Despre nivelurile jocului

> On Mon, Aug 18, 2008 at 11:26 PM, Vlad Dumitrescu <vlad at dumitrescu.ro> 
> wrote:
>> Salut,
>>
>> Am o nelămurire referitoare la codul actual și pentru că sunt multe 
>> locuri
>> unde ar trebui schimbat vă rog să mă corectați dacă îmi scapă ceva.
>>
>> În funcția getStatus din class_quest.php [1], „maxlevel" e caracteristică 
>> a
>> Quest-ului, iar „levelname" și „levelno" sunt caracteristici ale 
>> userului.
>>
>> Propun următoarele modificări:
>>    - assign direct pentru „maxlevel" în class_pages.php, având în vedere 
>>>> e condiționat doar de o constantă;
>
> Nu sunt de acord: as vrea sa "curatam" class_pages de astfel de
> assign-uri (sunt acolo tot felul de hack-uri, pentru 'weekstart' de
> exemplu). Avand in vedere ca `maxlevel' este o constanta globala (care
> se gaseste in defines), poate ar fi mai bine sa punem toate aceste
> constante intr-un array si pe acela sa-l assign-am o singura data, in
> class_pages.

Adică rămân assign-urile care se bazează pe funcții și cele care sunt doar 
constante se transformă în unul singur?

Ex: $this->assign( "const", $array_constante );

>>    - mutat funcția getStatus în class_uquser.php și schimbat numele în
>> getGameLevel (aici trebuie schimbate multe apeluri).
>
> E ok, desi getStatus statea in Class Quest deoarece avea legatura cu
> celelalte metode pe care le apela ca sa obtina acest status (nume,
> valoare).

Oricum numai getStatus apelează metodele pentru nume, limite și nivel real.
Mai sunt și prin reset_fields.php niște apeluri, dar tot ciudate pentru că 
se fac niște calcule legate de Challenge apelând metode din Quest.

>> De asemenea, pentru a soft-coda numele de niveluri [2] am procedat 
>> astfel:
>>    - getGameLevel (getStatus deocamdată) face tot (nu mai există
>> getRealLevel, getLevelName și computeLimits);
>
> Nu stiu cat de bine este sa le pui pe toate la un loc. Au fost facute
> metode separate tocmai pentru ca aveau logica diferita si astfel codul
> era mai usor de citit.

Ai dreptate, am să le separ.

>>    - numele, limitele și icon-urile (în curând) sunt setate folosind 3
>> constante în defines.php (ex:
>> define('GAME_LEVELS_NAMES','Servant,Apprentice,Acolyte');).
>
> Daca nu gresesc, poti face si: define ('GAME_LEVEL_NAMES', array
> ('Servant', 'Apprentice'....)).

În define se acceptă doar scalari. Trebuie să separ string-ul ală cu 
preg_split ca să îl fac array undeva în metoda mea.

Vlad 



More information about the wouso-dev mailing list