>> La recherche se fait sur tous les élements du jeu Minecraft <<
Aidez nous a financer le site: Joignez l'utile à l'agréable et profitez d'FR-Minecraft sans publicités en devenant VIP ! Ou ajoutez FR-Minecraft dans vos exceptions, nous n'abusons pas des pubs

Astuce Minecraft : "Two commands" : Morpion - Joueur VS Intelligence Artificielle


Aidez nous a financer le site: Joignez l'utile à l'agréable et profitez d'FR-Minecraft sans publicités en devenant VIP ! Ou ajoutez FR-Minecraft dans vos exceptions, nous n'abusons pas des pubs

Salut les gens !

Au programme d’aujourd’hui, une Two Commands de plus de 64 000 caractères qui va vous permettre de créer une grille de morpion, sur laquelle vous allez affronter… une intelligence artificielle ! Elle a la particularité d’être relativement imbattable, ce qui peut constituer un challenge intéressant si vous voulez tenter de la vaincre… Pour avoir accès à la machine, commencez par vous donner un bloc de commande en rentrant cette instruction dans le tchat :

 

Dans l’interface du bloc de commande, cliquez sur le bouton "Needs Redstone" pour le changer en "Always Active" :

Cela aura pour effet de l’activer et de faire apparaître la box du Morpion "Joueur VS IA", orientée vers l’Est. Mais attention, cette machine n’est pas complète ! Après avoir activé le premier command_block, vous en verrez un second tomber à l’emplacement du premier. Vous pourrez ainsi y coller cette seconde commande :

  

Une fois ceci fait, appuyez de nouveau sur le bouton "Needs Redstone" pour le changer en "Always Active". La box sera de cette manière complétée et parfaitement fonctionnelle. Voilà à quoi elle devrait ressembler :

Sachez que cette machine ne fonctionne que si elle reste dans un chunk chargé. Le seul moyen de la garder active en permanence est d’entrer à proximité la commande suivante dans le tchat :

/setworldspawn

Mais si vous ne souhaitez pas déplacer le spawn par défaut de votre monde, que vous vous éloignez trop et que vous revenez sans savoir si elle est encore en fonctionnement, il y a un témoin sur sa face avant qui peut vous renseigner :

Si ce bloc tourne, la machine est encore active ; s’il est immobile, alors ce n’est plus le cas.

Entrons maintenant dans le vif du sujet : pour avoir l’occasion de jouer au morpion, il va tout d’abord falloir créer la grille. Mais attention, il est important de n’en avoir qu’une seule par monde ! Dans le cas contraire, la machine ne pourra pas fonctionner correctement.

Pour créer la grille, vous devrez donc faire un clic droit sur ce panneau :

Vous obtiendrez ainsi deux œufs, l’un appelé "Visualiser la grille", et l’autre "Générer la grille". Commencez par vous placer face à une zone relativement plate dans votre monde, et faites un clic droit sur le sol avec l’œuf "Visualiser la grille". Ces délimitations devraient ainsi apparaître :

Vous pouvez bien sûr faire un clic droit avec le même œuf à n’importe quel autre endroit, ce qui aura pour effet de déplacer la zone. Une fois que vous aurez trouvé le positionnement parfait, faites un clic droit au sol avec l’œuf "Générer la grille", et celle-ci apparaîtra aussitôt, enlevant au passage les œufs de votre inventaire :

Deux bannières se trouvent au centre de la grille, l’une ornée d’un rond, et l’autre d’une croix.

Pour choisir l’un des symboles, déplacez-vous simplement jusqu’à une des deux bannières, et passez dessus. Dès que vous aurez fait cela, la partie pourra débuter.

En début de jeu, c’est toujours le joueur qui commence. Pour jouer, faites-simplement un clic droit sur la case où vous désirez poser un symbole (vous pouvez aussi cliquez à proximité d’elle, même hors du quadrillage) avec l’œuf que vous aurez reçu en début de partie. Dès lors, votre œuf vous sera enlevé, et l’intelligence artificielle pourra jouer à son tour, avec une très belle animation.

