Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1265 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [HTML] Jeu d'échecs en HTML : renvoyer l'état du jeu

 



 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[HTML] Jeu d'échecs en HTML : renvoyer l'état du jeu

n°2352155
faston
Votez pour lui
Posté le 21-04-2020 à 00:27:44  profilanswer
 

Bonjour,
 
Je suis pas bien au point avec le html.
Je voudrais savoir comment spécifier en html le contenu du jeu d'echecs.
Je dois spécifier l'état du jeu pour le renvoyer à une CGI.
 
Vous feriez comment ? S'il vous plait !
 
Merci.


Message édité par faston le 21-04-2020 à 00:33:56

---------------
Tenebris Majestua Ordonae Ordo Vitae
mood
Publicité
Posté le 21-04-2020 à 00:27:44  profilanswer
 

n°2352162
mechkurt
Posté le 21-04-2020 à 09:59:13  profilanswer
 
n°2352192
faston
Votez pour lui
Posté le 21-04-2020 à 14:01:23  profilanswer
 


 
Bonjour mechkurt.
 
Je vais utiliser, merci s'avoir posé la question, la notation en coordonnées.


---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352231
faston
Votez pour lui
Posté le 21-04-2020 à 19:19:19  profilanswer
 

A part ceci, je peux faire quoi ?


<input type="hidden" name="a1" value="White_Rook">
<input type="hidden" name="a2" value="White_Knight">


 
ainsi de suite pour les 64 cases.


Message édité par faston le 21-04-2020 à 19:19:45

---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352251
rufo
Pas me confondre avec Lycos!
Posté le 21-04-2020 à 22:51:18  profilanswer
 

C'est pas passé de mode les CGI avec les langages côté serveur :??:
 
Mais si tu veux faire un jeu d'échecs avec la logique métier côté serveur, côté client, t'as juste à envoyer le coup joué au serveur. Le serveur mettra à jour l'état de la partie (position des pièces) et enverra un code retour au client ainsi que le prochain coup joué s'il y a une IA. Ca peut se faire soit par un formulaire avec un seul champ caché envoyé qui va contenir les coordonnées du coup joué + un bouton "valider" qui va poster le formulaire et réafficher la page avec la nouvelle situation, soit via une requête Ajax qui va envoyer le coup jour et récupérer la réponse du serveur puis mettre à jour la partie.
Pour le coup, joué, tu fais tout en javascript (pièce sélectionnée par un 1er clic dessus et clic sur la position de destination). Là, tu pourras pas le faire en ADA :D
 
Pour le dessin de l'échiquier, le plus simple est de faire un <table> de 8x8.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2352255
faston
Votez pour lui
Posté le 21-04-2020 à 23:15:59  profilanswer
 

je voulais le faire sans identifiant.
Avec des parties anonyme.
 
Merci pour l"idée de la table.
 
Si non une alternative à ce que j'ai fait ?

Message cité 1 fois
Message édité par faston le 21-04-2020 à 23:18:36

---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352256
faston
Votez pour lui
Posté le 22-04-2020 à 00:24:07  profilanswer
 

balise table
Balise pre
 
comment vous trouvez ?


Message édité par faston le 22-04-2020 à 00:25:42

---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352259
mechkurt
Posté le 22-04-2020 à 08:26:46  profilanswer
 

En pre c'est plus léger si tu renvoie tout l'état et ré-affiche tout, alors qu'avec un table il sera plus facile d’accéder aux 2 noeuds qui ont changé pour actualiser leur affichage si tu neveux pas actualiser tout l’échiquier...


---------------
D3
n°2352272
rufo
Pas me confondre avec Lycos!
Posté le 22-04-2020 à 09:33:10  profilanswer
 

faston a écrit :

je voulais le faire sans identifiant.
Avec des parties anonyme.
 
Merci pour l"idée de la table.
 
Si non une alternative à ce que j'ai fait ?


J'ai jamais parlé d'identifiant.
 
Pour ta question entre <pre> et <table>, d'un point de vue sémantique, <table> est ce qui correspond le mieux à un plateau d'échecs. Tu aurais pu passer par une <div> contenant 8x8 <div> mais tu vas te faire chier avec les float: left :/
 
