JeuWeb - Crée ton jeu par navigateur
[RESOLU]fonction de verification (si une action a deja ete faite) - 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 : [RESOLU]fonction de verification (si une action a deja ete faite) (/showthread.php?tid=2280)



[RESOLU]fonction de verification (si une action a deja ete faite) - fenix - 14-01-2008

bonjour à tous
(dsl pour le titre je sais jamais quoi mettre exactement)

bon voila j'ai rajouté un système de boss à mon jeu qui marche presque bien
le seul problème est que je n'arrive pas a trouver un système par pas que l'on puisse les combattre deux fois si l'on gagne.
il y a deja un code qui si l'on gagne rajoute l'id du boss dans les champ du joueur.

le code que j'utilise pour déclencher le combat est le suivant
Code PHP :
<?php 
$query
= sprintf("SELECT * FROM {{table}} WHERE longitude = %d AND latitude = %d;", $userrow['longitude'], $userrow['latitude']);
$recherche = doquery($query, "boss");
$boss = mysql_fetch_array($recherche);
if (
$boss['latitude'] == $userrow['latitude'] && $boss['longitude'] == $userrow['longitude']) {


$action = "currentaction='En combat Vs boss', currentfight='1',";}


}

j'avais tente comme ça mais ça marche pas
Code PHP :
<?php 
$query
= sprintf("SELECT * FROM {{table}} WHERE longitude = %d AND latitude = %d;", $userrow['longitude'], $userrow['latitude']);
$recherche = doquery($query, "boss");
$boss = mysql_fetch_array($recherche);
if (
$boss['latitude'] == $userrow['latitude'] && $boss['longitude'] == $userrow['longitude']) {
$bossfight = explode(",",$userrow["boss"]);
$fait=0;
if(
ereg($boss["id"],$userrow["boss"])) { $action = "currentaction='En exploration',"; $fait=1;}
else{
$action = "currentaction='En combat Vs boss', currentfight='1',";}


}

Merci d'avance


RE: fonction de verification (si une action a deja ete faite) - Sephi-Chan - 14-01-2008

Tu peux créer une table Player_killed_Boss qui contient l'id du joueur et du boss qu'il a tué. Comme ça, c'est simple de savoir qui ne peut plus combattre quel boss. Smile


Sephi-Chan


RE: fonction de verification (si une action a deja ete faite) - fenix - 14-01-2008

sa fait une table de plus mais ça devrai marcher ^ ^

Merci


RE: fonction de verification (si une action a deja ete faite) - Sephi-Chan - 14-01-2008

Utiliser plein de tables n'est pas grave du tout, surtout si ça empêche de faire une usine à gaz. D'autant plus qu'en stockant 2 nombres, tu occupes... 6 octets maximum (en prenant 2 champs MEDIUMINT UNSIGNED), c'est rien ! Smile

Je t'en prie, si la solution te convient, n'oublie pas de mettre [Résolu] dans le titre du sujet.


Sephi-Chan


RE: fonction de verification (si une action a deja ete faite) - phenix - 14-01-2008

Sinon, même si sa n'a rien de technique, je te conseil de faire une table pour y stocker des "titres" que le joueur gagnerais après avoir vaincu le boss. Cela permettrais de tester qui a vaincu quelle bosse, mais aussi de l'afficher.

Par exemple, si un joueur tu un boss dragon, tu lui donne le titre de "Tueur de Wirms", sa fait toujours plaisir au joueur et sa te permet de garder un historique des bosses Wink

Phenix, l'idée qui tue :glace:


RE: fonction de verification (si une action a deja ete faite) - uriak - 14-01-2008

Citation :Utiliser plein de tables n'est pas grave du tout, surtout si ça empêche de faire une usine à gaz.

+1 Pour mon projet il y a pas mal d'endroits où je suis tenté de stocker de manière "astucieuses" des données en nombre variables dans des tables : mais après réflexion, il vaut mieux faire une table de liaison, dans quasiment tous les cas.

Par ex, les compétences, qui vont appartenir à plusieurs grande familles. Avec un enum qui dicte qui appartient à quoi, il faut aussi prévoir un moyen de filer les données aux fonctions qui vont les gérer. Et pour ça, il vaut mieux rajouter une table par famille de fonction, au lieu de jongler avec un format bricolé "universel".


RE: fonction de verification (si une action a deja ete faite) - Mysterarts - 14-01-2008

Tout à fait, on finis toujours par ce mordre les doigts de toutes façon quand on fait des tables "bricolage"... J'en sais quelques choses : mon premier projet réduit en poussière à cause de ça...

C'est marrant, j'ai cru que fenix se répondais à lui même, mais non, c'était phenix...

Mysterarts, bon, alors ce tag ? Bon, je le mets :p


RE: [RESOLU]fonction de verification (si une action a deja ete faite) - fenix - 14-01-2008

oki ^ ^ donc mieux vaut plusieurs tables qui marchent que une ^ ^
sinon l'idee des titres est pas mal j'ai deja ça pour les monstres de base mais sa peut valoir le coup
Merci beaucoup

a le resolu est deja mi