Dès que l’un d’entre vous aura gagné (ou plutôt, dès qu’elle aura gagné ou fait une égalité, vous aurez un avertissement vous indiquant votre défaite :

Ensuite, le jeu se réinitialisera automatiquement, et ce sera à l’IA de jouer (il y a une alternance à chaque partie, soit c’est vous qui commencez, soit c’est elle).

Si jamais une autre personne veut se joindre à la partie et vous remplacer pour tenter de vaincre l’IA, il faudra cliquer sur ce panneau sur la machine :

Celui-ci va "détruire" la grille et vous enlever votre éventuel œuf, vos tags, vos scores, et l’ArmorStand qui symbolise l’IA. Vous pourrez ensuite faire un nouveau clic droit sur le panneau vous donnant les œufs servant à générer la grille, et vous pourrez commencer !

Voilà pour cette machine à morpion Joueur VS Intelligence Artificielle ! Si vous voulez désactiver (ou la réactiver) la box, vous pourrez faire un clic droit sur ce panneau du bas :

Et si vous voulez vous en débarrasser de façon définitive, en supprimant les objectifs utilisés, la grille et la box au passage, entrez cette commande dans un bloc de commande, et activez-le :

  

Si les screens ne vous ont pas entièrement satisfaits, voici enfin une vidéo de présentation vous montrant en bonne et due forme comment jouer et utiliser la machine :

Bref, amusez-vous bien avec ce morpion et tentez de battre mon intelligence artificielle ! Bon jeu gens !
Cette astuce Minecraft a été posté par Grand_Corbeau dans la catégorie Commandes le 31/10/2016 à 21h21. .

Validé par Grand_Corbeau. Dernière modification par Grand_Corbeau le 07/11/2016 à 22:33.
Partager :
Commentaires de l'astuce Minecraft
"Two commands" : Morpion - Joueur VS Intelligence Artificielle :
Grand_Corbeau (rédacteur)
le 07/11/2016 à 22:37
La MEILLEURE de toutes mes commandes les gars, plus de 64 000 caractères et 220 heures de travail, ma plus grande fierté, et accessoirement ma limite en terme de codage xD
Tronics (administrateur)
le 21/11/2016 à 17:51
Vraiment bravo grand corbeau, du grand art... comme d'habitude ;-)

Et pour éviter le HS dans les coms, ceux qui se demande ou est passé la précédente news:
==> http://fr-minecraft.net/forum/message-227059.html
Ayfor2 (anonyme)
le 21/11/2016 à 17:55
Oh intelligence artificielle, magnifique
Aragorn1202 (staff)
le 21/11/2016 à 17:58
Super travail a Grand_Corbeau,ça va être utile quand on aura plus de connection (et sérieusement,si tu faisait un serveur avec toutes tes commandes tu aurait du succés)
Fan_du_Corbeau (anonyme)
le 21/11/2016 à 18:15
Waw ... bien joué ... ;)
le 21/11/2016 à 18:29
GG, comme d'habitude tu fait toujours un super travail Grand Corbeau.
Et merci Tronic de nous avoir prévenue pour la news de ce matin je l'avais regarder et il me semblait bizarre qu'elle est était enlevée.
le 21/11/2016 à 18:33
@Grand_Corbeau Maintenant, change tout pour le faire fonctionner en 1.11 x)
Z_runner (rédacteur)
le 21/11/2016 à 18:43
Gogobond c'est infiniment plus simple que de l'avoir inventée, il existe plein de convertisseurs pour ce genre de chose, où il suffit de copié-coller la commande pour en avoir une nouvelle toute neuve fonctionnelle en 1.11 ;-)
Aragorn1202 : s'il les mettaient toutes sur la même map, ce serait impossible d'y jouer à plus de 2 fps xD