Edit : et comme l'a dit mechkurt, <table>, avec ses <tr> et <td> va te permettre de bien plus facilement repérer les coups joués (par détection de l'événement click sur les cellules (ie. <td> )) et de mettre à jour la position des pièces que <pre>.


Message édité par rufo le 22-04-2020 à 09:35:07

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2352287
faston
Votez pour lui
Posté le 22-04-2020 à 14:31:12  profilanswer
 

Merci pour vos réponses.


---------------
Tenebris Majestua Ordonae Ordo Vitae
mood
Publicité
Posté le 22-04-2020 à 14:31:12  profilanswer
 

n°2352292
MaybeEijOr​Not
but someone at least
Posté le 22-04-2020 à 14:57:31  profilanswer
 

Je sais qu'en HTML les gens considèrent ça comme un outil de Satan, mais il y a quand même des cas où ça se justifie très bien d'utiliser des tableaux.
 
Sinon pour les divs faut utiliser les grids CSS, mais je ne sais en effet pas si ça fait parti de ses compétences.


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°2352298
rufo
Pas me confondre avec Lycos!
Posté le 22-04-2020 à 16:51:54  profilanswer
 

Le pb des <table>, c'est qu'ils ont été beaucoup utilisés pour la mise en page (cf mise en page par tableaux) à une époque où le CSS n'était pas aussi puissant. Mais quand on veut faire un tableau, ben on utilise <table>. Il faut utiliser les balises pour leur sens sémantique et non leur représentation visuelle :o
 
Un échiquier peut être vu comme un tableau, donc c'est bon ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2352357
faston
Votez pour lui
Posté le 23-04-2020 à 10:45:10  profilanswer
 

En fait je voulais avoir votre avis sur le comment renvoyer l'état du jeu.
 
J'ai fait ceci : qu'en pensez-vous ?
 

Code :
  1. <input type="hidden" name="a1" value="White_Rook">
  2.      <input type="hidden" name="b1" value="White_Knight">
  3.      <input type="hidden" name="c1" value="White_Bishop">
  4.      <input type="hidden" name="d1" value="White_Queen">
  5.      <input type="hidden" name="e1" value="White_King">
  6.      <input type="hidden" name="f1" value="White_Bishop">
  7.      <input type="hidden" name="g1" value="White_Knight">
  8.      <input type="hidden" name="h1" value="White_Rook">
  9.      <input type="hidden" name="a2" value="White_pawn">
  10.      <input type="hidden" name="b2" value="White_pawn">
  11.      <input type="hidden" name="c2" value="White_pawn">
  12.      <input type="hidden" name="d2" value="White_pawn">
  13.      <input type="hidden" name="e2" value="White_pawn">
  14.      <input type="hidden" name="f2" value="White_pawn">
  15.      <input type="hidden" name="g2" value="White_pawn">
  16.      <input type="hidden" name="h2" value="White_pawn">
  17.      <input type="hidden" name="a3" value="Blank">
  18.      <input type="hidden" name="b3" value="Blank">
  19.      <input type="hidden" name="c3" value="Blank">
  20.      <input type="hidden" name="d3" value="Blank">
  21.      <input type="hidden" name="e3" value="Blank">
  22.      <input type="hidden" name="f3" value="Blank">
  23.      <input type="hidden" name="g3" value="Blank">
  24.      <input type="hidden" name="h3" value="Blank">
  25.      <input type="hidden" name="a4" value="Blank">
  26.      <input type="hidden" name="b4" value="Blank">
  27.      <input type="hidden" name="c4" value="Blank">
  28.      <input type="hidden" name="d4" value="Blank">
  29.      <input type="hidden" name="e4" value="Blank">
  30.      <input type="hidden" name="f4" value="Blank">
  31.      <input type="hidden" name="g4" value="Blank">
  32.      <input type="hidden" name="h4" value="Blank">
  33.      <input type="hidden" name="a5" value="Blank">
  34.      <input type="hidden" name="b5" value="Blank">
  35.      <input type="hidden" name="c5" value="Blank">
  36.      <input type="hidden" name="d5" value="Blank">
  37.      <input type="hidden" name="e5" value="Blank">
  38.      <input type="hidden" name="f5" value="Blank">
  39.      <input type="hidden" name="g5" value="Blank">
  40.      <input type="hidden" name="h5" value="Blank">
  41.      <input type="hidden" name="a6" value="Blank">
  42.      <input type="hidden" name="b6" value="Blank">
  43.      <input type="hidden" name="c6" value="Blank">
  44.      <input type="hidden" name="d6" value="Blank">
  45.      <input type="hidden" name="e6" value="Blank">
  46.      <input type="hidden" name="f6" value="Blank">
  47.      <input type="hidden" name="g6" value="Blank">
  48.      <input type="hidden" name="h6" value="Blank">
  49.      <input type="hidden" name="a7" value="Black_pawn">
  50.      <input type="hidden" name="b7" value="Black_pawn">
  51.      <input type="hidden" name="c7" value="Black_pawn">
  52.      <input type="hidden" name="d7" value="Black_pawn">
  53.      <input type="hidden" name="e7" value="Black_pawn">
  54.      <input type="hidden" name="f7" value="Black_pawn">
  55.      <input type="hidden" name="g7" value="Black_pawn">
  56.      <input type="hidden" name="h7" value="Black_pawn">      
  57.      <input type="hidden" name="a8" value="Black_Rook">
  58.      <input type="hidden" name="b8" value="Black_Knight">
  59.      <input type="hidden" name="c8" value="Black_Bishop">
  60.      <input type="hidden" name="d8" value="Black_Queen">
  61.      <input type="hidden" name="e8" value="Black_King">
  62.      <input type="hidden" name="f8" value="Black_Bishop">
  63.      <input type="hidden" name="g8" value="Black_Knight">
  64.      <input type="hidden" name="h8" value="Black_Rook">


 
64 case de l'échiquier.
 
Je cherche à present comment revoyer les pieces prises.


Message édité par faston le 23-04-2020 à 12:29:03

---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352390
mechkurt
Posté le 23-04-2020 à 13:40:31  profilanswer
 

Je dirais que tu met la charrue avant les boeufs, poses toi la question de comment tu gère les actions et les états coté serveur, et ensuite tu pourras voir comment afficher et renvoyer l'info pertinente...
 
...enfin c'est comme ça que moi je fonctionnerais ! ^^
Pour répondre il faut savoir si tu fait 100% confiance en l'utilisateur (tu ne vérifies pas les ordres qu'il envoie et ne stocke pas un modèle du jeu coté serveur) ou si tu ne lui permets pas de tricher et donc vérifies tout.
 
A part ça effectivement les champs de formulaire hidden peuvent être une solution mais ça peut sans doute être optimisé, une case vide peut ne pas avoir de valeur plutôt que la valeur "Blank" par exemple.


---------------
D3
n°2352417
rufo
Pas me confondre avec Lycos!
Posté le 23-04-2020 à 18:26:28  profilanswer
 

A mon sens, l'état de l'échiquier doit être géré côté serveur et non côté client (pour éviter les hacks) et le client envoie juste les changements de position des pièces.
A l'initialisation d'une partie, le serveur envoie toutes les positions des pièces.
Pas besoin d'un form avec 64 inputs hidden


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2352420
faston
Votez pour lui
Posté le 23-04-2020 à 18:55:34  profilanswer
 

Comme on dit, vous vous la raconté un peu votre histoire.
Je serais suspicieux, je dirais même que vous jovalisez.
 
Pas de serveur prévu donc.
 
Just an CGI with Ada.  [:jiejie999]  
 


---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352423
rufo
Pas me confondre avec Lycos!
Posté le 23-04-2020 à 19:22:22  profilanswer
 

Ben un cgi, c'est un composant côté serveur. Quand je parle de serveur, je parle de serveur web, donc genre Apache.. Le client et le serveur peuvent être sur la même machine (ex : environnement Wamp sous Windows, Lamp sous Linux). Et les CGI, aujourd'hui, on s'en passe le plus souvent avec des technos genre Java/Tomcat, C#, PHP... Bizarrement, j'ai jamais vu un site web avec une logique métier codée en Ada. :whistle:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2352427
faston
Votez pour lui
Posté le 23-04-2020 à 21:18:56  profilanswer
 

Bref;
 
 
Voilà, vous pouvez tester : Chess game jusqu'à la deception, mais ça joue pas mal.
 
Il faut moi même que je teste donc c'est en ligne comme ça, je modifierais si besoin dans quelque moments.


---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352429
faston
Votez pour lui
Posté le 23-04-2020 à 21:22:25  profilanswer
 

Dans ce jeu il est possible de tricher.
C'est votre partie.
C'est MinMax pure.
 
Aussi, j'ai oublié d'affecter les piece taken/token.
 
La promotion est automatique normalement.
 
C'est pas certain que vous puissiez avoir deux reine tout de même.
 
Et il manque l'implementation du rock.


Message édité par faston le 23-04-2020 à 21:39:12

---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352430
rufo
Pas me confondre avec Lycos!
Posté le 23-04-2020 à 23:20:04  profilanswer
 

Avant d'imlpémenter les trucs "compliqués" comme la promotion ou le rock, commence par implémenter le minimum syndical : le déplacement autorisé des pièces :/ Là, ma tour passe tranquille au-dessus des pions et va même en diagonale. Je peux avancer un pion de 4 cases.
 
Niveau ergonomie, fais-le par clic point de départ, clic point d'arrivée. Parce que je me vois mal gérer les déplacements par ton formulaire de 4 listes.
 
Il manque aussi un espace affichant tous les coups joués et le compteur de temps des 2 joueurs.
 
Au passage, ça serait pas mal d'avoir un échiquier plus gros. Là, c'est très petit et on distingue mal les blancs des noirs (ex : la reine blanche ressemble beaucoup à la noire).
 
Edit : utilise des images en 64x64 plutôt que des caractères pour les pièces et l'échiquier. Utilise la propriété z-index (css) pour les superpositions ;)


Message édité par rufo le 23-04-2020 à 23:22:09

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2352431
faston
Votez pour lui
Posté le 23-04-2020 à 23:36:13  profilanswer
 

C'est sla oui.


---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352432
faston
Votez pour lui
Posté le 23-04-2020 à 23:41:34  profilanswer
 

Tu joue ce que tu veux.
Ca joue pas terrible en fait.
J'ai fait ça pour le fun.
Rien de pratique, c'est pas fais pour être utiliser, il y a plain d'appli déjà.
Comme tu peux voir c'est chaud d'entrée ligne/colonne 2 fois.
Mais bon, quand t'es passionné, tu click.


---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352436
faston
Votez pour lui
Posté le 24-04-2020 à 00:31:56  profilanswer
 

La Common Gatway Interface nommée webchessgale2 accessible à la même adresse par chess.html est une partie à zéro joueur niveau 2; Y a qu'à clicquer le bouton send.


Message édité par faston le 24-04-2020 à 00:33:41

---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352437
faston
Votez pour lui
Posté le 24-04-2020 à 00:58:05  profilanswer
 

Niveau 2, ça mouine, le temps et X 4 ou X 6 par le web en local.
 
Mais c'est vitte fait par ce que j'ai un bug, je sais pas quoi qui fait le roi est pas défendu correctement. bref.
 
Si vous étiez la vous l'aurais pigé.


---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352438
faston
Votez pour lui
Posté le 24-04-2020 à 01:33:46  profilanswer
 

Bon, ça marche pas.


---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352440
Mackila
Posté le 24-04-2020 à 02:36:48  profilanswer
 

La promotion ça a pas marché :o
 
Et j'ai joué que des coups légaux, mais on peut effectivement jouer ce qu'on veut.
 
Faudra se pencher sur l'ergonomie aussi, le formulaire pour jouer est pas terrible.
 

n°2352442
rufo
Pas me confondre avec Lycos!
Posté le 24-04-2020 à 09:25:08  profilanswer
 

C'est ce que je lui ai fait remarquer. Implémenter le clic sur les cellules, c'est quand même pas la mort par rapport à l'implémentation d'un min/max :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2352446
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-04-2020 à 09:38:31  profilanswer
 

faston a écrit :

C'est sla oui.


Bordel, mais les conseils qu'on te donne sont tout à fait pertinents, et tu les prend de haut sans jamais en tenir compte ! C'est vraiment saoulant ce genre d'attitude. Tu peux pas écouter ce qu'on te dit au lieu de n'en faire qu'à ta tête ?


---------------
J'ai un string dans l'array (Paris Hilton)
n°2352455
faston
Votez pour lui
Posté le 24-04-2020 à 12:51:26  profilanswer
 

Mackila a écrit :

La promotion ça a pas marché :o
 
Et j'ai joué que des coups légaux, mais on peut effectivement jouer ce qu'on veut.
 
Faudra se pencher sur l'ergonomie aussi, le formulaire pour jouer est pas terrible.
 


 
Merci pour le retour.


---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352494
rufo
Pas me confondre avec Lycos!
Posté le 25-04-2020 à 11:46:41  profilanswer
 

Harkonnen a écrit :


Bordel, mais les conseils qu'on te donne sont tout à fait pertinents, et tu les prend de haut sans jamais en tenir compte ! C'est vraiment saoulant ce genre d'attitude. Tu peux pas écouter ce qu'on te dit au lieu de n'en faire qu'à ta tête ?


Je ne relève plus ce genre de remarque déplacée. Je luis fais des critiques constructives, il en fait ce qu'il veut. Mais quand on demande l'avis à des personnes, il faut s'attendre à des critiques. Charge à ceux qui les font d'être constructif et pas juste critiquer pour critiquer.
Perso, j'ai toujours pris l'habitude que lorsque je critiquais une chose, de toujours proposer une alternative réalisable. Si je n'en suis pas capable, alors je me tais. En résumé, si je ne suis pas capable de faire mieux, je la ferme. Je pense que pas mal de monde devrait s'inspirer de ce principe  :whistle:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2352495
faston
Votez pour lui
Posté le 25-04-2020 à 13:41:53  profilanswer
 

Ici il fallait coder en HTML.
 
Point barre.


---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352496
faston
Votez pour lui
Posté le 25-04-2020 à 13:47:55  profilanswer
 

Comme ceci :

Code :
  1. <!DOCTYPE html>
  2. <html>
  3.  <head><meta Charset="UTF-8">
  4.    <title>Chess game</title>
  5.    <meta name="viewport" content="width=device-width, initial-scale=1">
  6.  </head>
  7.  <body>
  8.    <table border="2" width="225" height="200">
  9.      <tr>
  10.     <th></th>
  11.     <th>a</th>
  12.     <th>b</th>
  13.     <th>c</th>
  14.     <th>d</th>
  15.     <th>e</th>
  16.     <th>f</th>
  17.     <th>g</th>
  18.     <th>h</th>
  19.      </tr>
  20.      <tr>
  21.     <td>8</td>
  22.     <td>♜</td>
  23.     <td>♞</td>
  24.     <td>♝</td>
  25.     <td>♛</td>
  26.     <td>♚</td>
  27.     <td>♝</td>
  28.     <td>♞</td>
  29.     <td>♜</td>
  30.      </tr>
  31.      <tr>    
  32.     <td>7</td>
  33.     <td>♟</td>
  34.     <td>♟</td>
  35.     <td>♟</td>
  36.     <td>♟</td>
  37.     <td>♟</td>
  38.     <td>♟</td>
  39.     <td>♟</td>
  40.     <td>♟</td>
  41.      </tr>
  42.      <tr>
  43.     <td>6</td>    
  44.     <td> </td>
  45.     <td> </td>
  46.     <td> </td>
  47.     <td> </td>
  48.     <td> </td>
  49.     <td> </td>
  50.     <td> </td>
  51.     <td> </td>
  52.      </tr>
  53.      <tr>
  54.     <td>5</td>
  55.     <td> </td>
  56.     <td> </td>
  57.     <td> </td>
  58.     <td> </td>
  59.     <td> </td>
  60.     <td> </td>
  61.     <td> </td>
  62.     <td> </td>
  63.      </tr>
  64.      <tr>
  65.     <td>4</td>
  66.     <td> </td>
  67.     <td> </td>
  68.     <td> </td>
  69.     <td> </td>
  70.     <td> </td>
  71.     <td> </td>
  72.     <td> </td>
  73.     <td> </td>
  74.      </tr>
  75.      <tr>
  76.     <td>3</td>
  77.     <td> </td>
  78.     <td> </td>
  79.     <td> </td>
  80.     <td> </td>
  81.     <td> </td>
  82.     <td> </td>
  83.     <td> </td>
  84.     <td> </td>
  85.      </tr>
  86.      <tr>
  87.     <td>2</td>    
  88.     <td>♙</td>
  89.     <td>♙</td>
  90.     <td>♙</td>
  91.     <td>♙</td>
  92.     <td>♙</td>
  93.     <td>♙</td>
  94.     <td>♙</td>
  95.     <td>♙</td>
  96.      </tr>
  97.      <tr>
  98.     <td>1</td>
  99.     <td>♖</td>
  100.     <td>♘</td>
  101.     <td>♗</td>
  102.     <td>♕</td>
  103.     <td>♔</td>
  104.     <td>♗</td>
  105.     <td>♘</td>
  106.     <td>♖</td>
  107.      </tr>
  108.    </table>      
  109.    <FORM action="/cgi-bin/webchessgame" method="post">
  110.      White : <input type="hidden" name="white" value="">
  111.      <br>
  112.      Black : <input type="hidden" name="black" value="">
  113.      <br>
  114.      
  115.      <br>
  116.      
  117.      Source :
  118.      <SELECT name="scol" size="1">
  119.     <OPTION>col
  120.     <OPTION>a
  121.     <OPTION>b
  122.     <OPTION>c
  123.     <OPTION>d
  124.     <OPTION>e
  125.     <OPTION>f
  126.     <OPTION>g
  127.     <OPTION>h
  128.      </SELECT>
  129.      <SELECT name="sline" size="1">
  130.     <OPTION>line
  131.     <OPTION>1
  132.     <OPTION>2
  133.     <OPTION>3
  134.     <OPTION>4
  135.     <OPTION>5
  136.     <OPTION>6
  137.     <OPTION>7
  138.     <OPTION>8
  139.      </SELECT>
  140.      <br>
  141.      Target :
  142.      <SELECT name="tcol" size="1">
  143.     <OPTION>col
  144.     <OPTION>a
  145.     <OPTION>b
  146.     <OPTION>c
  147.     <OPTION>d
  148.     <OPTION>e
  149.     <OPTION>f
  150.     <OPTION>g
  151.     <OPTION>h
  152.      </SELECT>
  153.      <SELECT name="tline" size="1">
  154.     <OPTION>line
  155.     <OPTION>1
  156.     <OPTION>2
  157.     <OPTION>3
  158.     <OPTION>4
  159.     <OPTION>5
  160.     <OPTION>6
  161.     <OPTION>7
  162.     <OPTION>8
  163.      </SELECT>
  164.      <br>
  165.      <input type="hidden" name="a1" value="White_Rook">
  166.      <input type="hidden" name="b1" value="White_Knight">
  167.      <input type="hidden" name="c1" value="White_Bishop">
  168.      <input type="hidden" name="d1" value="White_Queen">
  169.      <input type="hidden" name="e1" value="White_King">
  170.      <input type="hidden" name="f1" value="White_Bishop">
  171.      <input type="hidden" name="g1" value="White_Knight">
  172.      <input type="hidden" name="h1" value="White_Rook">
  173.      <input type="hidden" name="a2" value="White_pawn">
  174.      <input type="hidden" name="b2" value="White_pawn">
  175.      <input type="hidden" name="c2" value="White_pawn">
  176.      <input type="hidden" name="d2" value="White_pawn">
  177.      <input type="hidden" name="e2" value="White_pawn">
  178.      <input type="hidden" name="f2" value="White_pawn">
  179.      <input type="hidden" name="g2" value="White_pawn">
  180.      <input type="hidden" name="h2" value="White_pawn">
  181.      <input type="hidden" name="a3" value="Blank">
  182.      <input type="hidden" name="b3" value="Blank">
  183.      <input type="hidden" name="c3" value="Blank">
  184.      <input type="hidden" name="d3" value="Blank">
  185.      <input type="hidden" name="e3" value="Blank">
  186.      <input type="hidden" name="f3" value="Blank">
  187.      <input type="hidden" name="g3" value="Blank">
  188.      <input type="hidden" name="h3" value="Blank">
  189.      <input type="hidden" name="a4" value="Blank">
  190.      <input type="hidden" name="b4" value="Blank">
  191.      <input type="hidden" name="c4" value="Blank">
  192.      <input type="hidden" name="d4" value="Blank">
  193.      <input type="hidden" name="e4" value="Blank">
  194.      <input type="hidden" name="f4" value="Blank">
  195.      <input type="hidden" name="g4" value="Blank">
  196.      <input type="hidden" name="h4" value="Blank">
  197.      <input type="hidden" name="a5" value="Blank">
  198.      <input type="hidden" name="b5" value="Blank">
  199.      <input type="hidden" name="c5" value="Blank">
  200.      <input type="hidden" name="d5" value="Blank">
  201.      <input type="hidden" name="e5" value="Blank">
  202.      <input type="hidden" name="f5" value="Blank">
  203.      <input type="hidden" name="g5" value="Blank">
  204.      <input type="hidden" name="h5" value="Blank">
  205.      <input type="hidden" name="a6" value="Blank">
  206.      <input type="hidden" name="b6" value="Blank">
  207.      <input type="hidden" name="c6" value="Blank">
  208.      <input type="hidden" name="d6" value="Blank">
  209.      <input type="hidden" name="e6" value="Blank">
  210.      <input type="hidden" name="f6" value="Blank">
  211.      <input type="hidden" name="g6" value="Blank">
  212.      <input type="hidden" name="h6" value="Blank">
  213.      <input type="hidden" name="a7" value="Black_pawn">
  214.      <input type="hidden" name="b7" value="Black_pawn">
  215.      <input type="hidden" name="c7" value="Black_pawn">
  216.      <input type="hidden" name="d7" value="Black_pawn">
  217.      <input type="hidden" name="e7" value="Black_pawn">
  218.      <input type="hidden" name="f7" value="Black_pawn">
  219.      <input type="hidden" name="g7" value="Black_pawn">
  220.      <input type="hidden" name="h7" value="Black_pawn">      
  221.      <input type="hidden" name="a8" value="Black_Rook">
  222.      <input type="hidden" name="b8" value="Black_Knight">
  223.      <input type="hidden" name="c8" value="Black_Bishop">
  224.      <input type="hidden" name="d8" value="Black_Queen">
  225.      <input type="hidden" name="e8" value="Black_King">
  226.      <input type="hidden" name="f8" value="Black_Bishop">
  227.      <input type="hidden" name="g8" value="Black_Knight">
  228.      <input type="hidden" name="h8" value="Black_Rook">
  229.      
  230.      
  231.      <br>
  232.      <input type="submit" value="Send the message"/>
  233.      
  234.    </FORM>
  235.    
  236.  </body>
  237. </html>


 
