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 En ligne Maître du Puzzle Points: 2309 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.


Ne0tux Hors ligne Membre d'honneur Points: 3524 Défis: 265 Message

Citer : Posté le 07/01/2024 09:55 | #


Merci pour ces précisions ! Que l'on puisse le faire ainsi me facilitera les choses ; promis ce sera fait proprement.

J'ai achevé une définition logique de base, plus qu'à l'implémenter :


Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Critor Hors ligne Administrateur Points: 2614 Défis: 18 Message

Citer : Posté le 07/01/2024 10:01 | #


Une coquille s'était glissée dans l'annonce, indiquant une fin au dimanche 15 janvier.

Afin de ne pénaliser personne devant le doute que cela a pu générer, les participations resteront possibles jusqu'au lundi 15 janvier avant minuit, heure française (GMT+1).
Lephenixnoir En ligne Administrateur Points: 24236 Défis: 170 Message

Citer : Posté le 07/01/2024 10:33 | #


Ne0tux a écrit :
Merci pour ces précisions ! Que l'on puisse le faire ainsi me facilitera les choses ; promis ce sera fait proprement.

J'ai achevé une définition logique de base, plus qu'à l'implémenter :


J'admets, j'ai essayé de zoomer.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Slyvtt En ligne Maître du Puzzle Points: 2309 Défis: 17 Message

Citer : Posté le 07/01/2024 10:38 | #


D'autres ont essayé aussi, mais il est malin notre Ne0tux
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Ne0tux Hors ligne Membre d'honneur Points: 3524 Défis: 265 Message

Citer : Posté le 07/01/2024 12:55 | #


Héhé, le sujet c'est l'IA ! Alors même si en ce qui me concerne c'est juste un script classique sans techno particulière, je sais qu'il existe des IA pour améliorer la netteté du texte d'une image. Et comme le vocabulaire est restreint, j'ai préféré refaire le screen d'un peu plus loin

J'ai poussé ma première participation et l'ai mise à dispo pour les duels. Elle ne rivalise pas avec celles des acharnés habituels, mais au moins elle semble tourner. Sauf contre les deux de fklv, qui ont obtenu Error/Timeout. Dois-je en déduire que le problème est chez lui ?

Je suis bien conscient que ma première version est partielle, mais je ne m'attendais quand même pas à me prendre 8000 points dans la vue par le meilleur en lice ( VDD) !

Au fait j'ai créé un groupe "Asimov". Comme je ne passe pas souvent sur les chats, je n'ai pas pu m'intéresser à la "politique" des groupes. Mais j'accueille avec plaisir tous ceux qui me battent, avec la promesse que ma prochaine version sera plus performante.
Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Slyvtt En ligne Maître du Puzzle Points: 2309 Défis: 17 Message

Citer : Posté le 07/01/2024 13:02 | #


Oui les scripts fklv ne fonctionnent pas, je te confirme
L'erreur n'est pas chez toi si ça tourne bien avec les autres IAs.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Tuper4 Hors ligne Membre Points: 832 Défis: 19 Message

Citer : Posté le 12/01/2024 05:34 | #


