Chat:Fr/2021-06-06
WhatTrickeryIsThis: t
WhatTrickeryIsThis: tortue tortue
WhatTrickeryIsThis: je suis prems aujourd'hui :heart_eyes:
Remiavecuni: Bonjour bonjour ! comment allez-vous ? je suis passé Mentor :)
npo: ca va merci et toi ? c'est quoi "Mentor"
Remiavecuni: Ca va. C'est l'étiquette à côté du classement.
Remiavecuni: Si tu vas sur ton profil tu vois ton classement et tu as un titre à côté.
Remiavecuni: En passant les seuils tu changes d'étiquette.
Remiavecuni: Merci lol, je ne pense pas être meilleur qu'hier mais c'est marrant.
npo: on est forcement un peu meilleur que hier tout les jours, je pense
npo: quels est le type de puzzle que tu fais le plus ? clash of code, ou autre chose ?
Remiavecuni: J'ai fait des clash of code, mais pas que. Je fais un peu de tout. D'ailleurs faudrait que j'en refasse quelques-uns.
Remiavecuni: Ce que je n'ai pas encore beaucoup fait, c'est lescombats de bots. JE n'en ai fait que 2.
dwarfie: bonjour les codeurs du dimanche et automaton2000
Automaton2000: du coup, ça signifie que ma gymnastique ne peut pas être le même que le mien
dwarfie: Automaton2000 : fix tes accords
Automaton2000: c'est pas une super idée
dwarfie: Automaton2000 ... si si , c'en est une
Automaton2000: oui mais bon je dis ça je dis rien
dwarfie: alors dis rien Automaton2000 ... ou alors tortue
Automaton2000: je sais plus trop comment je peux avoir des trucs pas mal
dwarfie: Automaton2000 : facile , fait des puzzles et arrete les clashs
Automaton2000: tu as un replay ?
npo: Bonjour dwarfie, je prend ton dernier conseil à Automaton2000 pour moi, merci
Automaton2000: à cause du fait que c'est pas le bon
npo: Automaton2000: tu parles du conseil ? si ça a l'air pas mal
Automaton2000: y'a pas de bug !
dwarfie: cool , il approuve en fait :D
npo: il faut beaucoup d'interprétation, mais il a, en effet, l'air d'approuver
dwarfie: c'est surtout que parfois il est plein de contradiction ... pas vrai Automaton2000 ?
Automaton2000: je comprends pas bien comment on peut faire de la doc de gcc
dwarfie: (et de hors sujet)
**dwarfie slaps dwarfie around a bit with a large fishbot
dwarfie: quel noob , j'ai oublie LA regle bien chiante dans TGE ...
dwarfie: multi the great escape ...
dwarfie: un de ceux que je deteste (au point que j'avais rage-quit pendant le contest)
Remiavecuni: Si tu le détestes, pourquoi s'acharner ? ^^
npo: ok, je suis encore loin de ça
dwarfie: pour le faire une fois pour toutes et plus en parler ;)
dwarfie: et puis , j'ai un lvl a gagner ... des places aussi ... 6 places gagné grace a hypersonic hier
Remiavecuni: Ah donc c'est une histoire de compétition ! C'est pour battre quelqu'un en particulier ou juste pour être le mieux classé possible ?
dwarfie: juste pour etre classé la ou je devrais ... donc devant certains en effet :p
dwarfie: et puis , avoir encore des multi ou je suis meme pas gold ... honte a moi :rofl:
Remiavecuni: Si tu vises Automaton2000 je crfois que c'est bon là
Automaton2000: j'ai du mal avec le mode d'édition
dwarfie: en plus ; vu que j'ai presque plus de puzzle a faire , me reste plus que ca
npo: Bon je file, bonne journée à tous
Remiavecuni: Bonne journée
Remiavecuni: Coté multi si tu toi as honte qu'est-ce que je devrais dire ^^
Remiavecuni: J'en ai 2 en bronze et le reste pas encore touché
dwarfie: bah , en meme temps , t'es pas la depuis aussi longtemps que moi
Remiavecuni: Non, j'avoue je suis encore au stade du petit nouveau
dwarfie: csb et mean max ... humm ... tu peut peaufiner ton code pour les trajectoires sur search race ... meme principe que csb mais t'es seul
Remiavecuni: search race c'est un autre jeu multi ?
dwarfie: une fois que tu sais aller "a fond a fond a fond" y'a plus qu'a gerer les collisions
dwarfie: c'est un optim
dwarfie: https://www.codingame.com/multiplayer/optimization/search-race
Thyl: j'ai 2 silver 2 gold 0 legend :D
dwarfie: normal , you are a turtle ;)
dwarfie: bon ... todo : ajouter un flood check dans tge
Thyl: j'ai découvert un truc géniale sur le profile
Thyl: tu peut formater au html
Thyl: :D
Alshock: essaye de bourrer un script dedans :smirk:
Atraya: hello tout le monde
Alshock: Coucou Atraya
icon: Bonjour, comment on trouve le temps de calcul utilisé par notre programme ?
Alshock: Bonjour, lance un chronomètre après avoir lu la première entrée, un autre avant de donner ta réponse, et soustrais les deux
dwarfie: with a clock
Thyl: Alshock c'est interdit
Thyl: icon avec un module ( suremment time) de ton langage
Bon[]Crayon: Salut :ghost:
Bon[]Crayon: Automaton2000 :>
Automaton2000: salut, c'est quoi le nom du puzzle
Bon[]Crayon: Automaton2000 Course de tortues.
Automaton2000: j'étais en train de me demander si c'est pas une impression
Bon[]Crayon: Automaton2000 tout à fiat
Automaton2000: j'arrive pas à le faire en js
Bon[]Crayon: Automaton2000 :)
Automaton2000: ca a pas l'air de marcher ...
Bon[]Crayon: Automaton2000 Fait du python, ça va ramper.
Automaton2000: c'est à cause de la taille de la carte ?
Bon[]Crayon: Automaton2000 Fait un effort.
Automaton2000: ah mais c'est un bon début
jdeveil: bonjour tlm
jdeveil: Automaton2000, toujours fidèle au poste ;)
Automaton2000: même pas de code pour faire une ia qui ne fait pas mieux que le reste
jdeveil: quelqu'un sait utiliser brutaltester ici ?
jdeveil: j'ai un erreur reflect.InvocationTargetException au lancement...
jdeveil: ah trouvé... c'est bon
philRG: fait gaffe à la syntaxe de ligne de commande, l'outil te dit pas s'il trouve pas ton code... seulement qu'il a perdu le match ;-)
philRG: le reflect message est pas bloquant
BiMathAx: Salut, j'ai un pb avec le puzzle Jack Silver : The casino....
BiMathAx: En fait, je ne comprend pas très bien les remises de prix : si il parit 200 et qu'il gagne sur un ODD, alors il récupère ses sous + 100 ou ses sous + 200 ?
jdeveil: philRG: oui c'était ça... il trouvait pas mon exe
jdeveil: BiMathAx: désolé je le connais pas celui là
jdeveil: tu as le lien ?
Zorg1: t1 vous avez une barre de recherche les gars : https://www.codingame.com/training/easy/jack-silver-the-casino
jdeveil: pardon :p
Zorg1: j'avais juste envie de râler ^^
jdeveil: c'était mérité
Zorg1: bon après s'ils demandent de l'aide ça devrait pas les gêner d'envoyer le lien
jdeveil: :)
Zorg1: BiMathAx : bah comme dans tous les jeux de casinos, quand tu gagnes tu récupères ta mise plus le paiement de ta mise
BiMathAx: ok merci ^^
Zorg1: donc si t'as joué 100 sur ODD et qu'un nombre impair sort, tu récupère 100 (ta mise) plus le paiement de la chance égale à ta mise, donc 100
Zorg1: sinon tu perds ta mise
jdeveil: even et odd: 1 to 1
jdeveil: plain : 35 to 1
jdeveil: donc comme dis Zorg1: si tu mise 100 tu récupère 200 sur ODD et EVEN si tu gagnes et 3500 sur un chiffre
jdeveil: 3600 pardon
Zorg1: après l'erreur classique dans ce type de jeu c'est de compter ou de retirer deux fois la mise, en fonction que tu la retires ou non de ta somme avant le résultat
BiMathAx: ok merci bcp
jdeveil: bon ça m'aide pas pour mon code tout ça moi...
jdeveil: il timeout visiblement sans raison
philRG: ça timeout plus souvent avec brutal tester que dans l'ide cg chez moi
jdeveil: là je viens d'avoir un timeout avec seulement 12 rollouts alors qu'au tour précédent il en a fait 3600...
jdeveil: pour pas timeout il faudrait que je diminue à 50ms !
jdeveil: mais bizarrement, j'ai pas d'erreur autre affichée
jdeveil: genre core dumped ou full mem ou autre
philRG: fais gaffe à bien spécifier le niveau de ligue dans brutal tester aussi, les erreurs sont affichées dans le fichier json avec l'option -l '.'
philRG: mais faut un bon parser json pour lire le json
jdeveil: j'ai bien mis le -l... mais dans le json je vois pas grands chose
jdeveil: si il y a un invalid action dans brutal tester... étrange, le code tourne durant quelques tours dans l'IDE
jdeveil: j'ai mis des traces partout dans le code (ou presque) : aucun pointeur null
jdeveil: aucun vector vide (avant de faire des .back)
jdeveil: les new ne retournent pas d'erreur
jdeveil: merde !
jdeveil: au bout de quelques tours, il rentre dans la méthode de recherche du MCTS et n'en ressort plus !
jdeveil: et parfois juste avec un nombre dérisoire de recherches !
jdeveil: question en cpp le cerr il est synchrone ? ou il affiche que quand il a le temps (nécessité de faire un flush derrnière ?)
jdeveil: -n
jdeveil: pour brutal tester ca doit être la league qui n'est pas bonne... mais je trouve pas comment la changer
jdeveil: pour mon code... je sais pas encore :'(
Remiavecuni: Bonjour, vous faites comment pour progresser en code golf ? A part me faire battre par ceux qui codent en ruby et python 3 ... j'ai pas tellement l'impression d'apprendre des choses.
jdeveil: tu codes en quel langage ?
Remiavecuni: C++
jdeveil: c'est pour ça :p
jdeveil: il n'y en a pas beaucoup qui font du cpp en golf
philRG: jdeveil c simple
Remiavecuni: J'aimerais bien tomber sur d'autres qui codent en C++ et qui partagent leur code, mais ça n'arrive jaamis. Ils prennent tous le ruby ou le python3.
jdeveil: sinon quand il y en a: tu regarde leur code et tu apprends en observant...
philRG: -Dleague.level=3
jdeveil: oui il y a bcp plus de raccourcis dans ces deux langages
Remiavecuni: jdeveil c'est justement ce que j'aimerais, mais je crois que personne ne fait du c++ en code golf.
jdeveil: merci philRG je tente de suite :)
Bon[]Crayon: Tu codes pour toi sans la compète.
jdeveil: yep c'est ce par quoi j'ai commencé, c'est rare
philRG: c surtout pour les règles en fait
Zorg1: Remiavecuni : c'est le pb du CoC, t'as des langages nettement + efficace que les autres
Zorg1: après à une époque CG avait organisé des soirées CoC avec langage imposé
jdeveil: Unrecognized option: -Dleague.level=3
jdeveil: oups
Zorg1: (y avait eu pour C++, python, Java ...)
Zorg1: je sais pas sil ils vont refaire ça
Remiavecuni: Mais je sais que c'est possible d'améliorer encore ce que je fais en C++, dans les puzzles de taille de code je suis loin derrière les meilleurs et même avec ceux qui codent en C++
jdeveil: sinon tu peux tenter les exercices en taille de code uniquement (pas de limite de temps, difficulté plus importante et accès aux codes des autres dans le même langage pour apprendre et s'améliorer une fois terminé à 100%)
dwarfie: les soirees clashs ... un fiasco au final :D
Zorg1: ah pas eu trop de retour là dessus
jdeveil: ah non pardon les exos normaux, pas les tailles de code
dwarfie: t'en a fait ... moi j'ai ete assez pfou pour ...
dwarfie: c'etait festival de copy-paste
Remiavecuni: jdeveil je les ai tous fait, en C et en C++, mais une fois que c'est fini, je peux juste constater que d'autres ont fait mieux que moi.
jdeveil: dedans, certains donnent des facilities sur quelques amérliorations
Zorg1: ah ok
dwarfie: pour les golf , y'a des tricks en effet ...
Remiavecuni: Ah tu veux dire regarder les solutions dans les exos qui n'imposent pas la taille de code, pour voir comment optimiser les algos, et ensuite j'optimise la taille de code sur les meilleurs solutions ... bien vu. Merci
**dwarfie en a meme glisser un sur le forum une fois :D
jdeveil: dr
jdeveil: ah oui il y a le forum aussi, certains y post quelques trucs
jdeveil: ah je crois que j'avais pas mis l'option au bon endroit !
Remiavecuni: LEs seules astuces que j'ai trouvé sur le golf en c++ c'est cette page : https://codegolf.stackexchange.com/questions/132/tips-for-golfing-in-c . Je n'en ai jamais trouvé d'autres.
jdeveil: ah ben non... toujours un invalid action sur un des players (j'ai mis le même code pour les 2 players)
jdeveil: Remiavecuni: très bon site pour le code golf... mais il faut réussir à naviguer dedans... pas évident
Bon[]Crayon: Automaton2000 Ça t'en golf un trou !
Automaton2000: c'est déjà un bon point de départ
jdeveil: sinon essaye le turtle, nettement plus intéressant comme langage
Remiavecuni: Y a un rapport avec le fait que tout le monde écrit "tortue" quand automaton2000 apparaît dans le tchat ?
Automaton2000: j'ai du mal à comprendre le simultanné en mcts
jdeveil: Player $0 played (3 3) ... $0 eliminated: Invalid action
Bon[]Crayon: C'est pour essayer de faire dire tortue à Automaton2000.
Automaton2000: c'est vraiment pas mon truc
jdeveil: bon sang, l'option doit pas encore être au bon endroit
jdeveil: ça on sait Automaton2000
Bon[]Crayon: Comme tu peux le constater se n'est pas aisé.
Automaton2000: en début de partie ?
jdeveil: non non, tout le temps
jdeveil: ben ya des fois où il repond des trucs sympa Automaton2000 :)
Automaton2000: tu as de la marge
jdeveil: oui beaucoup.. la plupart du temps ça reste quand même à côté de la plaque Automaton2000 :)
Automaton2000: et puis il y a le puzzle de la semaine
jdeveil: voilà
jdeveil: elles sont comptées comment les leagues dans l'option -Dleague.level ?
jdeveil: 0, 1 = bois 1 et 2, 2 = bronze, 3 = argent, 4 = or, 5 = legend ?
dwarfie: moi je dirais l'inverse ... y'a deja eu jusqu'a 6 wood ...
dwarfie: mais je peut me tromper
jdeveil: hmm ça expliquerai pourquoi ça plante java.lang.NullPointerException au bout d'un moment
jdeveil: pb j'ai pas de log :(
dwarfie: ah et y'a deja eu des sans-wood
BlaiseEbuth: 'java' explique pourquoi ça plante à lui seul.
jdeveil: java pour le coup c'est soit le referee, soit brutal tester...
jdeveil: ah moins qu'il récupère l'exception que mon code a levé ?
Zorg1: Java Haters never sleep
BlaiseEbuth: Je ne hais pas java. Tu ne hais pas une personne 'limitée' à cause de son handicap. Mais si tout le monde encense cette personne et lui donne de grosses responsabilités, qu'elle n'est, de fait, pas capable d'assumer, bah faut pas non plus faire semblant de ne pas voir l'origine du problème...
jdeveil: l'option de league c'est pas comme ça ? : java -jar cg-brutaltester.jar -r "java -Dleague.level=3 -jar tictactoe-1.0-SNAPSHOT.jar" -p1 ./Solution3 -p2 ./Solution3 -l "./logs/"
jdeveil: il y a moyen de lancer le referee tout seul, sans brutaltester ? il y a une doc quelque part ?
jdeveil: bon en ouvrant le code du referee, j'ai trouvé la fonction main... j'ai pu lancer (enfin je crois) une partie sans brutaltester
jdeveil: je crois parce que pour le moment, ça tourne alors qu'une première exception NullPointer est tombée :p
Zorg1: BlaiseEbuth : pas sûr que ça soit mieux si on faisait en C++ tout ce qu'on faisait en Java
jdeveil: merde pareil, il quitte sans fichier de log et pour seul exceptions: NullPointerException (levée presque dès le départ) et un RuntimeException: Invalid Referee command
Zorg1: Après y a certainement des langages plus adaptés maintenant mais souvent c'est le premier dispo qui rafle la mise
jdeveil: bon ça me saoul... je sens que je vais coder un referee en python rapidement juste pour lancer le bot contre lui-même...
jdeveil: tiens ça n'a pas réveillé le petit diablotin...
Zorg1: ^^
Kanekieuhh: Bonjour ! je suis nouveau dans tout ce qui est code et je suis un peu perdu... quelqu'un peut m'aider !
Bon[]Crayon: Poses-ta question directement.
TheDoudou: salut du monde sur connect 4 ?
TheDoudou: petite question bete
TheDoudou: sous certain pseudo de joueur je vois du texte genre debug
Kanekieuhh: Quel langage est il plus façile à apprendre ?
Bon[]Crayon: TheDoudou Regardes dans les règles. La plupart du temps, il faut ajouté un espace et un texte après ta sortie.
Bon[]Crayon: Kanekieuhh Acune idée.
TheDoudou: Kane sa dépend de pas mal de chose
dwarfie: de toutes facons on apprend a programmer avant de choisir un langage ...
dwarfie: :p
TheDoudou: du pseudo code ?
dwarfie: par exemple ... ou en tout cas , savoir poser un algo sur une feuille de papier ...
TheDoudou: Bon thx c'est pas mis dans la doc du output mais effectivement sa semble marché
Zorg1: avant le pseudo code c'était du pascal déguisé maintenant c'est du python en français
Kanekieuhh: Merci ^^, car j'ai des petites bases que je souhaite développr
groskouik: le fortran c'est bien ...
Zorg1: j'ai toujours eu du mal avec le concept de "pseudo code"
TheDoudou: python est pas mal je trouve pour forcé l'indentation
dwarfie: comme si l'indentation etait importante ...
TheDoudou: bha oui le coding style joue
Kanekieuhh: the doudou, ok merci ^^
Kanekieuhh: bah je vais voir pour apprendre seul, ce qui risque d'être galère
dwarfie: non , c'est juste parce que les mecs savent pas documenter leurs codes ... l'apparence c'est accesoire ...
dwarfie: et surtout , ca devrait pas etre un element de syntaxe ....
TheDoudou: Kane faut voir ce que tu veux faire dans un 1er temps une app win/linux/osx/mobile site web microcontrôleur etc
Bon[]Crayon: Initiation au c
Bon[]Crayon: https://framabook.org/docs/c20h/C20H_integrale_creative-commons-by-saV2_AOUT2013.pdf
TheDoudou: bha un code bien mis en forme vaut bien des lignes de comm
groskouik: vas sur openclassrooms les cours sont bien foutu
dwarfie: :nauseated_face:
rpalfray87: Je pense que la documentation et l'indentation de son code sont des choses qui vont de paire. L'indentation rend plus lisible à la volé et la documentation aide à la compréhension
Kanekieuhh: TheDoudou, je souhaite plus apprendre pour les site web et/ou app windows
TheDoudou: rpa pareil faut les deux
TheDoudou: site web je te dirais du coup html/css/js/php coté serveur
TheDoudou: (hors framework c'est une cata sa aussi)
TheDoudou: je suis en pleins recrutement
Kurosaif: hello j'ai un souci qu il faut regler rapidement svp. J'ai un projet pour les cours. J'ai utilisé la bibliothèque xlrd qui fonctionnait sur les pc de mon lycee mais chez moi rien y fait ca ne fonctionne pas et renvoie: Excel xlsx file; not supported
TheDoudou: les mecs savent meme pas faire un insert sql en php sans framework ...
dwarfie: on peut arreter le mythe de framework ... c'est juste que les mecs savent pas coder sans ...
TheDoudou: (1er exo faire une todo liste)
Kurosaif: du coup j ai essayé de changer d'ide, reinstaller les bibliotheques... mais la j ai plus de solutions
TheDoudou: personne n'y arrive from scratch ...
TheDoudou: c'est dingue
Kanekieuhh: The doudou c'est à dire ?
TheDoudou: bha sans laravel & co y savent rien faire
**dwarfie a defoncer 2 enseigants cette année justement parce qu'il voulait faire un cours de framework au lieu de php+pdo ...
**dwarfie en a explosé un 3eme parce qu'il voulait carrément remplacer par du nodejs ...
TheDoudou: genre $mysli->query('INSERT INTO table (txt) VALUES ($txt)'); en mode j'arrive pas à inseert la variable dans la string ...
TheDoudou: VALUES ('$txt') etc etc bref
TheDoudou: concaténation de string 0 ...
TheDoudou: (et les " " car varchar la ... t'oublie lol)
dwarfie: on en revient au probleme , les gens savent faire ils font , ils savent pas ils enseignent ... et ceux qui apprennent d'eux sauront pas plus ...
dwarfie: déprimant ...
TheDoudou: mais bon c'est des jeunes qui sortent de formation
dwarfie: ca doit etre pour ca que je sais faire moi ... pas de formation :rofl:
TheDoudou: bha c'est pas le prob formation ou pas
TheDoudou: c'est avant d'utilisé nodejs apprend le js
dwarfie: en vrai , si , j'ai eu un corps de prog ... en CM1 en logo :D
TheDoudou: pure et dur (sans jquery)
BlaiseEbuth: Non. Apprends pas js
Zorg1: sur un TO7 j'espère dwarfie ? :p
Zorg1: avec le stylo optique qui marche jamais
dwarfie: tu plaisantes .... mo5 ... avec les touches deplacables ...
dwarfie: la peniche et la tortue ... :D
TheDoudou: bon je retourne à mon code connect 4
Zorg1: le problème de "apprendre le JS" c'est que t'as JS d'un côté et tout le bazar DOM du navigateur de l'autre
TheDoudou: non mais js ou autre
TheDoudou: php ok mais sans laravel ou autre
Bon[]Crayon: php+pdo ? Qu'est-ce que c'est pdo ?
TheDoudou: le moins de lib/frameworks au debut
TheDoudou: bha j'ai fais une classe pour connect 4 justement ;)
Zorg1: après oui sur JS c'est la fameuse blague du module qui faisait en truc à la con qui n'était plus là sur npm
Zorg1: et une tonne de truc était KO ^^
BlaiseEbuth: https://www.php.net/manual/fr/book.pdo.php
TheDoudou: ha pdo j'ai lu poo :p
Zorg1: ah l'accès au BdD
Bon[]Crayon: Ok merci.
BlaiseEbuth: :poop:
TheDoudou: tiens d'ailleurs si vous avez une idée pour lire une db en dbf en pdo je suis pas contre
TheDoudou: dbase
dwarfie: tien , je viens de trouver la libpoo ... est-ce un fork de la libcaca ...? ;)
dwarfie: humm ... le dbase ... deja etonnant que ca soit encore suppoerté :D
Zorg1: quelle version aussi ^^
TheDoudou: alors la ...
Zorg1: ça s'appelle pas 4D maintenant en plus, ou je confonds avec autre chose ?
TheDoudou: non advantage c'est repris par SAP
TheDoudou: fin bon m'en fou c'est pour le taff :p
dwarfie: pas sur que le pdo soit envisageable ... dbase est tout sauf transactionnel ... ou j'ai raté un truc ...
TheDoudou: bha ouais c'est chiant la ont passe par du c#=>csv=>mysql
dwarfie: advantage == dbase !? oh my god , c'est pour ca qu'un des outils fournis par un presta est aussi merdique :D
TheDoudou: (avec un check de lastupdate pour pas forcé les update)
Zorg1: après tu trouves des données en dbase, les fichiers semblent avoir été assez populaire
TheDoudou: dwarf oui c'est proprio
Zorg1: Mais j'ai surtout vu ça, des données dans un format de fichier dbase 2 ou dbase 3
TheDoudou: advantage serveur advantage client etc
dwarfie: alors que vous pourriez passer par du php => myqsql direct :D
TheDoudou: 2 je crois mais bon
TheDoudou: bha meme faire les query direct dans les dbf
TheDoudou: (bon vaut mieux une injection mysql de tt facon)
**dwarfie hesite a proposer talend ... mais ca serait pas pire ... voir mieux ...
TheDoudou: c'est pour de la compta espace client etc etc ensuite
Zorg1: t1 talend
Zorg1: le truc qui te bouffe toute ta mémoire et qui plante ?
Zorg1: ou ils l'ont amélioré depuis ?
TheDoudou: lol sympa l'idée :p
dwarfie: j'ai jamais eu ce soucis ... ;)
Zorg1: si tu l'utilises pas ...
dwarfie: (et pourtant c'est en java)
TheDoudou: sinon j'ai une bombe fork c'est plus rapide
dwarfie: Zorg1 ... si peut ... juste pour remplir mon referentiel etablissement depuis tous les referentiels metiers :rofl:
Zorg1: après bon Talend j'ai du l'utiliser il y a dix ans, donc il s'est sans doute amélioré depuis ;-)
dwarfie: apres , j'utilise que le data integration aussi ... donc pas le plus lourd ... et le moins cher ...
dwarfie: (0 c'est toujours moins cher que n'importe quel prix)
dwarfie: :D
Zorg1: mais les ETL j'avoue avoir un préjugé négatif, quand tu passes ton temps sur certains projet à faire des requêtes SQL pour corriger les désynchros de ces trucs là
dwarfie: bah , j'ai pas eu trop le choix ... j'ai conservé une bonne partie de mes scripts en php ... mais les autres ou je suis pas seul , faut que je compose avec des collegues qui savent pas pondre un script ...
Zorg1: surtout quand des gars ont pensé que faire communiquer deux applications par un ETL qui copie des données de base en base c'était top
Zorg1: oui l'avantage de talend c'est qu'il est gratuit
Zorg1: après faut juste espérer que ça ne soit pas le seul
philRG: bah y a pas que le talent qui compte
philRG: faut bosser le physique aussi et le mental
philRG: bon moi je retourne regarder RG
philRG: j'ai un entretien mercredi matin comment développeur C# équipe support et évolution, bon
philRG: comme
philRG: je me souviens que je faisait des imports de données dans Oracle et db2
philRG: s
BlaiseEbuth: Image rare d'une erreur de signe dans son milieu naturel: https://www.codingame.com/share-replay/562265573
philRG: c beau la nature :-)
BlaiseEbuth: o/
BlaiseEbuth: :wine_glass:
dwarfie: freexp done ...
Remiavecuni: J'ai suivi ton conseil dwarfie et je suis sur le search race.
dwarfie: et donc ... t'es devant moi ? :D
dwarfie: en vrai , je suis mauvais a SR :yum:
Remiavecuni: Je suis dans la 1ère moitié du classement sans algo, juste avec des if
Remiavecuni: Je ne sais pas combien tu es classé
Remiavecuni: Je suis 212/442
dwarfie: bien plus haut ... mais normal , des ifs c'est un peut leger ...
dwarfie: pour ca , faut du random ... plutot bon que mauvais ... c'est d'ailleurs csb avec le moteur physique qui est en exemple dans la conf de manwe
Remiavecuni: La prochaine étape, avant de tenter les algo dont j'entends parler ici (car j'aime bien réfléchir d'abord mes solutions :P ), ce sera de calculer la courbe idéale (splines cubiques ?) qui passe par la voiture et les 2 prochains checkpoints, pour calculer un checkpoint plus près. Faudra que je détermine la vitesse idéale en fonction du rayon de courbure, puis l'accélération idéale en fonction de cette vitesse.
dwarfie: ambitieux ... et optimiste :)
BlaiseEbuth: On aime pas les optimistes ici.
Remiavecuni: Si je n'y arrive pas tant pis ;)
Remiavecuni: Ah bon Belzebuth ?
dwarfie: y'a un nan optimiste ... se resoud en 33 chars ... et quand il repond a des conseils de commentaire le gars demande la validation parce qu'il a fait ce qu'on lui a dit ...
dwarfie: :D
dwarfie: ouah ... encore pire , un nan qui se resoud en 11 char ... la blague ...
dwarfie: bon , nouveau rage-quit sur TGE ... comme uoi fallait pas etre optimiste :D
**dwarfie aurait du se rappeler que meme le bot silver cheese ...
nicola: Remiavecuni, tu connais les courbes de Bezier ?
Remiavecuni: J'ai déjà entendu ce nom là, ça doit dater de quand j'étais étudiant
nicola: Sinon, il y a l’interpolation de Hermite (une extension de celle de Lagrange).
nicola: Mais elle n’est pas très stable.
nicola: Pas plus que celle de Lagrange.
Remiavecuni: Dans mes souvenirs, les splines cubiques donnaient un bon résultat, c'est pour ça que je les envisageais. Mais je vais jeter un oeil aux courbes de Bezier aussi.
nicola: Les courbes de Bezier incluent les splines cubiques.
nicola: Elles peuvent ne pas être cubiques, tout dépend du nombre de points de contrôle.
jdeveil: help help !
BlaiseEbuth: Aides toi.
jdeveil: quelles peuvent être les raisons d'un timeout dans l'IDE quand en local le programme se déroule pile dans les temps (avec une marge) et une occupation mémoire finale de moins de 200Mo
jdeveil: c'est pas gentil bla
jdeveil: BlaiseEbuth
jdeveil: ( complétion trop rapide ;p )
dwarfie: parce que CG
BlaiseEbuth: Parce que t'as sans doute pas la même conf que les serveurs cg...
BlaiseEbuth: Du coup ton temps local...
jdeveil: ouai d'accord mais je dois descendre le timeout de 100ms à 50ms pour pas passer en timeout !
jdeveil: et ma conf local est plus pourrie que celle des serveurs
BlaiseEbuth: C'est pas possible
jdeveil: presque 2 fois moins de rollout en un tour en local :p
jdeveil: si si
BlaiseEbuth: A moins d'avoir un minitel
jdeveil: ba c'est pas loin... mes machines ont pas mon age, mais pas loin
jdeveil: bon d'accord, je suis quand même 3 à 4 fois plus vieux
jdeveil: qu'elles
jdeveil: mais ça reste de grosses bouzes lentes
jdeveil: en 32 bits pour la plupart
jdeveil: mais du coup ça m'aide pas du tout et je m'arrache les cheveux là dessus
BlaiseEbuth: Fait pas style t'as encore des cheveux
jdeveil: si sur les côtés
jdeveil: :p
jdeveil: et sous le menton aussi :D
BlaiseEbuth: Je veux pas la suite.
jdeveil: c'est eux qui morflent le plus d'ailleurs !
jdeveil: non j'irai pas plus bas
jdeveil: comment je peux avoir QUE des timeout dans l'IDE et 0 à la maison !
jdeveil: timeout au bout de quelques tours de jeu...
jdeveil: au bout d'une 20aine de tour à chaque fois... c'est louche ça
BlaiseEbuth: Ouai. T'es juste mauvais et t'accuses le matériel...
jdeveil: non non... j'accuse pas le matos... juste le programme...
jdeveil: je veux comprendre où il merde
BlaiseEbuth: Faut lui apprendre à faire dans sa litière
jdeveil: j'ai pas de core dump en local
jdeveil: si l'image était pour cela
BlaiseEbuth: Non.
jdeveil: la limite en mémoire c'est bien 700Mo et quelques !?
BlaiseEbuth: https://www.codingame.com/faq
jdeveil: ba oui je l'ai bien vu cette page
jdeveil: j'espérai qu'il y ai une erreur :p
dwarfie: y'a du faux dedans ...
jdeveil: ah tu vois !
BlaiseEbuth: Non.
BlaiseEbuth: CG est absolu
jdeveil: lol
dwarfie: y'a ecrit combien pour la ram en php ?
jdeveil: comme s'il n'y avait pas de facteur humain derrière CG !
BlaiseEbuth: T'as déjà vu des facteurs pas humains ? T'es dans le turfu !
jdeveil: 768
dwarfie: fait un gros tableau et le serveur de cg va arreter et te dire que tu depasses 512Mo et pas 768Mo
dwarfie: mais c'est que sur php ... sabotage !!!
jdeveil: ah il y a un message en cas de dépassement mémoire ?
jdeveil: donc la s'il me dit timeout, c'est pas dû à la mémoire
jdeveil: mon programme s'arrête ou est trop lent sur leur serveur
dwarfie: non ... en php il te le dit ... en c++ tout est timeout ...
jdeveil: argl
jdeveil: m'enfin j'ai fait un compteur rapide, incrémenté à chaque new... j'obtiens 210 000 000 max
jdeveil: des sizeof... donc en octets... donc 200Mo
jdeveil: on est loin des 700Mo
jdeveil: même des 500 de php (le bot est en C++)
dwarfie: overflow , segfault ...
jdeveil: il segfault pas à la maison
dwarfie: parce que tu tombes pas sur les meme seeds et que ca arrive pas c'est tout ;)
jdeveil: merde sur CG c'est systématique !
jdeveil: avec la quantité de run que j'ai fais à la maison, il aurait planté avant !
jdeveil: j'ai même mis des log, 1 ligne sur 2 presque
jdeveil: pour chercher où il s'arrête...
jdeveil: je trouve rien car sur CG, timeout et aucune trace :'(
jdeveil: en local pas de timeout... mais des traces...
dwarfie: que nenni ... sur HS , y'aura fallu plus de 100 essais pour que j'arrive sur un cas precis ... et pas reproductible en faisant rejouer dans les memes conditions ... ca arrive
jdeveil: oui je dis pas que c'est impossible, mais quand d'un côté c'est systématique, la proba que ce soit reproductible elle est quand même proche de 100% !
jdeveil: et à la maison, elle est plutôt proche de 0% :'(
dwarfie: et prout , un 2eme free xp a faire...
jdeveil: ?
dwarfie: des faux puzzles tellement simples que meme en clash ca serait facile ...
jdeveil: ba tous les easy ou presque non ?
jdeveil: elle est de combien la pile d'appel max en cpp ?
dwarfie: la ca fait 2 medium dans la meme journée ... dont un dont j'ai dit des le depart qu'il etait superflu parce que part2 ...
BlaiseEbuth: Ca dépends si c'est une duracel
dwarfie: et ca dure ... et ca dure ...
jdeveil: paskil fallait que je réponde quelque chose à ça ?
jdeveil: j'ai une pile d'appel d'une 10aine de fonctions max
dwarfie: automaton2000 ... une reponse ?
Automaton2000: j'ai mis un peu de temps :)
dwarfie: Automaton2000 ... et donc ?
Automaton2000: ben je sais pas dans quel langage
jdeveil: en C++ Automaton2000
Automaton2000: comme tout ce qui est pas bon
jdeveil: LOL
dwarfie: Automaton2000 ... tu confond la ...
Automaton2000: mais le coup de pas de bol
jdeveil: ba le coup de pas de bol il est de 100% Automaton2000
Automaton2000: je ne comprend pas ce que j'ai de la merde je suis pas sur qu'il y ait un peu de ...
jdeveil: oula c'est pas compréhensible comme phrase ça Automaton2000 !
Automaton2000: et pas le temps de le faire en java
jdeveil: tu m'étonnes Automaton2000 ;)
Automaton2000: et j'ai l'impression que ca fait pas un mail frauduleux
jdeveil: va dire ça à ceux qui le reçoivent Automaton2000
Automaton2000: et en plus faut que je la retrouve
jdeveil: la mail ? Automaton2000 le genre des mots c'est pas pour les chiens !
Automaton2000: moi je vais au lit
jdeveil: bonne idée Automaton2000, ça te fera du bien un peu de repos
Automaton2000: et pour ce qui est à plus de 2 ans
leojean890: alors dwarfie t'es passé sur TGE en MCTS c'est ça ?
leojean890: tu vas bientôt me re-doubler sur le général hehehe
dwarfie: c'est un epic fail suivi d'un rage-quit :D
dwarfie: pour ce qui est du general ... je m'attendais deja pas a monter a ce point juste avec HS ;)
dwarfie: (deja que je pensais pas monter si haut avec un code qui a eu du mal a passer le boss gold)
leojean890: bah t'es passé 180eme de HS alors que t'étais pas dans le top 1000, ça paye tjr:)
leojean890: epic fail pour TGE ? comment ça ? ça marche pas le MCTS ?
leojean890: oauis mais c abusé la légende de HS
dwarfie: soit pas vexant , j'etais dans le top 1000 :yum:
leojean890: bah t'avais pas encore bossé le bot par manque de temps ? ça n'a rien de vexant :P
leojean890: silver, c'est peut être le top 1000 j'avoue j'ai pas ompté
leojean890: pas compté/regardé
dwarfie: mon tge passe son temps a danser ... et poser des murs n'importe ou ...
leojean890: la légende de HS c'est tellement de poussés que même étant moi-même poussé je suis 333 sur plus de 500..
dwarfie: c'est la regle qui empeche de bloquer l'adversaire qu rend gourmand
leojean890: ah je vois
leojean890: ouais TGE y'a quand même un gros branching
leojean890: tu pourrais ptet le faire marcher un peu quand même
dwarfie: ouais , juste mettre cette regle je passe de 25k a 500 simu
leojean890: moi j'ai un minmax depth 2 en vrai et ça top gold lol
leojean890: juste une éval simple et je simule pas tout
**dwarfie a jamais reussi avec minimax ... ses eval sont toujours foireuses
leojean890: je choisis quel adversaire affronter (soit le suivant soit le gagnant en fct de l'écart)
leojean890: bah pour l'éval tu regardes les distances à l'arrivée
leojean890: il va placer le mur là où ça rallonge l'adv
leojean890: rallonge le plus* le path de l'adv
leojean890: des bfs
leojean890: mais je simule pas partout pour la pose de murs
dwarfie: de toutes facons , c'est cheaté tge ... meme le boss de silver cheese a mort ...
leojean890: je me souviens pas du boss silver
leojean890: mais le principe de rallonger le plus possible la distance de l'adv à l'arrivée et te rapprocher toi ça marche pas mal déjà pour la pose des murs
leojean890: y'en a qui utilisent une strat de poser des murs pour s'assurer un chemin gagnant
leojean890: pas pour bloquer mais pour ne pas être bloquable
leojean890: je le fais pas ça
leojean890: en ce moment je fais des puzzles, pas de multis ; mais faudrait que je me fasse un MCTS qui marche
leojean890: j'ai peu de multis à commencer, j'ai un truc quasi partout
leojean890: (il y en a quelques uns qui seraient améliorables en passant en MCTS)
dwarfie: la je me fais un break dans les multi et fait un peu d'optim ...
leojean890: ah btw la règle qui empêche de bloquer l'adv t'es pas obligé de la simuler partout
leojean890: en fait j'avoue tu dis 500 simus, moi je dois être sur un depth 2 avec un branching de 20 avec mes élagages, donc.. 400
leojean890: environ je suppose
leojean890: je simule la règle qui empêche de bloquer l'adv que sur celui que je tente de gêner
leojean890: l'autre si je le bloque par inadvertance tant pis mais dans les faits ça n'arrive pas ou rarement
leojean890: ah tu vas faire de l'optim, je les ai bien avancées début 2021
leojean890: il me reste CG funge
dwarfie: j'en etais meme pas a tester avec 2 adv :D
dwarfie: a part blender ... je les ai tous ... mais certains je les ai clairement baclé :rofl:
leojean890: vu que mon éval c'est des BFS pour savoir le nb de cases restantes pour atteindre l'arrivée je vois direct si je bloque l'adv (et moi-meme)
leojean890: d'une pierre 2 coups, donc^^
leojean890: et minmax depth 2 ça coute rarement bcp en ressources
leojean890: ah oui niveau optim.. j'ai baclé samegame tiens
leojean890: j'ai une éval simu depth 1 et basta
leojean890: c'est pas ouf
leojean890: même the great dispatch j'ai mieux alors que je l'ai fait en officieux quand il était disabled
Zorg1: c'est vrai qu'un smithimax ça devrait marcher sur tron :thinking:
leojean890: TGD j'ai quand même plus que le fameux objectif de 1 (j'ai 2 d'écart)
leojean890: en python
leojean890: les meilleurs ont 0.0000006 ..
leojean890: ptet moins de 0 je sais plus
leojean890: mais c'est fort hehe
leojean890: smitsimax sur tron maybe, jsp
leojean890: A*C SA + hardcode, CVZ SA + hardcode, sponsored challenge des BFS
leojean890: 2048 BS
leojean890: SR BS aussi
leojean890: bender plusieurs BFS
leojean890: B&C2 bruteforce
Zorg1: SR en beam search ? m'ouais pk pas
leojean890: euh SA pardon
Zorg1: ah ok ^^
leojean890: il m'a l'air un peu chaud lui https://www.codingame.com/ide/puzzle/codindice
leojean890: (je suis entrain de faire les VH et y'en a pas bcp que je trouve faisables en moins de 5h mdr)
leojean890: je sens que ça va être galère pour bcp quoi
leojean890: tu as N dés et faut trouver le chemin le plus court pour les faire bouger/se coller et finir sur la face 6
leojean890: je sens direct que la simu va exploser même si je ne simule que des mouvements qui rapprochent du barycentre de l'ensemble des dés
leojean890: (et encore ça trouve pas forcément la solution la plus courte de faire ça!)
leojean890: ptet que ça passerait en glouton
leojean890: répéter 1 chercher la paire de dés les plus proches, 2 rapprocher le dé le plus loin du barycentre de tous les dés parmi les 2 dés de l'autre
leojean890: simuler pour les faire se coller en finissant sur un 6
leojean890: mouais bof pas sûr que ça trouve ce qu'il faut
leojean890: ^^
leojean890: ah non faut pas la distance la plus courte parcourue mais minimiser "he number of times a die was rolled." donc ce serait plutôt un bfs (mais à élaguer car ça timeouterait !)
Zorg1: ça va tu te sens pas trop seul à monologuer sur le chat ?
Zorg1: Automaton2000 tu lui tiens compagnie ?
Automaton2000: mais on m'a dit que c'était une bonne idée
leojean890: sisi un peu je réfléchis à voix haute hehehe
leojean890: mais je pense que le puzzle est assez chaud
leojean890: je pourrai tenter de le BFS...
BlaiseEbuth: https://www.codingame.com/profile/51cf3569a28219e695585f664d80a5b5238752 :scream:
Zorg1: :thumbsup:
Littleyounes: o/
leojean890: 666, troll ?^^^^
dwarfie: c'est quoi ce lvl 666 .... ?
BlaiseEbuth: :imp:
dwarfie: on va etre obligé de signaler un abus la
leojean890: plus un troll qu'un abus ^^
Littleyounes: PTDR
dwarfie: si si , c'est un abusement ... (comme dans pirates des caraibes 4)
leojean890: c'est temporaire jvx dire c sûr^^
Littleyounes: Laissez le dans son délire satanique
Littleyounes: il fait rien de mal x)
Zorg1: c'est vrai que permettre de mettre des balises dans ta bio ^^
dwarfie: on en a bruler pour moins que ca ... et on en brulera encore ... :japanese_ogre:
Zorg1: c'est le genre de truc qui me dit que je suis vraiment pas bon en CSS ^^
BlaiseEbuth: Bah balise oui. Je savais. Mais <style></style> rempli de css...
Zorg1: t'as testé ^^
Zorg1: et t'as gagné ;-)
BlaiseEbuth: Reste à voir pour le js :3
pardouin: et il y a moyen de voir ton vrai lvl quelque part ?
Zorg1: là ça devient chaud si c'est possible
pardouin: (bonjour au fait o/)
Zorg1: pardouin : quand tu survoles son profile ou t'inspecte la page de son profil
Remiavecuni: En mettant la souris sur son avatar dans ce tchat
Zorg1: oui voilà
pardouin: oui
pardouin: merci
dwarfie: bon , recoder SR c'est raté ... c'est un week end de loose en fait :D
Zorg1: par contre le js c'est chaud si on peut le faire
pardouin: moi j'ai fait cgfunge ajd, j'avais la motiv
BlaiseEbuth: Si js marche, je fais un "clique sur la tortue" dans mon profil.
dwarfie: Automaton2000 ... une licorne pour le coup ?
Automaton2000: ca tombe bien, je suis en train de me prendre la tête sur le clavier
pardouin: et 2048 ça met 100% même avec le stub donc je suis pas allé plus loin ^^
pardouin: me reste bender mais une flemme monumentale pour celui-là
pardouin: bon c'est pas le tout mais deux nouveaux medium alors que j'ai du boulot ;(
dwarfie: bah , c'est des faux medium de toutes facons ...
philRG: Level 666 tiens
pardouin: oui ça a pas l'air méchant
dwarfie: surtout le part2 de m.... suffit de prendre le part1 ... de gerer plus d'une piece et c'est quasi fini ...
Remiavecuni: Bonsoir tout le monde, j'ai une petite question à propos du jeu d'optimisaton "samegame". Sans parler algo, est-ce qu'il existe une vraie stratégie ? Je veux dire les gens qui téléchargent ce genre de jeux pour jouer dans les salles d'attentes, ils ont une vraie stratégie pour choisir les zones à faire disparaître ?
pardouin: acheter le pack premium
dwarfie: chercher a composer la plus grande zone a faire disparaitre tout en connservant la possibilité de vider la grille
Remiavecuni: pardoin mdr
Remiavecuni: dwarfie ça c'est le principe du jeu, mais je ne comprends pas tellement comment choisir les premières zones qui vont faire que les suivantes seront plus grandes.
Remiavecuni: Je pourrais choisir bêtement les zones les plus grande, mais ce n'est pas la meilleure solution et ne sera probablement pas meilleur qu'un random.
dwarfie: par chute de bloc et deplacement vers la gauche quand une colonne disparait ... desole mais c'est les regles justement :D
Zorg1: y avait une heuristique de virer la couleur minoritaire je crois
pardouin: dans dev friends il dit que si un type a plusieurs tics il faut tous les vérifier mais plusieurs types ne peuvent pas avoir le même tic donc suffit d'en vérifier un ^^""""
dwarfie: oui et non ... parce que y'a 1 cas a la con
pardouin: je vais le tenter en supposant ça et au pire ça se change facilement
pardouin: suffit de return la liste des tics au lieu du prelier trouvé
pardouin: premier*
pardouin: allez je vais faire ça bien, c'est noël
Zorg1: je crois que j'ai fais un brute force depth 2 en lua pour SameGame
Remiavecuni: C'est souvent que j'entend parler de brute force.
Remiavecuni: Ca consiste à tester toute sles combinaisons possibles ?
Zorg1: dans ce cas là ça veut dire tu fais tous les combinaisons à 2 coups possibles
Zorg1: oui tu finasses pas tu fais tout
Zorg1: d'où le côté un peu "brutal"
Remiavecuni: Et ça ne pose pas de problème de timeout ?
Zorg1: pour la profondeur 2 non, ça tiens
Remiavecuni: Donc tu simules la disparition d'une région, tu recalcules la grille ... pour toutes les régions.
Zorg1: oui mais en fait non j'ai mal lu mon code ^^
pardouin: je crois que j'ai un truc tout pété qui cherche vaguement des zones de couleur
pardouin: et ça fait 125ème ^^
Remiavecuni: Moi je suis 170ème avec du rand. Habituellement je m'en sors avec des if, mais là j'ai aucune stratégie pour mes if.
Zorg1: c'est à dire pour le recacul des groupes je m'étais inspiré de mon code Smash the code
BlaiseEbuth: Ah! https://www.codingame.com/profile/51cf3569a28219e695585f664d80a5b5238752
Zorg1: Remiavecuni pour ce puzzle j'ai bien peur que tu sois obligé de coder une simu
pardouin: kekia blaise ?
pardouin: tu arrivais pas à le remettre normal ?
jdeveil: on l'entend pas ton audio
pardouin: ah ok il y a un audio
pardouin: j'ai pas le son je sais pas ^^
jdeveil: même avec le son ça passe pas :)
pardouin: mon king in check était relou à modifier pour 2 pièces, c'était un truc en 6 lignes pas du tout fait pour vérifier les "pièces qui sont sur le passage"
Zorg1: c'est quoi ça "King in check" ? on dirait le nom d'un démocrate nord-corééen
pardouin: j'ai fini par gérer ça avec des trucs sales à base de tri de trois coordonnées et regarder celle du milieu
pardouin: https://www.codingame.com/ide/puzzle/is-the-king-in-check-part-2
pardouin: (j'ai testé le son et ça fait rien blaiseebuth)
Zorg1: pê un truc pour récupérer tes infos privés
pardouin: ah si c'est bon
pardouin: ce bin vieux rick ^^
Zorg1: perso j'entend rien
pardouin: autorise l'audi et actualise
Zorg1: ah ok
Zorg1: il va tester la balise pour la vidéo aussi ?
pardouin: on verra bien ^^
BlaiseEbuth: Ouai. Tout le monde bloque le son... Hmm...
BlaiseEbuth: J'essaierai js demain.
BlaiseEbuth: Su ce braves gens. La bien bonne nuit.
NomNick: bonsoir, si quelqu'un a une idée sur ce problème ? https://pastebin.com/MCQeJsWU J'essaye de faire tourner cg-brutaltester avec ultimatetictactoe
jdeveil: lol j'essaye aussi de faire tourner uttt avec brutal tester et j'y arrive pas non plus
jdeveil: mais j'ai pas la même erreur que toi :(
philRG: en général, ça ressemble à çà:
philRG: java -jar cg-brutaltester-1.0.0.jar -r "java -jar -Dleague.level=3 tictactoe.jar" -p1 "./uttt_v1" -p2 "./uttt_v2" -s -l "." -n 1
philRG: le tiens ressemble à çà: java -jar .\cg-brutaltester-1.0.0-SNAPSHOT.jar -r "java -jar .\tictactoe-1.0-SNAPSHOT.jar" -p1 "..\UTTT.exe" -p2 "..\UTTT.exe" -t 1 -n 1 -l ".\logs" -v
philRG: le -s est optionnel
philRG: à quoi sert le -t j'ai oublié
philRG: faut que le code sache faire tourner les règles de la ligue
philRG: donc pour UTTT faut au moins level=2
philRG: vu qu'en wood c'est 9 cases et en bronze 81...
philRG: les timeout sont différents entre l'IDE CG et brutal tester, possibilité de modifier le timeout dans le code du referee et recompiler les sources mais je sais pas faire
jdeveil: ah c'était ça le problème !
jdeveil: league=3 on m'a dit... j'avais une erreur NullPointerException
jdeveil: je viens de tester avec league=2 (au cas où) et ça a ouvert un webserver là !
philRG: -Dleague.level=3
philRG: ah mais non l'option webserver c'est autre chose
jdeveil: le -s ?
jdeveil: ouai il a pas l'air d'y avoir une partie en cours l)
jdeveil: là
philRG: le -s c'est pour switcher l'id player
philRG: on peut le tourner en mode serveur mais jamais fait
philRG: là on est sur des outils bricolés pour des usages persos...
philRG: il y a 0 support
philRG: sinon le code source des outils est accessibles (Java), et donc potentiellement scriptable dans un langage de script type bash/perl ou python
philRG: brutal tester ca permet de tester en local facilement sans être jeté par l'IDE à cause de spam submit
philRG: je l'avais utilisé sur le dernier contest pour tuner des magic numbers car l'arène me saoûlait trop le dernier soir
philRG: je me faisais jeter sans arrêt
jdeveil: ayé j'ai réussi à le lancer (une fois)
philRG: sinon je vois pas trop l'utilité de brutal tester vs l'IDE CG
jdeveil: bon ba je retesterai demain (ou plus tard) pour essayer de reproduire le $@#£* de timeout que l'IDE me balance à chaque fois
philRG: ce que je fais dans le doute, je mets un bug dans un des 2 codes pour être sûr que le résultat soit pas moisi par une mauvaise ligne de commande
jdeveil: ?
philRG: ça doit être un bug ton timeout
philRG: ben brutal tester est pas user friendly
jdeveil: ba le problème, c'est que lancé en local (avec une sorte de referee python pour le lancer contre une autre instance de lui-même), il plante pas du tout, pas de timeout... rien
jdeveil: il passe partout, il y a pas de pointeur null
jdeveil: bref j'ai pas trouvé la couille
philRG: ah faire tourner contre sa propre instance, pas sûr que ça marche
jdeveil: pas grave, brutal fonctionne maintenant, je testerai demain
philRG: si 2 noms de code identique ça peut merder
philRG: faudrait 2 noms différents pour le même code
philRG: ok cool
jdeveil: ba cp v1 v2 et go ?
philRG: yes, quand on utilises des outils non officiels, faut faire gaffe
jdeveil: ça marche... je ferai ça
NomNick: hello désolé j'ai du aller gérer des priorités
NomNick: j'essaye le -Dleague=2
philRG: je dis ça au pif mais en général c souvent des trucs basiques
NomNick: pour compiler, c'est pas compliqué, "mvn package"
jdeveil: ouai j'ai fais ça aussi
philRG: oki cool mais j'ai pas mvn, seulement un ide
jdeveil: bon par contre, il faut que j'aille dormir, je me lève dans 5 heures :p
philRG: ah ouais bonne nuit :)
NomNick: mvn tu l'as depuis ton ide
jdeveil: 'nuit tous les deux ;)
NomNick: sinon c'est là
NomNick: https://maven.apache.org/install.html
NomNick: tu dezip mets dans le path et boom
NomNick: bonne nuit
Zorg1: mon code fait boom
leojean890: bam booom
philRG: mon ancien code de merde:
philRG: def pellet_counts(pac: Pac): http://chat.codingame.com/pastebin/d660da3a-fb18-4afb-a0b9-1be24bba4379
philRG: mon nouveau code:
philRG: def pellet_counts(pac: Pac, p_list: List[Pellet]): http://chat.codingame.com/pastebin/852735b4-56d1-4dcd-907f-7ec240dacfaf
philRG: faut que je trouve un psy d'urgence :-D
leojean890: pacman ça m'a gavé, j'y ai pas remis les pieds après le contest hehe
leojean890: (pendant le contest j'aimais bien mais ensuite la flemme)
philRG: n'empêche ton tip d'enregistrer le compteur pour les pellets du fog est cool
philRG: je l'ai fait sur d'autres multis (ie Codebusters) mais sur pacman, ça marche bien
leojean890: ah le compteur du nombre de tours ?
leojean890: depuis la dernière fois que tu as vu un pellet?
leojean890: pour mettre une patience sur ce nb de tours ?
leojean890: seuil de confiance de présence du pellet
philRG: oui, je l'avais pas fait car la flemme, et j'étais parti sur la gestion des combats ensuite, un truc de ouf
leojean890: c'était l'astuce de R4N4R4M4 par ex
philRG: ça s'adapte bien à pacman, je l'ai testé en wood avec mon smurf
leojean890: osef de wood, faut pas tester en wood
leojean890: wood ça passe tranquille avec un random ou à peine plus
philRG: ben si justement tu as des règles simplifiées
leojean890: du genre viser le plus proche de la liste
leojean890: même, ça sert à rien de tester sur ça car pas représentatif du vrai jeu
leojean890: la wood ça sert juste à être passé en 2 sec
leojean890: tu peux tester en bronze limite
philRG: non mais ça donne une idée de ton algo
leojean890: mais autant tester direct dans la ligue cible
philRG: quoiqu'en wood tous les pellets sont visibles
leojean890: contre les IA qui bloquent la tienne
leojean890: tu t'en fous de ceux que tu bats déjà, en gros ; tu bench ton code sur ceux qui te résistent
leojean890: qui te font un mur qui t'empêche de passer au delà
leojean890: ou ceux moins bien classés qui te mettent de petites loses
philRG: j'ai vraiment du code de ouf sur pacman du coup
philRG: bon je vais me pioter, je pars 5j dans le Verdon demain sans ordinateur :-( et codingame, j'vais être en manque
leojean890: genre par ex si ton meilleur code bloque sur les IA classées 120-130 gold, alors tu bench contre les 120-130 histoire de les passer
leojean890: rien en t'empêche de prendre ton ordi, mouahaha
leojean890: j'avoue en vacs autant ne pas en faire :P
leojean890: rien ne*
philRG: bah mais je suis accroc
leojean890: à toi de voir xD
philRG: mais mon IMac est pas transportable
philRG: ptêt un pc portable à la rigueur
philRG: bah autant pas en faire ouais en fait xD
philRG: j'en ai chié sur PacMan au contest (surtout le dernier jour), mais j'ai commencé 3 j avant la fin) pas raisonnable
philRG: pour un noob
philRG: j'ai morflé physiquement
philRG: comme federer hier soir
leojean890: as u wish
leojean890: 3j avant la fin ça dépend de ton objectif quoi:)
leojean890: c'est clairement pas un objectif tryhard
philRG: c invraisemblable d'avoir sué pendant des heures pour coder une fonction de comptage de pellets alors que ça faisait en 10' avec un flood fill
philRG: faut vraiment penser out of the box
philRG: et j'avais pas trouvé la fonction qui va bien aussi:
philRG: def get_manhattan(pac: Pac, pellet: Pellet) -> int:
modulus_bs = lambda x, mod: min(x, mod - x) d = modulus_bs(abs(pac.coordinates[0] - pellet.coordinates[0]), width) + modulus_bs(abs(pac.coordinates[1] - pellet.coordinates[1]), height) return d
philRG: allé bonne nuit
philRG: leojean890 pour un noob si un peu je pense
philRG: il y a un an je faisais de la merde
philRG: j'en fais toujours mais j'analyse un peu mieux
philRG: et je code plus propre aussi quand je m'en donne le temps
philRG: def pellet_counts(pac: Pac, p_list: List[Pellet]):
pac_view_range = [] p_count = {direction: 0 for direction in DIRS} p_list: List[Tuple] = [p.coordinates for p in p_list]
philRG: Là on voit les types des variables avec cette notation. Pour relire un code 2 mois après, c'est pas mal
philRG: def pellet_counts(pac: Pac, p_list: List[Pellet]) -> dict:
philRG: 199 remaining pellets
pac: 0 (4, 5) {'right': 5, 'up': 0, 'left': 15, 'down': 0}
pac: 1 (5, 2) {'right': 0, 'up': 0, 'left': 0, 'down': 0}
philRG: sur codingame, des codes trop longs c'est desastre assuré
leojean890: bah ça dépend de ton objectif ^^
leojean890: chaque personne se fixe son propre objectif, et c'est plus dur à atteindre en commençant 3j avant la fin sauf si l'objectif est light