Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
Menu
Calculatrices
Graph 35 à 100 (CFX)
Graph 25/25+ (Pro) (fx-7400)
Graph 35+USB/75/85/95 (SD)
Graph 100/100+ (AFX)
ClassPad 300/330
Fx-CG 10/20
Fx-CP 400
Graph 90+E
Liens
¤ Transférer un programme sur
sa calculatrice

¤ Vous cherchez une fonction ?
Jeux >> Graphs 35 à 100 >> Réflexion >> Othello ia
Othello ia
Version : 1.6 Taille : 4928 octets Ajouté le : 2011-12-22 22:32 Modifié le : 2012-05-21 22:19
Auteur et posteur :
BtlHors ligneAncien modérateurPoints: 3879 Défis: 107 Message
Planète Casio - Jeu Casio de reflexion - Othello ia - btl - Calculatrices
Nombre de visites sur cette page : 8767
Score au progrank : 31
Pas encore de note !
Vous devez être connecté(e) pour noter (inscription).
688 téléchargements | Soumettre un test

Ce programme est sous licence Creative Commons 2.0 BY-SA-NC


Description :

Je m'attaque ici au monument qu'est OTHELLO

je l'ai codé intégralement hier (et j'en suis assez fier), il marche nickel sans aucun bug
(enfin j'en ai pas trouvé )

Quand je me suis apperçu qu'il n'en existait pas en basic, je me suis dit "ça ne peut pas durer"
Alors je l'ai créé et maintenant j' arrête pas d'y joué et je ne m'en lasse pas

voici les règles pour les (peu de) gens qui ne connaissent pas :

les joueurs jouent à tour de rôle, chacun étant tenu de capturer des pions adverses lors de son mouvement. Si un joueur ne peut pas capturer de pion(s) adverse(s), il est forcé de passer son tour. Si aucun des deux joueurs ne peut jouer, ou si l'othellier ne comporte plus de case vide, la partie s'arrête. Le gagnant en fin de partie est celui qui possède le plus de pions.
La capture de pions survient lorsqu'un joueur place un de ses pions à l'extrémité d'un alignement de pions adverses contigus et dont l'autre extrémité est déjà occupée par un de ses propres pions. Les alignements considérés peuvent être une colonne, une ligne, ou une diagonale. Si le pion nouvellement placé vient fermer plusieurs alignements, il capture tous les pions adverses des lignes ainsi fermées. La capture se traduit par le retournement des pions capturés. Ces retournements n'entraînent pas d'effet de capture en cascade : seul le pion nouvellement posé est pris en compte.


C'est un jeu qui se joue a 2 joueurs sur la même calculatrice
le jeu possède également une IA ou intelligence artificielle qui réfléchit tout seul et contre qui vous pouvez jouez.
Elle possède 3 niveaux de difficulté croissante pour que ce jeu soit accessible à tous

Les commandes sont relativement simple:
- replay pour se déplacer
-[EXE] pour valider la case ou tu pose ton piont
-[EXIT] pour quitter le jeu
-[O] pour passer ton tour si tu ne sait jouer sur aucune des cases.

J'espère que vous prendrez autant de plaisir que moi à jouer a ce jeu

BTL


version 1.1
-Ajout d'une IA

version 1.2
-Amélioration de l'IA

version 1.3
-Ajout de niveaux de difficulté

version 1.4
-l'IA est encore plus poussé en mode expert. Et j'espère qu'elle vous donnera du fil à retordre avant de la battre...
version 1.5
l'IA ne joue plus toujours aux mêmes endroits si elle à le choix. On ne peut également plus entrer dans l'IA sans d'abord jouer car elle est protégée par les droits d'auteurs

version 1.6
-Plus de petit bug dans le menu j vs j
-ajout de la possibilité de regarder l'ia se battra contre ell-même
-indication des cases illégales


Commentaires :

Pages: Précédente | 1, 2, 3, 4 | Suivante

PurobazHors ligneMembre d'honneurPoints: 2690 Défis: 110 Message
Posté le 23-12-2011 à 18:37 | #
Après tu rajoutes des astuces comme prendre les coins et les bords, ne pas donner de coins à l'adversaire...
BtlHors ligneAncien modérateurPoints: 3879 Défis: 107 Message
Posté le 23-12-2011 à 23:53 | #
Et voila j'ai programmé ma première IA pour un jeu d'othello (merci pierrot)
effectivement la calto ne réfléchit pas très longtemps et se débrouille pas mal
mais à la toute fin ( 3-4 derniers coup elle refuse de jouer )
bon j'ai pas encore compris pourquoi !

mais dès que j'ai trouvé je poste ma version avec IA sur le site
(j'ai pas encore rajouté d'astuces mais ça viendra )
BtlHors ligneAncien modérateurPoints: 3879 Défis: 107 Message
Posté le 25-12-2011 à 16:23 | #
Voila j'ai rajouté l'IA
Pourriez-vous la tester s'il vous plait?
J'aimerais vraiment savoir ce qu'elle vaut

Pourriez vous me dire si elle vous bat ou si vous la battez

ça me ferait plaisir.
merci
Ne0tuxHors ligneMembre d'honneurPoints: 3495 Défis: 265 Message
Posté le 25-12-2011 à 17:28 | #

Aller, ça ne se refuse pas !

Alors je viens de tester et... j'ai perdu

Deux possibilités :

-> soit je suis trop nul

-> soit ton IA est trop forte

Personnellement j'opte pour la première solution. De ce fait, je ne sais pas si mon test t'aidera.

M'enfin je dois t'avouer que ça tourne bien ! Félicitations ! Et surtout, j'étais sceptique de voir une IA en basic mais ça ne ralentit pas tant que ça, bien au contraire. Après, avec un plateau plus grand, ça prendrait peut-être plus de temps...

Sinon franchement je crois que ton IA gère. En revanche, je n'ai pas regardé le code en détail mais comment ton IA choisi la case à jouer ?
D'après ce que j'ai compris, elle "détecte" les cases qui ont un pion adverse adjacent et place son pion. Mais elle place à la première occasion venue ? Celui qui rapporte le plus de point immédiatement ?

En fait je suis curieux de savoir les "priorités" de ton IA. En tout cas, je suppose quelle n'est pas visionnaire, c'est à dire qu'elle joue pour le mieux pour le tour en cours, mais pas en prévision des prochains...

Bravo donc, continue !
BtlHors ligneAncien modérateurPoints: 3879 Défis: 107 Message
Posté le 25-12-2011 à 17:50 | #
ce message a été supprimé car il explique comment fonctionne l'IA
Si vous êtes curieux et voulez quand même savoir comment elle marche vous pouvez me contactez par MP
Ne0tuxHors ligneMembre d'honneurPoints: 3495 Défis: 265 Message
Posté le 25-12-2011 à 22:25 | #
Avec tes indices j'ai réussi à battre ton IA plus de 5 fois consécutives. 8)

A vrai dire, tu as réussi l'exploit d'inculquer une stratégie à la calto mais ça n'est pas forcément la meilleure...

Si je ne me trompe pas, la stratégie en question est celle dite de la "Maximisation". Elle est efficace au début mais si adversaire, en l’occurrence nous, s'en rend compte, il est aisé de la piéger, en la forçant à jouer dans certains points "stratégiques".

En tout cas, bravo pour cet exploit ! Je crois que tout ça mérite réflexion !

Je me demande si nous ne devrions pas organiser un concours tous langages de programmation/calculette autour d'une IA commune : tout le monde a le même jeu mais dois développer une IA la plus compétitive possible. C'est un challenge extrêmement intéressant et enrichissant à plusieurs, car seul ça peut devenir rébarbatif voir dissuasif.

M'enfin, il faut des gens motivés ! Moi je le suis, donc après, voyez pour vous-mêmes !

Au fait, il n'y a pas deux "L" à Othello ?!?

Merci beaucoup pour ton projet, il m'intéresse vivement et j'espère bien qu'il en sera de même pour d'autres membres ! C'est bien beau de programmer en C/C++ et de cracher sur de "petits" programmes en basic, mais ça c'est de la vraie programmation, un vrai challenge ! Il y a une vraie réflexion derrière le programme, surtout que le langage ne permet pas tout, il faut apprendre à surmonter les limites imposées par la CASIO. Et contrairement à ce que certains disent, c'est tout à fait possible ! Ton programme, comme beaucoup d'autres en basic, en est la preuve.

Aller, je mets fin à ce pavé !

En revanche, j’espère vraiment que nous ne nous arrêterons pas là !


BtlHors ligneAncien modérateurPoints: 3879 Défis: 107 Message
Posté le 25-12-2011 à 23:19 | #
Si il y a bien 2 "L" a othello mais tu verras que dans ma description il y en a 2 et que le programme comporte également 2 "L" mais pour le nom j'ai oublié et comme je ne peux pas le changer

Le concours d'IA vs IA a déjà été proposé maintes et maintes fois sur le site mais après 3 pages sur le forum on l'oublie
(excuse: on a déjà un concours en cours)

Moi même j'avais fait un mini-concours avec un pote d'IA de Puissance 4 mais on n'a pas eu le temps de le finir avec les vancances...

Donc pour moi tant qu'il n'y aura pas un vrai projet (comme 48H CPC) personne ne se bougera le C** mais à partir du moment ou ce concours est encadré par des admins et qu'un nombre suffisant de participant s'y inscrit. Pourquoi pas?

Le vrai problème est : Pour quelle jeu peut-on programmer une IA?
Je vois:
-Morpion
-Puissance 4
-Othello

(jeu trop dur : echecs - dames)

Si vous voyez d'autres jeu programmable ou que vous êtes motivez par ce projet n'hésitez pas à vous manifester!

ps: @Neo: je n'est pas fini mon IA (on peut toujours l'améliorer)
J'ajoute des maintenant une nouvelle version qui réfléchit mieux.
Ne0tuxHors ligneMembre d'honneurPoints: 3495 Défis: 265 Message
Posté le 25-12-2011 à 23:26 | #
Je connais un jeu qui serait une horreur à programmer côté IA : le Gomoku...

Je te propose de découvrir ce jeu, tu comprendras rapidement pourquoi je dis ça.

Là aussi ya du challenge !

Bon courage pour la suite de ce programme-ci !
ThomatosHors ligneAncien administrateurPoints: 3495 Défis: 39 Message
Posté le 25-12-2011 à 23:29 | #
Othello est déjà pris (j'ai essayé de changer, mais en vain =( ...)
BtlHors ligneAncien modérateurPoints: 3879 Défis: 107 Message
Posté le 25-12-2011 à 23:30 | #
euh ce jeu m'a l'air d'un puissance 4 un peu changé non ?
si on met a plat un jeu de P4 qu'on rajoute BEACOUP plus de cases et que le but est d'en mettre 5 a coté l'un de l'autre

Thomas: je pense que ce jeu prend déjà ce nom
mais tu pourrais mettre quelque chose comme othello-IA

Pages: Précédente | 1, 2, 3, 4 | Suivante

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2022 | Il y a 35 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd