| Stratego collaboratif | |
|
+5Yannick JL35 silverman Jean Claude Jicehel 9 participants |
|
Auteur | Message |
---|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Stratego collaboratif Dim 28 Fév 2016 - 14:22 | |
| J'ai pris la version que tu viens de publier, et j'ai intégré ma partie dans ce code. Disponible sur le WebDav, dossier Stratego.
Pour ceux qui s'intéressent à la conception des règles, il faut recharger l'outil de création des règles afin d'être conforme avec la version actuelle.
Dans cette version, la première règle du fichier Stratego.rlg est exécutée entièrement. La règle impose qu'un déplacement ne peut être supérieur à 1 case (un passage de 1 case en oblique compte pour 2 cases: 1 fois horizontal + 1 fois vertical). Si le déplacement est supérieur, la règle impose "ne pas se déplacer" et "jouer". Sinon, pour le moment, la routine habituelle reprend la main. | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Stratego collaboratif Dim 28 Fév 2016 - 14:36 | |
| Vive la collaboration ! Allez les « Stratégoyens / Stratégoyennes » ou les « Stratéginois / Stratéginoises » ! | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Stratego collaboratif Dim 28 Fév 2016 - 14:49 | |
| - Klaus a écrit:
- La règle impose qu'un déplacement ne peut être supérieur à 1 case (un passage de 1 case en oblique compte pour 2 cases: 1 fois horizontal + 1 fois vertical). Si le déplacement est supérieur, la règle impose "ne pas se déplacer" et "jouer". Sinon, pour le moment, la routine habituelle reprend la main.
Attention la dernière ligne de la règle en page d’accueil est => L'Éclaireur peut se déplacer d'autant de cases libres qu'il le souhaite, en ligne droite. A+ | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Stratego collaboratif Dim 28 Fév 2016 - 15:00 | |
| @Klaus, attention il y a les exceptions à gérer comme l'éclaireur qui peut se déplacer en ligne droite s'il n'y a pas d'obstacle entre lui et un ennemi.
J'avoue que c'est pour ce genre d'exceptions que je regarde comme tu vas procéder car pour le moment, je ne voit pas bien comment faire le sinon à part en inversant toutes les conditions précédentes.
On pourrait imaginer si éclaireur .... Si bombe ou drapeau .... Si piece<>éclaireur et piece<>bombe et piece<>drapeau ... limiter le déplacement à une case, mais je te laisse nous montrer la bonne façon. Pour le moment en tout cas, le déplacement des pièces d'une case fonctionne.
Je te laisse intégrer toute la logique du jeu en règle ou au moins une bonne partie, je pense que c'est un bon moyen de vérifier que le moteur de règles permet de gérer une logique un peu complexe. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Stratego collaboratif Dim 28 Fév 2016 - 16:24 | |
| J'ai du mal à appréhender une liste complète des règles. Je ne connais pas ce jeu. Si tu as une liste, point par point, des règles à appliquer, je vais la copier puis l'intégrer au moteur, pas à pas.
Ma prochaine étape sera de bloquer l"avancement s'il y a une case impénétrable. | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Stratego collaboratif Dim 28 Fév 2016 - 16:49 | |
| @Klaus, tu trouveras la règle complète en bas de la page d'accueil du forum.
A+ | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Stratego collaboratif Dim 28 Fév 2016 - 17:33 | |
| Merci ! Je suis confus... | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Stratego collaboratif Dim 28 Fév 2016 - 17:50 | |
| Bah, tu ne devriais pas Klaus. Combien de fois es-tu en train de nous aider en nous donnons la solution que tu as déjà écrit dans l'aide de KGF ... C'est super que tu joues le jeux en apportant tes idées au jeu. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Stratego collaboratif Dim 28 Fév 2016 - 18:11 | |
| J'ai mis dans mon WebDav, une version de Stratego.rgl avec deux règles: - Citation :
- si <Déplacement> N=<0> <est plus grand que> N=<0> <Déplacement> N=<1> alors <rester sur place> N=<0> puis <arrêter règles et rejouer> N=<0>
si <Personnage> N=<0> <est devant> N=<0> <Infranchissable> N=<0> alors <rester sur place> N=<0> puis <arrêter règles et rejouer> N=<0> Le fichier Stratego_v1_avec_aide.bas correspondant est également sur le WebDav. Au début du programme, en ligne 11, j'ai défini une variable KlausTraceRegle% qui vaut 1. Le programme affiche alors les décisions du moteur à chaque pas. Si l'on met cette variable à zéro, le jeu se déroulera normalement. Donc, pour le moment, sont pris en compte: - déplacements d'une seule case (et donc diagonales interdites) - interdiction d'aller sur une case non franchissable (on rejoue immédiatement pour une nouvelle tentative) Je vais maintenant coder les règles pour une attaque "simple". | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Stratego collaboratif Dim 28 Fév 2016 - 18:18 | |
| A titre d'info : Dans le menu Aide, sous-menu Règles du jeu sont décrits les mouvements des différentes pièces ainsi que les exceptions, etc. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Stratego collaboratif Dim 28 Fév 2016 - 19:18 | |
| Merci, Papydall ! Il y a une nouvelle version dans mon WebDav. Elle gère maintenant 5 règles: - Citation :
- si <Déplacement> N=<0> <est plus grand que> N=<0> <Déplacement> N=<1> alors <rester sur place> N=<0> puis <arrêter règles et rejouer> N=<0>
si <Personnage> N=<0> <est devant> N=<0> <Infranchissable> N=<0> alors <rester sur place> N=<0> puis <arrêter règles et rejouer> N=<0> si <Personnage> N=<0> <attaque plus fort> N=<0> <Personnage> N=<0> alors <sujet meurt/est détruit> N=<0> puis <arrêter règles> N=<0> si <Personnage> N=<0> <attaque plus faible> N=<0> <Personnage> N=<0> alors <cible meurt/est détruite> N=<0> puis <arrêter règles> N=<0> si <Personnage> N=<0> <attaque à égalité> N=<0> <Personnage> N=<0> alors <sujet et cible meurent/sont détruits> N=<0> puis <arrêter règles> N=<0> Donc, elle gère les attaques "simples", en tenant compte de la force des deux pièces respectives. Il faut reprendre les 3 fichiers sur le WebDav: le fichier Stratego.rgl pour les règles, et les deux sources car l'outil de gestion des règles a évidemment été modifié aussi. Prochaine étape: gérer quelques règles de l'espion. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Stratego collaboratif Dim 28 Fév 2016 - 19:42 | |
| Il y a une nouvelle version dans mon WebDav. Elle gère maintenant 6 règles: - Citation :
- si <Déplacement> N=<0> <est plus grand que> N=<0> <Déplacement> N=<1> alors <rester sur place> N=<0> puis <arrêter règles et rejouer> N=<0>
si <Personnage> N=<0> <est devant> N=<0> <Infranchissable> N=<0> alors <rester sur place> N=<0> puis <arrêter règles et rejouer> N=<0> si <Personnage> N=<1> <attaque> N=<0> <Personnage> N=<10> alors <cible meurt/est détruite> N=<0> puis <arrêter règles> N=<0> si <Personnage> N=<0> <attaque plus fort> N=<0> <Personnage> N=<0> alors <sujet meurt/est détruit> N=<0> puis <arrêter règles> N=<0> si <Personnage> N=<0> <attaque plus faible> N=<0> <Personnage> N=<0> alors <cible meurt/est détruite> N=<0> puis <arrêter règles> N=<0> si <Personnage> N=<0> <attaque à égalité> N=<0> <Personnage> N=<0> alors <sujet et cible meurent/sont détruits> N=<0> puis <arrêter règles> N=<0> Donc, elle gère les attaques "simples", en tenant compte de la force des deux pièces respectives, et le cas de l'espion qui attaque un maréchal. Il faut reprendre les 3 fichiers sur le WebDav: le fichier Stratego.rgl pour les règles, et les deux sources car l'outil de gestion des règles a évidemment été modifié aussi. Prochaine étape: gérer le contact d'un personnage quelconque avec la bombe. Le démineur suivra après. Il faut noter que j'ai fait le moteur qui retourne son résultat dans certaines variables globales (qu'il crée lui-même). Je n'ai absolument pas modifié le déroulement du code du jeu, et donc les déplacements et/ou les attaques sont réalisés par le jeu lui-même. A terme, in faudra conditionner ces actions par le résultat du moteur (c'est ls SUB AppliquerRegles(...) ) et non coder tous ces tests directement dans Stragego. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Stratego collaboratif Dim 28 Fév 2016 - 21:13 | |
| Absolument Klaus. On va attendre que tu ais fait le nécessaire au niveau du moteur de règles et ce sera utilisé comme principe de validation des actions. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Stratego collaboratif Lun 29 Fév 2016 - 0:17 | |
| Nouvelle version: - contact d'un personnage quelconque avec la bombe - traitement du démineur - prise du drapeau par un personnage quelconque ==> victoire
Il faut recharger les 3 fichiers.
Prochaine étape: l'éclaireur... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Stratego collaboratif Lun 29 Fév 2016 - 1:57 | |
| Nouvelle version: - l'éclaireur est géré. Il faut recharger les 3 fichiers. Je pense avoir un jeu de règles complet, mais je suis ouvert à toute critique. Il faut recharger les 3 fichiers, pour tester, à partir de mon WebDav, dossier Stratego. Mais j'ai une remarque à faire: Comme mon moteur ne fait qu'analyser la situation et donner les in formations dans des variables globales (dont les valeurs sont affichées à la fin de chaque cycle), les déplacements réels sont fait par le code Stratego fourni par Jicehel. Et pour l'éclaireur, je constate une anomalie. En effet, la règle dit que l'éclaireur peut se déplacer en ligne droite, tant que la voie est libre. C'est ce que fait mon moteur. Mais les zones "non franchissables" ne sont pas reconnues par Stratego, alors que mon moteur les reconnaît... EDIT Ce qui serait bien, maintenant, ce serait d'appeler la SUB AppliquerRegles dès que les coordonnées de départ et d'arrivée sont connues. Et laisser cette SUB prendre les décisions, et les appliquer en fonction des variables retournées. Ces variables sont: - Code:
-
dim NePasBouger% : ' flag global "ne pas déplacer le pion sélectionné" dim GarderLaMain% : ' flag global "le joueur garde la main et rejoue" dim SupprimerSujet% : ' flag global "le pion sujet (acteur) est supprimé" dim SupprimerCible% : ' flag global "le pion cible (touché par acteur) est supprimé" dim FinDePartieVictoire% : ' flag global "victoire - fin de partie"
D'ailleurs, tout à la fin de cette SUB, il y a: - Code:
-
if NePasBouger%=1 if GarderLaMain%=0 IF Tour% = 1 THEN Tour2() : ELSE : Tour1() end_if exit_sub end_if C'est la seule "action" que je prends automatiquement dans la SUB. Idéalement, cela devrait être fait à l'extérieur, juste après l'appel de la SUB. Puis, à cet endroit, traiter les autres variables également - leur sens découle de leur nom. | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Stratego collaboratif Lun 29 Fév 2016 - 4:38 | |
| @Klaus Je viens de tester Stratego_v1_avec_aide.bas (29) Not correct arithmetic expression : Index overflow.Line 620Cette erreur survient quand je clique un peu n’importe où et n’importe comment : sur les bleus quand c’est le tour des rouges ou vice-versa ou dans une zone vide, etc.. La ligne à blinder est : - Code:
-
id1% = pieces(L_d%, C_d%) | |
|
| |
bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Stratego collaboratif Lun 29 Fév 2016 - 8:18 | |
| Bonjour à tous , Je tiens quand même à apporter une modeste participation à ce projet, même si je suis peu présent sur le forum. Sur mon web dev, vous avez un dossier STRATEGO.zip avec 5 petits morceaux de musique que j'ai composé vite fait hier. Si vous pensez qu'ils sont dignes d'accompagner ce jeu, n'hésitez pas à les y intégrer. Comme le jeu est plutôt type stratégie militaire, j'ai essayé de coller au mieux au style musique militaire, mais je ne voulais pas que ce soit trop lourd et trop gavant à entendre. Je comprendrai très bien si ça ne plait pas. Voilà, merci. A+ | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Stratego collaboratif Lun 29 Fév 2016 - 10:16 | |
| @Papydall: Merci d'avoir testé. Cela vient du fait que je n'ai pas remanié complètement l'architecture du programme tel qu'il était conçu, et j'ai dû insérer l'appel de ma SUB comme j'ai pu. J'ai corrigé cela sur le WebDav. Mais la correction est simpliste: je remplace la ligne en question par: - Code:
-
if (L_d%<0) or (C_d%<0) then exit_sub id1% = pieces(L_d%, C_d%)
et il n'y a plus de problème. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Stratego collaboratif Lun 29 Fév 2016 - 11:34 | |
| J'ai amélioré le programme de construction des règles, en ajoutant des boutons partout, pour lancer les fonctions qui peuvent également être appelées par le menu. C'est visuellement plus intuitif. | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Stratego collaboratif Lun 29 Fév 2016 - 12:57 | |
| Bonjour JLN, … je veux dire bonjour Jean-Louis NAUDIN dit Big Nono.
Je viens de télécharger la musique. Personnellement, ça m’a plu bien que du côté musique je suis très proche de ZERO+. Merci pour la participation et le partage. Le dernier mot est chez les autres. | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Stratego collaboratif Lun 29 Fév 2016 - 13:21 | |
| Bonjours à tous, @Bignono, Merci pour ta participation, je n'ai pas encore téléchargé mais ça viendra... @Klaus, J'ai téléchargé, le moteur de jeu. J'ai fait l'essai avec les images de Jicehel, ça marche. Pour le moteur proprement-dit , un fichier d'explication de son fonctionnement serait le bienvenu. Sinon j'ai repris le boulot sur la version 2D de stratégo... Il faudra être patient, car j'ai encore pas mal de boulot à l'extérieur (Finition de mon cabanon: enduit) Je suis devenu façadier A+ | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Stratego collaboratif Lun 29 Fév 2016 - 13:53 | |
| @Jean Claude: Oui, je ferai un fichier d"explication. C'est délicat tant que ce n'est pas plus stabilisé, mais c'est prévu. @Tous: J'ai mis une nouvelle version en ligne, avec 3 règles supplémentaires, qui devraient simplifier l'intégration dans le programme de base: - Citation :
- - si la case départ n'appartient à aucun camp ==> rejouer
- si la case départ n'appartient pas au camp actif ==> rejouer - si la case départ appartient au même camp que la case arrivée ==> rejouer Il faut recharger les 3 fichiers. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Stratego collaboratif Lun 29 Fév 2016 - 13:58 | |
| Merci à tous pour vos participations respectives.
Je suis au boulot et pas mal occupé en ce moment, je n'ai donc pas encore écouté les morceaux, mais bon jusqu'à présent j'aimais bien les morceaux fait par Bignono, alors il n'y a pas de raison que ça change. J'essayerais de juger objectivement ce soir.
Klaus si tu as le temps, tu peux commencer à conditionner quelques actions par le résultat des tests des règles dans la dernière version publiée ?
Je testerais où tu en seras ce soir au pire en remplaçant les messages par les actions si tu n'as pas eu le temps de le faire (car je me doute que même si tu avances vite, tu ne fais pas que ça et que par conséquent tu n'auras pas forcément le temps de le faire même si ça va vite...)
| |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Stratego collaboratif Lun 29 Fév 2016 - 14:31 | |
| - Citation :
- Klaus si tu as le temps, tu peux commencer à conditionner quelques actions par le résultat des tests des règles dans la dernière version publiée ?
Là, je ne comprends pas bien... Le principe est le suivant: - à chaque tour, on fait une boucle sur toutes les règles, de la première à la dernière. - chaque règle a une condition qui est évaluée. - si la condition est fausse, on passe à la règle suivante. - si la condition est vraie, l'action programmée dans la règle sera effectuée, ainsi que le paramétrage "finir' qui détermine comment on continue l'exploration des règles et/ou le jeu. - si "finir" indique "arrêter les règles", alors on sort de la boucle d'analyse des règles et on rend la main à Stratego. Donc, l'ordre des règles dans la liste est d'importance capitale. Mes projets d'évolution: ajouter une condition "Toujours" ce qui permettra de paramétrer une suite d'action qui s'effectueront automatiquement. Si tu veux conditionner plusieurs actions par un seul test, c'est déjà possible: tu mets la même condition à toutes ces règles, tu termines toutes sauf la dernière par "continuer les règles" et la dernière par "arrêter les règles". | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Stratego collaboratif Lun 29 Fév 2016 - 14:34 | |
| Non, non, c'est bien ça désolé. Je ne devrais pas répondre au boulot, je m'exprime mal en voulant répondre vite fait avant de retourner bosser. Désolé. | |
|
| |
Contenu sponsorisé
| Sujet: Re: Stratego collaboratif | |
| |
|
| |
| Stratego collaboratif | |
|