JeuWeb - Crée ton jeu par navigateur
bâtiment=>ressource==évolution!! - 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 : bâtiment=>ressource==évolution!! (/showthread.php?tid=3854)

Pages : 1 2


bâtiment=>ressource==évolution!! - rorchar - 03-04-2009

Bonjour a tous je m'appelle remi j'ai 20 ans,
Et j'adore coder je pratique le XHTML, CSS, PHP, MySQL et j'ai quelque connaissance que je met en pratique tout les jours un petit peut car j'essaye de crée mon jeux en ligne multijoueur du style ogame et je dis bien du style pour la façon de jouer mais il n'y ressemblera pas du tout. Je fais ça tout seule et ce n'est pas chose aisée!!(h)(h)

l'objectif de Mon post:
En fait dans la création de mon jeu je me lance à corps perdu dans chaque petit horizon qu'il est possible d'aller explorer (houlà de la poésie)! Ba oui parce que si 'attend je vais jamais y arriver donc je suis 100% en mode découverte!!Cool
Eh donc actuellement je suis en train de créer ma page de bâtiment!! et c'est un grosse affaire parce que je n'ai aucune idée par quelle bout commencer a par le fait que j'ai déjà le nom des bâtiments, la description, la dispostion en CSS et même le coup de chacun mais par exemple je ne sais pas du tout mais pas du tout comment les augmenter??

Mes questions:
Par quelle bout il vaut mieux que je commence?
Pour tous les bâtiments j'avais réfléchi à une table(avec tous les batiments dedans les descriptions ect..) et a appeler cette table, est ce une bonne solution??
Je vois pas du tout les fonctions pour faire augmenter en cliquant sur un lien??(construire le niveau 2 par exemple)

Et j'ai aussi une super question:
Faut-il commencer par la page bâtiment???:heuuu:
Parce que s'il faut que je commence par autre chose il y a pas de soucis!!

Enfin bref tellement de question qui me trotte dans la tête que lorsque j'en ai parler a quelques amis ils m'ont indiqué ce site alors me voilà car j'ai grandement besoin que l'on m'aiguille!!Eh oui je ne suis qu'un humble disciple:wowowow:

Voilà j'attends avec impatience vos réponses a toutes et a tous et j'espère que le dialogue se feras dans la plus grande joie et amicalité entre nous sur ceux!!:good:
Cordialement remi


RE: système de bâtiment!!je sais c'est vague - Mycroft - 03-04-2009

Il n'y a pas de page "bâtiment", il risque d'y avoir plusieurs actions possibles sur un bâtiment et qui ne seront pas toute accessible à tout moment et par tout le monde.

Déjà simplement, tu peux créer une table "bâtiment" avec les champs que tu veux.

Tu peux déjà créer les pages suivantes :
- Lister tous les bâtiments
- Créer/Ajouter un bâtiment
- Editer un bâtiment
- Supprimer un bâtiment.

Pour ce qui est de manipuler les bâtiments par les joueurs, probablement ça se fera par l'intermédiaire d'une table Joueur-Bâtiment, qui associe un bâtiment X à un joueur Y qui le possède.

Tu peux créer les actions:
- Acheter
- Vendre
- Réparer

qui seront associées à cette table.


RE: système de bâtiment!!je sais c'est vague - keke - 03-04-2009

La réponse de mycroft est très orienté développeur ^^. Tu peux aussi commencer par te poser comment les choses vont se réaliser de manière esthétique. Dans la série temps incomprésible, il faut que tu réalises qu'il te faudre des graphismes pour tes batiments. Rien ne t'empèche de partir par la réalisation graphique de tes batiments, puis de ton design ...

Si tu te présentes dans la partie concernée, on pourra peut-être t'aiguiller en fonction de ton profil.

kéké


RE: système de bâtiment!!je sais c'est vague - rorchar - 03-04-2009

Tout d'abord merci d'avoir répondu aussi vite!!
Ouai pour ce qui est des graphismes comme je suis un petit peu bloquer on vas dire eh ben du coup en ce moment je fais plus de graphisme que de codage pur et j'ai déjà fais des petits dessin sur papier histoire d'avoir une idée du genre mais ensuite à mettre sur ordinateur c'est une autre paire de manche.
Mais c'est vrai que j'aimerais plutôt me focaliser sur la partie codage!!
Microsoft je vais essayer ce que tu me dit et je vais dès maintenant tâter le terrain de la façon dont tu propose, je voyais pas du tout les choses comme sa:good:
1) Je vais commencer par créer une table avec tous les bâtiments et leur descriptions puis le coup!!
2) Je vois pas du tout ce que tu entend par lister les bâtiments si tu pouvais m'éclairer sur ce point!!:hahahaha:
3) Je vais également faire la page créer, augmenter les bâtiments et je vais me concentrer la dessus pour l'instant pour commencer!!
Par contre si tu pouvais m'éclairer sur deux ou trois points:

1) Pour créer un bâtiment il va falloir cliquer sur un lien(construire centrale par exemple) et que le bâtiment up avec de nouveau paramètre(changement de niveau=augmentation de production par exemple) est-ce qu'un telle fonction existe??
Si oui ou faut-il que j'aille chercher de telle fonction!


RE: système de bâtiment!!je sais c'est vague - Mycroft - 03-04-2009

Toutes les réponses à tes questions en cliquant ici.


RE: système de bâtiment!!je sais c'est vague - Zamentur - 03-04-2009

Tu as déjà commençais à créer l'affichage et c'est très bien c'est une des trois parties. Les 2 autres sont ta façon de stocker les donnée, et ta façon de les traiter.

Je serais toi je prendrais tout de suite les bonnes habitude et pour chaque action je ferais une fonction.


Par exemple:
- ajouter un bâtiment dans la table des bâtiments possible ajouter_batiment($nom,$description,$cout,...) (ici c'est certainement une action de l'administrateur du jeu)
- supprimer_batiment($nom), editer_batiment($nom,$description,$cout,...) sur le même principe

Précédemment ce sont des action de l'administrateur, mais on entrevois déjà des actions utilisateurs:
- créer un bâtiment creer_batiment($joueur,$nom)
- augmenter le niveau d'un bâtiment augmenter_batiment($joueur,$nom)
- détruire le bâtiment
- obtenir tous les bâtiment d'un joueur
- mettre des unité dans un bâtiment (j'en sais rien moi)
- ...

Attention ces fonctions ne doivent rien afficher à l'écran elle doivent juste intervenir avec ta façon de stocker tes données (surement ta base de donnée)

Puis une fois ces actions faites tu vas pouvoir relier ton affichage avec tes fonctions. Donc en gros tu fais par exemple des formulaires qui envoie par méthode POST tes informations et qui vont déclenché les actions.

Tu peux aussi le faire par méthode GET mais normalement les données des actions doivent être envoyé par méthode POST, pour des raisons de sécurité.

Ici j'ai supposé que tu savais ce qu'étais une fonction ,si tu ne sais pas, fais une recherche tu verras c'est super utile.

Si c'est pas assez clair n'hésites pas!


RE: système de bâtiment!!je sais c'est vague - rorchar - 03-04-2009

Mycroft
j'ai déjà été sur ce site:
oui SDZ je connais et mes connaissances je l'ai base sur ce site que j'ai lu et relu donc je sais ce qu'est une fonction!!(h) et j'ai également été voir sur php.net mais je dois avouer que c'est pas évident!

Zamentur
Alors en fait je pense que c'est la façon de traiter les informations qui est la plus délicate??:heuuu:
Stoker les informations pour cela il suffit d'avoir des tables bien organiser nan??
Par exemple donc j'ai fait ma table j'y est mis 5 bâtiments avec description et tout le tarintintin!!
là j'ai fait demande d'ajout d'un bâtiment par fonction avec une sorte de formulaire pour le nom la description et le coût et sa marche du tonnerre!!
Mais sur ma page bâtiment j'ai les 5 bâtiments ranger avec un peu de CSS et j'ai ma phrase qui tue du genre "Construire un bâtiment" et ben je sais pas du tout comment m'y prendre pour construire ce bâtiment!!!:pleure2:

Mais je vais essayer de faire avec des fonctions que je créer moi même en partant sur ton exemple!!:good:
Continuez à me mettre vos idées cela m'aiguille beaucoupCool!!merci tout le monde


RE: système de bâtiment!!je sais c'est vague - Zamentur - 04-04-2009

Ok je vois plus le problème.

Et bien déjà il faut partir du modèle c'est à dire la façon dont tu stockes et demandes tes données.

Je part du principe que:
  • tu as une table type de batiment. type_batiment(#nom=>String,description=>string,cout=>Numerique)
  • tu as une table bâtiment décrivant les bâtiments qu'un joueur à construit:
    batiment(#id=>Numerique,proprietaire=>joueur,type=>type_batiment,niveau=>Numerique)

Voilà pour la description qui est simpliste mais qui doit résumer à peu prés le trucs.
Concernant les fonction là haut
  • ajouter_batiment($nom,$description,$cout,...)
    Ajoute un enregistrement(tuple) dans type_batiment
  • supprimer_batiment($nom)
    Supprime l'enregistrement ayant pour clef primaire $nom dans type_batiment
  • editer_batiment($nom,$description,$cout,...)
    Fais un Update de l'enregistrement ayant pour clef primaire $nom avec les infos mis en paramètre
  • creer_batiment($proprietaire,$nom)
    Creer un enregistrement dans la table batiment
  • augmenter_batiment($id)
    Augmente l'enregistrement $id de niveau
  • detruire_batiment($id)
    Supprime l'enregistrement $id dans batiment
  • etc...

Bon ensuite sur ta vue (donc ton affichage, ta page html en somme), il faut que tu indique de faire une des actions.
Pour construire un bâtiment ton affichage va devoir lancer une page avec les infos nécessaire supplémentaire indiquant l'action à faire(ici construire), ainsi que les paramètre (ici le type de batiment).

Pour çà tu peux par exemple faire un formulaire en méthode POST pointant vers la page action="index.php?act=construire_batiment" et dans lequel tu aurais un <select name="type_du_batiment"> avec comme option les différent bâtiment possible. L'affichage pourrait les obtenir en demandant à une fonction batiment_possible la liste des batiment afin de les afficher.
Il faut aussi y mettre un bouton "construire" afin d'envoyer le formulaire (ou un lien lançant le formulaire grace à sa propriètè onClick)

Ainsi tu aura fait la première étape permetre à l'utilisateur de dire ce qu'il veut faire.

Sur ta page index.php tu récupère l'action à faire grâce à $_GET['act'] après avoir vérifié que l'action est valide tu lance donc l'action correspondante ici construire_bat($_SESSION['id_joueur'],$_POST['type_du_batiment']);
Éventuellement tu enregistres un message dans SESSION ('construction réussit/ vous n'avez pas assez pour cette construction')
Tu redirige avec header('location: http://.../index.php?act=affichage");

Et dans affichage tu affiche la page bâtiment avec en prime le message.

NB: la redirection est importante afin d'éviter que si le joueur actualise la page l'action soit fait de nouveau. Si je me trompe pas cette méthode porte le nom de "design pattern RPC", mais comme beaucoup je la pratiquais sans lui donner de petit nom

En effet quand on actualise on renvoie aussi les données attachés c'est à dire les donnée GEt et les données POST!

J'espère que çà t'aide, çà décrit précisément comment partir du bon pied en évitant de mélanger toute les parties code c'est à dire en mettant des requête SQL avec des echo html par exemple...

NB2:je peux te donner des exemples pour lancer un formulaire via un lien au lieu d'un bouton, c'est souvent mieux pour la sécurité. Je pense au faille CSRF


RE: système de bâtiment!!je sais c'est vague - rorchar - 04-04-2009

ouaaaahhhh!!:ninga:
C'est sacrément coriace:heuuu: je vais suivre ta démarche je me suis déjà bien avancer car avant j'avais rien maintenant je peux créer mes bâtiments, les effacer, les éditer. Et en fait il y a un truc essentiel que j'ai compris à travers vos posts et qui vraiment indispensable c'est que pour chaque action que je veux faire il me faut une fonction:good:
Et ça maintenant je l'ai bien intégré et c'est vrai que c'est tout de suite plus simple j'ai déjà plein d'ouverture sur comment je vais faire la suite mais je vais pour l'instant me concentré sur mes bâtimentsCool

Je vais suivre ta démarche et faire de mon mieux et si jamais j'ai besoin d'autre chose (et je pense que j'aurais encore besoin de vos précieux conseils) je posterais de nouveau.

Je vous souhaite bonne continuation car le temps que je réussisse tout ce que tu m'a expliqué je pense pas revenir de sitôt et si d'autre personne veulent aussi partagé leur expérience il n'y a pas de problème je prend absolument tout mdr:wowowow:

merci a toi Zamentur et aussi Mycroft pour votre efficacité et votre clarté dans vos messages:respect:
Cordialement rémi!!!


RE: système de bâtiment!!je sais c'est vague - Argorate - 04-04-2009

Lister les bâtiments sur papier ou bloc note, avec le nom + image + caractéristique
Puis établir un arbre technologique si nécessaire, c'est à dire par exemple, pour avoir une grande maison, il faut d'abord une maison, puis avant d'avoir une maison il faut une petite maison:

Petite Maison
|
|
v
Maison
|
|
v
Grande Maison

(C’est qu'un exemple).

Une fois ça fait il faut créer la table des bâtiments ainsi que la table faisant les liens (concernant l'arbre Tech).
Ensuite tout dépend de se que tu veux faire, si tu veux qu'on puisse rentrer dedans par exemple ou non...