Ecrit avec mes petite mimines et mon petit cerveau.
 
Et les bras et les bras...


---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352497
rufo
Pas me confondre avec Lycos!
Posté le 25-04-2020 à 14:19:06  profilanswer
 

Le HTML étant un langage statique de structuration de l'information, tu risques pas de coder un jeu (dynamique donc) avec :/ Il te faut soit un langage côté serveur (PHP, Java, .net... voire un vieux CGI) soit un langage côté client comme le Javascript.
Dans les 2 cas, pas besoin d'un formulaire 8x8 champs.  
Côté client, une bête variable Array stockera la position des pièces et un clic de départ/un clic d'arrivée permettra de mettre à jour l'état du jeu (en mémoire et à l'affichage).
Côté serveur, tu as le choix entre un fichier, une variable de session ou en mode bourrin, une BD pour stocker l'état du jeu. Un clic de départ/un clic d'arrivée déclenche une requête Ajax pour envoyer en GET au serveur le coup joué. Ca met à jour l'état de la partie en mémoire. Le serveur renvoie qu'il a bien pris en compte le coup joué et indique le coup qu'il joue si y'a un des 2 joueurs qui est une IA. Le client, via Javascript, met à jour l'affichage.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2352498
faston
Votez pour lui
Posté le 25-04-2020 à 14:26:14  profilanswer
 

Non, mais laisse tomber.
Tu sais pas lire le titre.


---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352499
faston
Votez pour lui
Posté le 25-04-2020 à 14:27:11  profilanswer
 

Avec un Get. Et ben ça alors....
 
BREF.


---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352500
faston
Votez pour lui
Posté le 25-04-2020 à 14:33:21  profilanswer
 

Si il y avait des amateur du jeu avide d'une partie contre l'ia de jovalise..../...
Donc on joue contre un minmax pure.
Les piece pour l'ia prènnent des valeur faiblement différente à chaque coup.
Ce qui permet de varier les parties.
La promotion est sensé fonctionner mais si vous n'avez pas de piece prise, le jeu ne peu pas en inventer. Déduisez.
 
Je vous redonne le lien : webchessgame.html
 
En vous souhaitant bonnes continuations.
 


---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352504
MaybeEijOr​Not
but someone at least
Posté le 25-04-2020 à 15:10:44  profilanswer
 

Faudrait peut-être annoncer qu'elle couleur on joue...
J'ai joué les noirs au premier tour (pour éviter qu'on me dise que je suis raciste :o ), je bouge mon pion, ça mouline pendant 30 secondes et là ça m'affiche mon pion correctement déplacé mais avec en plus mon fou qui c'est aussi déplacé par intervention divine.
J'en conclue que l'IA joue les noirs, et que ça ne la dérange pas qu'on bouge ses pions. :pt1cable:


Message édité par MaybeEijOrNot le 25-04-2020 à 15:11:30

---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°2352508
faston
Votez pour lui
Posté le 25-04-2020 à 16:57:23  profilanswer
 

exact. mdr.


---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352509
faston
Votez pour lui
Posté le 25-04-2020 à 16:58:11  profilanswer
 

On joue les blanc.
Proposer le choix était quelque chose de beaucoup plus complexe en l'état.


---------------
Tenebris Majestua Ordonae Ordo Vitae
n°2352515
faston
Votez pour lui
Posté le 25-04-2020 à 17:42:22  profilanswer
 

Je viens de modifier le fichier CGI.
J'ai modifier quelque valeur de piece.
Du coup le programme protège un minim le roi.
J'avais mis beaucoup trop de point au roi.
Et j'ai révisé les heuristiques. Mais je sais plus ou j'en suis puique je vienn de modifier la valeur du roi. Je suis paumé pour avancer.
 
Vaudrais mieux tester effecacement, avec le cerveau si ça joue effectivement bien.
C'est vrai de col line col line c'est dure.
Puis c'est long... 1 de profondeur. 2 en fait.
Je vais en faire un à zero.


Message édité par faston le 25-04-2020 à 17:47:47

---------------
Tenebris Majestua Ordonae Ordo Vitae
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [HTML] Jeu d'échecs en HTML : renvoyer l'état du jeu

 

Sujets relatifs
Passerelle SMS : générer une URL par html ou VBProblèmes pour site web html
Soucis avec un menu HTML et JS.[OpenAPI - Maven] Generation HTML depuis yaml OAS 3
html style recursifinterface utilisateur modifiant contenu HTML et CSS
[html] fonction scrollAfficher flux http dans page html
Jeu carte bataille pythonJeu de carte bataille
Plus de sujets relatifs à : [HTML] Jeu d'échecs en HTML : renvoyer l'état du jeu


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR