CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PHP/MySQL] Véritable casse tête !! :(

News jeu

Expeditions: Samurai veut révolutionner le RPG tactique avec une aventure entièrement jouable en coop

Voir
Rubisco
Rubisco
Niveau 4
24 septembre 2008 à 21:36:03

Salut. Je me suis lancé dans la réalisation d'un vaste script php, mais je bute sur un problème que je n'arrive pas à résoudre.

Mon script génère une carte, avec des cases, et des coordonnées x, y et z. Je voudrais, quand on se place sur une case, que l'on voit les autres "personnages" qui sont sur cette case. Vous suivez ? Bien.

Pour cela, je dispose d'une base de donnée "persos" qui répertorie les personnages en fonction de leur id. Rien de compliqué. Cette base de donnée mentionne également les coordonnées x, y et z (posx, posy et posz) où se situent les personnages.

Pour l'exemple. Je suppose que je suis dans la case avec les coordonnées x=0, y=1 et z=1. Le tableau suivant donne un aperçu de la base de donnée. Les termes soulignés sont ceux qui sont situés dans cette case.

http://pix.nofrag.com/2/2/d/90502eaedcd4cd85371322a7017d1.jpg

Je souhaiterais donc que le script m'indique qui est situé sur cette case, comme ceci par exemple :

http://pix.nofrag.com/9/6/5/0dceb1448255264490cd89741a3a7.html

J'ai tout essayé... les boucles, foreach, lectures sélectives... mais je ne trouve pas de script adéquat, ça fait maintenant deux jours que je bute là dessus. :-(

Quelqu'un peut m'aider ? :hap: Merci d'avance !

Littlesister
Littlesister
Niveau 10
24 septembre 2008 à 22:23:11

Une requête SQL pour récupérer les id correspondant à la position actuelle :

SELECT id FROM nom_de_ta_table WHERE x=0 AND y=1 AND z=1;

Littlesister
Littlesister
Niveau 10
24 septembre 2008 à 22:25:36

Précision :

J'ai mis des valeurs constantes dans mon exemple.

Construis cette requête en utilisant 3 variables pour la position actuelle x,y,z.

Rubisco
Rubisco
Niveau 4
24 septembre 2008 à 22:28:56

Hum j'ai pensé à ça au début mais je ne savais pas comment faire après. Mais ç y est j'ai trouvé maintenant. :-)

<?php

$requete = mysql_query("SELECT * FROM persos WHERE posx = '$posx' AND posy = '$posy' AND posz = '$bat'");

while($donnee = mysql_fetch_array($requete))
{
echo $donnee['id']."<br>"; // va afficher les id des membres sur la case en question, en fait $donnee['id'] contient l'id du membre sur la case a chaque tour de boucle. A chaque tour de boucle j'aurait la personne suivante.

}

?>

Voilà voilou, merci quand même ;)

MathieuN7
MathieuN7
Niveau 10
24 septembre 2008 à 22:32:56

Ouais, la réponse de LittleSister quoi :-)

Tu fais un jeu ?

Rubisco
Rubisco
Niveau 4
24 septembre 2008 à 22:37:50

Voilà ^^
Comment as-tu deviné ? :p

deepblue
deepblue
Niveau 16
24 septembre 2008 à 22:41:25

x = position du joueur en x, y = idem en y, z = pareil pour z
Ensembles des couples de coordonnées des positions des autres joueurs :

x+1 y+1 z+1
x+1 y-1 z+1
x-1 y+1 z+1
x-1 y-1 z+1
x+1 y+1 z-1
x+1 y-1 z-1
x-1 y+1 z-1
x-1 y-1 z-1

deepblue
deepblue
Niveau 16
24 septembre 2008 à 22:48:00

Donc à partir de là, tu peux recherche les autres joueurs :ok:

MathieuN7
MathieuN7
Niveau 10
24 septembre 2008 à 23:05:59

C'est surprenant de prendre 3 coordonnées pour un jeu en PHP, tu vas vraiment repérer tes joueurs dans l'espace ? (au lieu d'un plan classique)

Rubisco
Rubisco
Niveau 4
24 septembre 2008 à 23:09:46

Merci Deepblue mais j'ai déjà trouvé c'est bon ^^

Alors pourquoi trois coordonnées ? Hahaaaa. En fait les "axes" x et y donnent les coordonnées dans le plan en 2D, sur la carte quoi. L'"axe" z donne la "profondeur" du personnage.

C'est quelque chose de totalement imaginaire de ma conception ( :cool: ) afin de désigner un lieu particulier dans une case.

Donc pour résumer :

Dans la case (1;1) il y a :
La maison en (1;1;1)
La caserne en (1;1;2)
L'arrêt de bus en (1;1;3)
... etc

Voilà voilou ;)

MathieuN7
MathieuN7
Niveau 10
24 septembre 2008 à 23:24:13

Ah ok, bien vu :o))
Bon courage !

Rubisco
Rubisco
Niveau 4
25 septembre 2008 à 00:00:30

Merci j'en aurai besoin. ^^
Je viens de terminer le système de déplacement, le truc le plus basique et important. J'ai plus qu'à ajouter des fonctionnalités, ça va être long. :p

Enfin le pire ça va être de foutre un design correct, je sais pas encore comment je vais faire xD

@+ ;)

MathieuN7
MathieuN7
Niveau 10
25 septembre 2008 à 02:35:57

Boarf je sais pas si le design sera le "pire" ! Je pense que le plus chaud restera de tout coder :-p

deepblue
deepblue
Niveau 16
25 septembre 2008 à 06:42:38

j'ai oublié des coordonnées d'ailleurs :/

Rubisco
Rubisco
Niveau 4
25 septembre 2008 à 23:27:37

Hum ça commence à prendre forme. Aujourd'hui j'ai codé l'ordre dormir à partir de la fiche de personnage (transformée en pop-up pour l'occasion)

Quelques screens pour vous donner une idée :)

Fiche perso :

http://pix.nofrag.com/2/9/5/9cff042a96412f7fb6436b7f8edfc.html

Et pour le sommeil... avec en arrière plan le moteur de jeu pour bouger, à signaler un petit bug chiant (le degré de n° plante) que j'arrive pas à résoudre au niveau des caractères :-( :

http://pix.nofrag.com/c/0/5/db575977fa290cc6fb077897ff015.html

Alors on ne rigole pas parce que j'y connais rien en design et en css, en en php ben... je débute :(

MathieuN7
MathieuN7
Niveau 10
26 septembre 2008 à 01:58:28

C'est bien que ça avance, continue comme ça, et bon courage !

Silvermo
Silvermo
Niveau 26
27 septembre 2008 à 13:38:00

Je viens de tout lire, bon courage en tout cas ^^ , je me suis déjà lancé dans une aventure du genre, c'était assez amusant !
Tiens-nous au courant :)

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware