Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Concours


Index du Forum » Concours » Le Fil d'Entraide du Concours de Rentrée 2023
Slyvtt Hors ligne Maître du Puzzle Points: 2389 Défis: 17 Message

Le Fil d'Entraide du Concours de Rentrée 2023

Posté le 08/10/2023 20:55

Bon comme à l'accoutumée, le concours de rentrée est apparu.

Le cru 2023 est basé sur le jeu de cartes du 1000 bornes que vous connaissez certainement Toutes et Tous.
Les modalités du concours sont ici : Concours Python de rentrée 2023-2024 ou dans le post original sur TIP.



Donc voici le fil d'entraide qui suivra ici. Je crée juste le lien, n'ayant pour le moment pas encore regardé en détail les scripts du jeu. Il s'agit de la zone d'échange habituelle sur la communauté Planète Casio afin d'échanger des infos, des outils, demander de l'aide ...

Bon code à Toutes et Tous, un grand merci à Critor et à la bande de codeurs du défi, et amusez-vous bien.


Genesect Hors ligne Membre Points: 112 Défis: 0 Message

Citer : Posté le 13/01/2024 21:36 | #


Merci
Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 13/01/2024 21:44 | #


Surtout que le mien fais aussi la meme chose (il défausse des cartes) Pour info, cela ce passe quand l'IA fais un coup invalide
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Genesect Hors ligne Membre Points: 112 Défis: 0 Message

Citer : Posté le 14/01/2024 12:12 | #


Oui mais techniquement, les coups que je lui dis de faire sont valide
Afyu Hors ligne Maître du Puzzle Points: 37 Défis: 0 Message

Citer : Posté le 15/01/2024 14:42 | #


Genesect, ton IA ne pioche jamais. Ton coup qui correspond à "piocher une carte" est remplacé par mille autre coups lorsque tu parcours les différentes configurations du plateau (que je n'ai pas parcouru en détail) avant ta ligne qui joue réellement le coup : "return coup".

Il te manque un "else" assez tôt dans ton algorithme


Bonne chance !
Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 15/01/2024 15:20 | #


Bien vu Ayfu!
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Genesect Hors ligne Membre Points: 112 Défis: 0 Message

Citer : Posté le 15/01/2024 19:21 | #


Afyu a écrit :
Genesect, ton IA ne pioche jamais. Ton coup qui correspond à "piocher une carte" est remplacé par mille autre coups lorsque tu parcours les différentes configurations du plateau (que je n'ai pas parcouru en détail) avant ta ligne qui joue réellement le coup : "return coup".

Il te manque un "else" assez tôt dans ton algorithme


Bonne chance !


Merci beaucoup
Genesect Hors ligne Membre Points: 112 Défis: 0 Message

Citer : Posté le 15/01/2024 19:27 | #


    if len(self.infos_joueur.main) < self.taille_main:
      # si on a moins de <taille_main> cartes en main, alors on peut tirer une carte du <SABOT> et la rajouter a sa main
      origine = SABOT


mais c'est pas ça qui la fait piocher ?
Slyvtt Hors ligne Maître du Puzzle Points: 2389 Défis: 17 Message

Citer : Posté le 15/01/2024 19:30 | #


non il faut :

1/ créer le coup via par exemple la ligne suivante
coup = c_coup(self.infos_joueur.num_joueur, I_CREVAISON, destination)


2/ faire le return qui valide le coup via la ligne suivante
    return coup

There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Genesect Hors ligne Membre Points: 112 Défis: 0 Message

Citer : Posté le 15/01/2024 19:32 | #


oui mais moi IA le fait, non ?

ps : elle est dans un message un peu avant celui là
Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 15/01/2024 19:33 | #


Si, c'est bien ca...
Mais la, tu ne fais pas le coup, juste tu dis l'origine, qui est bien. Mais tu lui demande ensuite de faire un coup, donc, il va faire le coup demandé et ne pas piocher. Donc tu peux faire comme Ayfu as dit ou crée une variable appelé "fini" par exemple et de dire que au début elle vaut 0. Dès que tu fais un coup, tu l'a met a 1 et ensuite, tu rajoute a TOUTE tes conditions:
and fini == 0:

J'espere que cela t'aidera
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 15/01/2024 19:37 | #


Genesect a écrit :
oui mais moi IA le fait, non ?

ps : elle est dans un message un peu avant celui là
ton IA le fais a la fin mais ce que tu dois faire c'est soit ce que je t'ai dis en haut ou sois a chaque fois que tu défini la variable c_coup, tu fais
return c_coup
(comme ce que Slyvtt t'as dis )
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Slyvtt Hors ligne Maître du Puzzle Points: 2389 Défis: 17 Message

Citer : Posté le 15/01/2024 19:37 | #


Genesect a écrit :
oui mais moi IA le fait, non ?

ps : elle est dans un message un peu avant celui là


non tu penses qu'elle le fait mais en fait a chaque condition tu modifies ton coup et à la fin ca joue pas ce que tu veux (ou pense)
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Genesect Hors ligne Membre Points: 112 Défis: 0 Message

Citer : Posté le 15/01/2024 20:04 | #


ok merci je vais tester ça
Genesect Hors ligne Membre Points: 112 Défis: 0 Message

Citer : Posté le 15/01/2024 20:13 | #


Tuper4 a écrit :
Genesect a écrit :
oui mais moi IA le fait, non ?

ps : elle est dans un message un peu avant celui là
ton IA le fais a la fin mais ce que tu dois faire c'est soit ce que je t'ai dis en haut ou sois a chaque fois que tu défini la variable c_coup, tu fais
return c_coup
(comme ce que Slyvtt t'as dis )


return coup ou return c_coup(ou ça revient au meme)
Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 15/01/2024 20:17 | #


Si tu fais
coup = c_coup(.........)
tu dois faire return coup. Mais tu peux aussi faire:
return c_coup(........)
les deux revienne au meme. (Les petits points représente le coup que tu veux faire )
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 15/01/2024 20:18 | #


@Slyvtt MP
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Genesect Hors ligne Membre Points: 112 Défis: 0 Message

Citer : Posté le 15/01/2024 20:24 | #


est ce que return c_coup(coup) ça fonctionne ?
Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 15/01/2024 20:31 | #


c_coup est le fonction permettant de joué un coup avec le trio:
-Origine
-Carte
-Destination
Si tu voudrait joué un feu vert, tu devras faire comme ca
return c_coup(self.infos_joueur.num_joueur, I_FEU_VERT,self.infos_joueur.num_joueur)
ou tu peux faire comme ca

ma_variable = c_coup(self.infos_joueur.num_joueur, I_FEU_VERT,self.infos_joueur.num_joueur)
return ma_variable

When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Genesect Hors ligne Membre Points: 112 Défis: 0 Message

Citer : Posté le 15/01/2024 20:34 | #


ok merci
Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 15/01/2024 20:36 | #


Pas de souci si tu as encore des problèmes, n'hésite pas as demandé
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Slyvtt Hors ligne Maître du Puzzle Points: 2389 Défis: 17 Message

Citer : Posté le 15/01/2024 20:46 | #


En fait il faut décomposer le coup en 3 parties :
- l'origine de la carte (ta main ou le SABOT)
- la carte qu'on veut jouer (les cartes s'appellent toutes I_qqchose)
- la destination de la carte (le SABOT pour défausser une carte ou un joueur adverse)

Une astuce en passant :
- tu as le numéro self.num_joueur
- le joueur adverse a donc pour numéro 1-self.num_joueur


On crée un coup avec la fonction c_coup( origine, carte, destination )

Tu peux stocker dans une variable le coup, comme expliqué par Tuper4 :

par exemple si je veux mettre un feu vert dans mon jeu :
coup = c_coup( self.num_joueur, I_FEU_VERT, self.num_joueur )
return coup

si tu veux attaquer l'adversaire avec un feu rouge :
coup = c_coup( self.num_joueur, I_FEU_ROUGE, 1 - self.num_joueur )
return coup

Note que tu peux faire une validation directe du coup sans stocker dans une variable en faisant :
return c_coup( self.num_joueur, I_FEU_VERT, self.num_joueur)

There are only 10 types of people in the world: Those who understand binary, and those who don't ...

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 199 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