Au fait si quelqu'un arrive à battre cette machine, qu'il nous prévienne parce qu'il paraît qu'il est impossible de faire mieux qu'une égalité. Je ne vais moi-même pas essayer car je suis de toute façon incompétent dans ce jeu :D
le 21/11/2016 à 19:56
Ahlàlà t'arrives toujours à te dépasser (même si ça va être carrément compliqué de faire mieux que ça la prochaine fois :p)
le 21/11/2016 à 20:11
Bravo pour ton travail, mais une feuille et un crayon prennent 10 secondes... Ça va, c'est une blague le modo, calme-toi :)
Z_runner (rédacteur)
le 21/11/2016 à 20:31
Boargleader : le crayon est une IA ? ;-)
Le1Connu (anonyme)
le 21/11/2016 à 20:58
Après avoir pris mon temps pour simuler toutes les actions possibles dans mon cerveau...
J'en déduis que la machine est effectivement imbattable, sauf si Grand_Corbeau a oublié une possibilité (environ... 1% de chance ? bah allez on va dire 2% grand max.)...
Après c'est peut-être possible de gagner en faisant buger la machine, mais pour ca allez voir par vous-mêmes.
noteman (anonyme)
le 21/11/2016 à 21:13
le site est maintenant bloqué par Norton comme on peut le voir sur cette page https://safeweb.norton.com/report/show?url=http:%2F%2Ffr-minecraft.net%2F&product=other&version=22.8.1.14&lang=0C01&source=toolbar
MonNom (anonyme)
le 21/11/2016 à 21:27
@Grand_Corbeau --> J'ai une petite question sur l'IA. Comment s’effectue la détection des cases X et O? Utilises-tu une détection de blocs detect à partir d'une entité stable, ou les cases sont prédisposées à recevoir un tag à partir de 9 entités qui se trouvent dans chacune d'entre elles? Merci de ta réponse et jolie commande!
Aragorn1202 (staff)
le 21/11/2016 à 21:59
A Z_runner :de toute façon la map serait impossible à jouer:la démolition serait omniprésente.^^
Grand_Corbeau (rédacteur)
le 21/11/2016 à 22:22
Merci à tous !!
@MonNom -> si tu veux j'ai fait une vidéo d'explication juste ici, ça m'évite de tout expliquer en commentaire xD
https://www.youtube.com/watch?v=_2smu8izhi4
Tronics (administrateur)
le 22/11/2016 à 03:06
noteman: Envoi un email pour ce genre d'avertissement stp, pour éviter le HS ;) Merci pour l'info en tout cas, j'ai corrigé.... meme si malheureusement le probleme de vient pas de chez nous mais de chez eux (c'est une fausse alerte)...
LenyJazz (anonyme)
le 22/11/2016 à 18:13
J'ai repéré une erreur : au début tu dit "Pour avoir accès à la machine, commencez par vous donner un bloc de commande en rentrant cette instruction dans le tchat :" puis au lieu de mettre la commande pour obtenir un command block, tu met directement la two command. :D
AnneOnyme (anonyme)
le 22/11/2016 à 19:12
ca marche pas en 1.11... :.( mais bon boulot !
R0bert01 (anonyme)
le 22/11/2016 à 20:16
Prochaine étape : IA d'échecs !
MonNom (anonyme)
le 22/11/2016 à 20:59
@ R0bert01
Désolé de t'apprendre que c'est plus difficile que tu le crois! Morpion on peut comprendre, mais l'élaboration d'une stratégie complexe en command_block est quasi impossible.
Le1Connu (anonyme)
le 22/11/2016 à 21:12
Si tu voulez des trucs plus complexes installez des mods parce que c'est vraiment pas facile avec des command_blocks. (essayez par vous-mêmes vous comprendrez)
Par exemple y'a ComputerCraft qui rajoute des ordis que vous pouvez programmer vous-mêmes, et me dites pas que c'est compliqué en plus y'a des tutos partout sur YouTube.
Cornichon (anonyme)
le 22/11/2016 à 21:40
Ill me semble que personne ou presque n'avait fait quelque chose d'aussi complexe avec des commands blocks!!!
GG. !!!
le 22/11/2016 à 22:00
Génial merci :)
caloulou44 (anonyme)
le 23/11/2016 à 13:12
et dire que ma meilleur commande c'est /gamemode 1....
Le1Connu (anonyme)
le 23/11/2016 à 13:34
@caloulou44
En fait t'as déjà entré sans le savoir la commande /setblock : à chaque fois que tu cliques tu l'utilises, c'est juste que le jeu ne mets aucun message dans le tchat.
T'as même réussi l'exploit de faire /entitydata sur un joueur ! A chaque mouvement que tu fais, à chaque objet que tu ramasses ou jettes sur le sol, à chaque objet que tu déplaces dans ton inventaire !

Tu devrais être fier de toi pour faire tout ca.
le 23/11/2016 à 13:58
Comme d'hab ! Une super commande !!
Fan_du_Corbeau (anonyme)
le 23/11/2016 à 14:30
pour gagner il suffit de tricher en se givant pleins d'oeufs et poser en poser plusieurs en un tour
Ax3noX (anonyme)
le 23/11/2016 à 15:23
"commencez par vous donner un bloc de commande en rentrant cette instruction dans le tchat :"
Cette commande ne rentre pas dans le chat, et si je ma ùet dans un block de commande, un mincart de tombe dessus en me donnant des items et c'est tout
J'ai essayer en 1.10 et 1.11 ça ne fonctionne jamais
nan (anonyme)
le 23/11/2016 à 17:41
Une ia pour les débutants là dedans c'est pas ça.
Une ia c'est ça :
@process executé
ned c
get a & b
learnt that c is 3
learnt that a is 1
learnt taht b is 2
Also trying :
a+a=2
b+b=4
a+b=3
Process effectué, l'ia sait alors que a+b=c.
Une ia a une base minimale d'informations,
et vas faire un minimum de tests afin d'avoir
ce qu'elle veut.
On ne peux donc PAS faire d'ia dans mc avec ce
pro-scripting langage qu'est le command_block
puisque l'ia aura besoins de variables.

;/
caloulou44 (anonyme)
le 23/11/2016 à 18:11
@le1connu merci grace a toi je suis devenu un expert en commandes :)
Grand_Corbeau (rédacteur)
le 23/11/2016 à 20:39
@Ax3noX -> oui c'est une erreur de ma part, j'ai oublié un fragment dans l'astuce, la commande à taper c'est "/give @p command_block" et après tu mets la longue commande dedans ;)
@nan -> dans ma machine il s'agit d'une "ia faible", soit un système qui réagit par rapport à une situation donnée, un peu comme un bot quoi ;)
Le1Connu (anonyme)
le 23/11/2016 à 21:00
@Grand_Corbeau
nan a quand même un peu raison (chaque vidéo dure 7 minutes, mais si tu veux pas voir les deux seule la deuxième est importante car ils parlent encore d'IA faible et non pas d'IA forte)
https://www.youtube.com/watch?v=DlgnB4UKU74
https://www.youtube.com/watch?v=PZnLkiQbsVM
Bubon (anonyme)
le 23/11/2016 à 22:42
Comme d'habitude du grand art :)
Ça fais vraiment plaisir de voir des créations aussi ingénieuses dans la communauté française .

Sinon tu code sur des "vrais" language de programmation ? Tu aurais bien moyen de te triper ;)
R0bert01 (anonyme)
le 23/11/2016 à 22:50
@MonNom (anonyme)
Oui c'est quasi impossible, j'ai déjà tenté, c'est "possible", mais techniquement "impossible" car perso j'ai été confronté par la limite de la taille d'une map Minecraft, avec les chunks non chargé et les charger ferait tout crash j'imagine, + le temps de réponse pour chaque tour que j'imagine être d'1 minute (si pas 1 heure, sans que ça crash)...
J'ai tenté de faire une IA de Morpion une fois (car j'avais tenté une IA d'Échecs mais j'ai abandonné) mais j'ai abandonné, mais je ne l'avais pas fait à la manière de Grand_Corbeau, : c'était basé sur un système en "arborescence" et avec ce que l'on appelle algorithme "minmax", je n'ai fait que le fonctionnement grosso-modo sur le papier en fait... Mais c'est volumineux comme arborescence, mais l'avantage c'est qu'elle a une fin, contrairement à une arborescence d’Échecs là on est obligé de générer l'arborescence en temps réel (car stocker l'arbre, même sur 50 tours c'est impossible, avec une limitation prédéfinie par exemple pour une vision sur 10 tours pour une IA expert (mais c'est impossible dans Minecraft, j'ai pas réussi, même sur 3 tours, 1 tour j'ai même pas tenté ça n'a aucun intérêt, j'ai abandonné)...
L'arborescence du Morpion a déjà 9 x 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1 = 362.880 fins ! Il y a le père (grille vide) qui a 9 fils (9 embranchements possibles), ces 9 fils ont chacun 8 fils, ces 8 fils ont chacun 7 fils, etc... C'est normal vu qu'à chaque tour il y a une case en moins. Alors qu'aux Échecs c'est tout le temps variable et l'arbre n'a pas de fin en soi... C'est pas le même fonctionnement... Je comptais faire en sorte que l'arbre se génère de lui même automatiquement avec un système en command block, et à chaque tour supprimer les embranchements du passé et charger les nouveaux embranchements pour garder aux maximum une vision sur 10 tours (bien évidemment, je n'allais pas faire à la main tous les états possibles, ça se serait fait tout seul avec une machine en command_block conçue à cet effet), comme ça l'IA pour le joueur n'a plus qu'à s'y déplacer dedans, et qu'à chaque emplacement les informations des fils (petits-fils, etc...) remontent jusqu'aux pères (grands-pères, etc...), c'est ainsi que l'IA sait quelle embranchement prendre pour l'amener vers la victoire, car des "points arbitraires" sont attribués à chaque fils selon l'état de la grille (en fonction du nombre de case contrôlée par l'IA - les cases contrôlées par le joueur + le nombre de pion (avec une valeur pour chaque pion en fonction de son importance) toujours en cours de l'IA - ceux du joueur et - les pions de l'IA éliminé + les pions du joueurs éliminés, etc... et évidemment un échec et mat placé par l'IA apporterait un score arbitraire de 1000 point au score de cet embranchement ce qui la prioriserait à aller vers ce qui la mène à cet embranchement)...
Donc les scores des descendances tout en bas remontent à leurs ancêtres, et c'est ainsi que l'IA qu'importe l'endroit où elle se situe dans l'arbre sait ce qui peut l'amener vers ce qui sera bon pour elle et fera mal à l'adversaire, bien sûr l'IA doit jouer à la place du joueur dans sa "tête" en choisissant ce qui lui fera le plus de dégât, car oui elle se croit face à elle même donc si le joueur se trompe, sa vision change et l'IA prend le dessus car elle attendais qu'il fasse le/les meilleurs coups...Voilà, mais j'ai arrêté j'avais pas assez de place dans une map Minecraft pour générer l'arborescence car les chunks ne seront pas chargé et les charger ferait tout crasher...

@nan (anonyme)
L'équivalent des variables dans Minecraft ça reste les scoreboards.
Mais perso je ne comptais pas partir sur des scoreboards car tu imagines, rien que le fait de déclarer des millions de scoreboards, les traiter indépendamment pour chaque cas. Non, c'était basé sur des réactions en chaine de petite station mémoire avec des /setblock et des /clone (une station mémoire aurait représenté l'état du plateau pour un embranchement, avec les infos du "score" en donnée représentée en block), je n'aurais fait qu'UNE seule station et la matrice, et toutes les stations se seraient copier/coller et traitées automatiquement, et avec un armor stand qui aurait servi de tête de lecture dans l'arbre qui se serait tp de station en station, mais voilà c'est juste trop gourmand pour Minecraft...
Mais rien que de comparer qui a le plus gros score sur les millions de stations qui se trouvent au bout d'une vision sur 10 tours, puis de faire une mise en aléatoire si il y a des égalités, puis remonter le score jusqu'à l'état de la grille/du plateau en cours, c'est impossible à faire dans Minecraft... Minecraft n'est pas assez puissant... Surtout du fait que ça prend trop de place et que les chunks ne sont plus chargé et forcer leur chargement ferait crash Minecraft...
Z_runner (rédacteur)
le 23/11/2016 à 23:17
Faudrait pas oublier que Minecraft c'est principalement un jeu de construction et de PVP, il n'a pas été conçu pour jouer aux échecs contre une IA ;-)
Gan (anonyme)
le 24/11/2016 à 12:36
@Z_runner

C'est faux le jeux est surtout fais pour la création et le bidoulliage
Le1Connu (anonyme)
le 24/11/2016 à 17:54
@Gan (anonyme) et Z_runner
A la base minecraft est un jeu orienté survie et exploration, suffit de regarder les versions alpha.
Gan (anonyme)
le 24/11/2016 à 18:34
Ouais à la base mais depuis l'arrivé des blocs de commande le jeu s'oriente vers l'utra custom : possibilité casi illimité avec les commande bloc , création de texture pack simplifié , idem pour les mods et skins ...
Mojang nous pousse à créer et á nous servir de notre imagination car c'est un des seul moyen de patienter entre deux maj ( on aurai fais quoi sans les maps customs entre la 1.7/1.8/1.9 ) .
le 24/11/2016 à 19:41
Ben t'es vachement doué.....
Çomment retrouver tes autres créations ?
Grand_Corbeau (rédacteur)
le 24/11/2016 à 20:18
@Hadx -> Merci !! Et pour ça, tu peux aller sur ma chaîne YT, j'y poste tous mes systèmes en avant-première ;)
le 29/04/2017 à 13:33
Salut, grand corbeau, j'en étais sure que je pouvais te retrouver sur ce site, comme ça, ça me serra utile pour installer tes No-Mods ! ;)

Vous devez être connecté pour laisser un commentaire.