Proszę o radę czy idę w dobrym kierunku czy dobrze rozumiem ideę programowania obiektowego.
Czy zmienne sesyjne powinny być może poza klasą.
$KLASA_walka = new PLAYERvsNPC($player_id,$pc_id,$id_walki); $KLASA_walka->MielonkaPLAYERvsNPC(); class PLAYERvsNPC { // pierwsza moja klasa ;) proszę nie bić public $ID_user = null; public $ID_nps = null; public $ID_walka = null; public $PLAYER_zycie = null; public $PLAYER_atak = null; public $PLAYER_obrona = null; public $NPC_zycie = null; public $NPC_atak = null; public $PNPC_obrona = null; public $WALKA_czas_start = null; public $WALKA_czas_dalej = null; public $WALKA_tura = null; public $czas_trwania_tury = 10; // w sekundach public function __construct($ID_user, $ID_npc, $ID_walka) { $this->ID_user = $ID_user; $this->ID_npc = $ID_npc; $this->ID_walka = $ID_walka; $this->PLAYER_zycie = 100; $this->PLAYER_atak = 20; $this->PLAYER_obrona = 10; $this->NPC_zycie = 100; $this->NPC_atak = 20; $this->NPC_obrona = 10; $this->set_WALKA_tura(); } public function MielonkaPLAYERvsNPC() // sprawdzamy czy jest nowa tura i wykonujemy operacje WALKI { $this->set_WALKA_czas_start(); $_SESSION['W_'.$this->ID_walka.'_player_'.$this->ID_user.'_z'] = $this->PLAYER_zycie; $_SESSION['W_'.$this->ID_walka.'_pc_'.$this->ID_npc.'_z'] = $this->NPC_zycie; } else { $minelo_tury = $_SESSION['W_'.$this->ID_walka.'_start_dalej'] - $this->get_WALKA_czas_start(); if ($minelo_tury >= $this->czas_trwania_tury) { $this->walka_PLAYERvsNPS(); // zabieramy zycie Playerowi i NPC } $this->czas_trwania_tury = $this->czas_trwania_tury - $minelo_tury; $_SESSION['W_'.$this->ID_walka.'_player_'.$this->ID_user.'_z'] = $this->PLAYER_zycie; $_SESSION['W_'.$this->ID_walka.'_pc_'.$this->ID_npc.'_z'] = $this->NPC_zycie; } } public function walka_PLAYERvsNPS() // WALKA i odejmowanie życia { if ($NPC_sila_ataku>0) { $PLAYER_zostalo_zycia = $this->PLAYER_zycie - $NPC_sila_ataku; if ($PLAYER_zostalo_zycia>=0) $this->PLAYER_zycie = $PLAYER_zostalo_zycia; else $this->PLAYER_zycie = 0; } if ($PLAYER_sila_ataku>0) { $NPC_zostalo_zycia = $this->NPC_zycie - $PLAYER_sila_ataku; if ($NPC_zostalo_zycia>=0) $this->NPC_zycie = $NPC_zostalo_zycia; else $this->NPC_zycie = 0; } } public function set_WALKA_tura() { $this->WALKA_tura = 1; } else { $this->WALKA_tura = $_SESSION['W_'.$this->ID_walka.'_tura'] + 1; } $_SESSION['W_'.$this->ID_walka.'_tura'] = $this->WALKA_tura; } public function set_WALKA_czas_start() { $this->WALKA_czas_start = $_SESSION['W_'.$this->ID_walka.'_start']; } public function get_WALKA_tura() { return $this->WALKA_tura; } public function get_WALKA_czas_start() { return $this->WALKA_czas_start; } public function get_PLAYER_zycie() { return $this->PLAYER_zycie; } public function get_PLAYER_obrona() { return $this->PLAYER_obrona; } public function get_PLAYER_atak() { return $this->PLAYER_atak; } public function get_NPC_zycie() { return $this->NPC_zycie; } public function get_NPC_obrona() { return $this->NPC_obrona; } public function get_NPC_atak() { return $this->NPC_atak; } }