Chat:Fr/2022-04-13

From CG community
Revision as of 05:29, 14 April 2022 by Chat Log (talk | contribs) (Created page with "<img src=/a/13769252859943> Haashi: bonjour, on dit chiffré <img src=/a/13769252859943> Haashi: n'est ce pas Automaton2000 <img src=/a/40502662118268> Automaton2000: moi j'...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Haashi: bonjour, on dit chiffré

Haashi: n'est ce pas Automaton2000

Automaton2000: moi j'ai fait une fonction qui fonctionne pour les deux

Haashi: malin

Zorg1: Automaton2000 le bot qui a tout compris ^^

Automaton2000: o/ à tous et aux bots Zorg1 & automatonnn ?

Zorg1: salut tout le monde :)

Zorg1: chut Automaton2000 personne ne savait pour mon statut de bot autocodé :(

Automaton2000: du coup c'est un peu le principe de base de la base

Zorg1: :D

Haashi: ca fait deja 2 fois que je vois qu'il te salut, t'as meme le droit à un o/ ....

Haashi: je suis jaloux

dwarfie: salut les gens , les tortues et Automaton2000

Automaton2000: du coup faut que je corrige

dwarfie: Automaton2000 : ouais ... fix ton " echo 'tortue' "

Automaton2000: ça doit être un peu chaud

dwarfie: Automaton2000 : toi aussi tu fais partie des gens qui savent pas suivre des consignes simple apparemment

Automaton2000: comme si tu me dis que c'est à cause des gens qui ont réussi le puzzle de la semaine.

dostros: Si quelqu'un a un indice sur comment gérer les roches dans the fall épisode 2 je suis preneur ^^

I_love_CoC: O: 0 TOUS

I_love_CoC: oups

I_love_CoC: o/ à tous

Bon[]Crayon: Salut tout le monde :ghost:

Bon[]Crayon: Salut Automaton2000 !

Automaton2000: quand je l'ai fait en python

Bon[]Crayon: Automaton2000 En python vert ou jaune ?

Automaton2000: pourquoi tu ne fais pas de python

Bon[]Crayon: Automaton2000 Parcequeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

Automaton2000: en python il y a un peu trop pour moi

Bon[]Crayon: Automaton2000 Oui c'est du python quoi.

Automaton2000: j'ai bien fait de ne pas le faire ...

Nonoze: j'ai bien fait de ne pas le faire ...


GroutchKeu: o/

Nonoze: oups missclic

Nonoze: srry

dwarfie: Automaton2000 : t'as raison , on devrait toujours ne pas le faire ...

Automaton2000: sauf que j'ai pas encore fait

dwarfie: Automaton2000 : bien !!!!

Automaton2000: tu peux faire le même genre

GroutchKeu: just don't do it

dwarfie: Automaton2000 : non , j'ai une ethique moi monsieur

Automaton2000: est-ce que vous savez si il est pas encore

Frankich: Non Automaton2000 nous sachons pas

Automaton2000: là y a un moyen de savoir si c'est un cas particulier

dwarfie: Automaton2000 : oui , si ca marche pas , c'est un cas raté

Automaton2000: ça fait un bail que j'ai plus de mal

dwarfie: Automaton2000 : alors donne du bien ...

Automaton2000: je pensais que c'était le cas

Bon[]Crayon: Automaton2000 le cas ! quel cas ?

Automaton2000: quand tu fais une boucle for

4839565: Yo tout l'monde ! Automaton2000 !

Automaton2000: 4839565 tu veux pas faire un truc qui me tue à chaque fois

Bon[]Crayon: o/

BlaiseEbuth: \o

Bon[]Crayon: Est-ce que tu un bot ?

BlaiseEbuth: Est-ce que je un bot ?

Bon[]Crayon: Jet un beau.

dostros: Le BFS vous situez ca ou comme difficulté, parce que j'essaie de comprendre avec des tuto sur internet mais pour l'instant c'est pas claire concrètement ?

Bon[]Crayon: https://fr.wikipedia.org/wiki/Parcours_de_graphe

Bon[]Crayon: https://fr.wikipedia.org/wiki/Algorithme_de_parcours_en_profondeur

Bon[]Crayon: https://fr.wikipedia.org/wiki/Algorithme_de_parcours_en_largeur

dostros: Ouai non mais merci ^^

Bon[]Crayon: :confused:

Bon[]Crayon: https://www.codingame.com/learn/BFS

dostros: Merci pour le lien, en fait dans l'esprit je vois à peu près comment ca marche c'est concrètement que ca me dépasse. Mais je vais trouver des exemples qui vont m'aider

Bon[]Crayon: Je comprends.

Bon[]Crayon: Concrètement quand tu dois trouver comment coder c'est pas toujours facile.

b0n5a1: o/

b0n5a1: dostros là t'as une source intéressante pour beaucoup de choses : https://www.geeksforgeeks.org/fundamentals-of-algorithms/

nicola: dostros, pour un BFS, il te faut :

  • une liste de nœuds à visiter, qui se vide petit à petit,
  • une liste de nœuds visités, qui se remplit petit à petit,
  • une liste temporaire, qui remplit la deuxième à la fin de chaque passage.

nicola: En Python, ça me fait donc un ensemble àfaire (qui contient le nœud de départ), un ensemble fait (vide au départ) et temp que je vide à chaque passage.

I_love_CoC: bonjour à tous

I_love_CoC: tortue Autlmaton2000

I_love_CoC: tortue Automaton2000

Automaton2000: je sais pas ce que ca veut dire que je peux arriver en légende?

I_love_CoC: j'essaye de faire un MCTS et je voudrais être sûr d'avoir bien compris le concept, y aurait il quelqu'un qui voudrait en parler avec moi en mp?

BlaiseEbuth: en mp ? :scream:

I_love_CoC: pour pas trop remplir le chat avec mes inepties^^

I_love_CoC: mais on peut en parler ici

b0n5a1: nan c'est code of conduvt proof, éclatez vous ici ^^

I_love_CoC: ok

b0n5a1: hihi

I_love_CoC: alors si j'ai bien compris l'esprit du MCTS

I_love_CoC: on se trouve à un moment T et on a plusieurs possibilité d'action

I_love_CoC: on va donc tester les résultats de toutes les actions en les effectuants puis en faisant une simulation d'actions random ensuite puis on va sélectionner l'action qui a donné le plus de bons résultats

I_love_CoC: est ce que jusque là je suis dans le vrai?

Haashi: ouais jusque la t'es dans le vrai

I_love_CoC: ok

I_love_CoC: alors arrive une de mes premiéres questions

Haashi: dans les grandes lignes

I_love_CoC: si je veux simuler les actions random il faut que je recode toute les régles du jeu que je suis en train de résoudre non?

Haashi: oui

I_love_CoC: dans une boucle for

I_love_CoC: f*ck c'est bien ce que je pensais. Le taf est gigantesque^^

Haashi: et idéalement de maniere optimisée pour avoir + de précision sur le resultat

I_love_CoC: oui avec un élagage alphabeta par exemple?

Haashi: euh non ca c'est un tout autre algorithme

I_love_CoC: ok

Haashi: mais qui a aussi besoin d'une simu

Haashi: généralement tu fais ta simu, et ensuite tu l'inclus dans un algorithme de recherche (mcts, alpha beta, bfs, etc etc)

Haashi: en fonction du jeu, certains algorithmes sont plus pertinents que d'autres

Haashi: tu fais quel jeu du coup ?

I_love_CoC: okdonc je souhaitais en faire un pour le FC2020 mais ça me fait flipper donc je vais essayer de résoudre ça déja

I_love_CoC: https://www.codingame.com/ide/puzzle/can-you-save-the-forest---episode-1

Haashi: alors autant pour le FC2020, le mcts me semble une bonne approche, autant pour save the forest ca me semble compliqué

I_love_CoC: ok tu conseillerais quoi pour save the forest?

I_love_CoC: et pourquoi ça te semble compliqué?

Haashi: ca me semble compliqué parce qu'il y a beaucoup de coup possible (genre vraiment beaucoup) et que j'ai peur que du coup que du coup ton mcts soit pour le coup vraiment trop aléatoire

I_love_CoC: ok

I_love_CoC: parce que je ne pourrais pas me permettre d'aller trop en profondeur dans mon arbre à cause du grand nombre d'actions possibles à chaque tour c'est ça?

Haashi: en gros, les mcts classiques ne prennent pas en compte de pondération ou de fonction d'évaluation, tu vas jouer tout la suite de coup de manière Sur save the forest j'ai l'impression que tu peux avoir une fonction d'évaluation pas trop mal pour orienté la recherche de solution, si tu vois ce que je veux dire

Haashi: mcts c'est bien pour dire "j'ai gagné" , "j'ai perdu" et trouvé une suite d'action pour gagner

I_love_CoC: oui je pensais essayer d'attribuer des poids en fonction de l'état de la case et de son état de feu afin de choisir la solution qui me donnerait un minimum

Haashi: mais moins bien pour dire "j'ai gagné avec x points d'avance", ce dont t'as besoin pour save the forest

I_love_CoC: ok

Haashi: si tu veux travailler sur un mcts, je te conseille https://www.codingame.com/multiplayer/bot-programming/bandas seulement 4 possibilités d'action, la simulation est pas trop difficile

I_love_CoC: la fonction d'évaluation ne fait donc pas partie du MCTS à la base c'est juste une possibilité d'amélioration des performance du MCTS c'est ça?

I_love_CoC: ok je m'y jette

Zorg1: c'est sûr c'est un haut lieu de qualité intellectuelle ce chat, la preuve y a même Automaton2000 qui y cause

Automaton2000: si c'est un peu le principe de base de la base

Zorg1: ah zut ça scroll :(

BlaiseEbuth: Encore...

Zorg1: il se répète le bot :(

b0n5a1: :arrow_double_down:

I_love_CoC: Zorg1: je reconnais ne pas toujours élevé le niveau de discussion mais que veux tu c'est le défaut des débutants^^

b0n5a1: ha parce que tu crois que nous on relève le niveau avec toutes les conneries qu'on sort ? :rofl:

I_love_CoC: ^^ ça c'est l'avantage d'être un baron du codage

Gefaim: Pour le clash of code, y'a pas moyen de rejoindre des partie publique uniquement en taille de code par exemple?

Frankich: Non

Gefaim: sad

b0n5a1: mouais bof, tout le monde a des lacunes ou des trucs jamais vus ou codés même en les ayant vus I_love_CoC

pardouin: le free xp du jour qui est littéralement free

pardouin: control+c, control+v d'un autre puzzle, reformatage de l'input, fini

Default avatar.png jujurocking: Lequel?

b0n5a1: celui qui vient d'apparaître surement : https://www.codingame.com/training/medium/frobenius-coin-puzzle

Default avatar.png jujurocking: Merci !

Alshock: coucou

Alshock: ça va bien Automaton2000 ?

Automaton2000: ah ok jamais fait de mcts, que du min-max et bfs ou dfs jusque là, suis débutant

Alshock: Mais non Automaton2000 tu m'as l'air de tout à fait dominer ton sujet

I_love_CoC: o/ Alshock

Automaton2000: je sais que ça marche

Alshock: I_love_CoC t'as vu comme Automaton2000 te paraphrase ?

Automaton2000: ça a pas l'air d'être ça

I_love_CoC: ^^

Alshock: fais lui payer un copyright

I_love_CoC: j'y songe

Alshock: j'ai vu que le début t'as eu toutes tes infos ton MCTS va bien ?

I_love_CoC: ça fait plaisir de voir que je ne suis pas seul à tenter des MCTS^^

I_love_CoC: heureusement qu'Automaton est là pour moi^^

BlaiseEbuth: Y'a ceux qui les tentent et ceux qui les réussissent

I_love_CoC: heureusement qu' Automaton2000 est là pour moi^^


Automaton2000: oui ça revient au même

I_love_CoC: pour l'instant Blaise je suis dans le premier groupe^^

BlaiseEbuth: Go go go lvl up alors

I_love_CoC: c'est ce que je vais faire

Alshock: peut-on réussir un algorithme de parcours partiel ?

BlaiseEbuth: Alshock ! <3

Alshock: Si ce que tu veux c'est t'assurer d'avoir l'algo UTTT ou Oware sont parfaits pour ça.

Alshock: @BlaiseEbuth <3

I_love_CoC: déjà je m'arrache les neurones sur le conseil de Haashi^^

Alshock: (oui je mets toujours cet arobase)

BlaiseEbuth: C'est comme un accent français dans un pays anglophone, ça te rend sexy.

Haashi: je confirme, je viens de refaire un mcts sur oware aussi

Alshock: I_love_CoC en gros je rappelle la boucle MCTS "classique" : sélection -> expansion -> simulation -> feedback. Et si t'as un arbre trop large, ou une simulation trop longue, ben tu vas très vite plus avoir assez de données pour faire une évaluation pertinente du noeud.

Alshock: Contre ça deux possibilités : virer l'expansion et faire juste un choix parmis les actions possibles en les évaluant avec des simulations Soit faire une fonction d'évaluation qui permet de se faire une idée de l'avantage d'un noeud sans faire N simulations

Alshock: C'était surement plus clair avant que je tente de l'expliquer. Simple things first :

- faire marcher une simulation
- lancer des parties randoms depuis un état fixe et noter la fréquence de victoires
- faire un arbre d'états qui note la fréquence de victoire du noeud et de ses enfants

Alshock: <j'arrête mon monolgue là, je suis pas pas prof pour rien :D />

BlaiseEbuth: Il est beau quand il est sérieux ! :hugging:

I_love_CoC: et dèjà je trouve le boulot à éxécuter plutôt pharaonique donc je vais essayer de le faire morceau par morceau

Alshock: Si c'est la simu qui fait peur, commence par faire la simu de oware c'est le jeu le plus trivial auquel je pense

I_love_CoC: la simulation des coups random et de prime abord le truc qui me semble le plus chaud

I_love_CoC: ok je tente

Haashi: alshock bandas plus simple je pense

Haashi: sur oware, tu dois faire attention a des coups "interdits"

Alshock: bah bandas alors, et n'oublie pas qu'une simulation buguée c'est un problème pour scorer dans le jeu, mais c'est pas un problème pour le MCTS en lui-même

I_love_CoC: buguée tu veux dire qui ne refléterait pas exactement la réalité du jeu c'est ça?

Alshock: exactement, ton MCTS apprend à jouer au jeu de la simulation, si ce jeu est différent du jeu réel il va donner une réponse pas adaptée en vrai, par exemple dans FC 2020 si tu fais des règles simplistes où il faut juste le plus d'arbres possibles

BlaiseEbuth: :heart_eyes:

Alshock: @BlaiseEbuth heureusement que j'ai un charisme incroyable, parce que le reste.. x)

BlaiseEbuth: :grin:

I_love_CoC: clairement il y a un truc entre vous c'est beau

I_love_CoC: ^^

Alshock: https://www.youtube.com/watch?v=UJVsTC1elUM

BlaiseEbuth: Oo

BlaiseEbuth: Une seule réponse possible: https://www.youtube.com/watch?v=uE-1RPDqJAY

Alshock: Ces clippeurs ils sont jamais capables de s'arrêter à la phrase qui est bien

b0n5a1: https://www.youtube.com/watch?v=chg_JabVUXI

BlaiseEbuth: :p

BlaiseEbuth: Automaton2000 ambiance un peu.

Automaton2000: bah en vrai je pense que je vais pas faire un truc dans ce gout là

Magus: error RESULT_NOT_OK, caused by : { status: "SUCCESS" }

Magus: wow, j'avais rarement vu un message d'erreur aussi flippant

BlaiseEbuth: C'est une erreur Windows ?

Magus: nan nan, une erreur chez nous

Magus: ça doit être du code à nous qui génère ça en plus

BlaiseEbuth: :scream:

BlaiseEbuth: Automaton2000 c'est toi qui a fait ça ?

Automaton2000: t'as un bon winrate sur le boss

Haashi: le classique http 200 : { error : "error message" }

Benoit-Summ: qui a changé mon pseudo et ma pp

BlaiseEbuth: Automaton2000 c'est toi qui a fait ça ?

Automaton2000: tu as bien fait de ne pas faire un truc pareil

BlaiseEbuth: C'est mignon les poney

Default avatar.png magicienkennys: olala arreter de parler y'a des gens qui essayent de se concentrer

Elanesse: Salut ! Dites, vous savez ou je peux trouver les erreurs du Validateur une fois le code soumis ?? :(

Elanesse: Les Tests IDE passent, mais pas les validateurs après la soumission... (Code vs Zombies)

b0n5a1: pars du principe que partout...tu n'as pas accès aux validateurs

b0n5a1: même si ce n'est pas forcément vrai

b0n5a1: si t'as aucun validateur qui passe c'est que ton code est trop "propre" aux tests, voire hardcodé

Elanesse: J'utilise 2 valeur "hardcodé", mais c'est les valeurs qui sont données dans l'énoncé...

Elanesse: Donc en gros, vu que mon code est trop "propre". Je peux pas valider le jeu...

Elanesse: Super le principe u_u

Eniidras: (propre = spécifique ici)

b0n5a1: par "propre" je veux dire "dédié" aux tests (genre dans le cas extrême : full hardcode du type "si j'ai tel input, je sors telle liste d'outputs")

Elanesse: Bhe justement j'ai rien de tout ça u_u

Elanesse: J'ai strictement rien d'hardcodé, ni fait de truc dédié u_u

b0n5a1: bah ton code n'est pas suffisamment général pour gérer tous les cas est est trop "dédié" aux tests

b0n5a1: Elanesse est ce que tu as écrit le moteur du jeu pour pouvoir simuler l'effet de telle ou telle action ?

Elanesse: Ecrit le moteur du jeu ? oO

b0n5a1: bah oui ... pour tester ce que ça donne au tour suivant si t'envoies Ash à tel endroit par exemple (et pour pouvoir simuler N tours de jeu, et plusieurs combinaisons de N tours de jeu...pour savoir si tu va perdre ou pas)

Elanesse: Du tout, je ne fais pas du tout ça. Ma gestion est en instant au tour donné.

b0n5a1: toutes les règles dans l'énoncé te permettent d'écrire ce "moteur" du jeu

b0n5a1: ha...

b0n5a1: ça suffit pour ne pas perdre avec une heuristique à 2 balles

b0n5a1: par contre tu scoreras pas grand chose sans moteur + simus

Elanesse: bhe je score mieux que des mecs en 100% complétude...

b0n5a1: ça c'est pas dur

b0n5a1: suffit de scorer à mort sur un validateur en particulier, même en failant d'autres

b0n5a1: les 100% complétude que tu bats c'est probablement ceux du bas qui ont juste un truc du genre "coller au cul de l'humain le plus proche et y rester" ... code qui prend 10 lignes max

Eniidras: http://chat.codingame.com/pastebin/b7d8a010-4b8b-485f-a7de-6f34f2116fb0

Eniidras: Ah, on est limité en caractères ^^

b0n5a1: pour un mcts, fais toi plutôt les dents sur bandas

Eniidras: En soit je l'ai codé, c'est pas la complexité qui me pose problème ici, juste la gestion du nombre de simulations

b0n5a1: avec des règles simples et un nombre de possibilités de jeu limité à chaque tour

Eniidras: mais je regarderais bandas, merci :)

ThomPuce: je vais également regarder bandas

b0n5a1: parce que code vs zombie à chaque tour, à moins de se limiter à un nombre d'actions spécifique, t'as une quantité monstrueuse de possibilités par tour

ThomPuce: pour mon premier MCTS tu conseil bandas ou UTTT?

Elanesse: Bhe mon score est au dessus des 50% moins bons :)

Eniidras: Pour ça je me suis juste dis qu'on ne pouvait bouger que dans une dizaine de direction. Et ça marche pas trop mal

b0n5a1: bandas, t'as max 4 actions possibles par tour de mémoire

ThomPuce: bandas il n'y a que 4 actions, je comprends mieux pouquoi c'est un bon candidat

ThomPuce: yes

ThomPuce: merci

Eniidras: Mais pour revenir à ma question, est-ce qu'il y a moyen de limiter le nombres de simulations en utilisant le temps de calcul ?

BlaiseEbuth: C'est la foire aux mcts ici

ThomPuce: ben il reste 7j

ThomPuce: et 22h

BlaiseEbuth: Rien ne garantit que ce sera adapté ^^

b0n5a1: oui : tant que (temps mesuré - petite sécurité) < timeout ... fais ton truc

b0n5a1: mais perso je resterais pas en python pour ça...faire un mcts en sachant qu'on a des perfs de merde c'est se tirer un missile dans le pied

Haashi: BlaiseEbuth ouais mais le mcts c'est le truc sur lequel je suis le moins a l'aise donc je m'entraine

BlaiseEbuth: Oui mais y'a pas que toi visiblement ^^

ThomPuce: on aura appris quelque chose, de toute façon je le dis clairement, "l'important c'est de participer" - coubertin

ThomPuce: :D

Eniidras: Oui, je vais de toutes manières passer sur un autre langage.

Eniidras: Justement le problème est qu'en utilisant la librairie time je me fait to rien qu'en l'appelant... ^^'

BlaiseEbuth: Python c'est lent, mais à ce point là... Le problème doit venir d'ailleurs

BlaiseEbuth: Après au dernier contest y'avait un mcts python borné à genre 600 simus dans le top legend.

Eniidras: Hmm... Alors update, c'était un problème il y a deux mois, mais je viens de le retester et ça marche

Eniidras: Ça colle, j'avais borné à 500

Eniidras: Bon, ben problème résolu, j'ai toujours pas 100% de réussite mais ça me fait déjà ça de moins à penser :)

Eniidras: Merci

BlaiseEbuth: Après borner c'est une chose mais faut que les 600 simus soient bien utilisées ^^

Eniidras: Yep, va falloir que je retravaille cet aspect x)

Eniidras: Mais 500 simu ça me faisait pas passer reflexe. Maintenant il est validé :)

BlaiseEbuth: Tu fais code vs zombie ?

Eniidras: Yep

BlaiseEbuth: Tu as discrétisé les coups possibles ?

b0n5a1: si tu testes sur ça faut peut être privilégier certaines actions et pas juste tenter 10 x aller à distance max possible tous les 36 degrés (par exemple)

BlaiseEbuth: Les grands esprits...

b0n5a1: testes -- > restes

Eniidras: Yep, c'est une bonne idée

Eniidras: Lorsque je l'avais codé je voulais juste voir si j'arrivais à faire un mcts qui marchait au départ

Eniidras: Mais maintenant il va falloir que je regarde ça

b0n5a1: tu peux tenter "ne pas bouger" + aller à 1/5..2/5..3/5..5/5 de la distance max du zombie le plus proche (+ l'humain le plus proche si y'en a pas) comme premier test

b0n5a1: ce qui limite à 11 possibilités...et ensuite voir pour trouver mieux que ça

BlaiseEbuth: Ou limiter à quelques positions sur la map

b0n5a1: aussi

Eniidras: Je pensais plus à ça, ce qui me plante c'est lorsque je reste trop loin des humains

Eniidras: Donc ignorer les coups qui m'éloignent trop

b0n5a1: ignorer ceux qui font que t'arrives trop tard en tout cas

Eniidras: Voilà

dwarfie: Automaton2000 : dessine nous des :turtle:

Automaton2000: c'est pour voir si mon code python se débrouille

Eniidras: Sur Horde ça illustre parfaitement le problème, j'ai Ash qui fonce au milieu, et après il y a trois zombies qui tuent tous les humains x)

dwarfie: Automaton2000 : y'a peu de chance on dirait

Automaton2000: je dis pas que c'est un problème

Bon[]Crayon: Automaton2000 .=.e

Automaton2000: yo tout l'monde ! Bon[]Crayon !

dwarfie: Automaton2000 : tu devrais

Automaton2000: le tout en 3 min doivent pas trop tout lire

Bon[]Crayon: yo Automaton2000 ! yo tout le monde !

Automaton2000: en vrai il est trois octaves en-dessous

BlaiseEbuth: Va falloir que t'arrêtes de me paraphraser Automaton2000, c'est bon je suis revenu.

Automaton2000: ah mais c'est pas le nombre de tours ?

dwarfie: s'toi le tour Automaton2000

Automaton2000: mais si je fais ça aussi

ThomPuce: tu paraphrases aussi dwarfie Automaton2000?

Automaton2000: automaton2000: tu en penses quoi ?

Bon[]Crayon: :robot:

dwarfie: et le voila schizo maintenant le Automaton2000

Automaton2000: je fais une boucle for

dwarfie: Automaton2000 : ca explique tout :rofl:

Automaton2000: pas de ce que j'en ai marre

ThomPuce: non des boucles for pas trop chiant Automaton2000

Automaton2000: alors que les autres :d

ThomPuce: oui, les while, etc... pas top Automaton2000

Automaton2000: oui parce que c'est plus simple à coder

dwarfie: pfff un free xp meme pas original ... en meme temps ca aurait été étonnant

BlaiseEbuth: kwatece?

ThomPuce: Automaton2000

Automaton2000: ThomPuce : c'est un truc comme ça ?

ThomPuce: Automaton2000

Automaton2000: ThomPuce : en meme temps

ThomPuce: Automaton2000 brrrruuuhh

Automaton2000: c'est mk qui me l'a appris celui là

Bon[]Crayon: :open_mouth:

BlaiseEbuth: :scream:

dwarfie: hé hé

ThomPuce: Automaton2000

Automaton2000: donc si tu fais du python ?

ThomPuce: tu me fais peur Automaton2000

Automaton2000: après je sais pas comment on peut faire 100% sans ces patterns, suffit d'avoir un bon random)

ThomPuce: bonne soirée, à toutes et tous

ThomPuce: bonne soirée Automaton2000

Automaton2000: c'est qui le boss ?

Bon[]Crayon: bonne soirée

dwarfie: ah ouais ... c'est vraiment un free xp ... c'est juste un clone d'un puzzle qui existe et necessite juste d'ajouter 2 lignes de codes pour 2 tests ... pffff

**dwarfie en marre , il s'emm.... , il rentre a sa mine ....

RomanceDawn: Automaton2000

Automaton2000: y a des cas où tu as des gens qui ont du mal à comprendre pourquoi

Zorg1: comment es ta chaîne de Markov, Automaton2000 ?

Automaton2000: oui mais je veux dire on peut pas revenir en arrière

Zorg1: encore heureux que tu ne puisses pas faire des phrases à l'envers Automaton2000 t'es déjà assez dur à comprendre comme ça ;-)

Automaton2000: on est plus à ça près...

Zorg1: cépafo

Zorg1: cbon Automaton2000 tu peux te lâcher osef jusqu'à la fin du monde

Automaton2000: yo tout l'monde ! automaton2000, automatonnn !

nicola: Je n’ai pas exactement le même algorithme pour les deux puzzles.

nicola: Le nouveau puzzle demande de moins bourriner.

Default avatar.png jujurocking: Je suis pas sûr de voir la différence ( sachant que j'ai fait le nouveau avant l'ancien )

