Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Mobile.de ofera imprumut de bani ...

problema test grila

Digi24 a disparut de pe TV Lg

Drept de proprietate intelectuala...
 Jante noi shitbox

Trinitas TV 4K

Dacia 1316 cu 6 usi ...

Frecventa modificata radio
 Un nou pericol pt batrani

Ar trebuii sa vindem imobiliarele...

Dupa renuntarea la aparat dentar

pelerinaj in Balcik
 Noul format Jpegli iși propu...

Dade, dade

Probleme accesare nr test telefon

Parola la lock screen
 

Configurari

- - - - -
  • Please log in to reply
8 replies to this topic

#1
yoshumi

yoshumi

    Junior Member

  • Grup: Members
  • Posts: 151
  • Înscris: 27.02.2009
Eu lucrez cu PHP si am decis ca e momentul sa invat si sa aprofundez mai mult pe partea de programare.
Am facut un mic joc in C++ luat de aici ( http://www.cplusplus...articles/12974/ Dungeon Crawl ).

Nu sunt sigur cum sa iau dimensiunile hartii in alte clase, am nevoie pentru miscarea caracterului.
M-am gandit in felul urmator: Creez o clasa Config in care pun toate setarile de care am nevoie si o folosesc in celelate clase.
E bine in acest fel ?
class Config {
  ...
}
class Player {
  ...
  private:
	Config config;
}



#2
MooF2010

MooF2010

    Senior Member

  • Grup: Senior Members
  • Posts: 5,337
  • Înscris: 24.05.2010
daca php nu ti se pare programare nu are rost.

#3
yoshumi

yoshumi

    Junior Member

  • Grup: Members
  • Posts: 151
  • Înscris: 27.02.2009
Nu am zis asta, am pus o intrebare pentru ca inca invat si nu stiu cum sa abordez problema asta in C++. In PHP as pune in clasa de baza o referinta la obiectul config.
Am cautat pe forum-uri si am citit. Unele zic sa foloseasca Singleton, altele sa se faca obiectul global.
Asta e motivul pentru care intreb.

#4
trackback

trackback

    Active Member

  • Grup: Members
  • Posts: 1,394
  • Înscris: 04.08.2011
Problema nu tine de PHP sau de C++, o poti aborda la fel indiferent de limbaj.
Poti folosi singleton, sau mai simplu poti salva configurarile in proprietati statice ale clasei Config.

#5
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,238
  • Înscris: 24.02.2007
N-ai de ce sa ti o copie a instantei de config in fiecare player.

#6
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
http://www.cplusplus...articles/12974/

Nu merge linkul

main() trebuie sa arate de genul:

int main(void) {
  DungeonGame *game = new DungeonGame(std::cin, std::cout);
  int status = game->run();
  delete game;
  return status;
}


Ce parametri primeste constructorul sau metoda run() depinde de cerintele functionale ale jocului, dar daca main() are mai multe linii de atat, codul tau nu e C++ curat, orientat pe obiect.

Si intre noi fie vorba, cam la fel e si in php: daca index.php e mai complicat decat setarea autoloaderului si "pornirea aplicatiei" prin apelarea unei metode run(), atunci nu e implementat corect in OOP.

Din moment ce ai aceasta dilema in C++, suspectez ca nu stapanesti OOP nici in PHP, caci paradigma OOP e aceeasi, "regulile jocului" sunt aceleasi.

View Posttrackback, on 18 septembrie 2014 - 17:57, said:

Poti folosi singleton, sau mai simplu poti salva configurarile in proprietati statice ale clasei Config.
Atat singleton, cat si orice inseamna "static" (cu exceptia constantelor) sunt practici proaste in OOP.

#7
yoshumi

yoshumi

    Junior Member

  • Grup: Members
  • Posts: 151
  • Înscris: 27.02.2009
Multumesc OriginalCopy.
Nu stapanesc in totalitate OOP dar vreau sa invat.
Am sa iau in considerare exemplul pus de tine si am sa continui.

Pana acum am facut ceva functional dar nu e OOP si vreau sa il fac cum trebuie.

#8
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View Postyoshumi, on 18 septembrie 2014 - 19:43, said:

Nu stapanesc in totalitate OOP dar vreau sa invat.
Am sa iau in considerare exemplul pus de tine si am sa continui.

Pana acum am facut ceva functional dar nu e OOP si vreau sa il fac cum trebuie.
Sa stii ca nu e musai sa inveti C++ ca sa practici OOP curat. Eu de exemplu am invatat OOP curat in Java, si elemente de design patterns le-am invatat si in PHP (pe langa altele).

Paradigma e aceeasi, limbajul e marginal. C++ e un limbaj puternic in productie, dar nu e unul particular de "performant" in studiu, deoarece are multe chichite (nu in sensul de "detalii", ci in sensul negativ de quircks).

Limbaje mult mai curate sunt golang sau rust (inca nu e un limbaj stabil, dar va fi pana la sfarsitul anului). Rust e ceea ce C++ ar fi trebuit sa devina cu C++14, dar nu a putut din cauza BC.

Summa summarum, daca vrei sa inveti OOP, poti sa ramai la PHP.

Intr-un sistem OOP bine gandit, "urmatorul pas" in extinderea codului vine de la sine, iti dai seama de el in mod natural, d-aia ti-am dat doar inceputul. Parametrizarea cu istream si ostream e importanta.

#9
yoshumi

yoshumi

    Junior Member

  • Grup: Members
  • Posts: 151
  • Înscris: 27.02.2009
Nu am ales C++ ca sa invat OOP, stiu ca pot face asta si in PHP.
Am ales C++ pentru ca de ceva timp doresc sa il invat pentru a-l folosi in situatii viitoare.

Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate