JeuWeb - Crée ton jeu par navigateur
Probléme actualisation. - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Probléme actualisation. (/showthread.php?tid=164)



Probléme actualisation. - xepos - 07-01-2011

Bonjour,

J'aurai besoin de votre aide sur un petit code POO qui me pose soucis.

Ce code permet l'actualisation de la liste des vaisseaux dèfenses en construction, celui-ci fonctionne mais jusqu'a un certain point.

Exemple: On met en construction 300 vaisseaux A (temps 30 minutes) puis 10 vaisseaux B (temps 20 minutes), si on reste connecté ya pas de soucis mais part contre si on se déconnecte, et que l'on se reconnecte 55 minutes après bah il faudra 2 actualisation de la page pour enlever les vaisseaux alors qu'il ne devrai plus être présent en construction.

[pastebin]XFpVsJ2r[/pastebin]

Merci d'avance pour votre aide,
Cordialement Xepos,


RE: Probléme actualisation. - Hideaki - 07-01-2011

Tu devrais ré-indenter ton code, cela n'est pas évident à lire XD


RE: Probléme actualisation. - xepos - 07-01-2011

(07-01-2011, 02:56 PM)Hideaki a écrit : Tu devrais ré-indenter ton code, cela n'est pas évident à lire XD

Désolé c'est à cause des balises pastebin,


RE: Probléme actualisation. - niahoo - 07-01-2011

<?php
function __CheckChantier() {
$this->Planete[$this->UtileID]['chantier'] = unserialize( $this->Planete[$this->UtileID]['chantier'] );
$this->Planete[$this->UtileID]['chantier_nombre'] = unserialize( $this->Planete[$this->UtileID]['chantier_nombre'] );
if( !empty( $this->Planete[$this->UtileID]['chantier'] ) ) {
$this->Planete[$this->UtileID]['chantier_temps'] += $this->LastUpdate[$this->UtileID];
Foreach( $this->Planete[$this->UtileID]['chantier'] as $Keys => $ID ) {
$Data = new DataConstruct( $ID, $this->Users, $this->Planete, $this->UtileID );
if( $Keys == 0 ) {
if( $this->Planete[$this->UtileID]['chantier_temps'] >= $Data->TimeSum ) {
$this->ElementConstr = floor( $this->Planete[$this->UtileID]['chantier_temps'] / $Data->TimeSum );
$this->ElementConstr = $this->ElementConstr > $this->Planete[$this->UtileID]['chantier_nombre'][$Keys] ? $this->Planete[$this->UtileID]['chantier_nombre'][$Keys] : $this->ElementConstr;
$this->Planete[$this->UtileID]['chantier_nombre'][$Keys] -= $this->ElementConstr;
$this->Planete[$this->UtileID]['chantier_temps'] -= $this->ElementConstr * $Data->TimeSum;
$this->Planete[$this->UtileID][$this->Batiment[$ID]['champ']] += $this->ElementConstr;
if( $this->Planete[$this->UtileID]['chantier_nombre'][$Keys] <= 0 ) {
array_shift( $this->Planete[$this->UtileID]['chantier'] );
array_shift( $this->Planete[$this->UtileID]['chantier_nombre'] );
}}}
$this->Upload[$this->UtileID] .= "`". $this->Batiment[$ID]['champ'] ."` = '". $this->Planete[$this->UtileID][$this->Batiment[$ID]['champ']] ."',";
}
$this->Upload[$this->UtileID] .= "`chantier` = '". serialize( $this->Planete[$this->UtileID]['chantier'] ) ."', `chantier_nombre` = '". serialize( $this->Planete[$this->UtileID]['chantier_nombre'] ) ."',";
} else {
$this->Planete[$this->UtileID]['chantier_temps'] = 0;
}
$this->Upload[$this->UtileID] .= "`chantier_temps` = '". $this->Planete[$this->UtileID]['chantier_temps'] ."',";
}

Honnêtement il manque beaucoup d'éléments pour pouvoir tester ou comprendre ce qu'il se passe.


RE: Probléme actualisation. - xepos - 07-01-2011

Vous n'auriez pas une idée ?