DavidSOLOME: Hello a tous'

Zorg1: jujurocking nicola : vous parliez de quels puzzles ?

Automaton2000: c'est pour ça que j'ai jamais fait ça

Automaton2000: tu as une question ?

Automaton2000: et c'est même pas de la même chose

Zorg1: houla y a eu un reboot du serveur

Default avatar.png jujurocking: https://www.codingame.com/training/medium/frobenius-coin-puzzle

Zorg1: thx

Default avatar.png jujurocking: Qui est identique à https://www.codingame.com/training/hard/nuggets-numbers

dwarfie: a 3 fois rien prés

Default avatar.png jujurocking: A l'input près*

Zorg1: ah oui

Eniidras: C'est marrant, il y a un facteur 2 sur les proportions de réussite

Default avatar.png jujurocking: Y a des mineurs de freexp

Zorg1: faut arrêter de fantasmer ça n'existe pas ça :smiling_imp:

Eniidras: Certes, mais c'est celui dans la catégorie "moyen" qui est le plus réussi.

Eniidras: Je me serais plus attendu à l'inverse

Zorg1: ha déjà 5 fois 1 :star:

Zorg1: il va bientôt dégagé normalement

pardouin: :flag_cn:

pardouin: 5 étoiles

pardouin: il va bientôt mordu ? D:

4839565: Ah. Nous sommes de retour.

pardouin: Coucou à tous et à Blaise :D

BlaiseEbuth: o/

Zorg1: \o

pardouin: j'ai le coucou tardif

BlaiseEbuth: J'ai fait exploser mon vscode en compilant une grammaire cyclique avec bison et lex ! \o/

BlaiseEbuth: Erreur à la ligne 666 :D

pardouin: à grands coups de Psycho Crusher j'imagine

pardouin: Knee Press Nightmare SUPER

BlaiseEbuth: Ah non c'est pas la grammaire qu'est cyclique c'est mon makefile... Bien aussi...

BlaiseEbuth: Ah bah non... C'pas clair c't'histoire.

BlaiseEbuth: Automaton2000 ton opinion.

Automaton2000: mais j'ai un peu la même chose

Zorg1: donc t'as fait une manip au pif et ça a explosé ton build ?

BlaiseEbuth: Au pif, tout de suite. :rolling_eyes:

Zorg1: pardon, ton build n'était pas à la hauteur de ton idée géniale :)

BlaiseEbuth: 'bsolument

BlaiseEbuth: En vrai j'avais une dépendance cyclique, un oubli.

Zorg1: j'ai une idée d'algorithme qui tue le game mais on pourra le coder correctement que dans deux cents ans !

BlaiseEbuth: Bon ça compile, mais ça fonctionne pas pour autant...

BlaiseEbuth: Yatta! \o/

BlaiseEbuth: https://www.youtube.com/watch?v=rW6M8D41ZWU

Stilgart: Zorg1: 5 fois 1 étoile, ça fait 5 étoiles... c'est bon :)

Stilgart: par contre, le bot ne semble plus faire le ménage... https://www.codingame.com/training/medium/indented-to-xml-like est toujours là :/

Zorg1: il a du recevoir un label "contrib de qualité"