Salut,
Est ce qu'il y a un moyen de savoir si le véhicule adversaire roule? Et quand on appelle la fonction vehicule.roulant est ce qu'elle renvoye 1 quand il roule et 0 quand il ne roule pas? (Moi a la derniere minute en train d'essayer de spamer tout le monde pour avoir une réponse )
Merci!
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Tuper4 Hors ligne Membre Points: 832 Défis: 19 Message

Citer : Posté le 12/01/2024 20:05 | #


Aucune réponse?
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Slyvtt En ligne Maître du Puzzle Points: 2309 Défis: 17 Message

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


oui il suffit de regarder l'état de :

self.infos_joueurs[nb_adversaire].vehicule_roulant()


nb_adversaire est le numéro de l'adversaire, attention un des joueurs de la liste des infos_joueurs est toi meme, tu dois donc vérifier si c'est l'adversaire ou toi que tu regardes. Mais ça je te laisse chercher.

Edit : tiens c'est mon 2000eme points
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Tuper4 Hors ligne Membre Points: 832 Défis: 19 Message

Citer : Posté le 12/01/2024 20:51 | #


Merci et bravo pour tes 2000 points! (
Slyvtt a écrit :
oui il suffit de regarder l'état de :
attention un des joueurs de la liste des infos_joueurs est toi meme, tu dois donc vérifier si c'est l'adversaire ou toi que tu regardes. Mais ça je te laisse chercher.
je vais le faire facilement normalement )
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Tuper4 Hors ligne Membre Points: 832 Défis: 19 Message

Citer : Posté le 12/01/2024 20:53 | #


Il ne reconnait pas nb_adversaire
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Slyvtt En ligne Maître du Puzzle Points: 2309 Défis: 17 Message

Citer : Posté le 12/01/2024 21:07 | #


oui il faut remplacer nb_adversaire par le bon numéro, celui qui correspond à l'adversaire
D'où ma remarque que ça je te laisse chercher.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Tuper4 Hors ligne Membre Points: 832 Défis: 19 Message

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


Merci pour ta réponse, je t'ai envoyé un MP pour savoir si c'est bien ce qu'il faut faire. N'hésite pas a ne pas répondre si tu ne le veux pas
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Slyvtt En ligne Maître du Puzzle Points: 2309 Défis: 17 Message

Citer : Posté le 12/01/2024 21:18 | #


J'ai répondu, mais par définition, quand on code, on teste soit même pour voir si ça marche. Si ça marche pas, on cherche pourquoi et si on trouve pas alors on demande.
C'est la démarche logique pour apprendre.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Tuper4 Hors ligne Membre Points: 832 Défis: 19 Message

Citer : Posté le 12/01/2024 21:25 | #


j'ai remarqué que ce que t'as donné ne marchait pas et re-envoyé un MP qui explique pourquoi, mais sinon, merci pour ton aide !!
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Slyvtt En ligne Maître du Puzzle Points: 2309 Défis: 17 Message

Citer : Posté le 12/01/2024 21:35 | #


Bien vu, j'avais mal regardé la seconde partie de ton code.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Tuper4 Hors ligne Membre Points: 832 Défis: 19 Message

Citer : Posté le 12/01/2024 21:49 | #


@Slyvtt MP
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Genesect Hors ligne Membre Points: 85 Défis: 0 Message

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


J'ai essayé de faire une petite IA de dernière minute mais j'ai du oublier une commande ou je ne sais pas quoi car elle est beaucoup plus nul que l'IA random de base.J'ai l'impression qu'elle defausse beaucoup plus de carte que normalement.Si quelqu'un pouvait me dire pourquoi elle fait n'importe quoi ça m'arrangerait, voici une partie du script :
#--------------------------------------------------
# DEBUT DES FONCTIONS NECESSITANT D'ETRE AMELIOREES
#--------------------------------------------------

  def decide_coup(self):

    carte = None
    origine, destination = self.num_joueur, self.num_joueur

    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

    coup = c_coup(origine, carte, destination)

    a=0
    bottt=0
    borneee=0
    f_v=0
    parrr=0
    vittt=0


    if I_VEHICULE_PRIORITAIRE in self.infos_joueur.main:
     bottt=1
    if I_VEHICULE_INCREVABLE in self.infos_joueur.main:
     bottt=2
    if I_AS_VOLANT in self.infos_joueur.main:
     bottt=3
    if I_CAMION_CITERNE in self.infos_joueur.main:
     bottt=4

    if self.infos_joueur.vehicule_roulant() \
      and I_200_BORNES in self.infos_joueur.main :
      borneee=200
    if self.infos_joueur.vehicule_roulant() \
      and I_100_BORNES in self.infos_joueur.main:
      borneee=100
    if self.infos_joueur.vehicule_roulant() \
      and I_75_BORNES in self.infos_joueur.main:
      borneee=75
    if self.infos_joueur.vehicule_roulant() \
      and I_50_BORNES in self.infos_joueur.main:
      borneee=50
    if self.infos_joueur.vehicule_roulant() \
      and I_25_BORNES in self.infos_joueur.main:
      borneee=25

    if len(self.infos_joueur.pile_bataille):
      crte =self.infos_joueur.pile_bataille[-1]
      if not self.infos_joueur.vehicule_roulant() \
        and crte==I_ACCIDENT \
        and I_REPARATIONS in self.infos_joueur.main:
        parrr=1
      if not self.infos_joueur.vehicule_roulant() \
        and crte==I_CREVAISON \
        and I_ROUE_SECOURS in self.infos_joueur.main:
        parrr=2
      if not self.infos_joueur.vehicule_roulant() \
        and crte==I_PANNE_ESSENCE \
        and I_POMPE_ESSENCE in self.infos_joueur.main:
        parrr=3
      if not self.infos_joueur.vehicule_roulant() \
        and crte==I_FEU_ROUGE \
        and I_FEU_VERT in self.infos_joueur.main:
        parrr=4

    if len(self.infos_joueur.pile_vitesse):
      crte1 =self.infos_joueur.pile_vitesse[-1]
      if a==0 \
        and crte1==I_LIMITATION \
        and I_FIN_LIMITATION in self.infos_joueur.main:
        vittt=1



    if not self.infos_joueur.vehicule_roulant() \
      and not est_carte_attaque(self.infos_joueur.carte_bataille()) \
      and I_FEU_VERT in self.infos_joueur.main:
      f_v=1

    if bottt==1:
     coup = c_coup(self.infos_joueur.num_joueur, I_VEHICULE_PRIORITAIRE, self.infos_joueur.num_joueur)
    if bottt==2:
     coup = c_coup(self.infos_joueur.num_joueur, I_VEHICULE_INCREVABLE, self.infos_joueur.num_joueur)
    if bottt==3:
     coup = c_coup(self.infos_joueur.num_joueur, I_AS_VOLANT, self.infos_joueur.num_joueur)
    if bottt==4:
     coup = c_coup(self.infos_joueur.num_joueur, I_CAMION_CITERNE, self.infos_joueur.num_joueur)

    if parrr==1:
      coup = c_coup(self.infos_joueur.num_joueur, I_REPARATIONS, self.infos_joueur.num_joueur)
    if parrr==2:
      coup = c_coup(self.infos_joueur.num_joueur, I_ROUE_SECOURS, self.infos_joueur.num_joueur)
    if parrr==3:
      coup = c_coup(self.infos_joueur.num_joueur, I_POMPE_ESSENCE, self.infos_joueur.num_joueur)
    if parrr==4:
      coup = c_coup(self.infos_joueur.num_joueur, I_FEU_VERT, self.infos_joueur.num_joueur)

    if f_v==1:
      coup = c_coup(self.infos_joueur.num_joueur, I_FEU_VERT, self.infos_joueur.num_joueur)

    if vittt==1:
      coup = c_coup(self.infos_joueur.num_joueur, I_FIN_LIMITATION, self.infos_joueur.num_joueur)

    if borneee==25:
      coup = c_coup(self.infos_joueur.num_joueur, I_25_BORNES, self.infos_joueur.num_joueur)
    if borneee==50:
      coup = c_coup(self.infos_joueur.num_joueur, I_50_BORNES, self.infos_joueur.num_joueur)
    if borneee==75:
      coup = c_coup(self.infos_joueur.num_joueur, I_75_BORNES, self.infos_joueur.num_joueur)
    if borneee==100:
      coup = c_coup(self.infos_joueur.num_joueur, I_100_BORNES, self.infos_joueur.num_joueur)
    if borneee==200:
      coup = c_coup(self.infos_joueur.num_joueur, I_200_BORNES, self.infos_joueur.num_joueur)

    if borneee==0 and parrr==0 and bottt==0 :
      if I_LIMITATION in self.infos_joueur.main:
        autres_joueurs = [i for i in range(self.nbr_joueurs)]
        autres_joueurs.remove(self.num_joueur)
        destination = choice(autres_joueurs)
        coup = c_coup(self.infos_joueur.num_joueur, I_LIMITATION, destination)
      if I_ACCIDENT in self.infos_joueur.main:
        autres_joueurs = [i for i in range(self.nbr_joueurs)]
        autres_joueurs.remove(self.num_joueur)
        destination = choice(autres_joueurs)
        coup = c_coup(self.infos_joueur.num_joueur, I_ACCIDENT, destination)
      if I_PANNE_ESSENCE in self.infos_joueur.main:
        autres_joueurs = [i for i in range(self.nbr_joueurs)]
        autres_joueurs.remove(self.num_joueur)
        destination = choice(autres_joueurs)
        coup = c_coup(self.infos_joueur.num_joueur, I_PANNE_ESSENCE, destination)
      if I_FEU_ROUGE in self.infos_joueur.main:
        autres_joueurs = [i for i in range(self.nbr_joueurs)]
        autres_joueurs.remove(self.num_joueur)
        destination = choice(autres_joueurs)
        coup = c_coup(self.infos_joueur.num_joueur, I_FEU_ROUGE, destination)
      if I_CREVAISON in self.infos_joueur.main:
        autres_joueurs = [i for i in range(self.nbr_joueurs)]
        autres_joueurs.remove(self.num_joueur)
        destination = choice(autres_joueurs)
        coup = c_coup(self.infos_joueur.num_joueur, I_CREVAISON, destination)




    return coup

  def pari_allonge(self, bornes_arrivee):
    t = choice((True, False))
    return t


Merci d'avance
Genesect Hors ligne Membre Points: 85 Défis: 0 Message

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


Personne n'a essayé de decripter
Tuper4 Hors ligne Membre Points: 832 Défis: 19 Message

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


Désolé mais je n'ai pas le temps . Si je peux, je vais le faire
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Genesect Hors ligne Membre Points: 85 Défis: 0 Message

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


Merci

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 65 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