php5 et SQLite - 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 : php5 et SQLite (/showthread.php?tid=1614) |
RE: php5 et SQLite - oualala - 21-08-2007 Ouai...Je pense que je préfère garder ce système...Car imagine que des joueurs sur mon site attendent le prochain tour de jeu.(ce qu'ils font d'ailleur) ils attendent et attendent encore.Moi je dis que c'est mieux car TOUT les joueurs sans exeptions doivent être mis à jour.Par contre avec les ids je sais on a essaié, mais c'est un peu nul vu qu'elles sont toutes différentes. Sinon un truc vient de me passer par la tête.Pourquoi ne pas faire un système que à chaques actualisation sa rajoute aux 100 premier joueurs les ressources.Ensuite on fait des ifs sa me modifiera pas l'heure mais un chiffre.Sa valeur ne sera plus 1(00)mais 2 donc sa rajoutera aux 200 autres et ainsi de suite.Sa serait mieux non?Comme ça quand le joueurs actualise il ne laggera pas.Par contre c'est miex par tranches de 500 car quand il y avait 500 joueurs sa ne laggait pas. C'est une bonne idée ou à la poubelle? RE: php5 et SQLite - joshua - 21-08-2007 je ne comprends pas ce que tu veux faire. Ton systeme actuel gache plein de ressources systeme..... RE: php5 et SQLite - pascal - 21-08-2007 oualala a écrit :Par contre avec les ids je sais on a essaié, mais c'est un peu nul vu qu'elles sont toutes différentes. les jointures se font via des id, pas via des champs de type texte. ça devrait améliorer la vitesse de ta requête. A+ Pascal RE: php5 et SQLite - oualala - 21-08-2007 Tu n'as pas compris.On faisait des tests et elles sont différentes les ids. Sinon je veux faire un système par nombre d'actualisations, par exemple il y a 2000 membres.Je fais un script qui actualise les 100 premier membres.Tu me suis? Ensuite le timestamp ne change pas.Il change quand 20 actualisations se sont faîtes.Bon je sais chaques 100 membres je dois modifier le script.Un exemple: Code PHP :
Voilà, c'est un bref résumé.En théorie sa marche.Mais en pratique...A tester. Juste une question est-ce que ma requête est juste? UPDATE membres SET les ressources à modifier WHERE pseudo='".$variable_du_pseudo."' AND id >= '".$nombre1."' AND id <= '".$nombre2."' Je veux dire le signe >= et AND c'est valable dans une requête?Mercid'avance en éspérant que tu m'aies compris. RE: php5 et SQLite - joshua - 21-08-2007 tu as ca aussi : SELECT "nom de colonne" FROM "nom de table" WHERE "nom de colonne" BETWEEN 'valeur1' AND 'valeur2' Mais ce que tu as marqué semble bon. Seulement ca ne veut plus rien dire: imagine que le joueur 17 pille le joueur 3277. Ca veut dire que les deux ne sont pas a jour. Tu ne m'as pas compris. Je t'explique: - Le joueur A se connecte. Les données sont chargées de la BDD. Il va de page en page sans ne rien faire : il ne se passe rien, on se sert du cache pour mettre a jour les données affichées. - Le joueur A construit quelque chose. Alors le calcul de mise à jour est fait. Le retrait des ressources dépensées aussi, et le tout est mis en base avec le nouveau timestamp. - Le joueur A attaque le joueur B. Le calcul de la réussite ou non de l'attaque est effectué. Imaginons que l'on sait que le joueur A vole 30% des ressources du joueur B. La valeur ancienne des ressources de B ainsi que le timestamp sont recupérés de la base, on fait le calcul pour savoir combien il aurait a cet instant, puis on en donne 30% au joueur A et le reste on le reentre en base avec le nouveau timestamp. Un mail récapitulatif est envoyé aux deux joueurs. Avec ma méthode: 4 accès en base. La tienne... C'est incalculable! RE: php5 et SQLite - oualala - 21-08-2007 Ben non, car si le joueur A n'attaque personne d'autre que B les autres ne sont pas à jour!Et c'est ça qui est important j'ai compris ce que tu voulais dire.Mais le timestamp est pour tout le jeu et pas pour tout les joueurs.Sa serait possible si ça continue à lagger.Mais je vais d'abord tester à ma maniére. Merci de ton aide RE: php5 et SQLite - joshua - 21-08-2007 Les autres seront a jour au moment ou ils en auront besoin ^^ Il te faut prévoir des timestamp locaux, c'est ce que je disais ^^ RE: php5 et SQLite - uriak - 21-08-2007 Il te faut faire une fonction Updatevalues() qui sera appellée à chaque fois qu'une action implique des ressources *le joueur regarde ses ressources : Update de ses ressources *un jouer attaque un autre : Update des ressources de la cible etc.. Peu importe qu'à un moment donné la plupart des valeurs ne soient pas à jour, si chaque action qui implique des ressources mets celles qui sont concernées à jour, cela sera transparent pour les joueurs. Une données n'a jamais besoin de préexister si tu peux la mettre à jour quand elle est utile. |