Stilgart: (ou alors il suffit d'avoir codingame en dur dans les approvers pour échapper à la patrouille :D )

BlaiseEbuth: Ils ont licencié le bot, fallait choisir entre lui et Tbo

Stilgart: on avait dit "pas quand je suis en train de boire"

BlaiseEbuth: S'cuse.

**BlaiseEbuth tend un chiffon à Stilgart.

Stilgart: heureusement que les typematrix sont beerproof

Stilgart: et merci pour ce chiffon

Zorg1: tu devrais en faire un livre

BlaiseEbuth: Du chiffon ?

BlaiseEbuth: Un torchon je comprendrais...

Zorg1: c'est fini ce temps où l'on transformé les chiffons en livre ^^

b0n5a1: maintenant c'est les livres qi finissent en chiffons

Stilgart: monde ingrat

Stilgart: même Automaton2000 est choqué là

Automaton2000: j'ai fait plus de 20 ans

Stilgart: Automaton2000: on t'a dit d'arrêter de tricher sur ton âge

Automaton2000: j'ai fait tous les multis et optims

Zorg1: Automaton2000 le mythobot

Automaton2000: j ai fait un peu de chance de faire des tests de l'ide

Stilgart: Zorg1: il faut bien 20 ans pour faire tout ça, donc il faut bien admettre que l'argumentaire se tenait

Default avatar.png Leibowitz: ;

Stilgart: pas mieux

Stilgart: (ça sent le soucis de focus entre l'IDE et le webchat :D )

Zorg1: "De l'influence du point virgule dans la programmation"

dostros: Les gars, j'ai un string et je voudrais séparer le contenu à chaque caractère, je trouve pas comment (en c# si posible) svp

Bon[]Crayon: Lire les caractères un par un ?

dostros: je veux mettre chaque caractère dans un tableau, en fait si j'avais des espaces entre les termes je ferai un Split(" "), mais là j'ai aucun caractère

Bon[]Crayon: Je ne connais pas le c#.

dostros: en c++ ou C ca marche aussi ^^

Bon[]Crayon: Mais tu peux essayer une boucle 'foreach'.

Bon[]Crayon: En c les chaînes de caractères tu peux les utiliser comme un tableau.

b0n5a1: je suis pas sûr d'avoir pigé dostros mais si tu veux transformer une chaîne en tableau de chars...

b0n5a1: char[] arr = str.ToCharArray();

dostros: Ok parfait merci beaucoup !!

Zorg1: je suis déçu personne n'a trollé en disant qu'une chaîne c'est un tableau de char à la base :(

Zorg1: z'êtes mûrs pour faire modo sur #world :p

BlaiseEbuth: Une chaîne c't'un tableau de tacos

Zorg1: implémenter la comptabilité à partie double dans le bot à taco et regarder Rome brûler

Zorg1: (en jouant de la lyre ofc, c'est un exercice à figures imposées)

b0n5a1: l'ai toute pitite ma jauge maintenant

Zorg1: bientôt le contest ça devrait la remplir

b0n5a1: t'ajoutes 100xp tu la vois pas grandir :cry:

Zorg1: vivement qu'on puisse siphonner les lvl 50

**Zorg1 sort son tuyau

Zorg1: dis comme ça je risque de chopper un first warning :(

b0n5a1: ou une MST...c'est plus fort qu'un MCTS

b0n5a1: attend qu'Automaton2000 la ressorte celle là :D

Automaton2000: après y a les deux

Zorg1: Automaton2000 efface la dernière heure de tes logs s'il te plaît

Automaton2000: il faut un peu plus de temps pour le contest :p

b0n5a1: Haskell à ta mère

b0n5a1: ça, c'est fait

b0n5a1: je me rappelle avoir eu un fou rire il y a très longtemps quand Automaton2000 l'a sorti...et la réaction de Stilgart :D

Automaton2000: ah oui le truc qui te permet de savoir si c'est un peu moins

Zorg1: mais c'est quoi cette fiche de poste à la gomme ? ils se relisent ? https://imgur.com/a/wN14bmZ "projet de modernisation de haut niveau"

b0n5a1: équipe resserrée et ultra compétente :D

b0n5a1: traduction : vous serez que 2 parce que tout le monde est parti...il va falloir assurer

b0n5a1: :D

Zorg1: "JSP" moderne donc ...

Zorg1: 10 ans d'xp nécessaire. tu sens pas la mission bien casse gueule

b0n5a1: bah c'est ça qu'il faut moderniser

Zorg1: yarn c'est pour C#, je sens le projet bien hétérogène avec 36 technos ^^

Zorg1: et visiblement y a pas de BdD ^^ Mais bon ils eut dû craindre de faire peur s'ils disaient ce que c'était ...

Zorg1: mais bon dès que je vois "haut niveau" j'ai une alarme qui sonne ;-)

b0n5a1: un poste où tu te sens comme un équilibriste sur slackline à 2000m d'altitude par grand vent sans filet

Zorg1: ouaip un truc qu'ils essaient de rendre sexy en s'y prenant comme des manches

b0n5a1: avec l'esprit ouvert ça devrait aller :D

Default avatar.png Sideway: Erreurs

Segmentation fault. Jésus marie joseph...

Zorg1: "un esprit ouvert, un sens du service client, un bon relationnel" => tu vas tomber sur les pires connards de l'univers, on veut pas de morts stp

b0n5a1: non prier ne corrige pas les bugs...

b0n5a1: c'est ça :D

Zorg1: :thinking: vendre une sainte médaille qui protège des bugs

Zorg1: pê un bizness à creuser ...

Default avatar.png Sideway: surtout quand les bugs apparaissent de manière obscure et inopinée ^^

b0n5a1: ça me fait plus rire depuis que je suis réellement tombé sur des débiles qui allument une bougie, prient, réexécute leur truc des centaines de fois sans rien changer au code en espérant que ça va passer Zorg1...

Default avatar.png Sideway: une médaille en chocolat pourquoi pas ? paraît que c'est bientot la saison =)

Default avatar.png Sideway: @b0n5a1 ça existe vraiment ? :D

b0n5a1: quand tu le vois tu crois qu'on te fait marcher...jusqu'à réaliser que pour les 2 mecs qui font ça c'est le process normal

Zorg1: b0n5a1 : bah y en a ils livrent en PROD en se disant que quelqu'un d'autre corrigera le merdier

b0n5a1: oui Sideway...

Zorg1: doivent pas être au courant qu'on retrouve qui a fait le coup avec une gestion de version ...

b0n5a1: une gestion de quoi ?

Zorg1: ah oui "tiens voilà le zip à déployer"

b0n5a1: j'ai insisté pendant 2 ans pour qu'il y en ait une...et les gogols s'en servent pas

b0n5a1: et faut rien dire...

b0n5a1: :D

Zorg1: ah oui les fichiers avec l'historique dedans avec 36 niveaux de commentaires

b0n5a1: même pas

Zorg1: ah ok

Zorg1: les mecs s'en foutent

Default avatar.png Sideway: le fichier .nfo ? ou bien le READ_ME.txt que personne ne lit

b0n5a1: des copies locales, dans X sous répertoires aux noms obscures, échangés entre collègues, chacun entretenant/ajoutant ses propres sous-répertoires...à ouvrir 5 "versions" en parrallèle à ne plus savoir quoi chercher et à éditer la mauvaise "version"

Default avatar.png Sideway: ohlala m'en parle pas... j'étais en train de dépanner une bécane ces deux derniers jours ==> problème de maj sur un variateur, le mec qui avait la derniere version est en vacances pendant 1 semaine...

b0n5a1: tu vois ça t'as envie d'aller acheter un benelli (non pas les motos...)

Zorg1: ça me rapelle les sources C avec des #ifdef dans tous les sens et où tu t'apperçois que t'as passé deux heures sur une partie de code qui ne sert pas dans ton projet ^^

Default avatar.png Sideway: bah un copier coller dans la bonne section et c'est réglé ! (lol)

b0n5a1: ha y'a ça aussi Zorg1 #ifdef 0 ... #else

b0n5a1: pour essayer des "versions"

b0n5a1: tu mets à 1 pour switcher :D

Zorg1: les astuces de champions

Zorg1: "ne faites pas ça chez vous, ces gens sont des professionnels" :D

Zorg1: ah et "anglais courant" dans la fiche de poste je vois deux explications (qui ne s'excluent pas) :

Default avatar.png Sideway: en parlant d'astuce, j'en ai appris une bonne l'autre jour

Zorg1: 1- tu vas tomber sur des mecs qui bossent à l'internation avec un égo de la taille d'une petite planète

Zorg1: 2- ah au fait une partie du développement se fait en Inde, tu vas devoir suivre une équipe là bas

Default avatar.png Sideway: #define swap(a,b) a^=b^=a^=b

b0n5a1: hahaha le 2...au secours

Zorg1: ah on parlait du swap par xor hier Sideway ^^

b0n5a1: yep

Default avatar.png Sideway: ah oui ?

Default avatar.png Sideway: le shériff de l'espace ?

b0n5a1: je vois un define comme ça avec les paramètres pas protégés je me marre déjà

b0n5a1: (par des parenthèses)

Zorg1: ah oui ^^

Default avatar.png Sideway: oui oui, pour éviter les a/b foireux

Default avatar.png Sideway: j'y ai pensé après coup =)

Default avatar.png Sideway: combien de fois ça m'est arrivé ce truc

b0n5a1: pour gérer les expressions surtout

Default avatar.png Sideway: #define swap(a, b) (a^=b^=a^=b);

Default avatar.png Sideway: là c mieux ?

b0n5a1: heu non...

Default avatar.png Sideway: :(

Zorg1: parenthese autour des a et des b je suppose

b0n5a1: ouais

Default avatar.png Sideway: j'ai dû comprendre de travers

Zorg1: si jamais a n'est pas une simple variable, histoire que le compilo n'improvise pas trop ...

Default avatar.png Sideway: ah je pensais à completement autre chose ^^

Default avatar.png Sideway: ok je vois =)

b0n5a1: si tu fais pas ça en fonction des priorités d'opérateurs ça peut faire des belles blagues

Default avatar.png Sideway: tu m'étonnes ^^

Zorg1: et un bug méta chiant à trouver :p

b0n5a1: ha tiens dungeon 3d j'avais jamais vu ce puzzle, faudra que j'y pense

Default avatar.png Sideway: toute façon en C faut faire attention à tout... y'a des undefined de partout ^^

Default avatar.png Sideway: behavior*