Chat:Fr/2020-05-12
leojean890: pareil jvais dodo !
leojean890: bonne nuit :p
BigUP: Razielwar, parcontre mon changement masqué est de toute beautée ;)
leojean890: #119 au coucher, et on verra au leveer ;P
leojean890: mais je crois à la théorie du yoyo
leojean890: :p
Razielwar: bonne nuit et BigUp si tu peux continuer à tuer ceux qui sont devant moi c cool ^^
R4N4R4M4: bn
BigUP: Razielwar, généralement je ne cartonne pas le top 40, mais bon sur un bon tirage.. ca peut
BigUP: je suis en train de m'enliser #300
BigUP: #20 cartonné ..
BigUP: #55 bim...
BigUP: je desactive mes esquive et je passe mieux le passage des 300
BigUP: mur des 220... j'avance, je recule...
BigUP: je vais me stabiliser dans les 170... ca correspond a peu pres à l'idée que j'ai de la valeur de mon IA. je vais passer une meilleure nuit
R4N4R4M4: gg bigUP
Neabfi: https://www.codingame.com/replay/461684282
Neabfi: frame 50-57 les pacs en haut à droite
Neabfi: quelle intelligence :’)
Neabfi: (ou quel hasard)
Vry: :p
tekki: salut tout le monde
tekki: quel temps de chien ici
tekki: ça va AutomatonNN?
AutomatonNN: l'autre c'est pas un bon dev qui parle dans le chat de ce que tu as fait ce soir ?
tekki: sûremet AutomatonNN ya que des bons dev dans le chat :)
AutomatonNN: Niveau contest je suis pas sur que c'est pas trop compliqué de faire un truc de magus qui change le
M.Barbin: Hello, pour utiliser une seed en particulier pour tester mon code je dois m'y prendre comment ?
Haashi: dans l'ide, a gauche, settings => mode expert
Haashi: ensuite, la ou tu peux choisir qui affronter il y a deux onglets "PLAYERS" et "OPTIONS"
Haashi: OPTIONS => Manual et la tu pourras mettre la seed
M.Barbin: Ah yes super, merci !
Mator: Hi all. Je connaissais pas cette option.... Ca sert à quoi de modifier la seed ????
avdg: manuel?
Haashi: Mator, si tu veux rejouer sur la meme map
Haashi: contre un joueur différent
Mator: Ah OK ! Bien ça !
Mator: Thx !
WhatTrickeryIsThis: :100:
Vry: +1 WhatTrickeryIsThis :D
WhatTrickeryIsThis: ça descend a une vtesse en ce moment
WhatTrickeryIsThis: on perd facil 50 places par jours si on fait rien
ernestvw: quand on utilise speed, le fait que le Pac bouge de deux cases est automatique ou on doit utiliser deux commandes MOVE dans les tours d'apres ?
Vry: C'est pas faux ... j'ai perdu 150 places depuis ma promotion ... :D
Haashi: ernestvw, c'est automatique si tu vises une une case qui est a plus de deux de distances
Vry: ernestvw : une seule commande mais avec un case à distance 2
Vry: ou +
Palmipedus: d'ailleurs, il y a toujours un sel chemin?
Palmipedus: *seul
Haashi: Palmipedus, ouais, il y a pas de "carré"
Haashi: c'est que des couloirs
Palmipedus: merci
ernestvw: certaines sont clairement biconnexes, donc il y a souvent plusieurs chemins a mon avis
Haashi: nope il ya qu'un seul chemin pour aller a une case a 2 de distances
ernestvw: a deux de distance peut etre
BigUP: 175eme, ca va la nuit à été calme pour mon IA
neorel: Je suis passé de 40 a 120 :'(
Tristannah: Hello, pour info il y a combien de personnes en argent ?
WhatTrickeryIsThis: 576
WhatTrickeryIsThis: et des bananes
Tristannah: okok thanks!
WhatTrickeryIsThis: il est peut être un peu corsé le passage argent d'ailleurs
Tristannah: ca fait 4 jours que j'ai pas touché à mon code, je vois que j'ai pas mal de retard oui :p
Vry: WhatTrickeryIsThis ... il suffit de faire en sorte que tes pacs ne se marchent pas dessus (sans speed ni switch) ... et hier ça passait :D
Vry: ... et les pacs ennemis sont des murs.
WhatTrickeryIsThis: malin
WhatTrickeryIsThis: malin comme un....
WhatTrickeryIsThis: t'es quoi d'abord?
WhatTrickeryIsThis: :thinking:
WhatTrickeryIsThis: une sorte de mélange tortue PacMan bleu
WhatTrickeryIsThis: vilain
Vry: Un dino ... Bubble ou Bobble je crois !
WhatTrickeryIsThis: ça a l'air hostil
MadKnight: salut
Bob: amis de l'argent, tortue à tous o/
WhatTrickeryIsThis: T O R T U E
filou62: bonjour pour le calcul de la distance entre une pastille et un pad vous utilisez quel métrique ?
egaetan: l'exacte
Haashi: la distance la vraie
WhatTrickeryIsThis: :muscle:
Kannely: c'est un algo qui te faut pas une métrique
filou62: ou sinon est ce que certains utilise l'algo de Dijkstra pour calculer le plus court chemin ?
Vintarel: oui
JBM: meme si appeler ca dijkstra dans ce cas-ci c'est un peu ronflant
Haashi: c'est une bfs
Kannely: moi j'utilise un BFS
Bob: pas mieux
filou62: c'est quoi un bfs?
Haashi: https://en.wikipedia.org/wiki/Breadth-first_search
Bob: je me suis carrément pas enquiquiné à coder un Dijkstra, je vais plus vite à refaire un vieux flood fill
Kannely: Est ce que c'est possible que game loop soit joué 2 fois pour un seul tour ? j'ai mit un print en tout début de boucle et il s'affiche 2 fois au premier tour
Bob: Kannely: uniquement si tu fais n'importe quoi avec ton code
Kannely: ça me parait impossible, a la base j'essaie de débug un timout mais au tour du time out j'ai même pas le print juste apres le déut de boucle '-'
Bob: alors c'est que ça timeout avant le début du tour
egaetan: quel langage Kannely ?
Kannely: python
Bob: genre à la fin du tour précédent ?
Kannely: ah je savais pas que ça existait ça
Bob: rajoute deux print de debug, un juste avant le print de ta commande et un juste après
Bob: tu peux avoir un crash dans une expression que tu utilises pour ton print de commande
Kannely: les deux s'affiche au tour precedent
Bob: du coup si tu as bien mis ton premier print en tout début de boucle, il devrait s'afficher aussi
Kannely: je l'avais mis avant la premiere lecture d'input en fait c'était ça le probleme
Bob: techniquement avant la première lecture d'input t'es pas réellement "dans" le tour
Bob: tu es juste quelque part entre la fin du tour précédent et le début du suivant, pendant que ton output part au referee et qu'il t'envoie k'input du tour suivant
Bob: (détail important quand tu veux calculer le temps pris par ton tour de jeu)
Kannely: d'ou mes deux print au T1 x')
[CG]Thibaud: en python, il faut flush ton output aussi
Bob: en vrai ce qui détermine le tour c'est pas tellement la boucle, c'est l'I/O
Kannely: [CG]Thibaud : normalement ça c'est fait !
Bob: le vrai début de ton tour, c'est la lecture du premier caractère d'input et la vraie fin c'est l'output du dernier \n attendu par le referee
Bob: si tu plantes ton code et que tu envoies deux lignes d'output dans ta boucle, en vrai tu "fais" deux tours
Bob: dans une seule boucle
Bob: tiens quand j'ai un pac mort il devient un mur dans ma map maintenant
Bob: merci le changement de règles
QzL: D'ailleurs, tu en fais quoi tu pac mort ? Je sais pas comment utiliser l'info, je les supprimes à chaque début du tours
YannDev: idem xD
domak: moi je les gardes parce que je suis un sentimental....
egaetan: je les gardes aussi, sinon ça fout la grouille dans mes tableaux
JBM: ca te donne le type et une position approx du pac en speed que t'as pas vu au detour de l'angle
Alshock: @Bob dçit comme ça on pourrait croire que la partie de ton code entre le dernier output et le premier input tu le joues en dehors de ton tour
domak: et puis on sait jamais il y aura peut être une règle en gold pour les ressusciter...
YannDev: wtf j'essaie de faire bouger mes pacs morts
Bob: Alshock: de fait, oui
Alshock: ah mince je réponds avec 15 minutes de retard désolé les enfants je débarque
Bob: pas grave, ce que tu dis est pertinent
YannDev: j'ai aps compris ce que t'as dit alshock
YannDev: pas*
Alshock: Ben... Si tu rajoutes 50 ms de branching à ce moment là, ça doit bien se passer dans ton tour non ?
Bob: non
Alshock: sinon c'est juste faux de dire que t'es frozen pendant le tour adverse
Bob: t'es pas frozen
Alshock: @YannDev Mon monde est en train de s'écrouler
Bob: en revanche t'as aucune garantie sur le temps dispo
Alshock: je suis sur le cul
domak: en gros t'es assis...
egaetan: comme pacman
Bob: cette zone-là c'est le temps de l'envoi de ton output au referee + temps de traitement du referee + envoi des nouveaux input
domak: y'a aussi l'opponent non?
Mazelcop: bonjour à tous
Bob: dans les matches où chacun joue à son tour, ça inclut aussi le temps de jeu des autres
Alshock: ok oui évidemment on n'est pas en tour par tour
QzL: https://www.codingame.com/share-replay/461821106
Hum, faut t'il switch ou attendre car l'ennemi va switch ?
JBM: ca veut pas dire qu'is parallelisent
Bob: donc c'est une zone grise
Mazelcop: Bob, j'avais creusé ça pour UTTT et il me semblait que le process était frozen pendant le tour de l'ennemi
Alshock: mais putain si j'aurais su que je pouvais jouer pendant que l'autre joue sur les autres jeux...
Alshock: Bah j'avais cru lire ça aussi
Bob: potentiellement du temps "en plus" mais tu peux pas vraiment tabler dessus
domak: c'est risqué si l'autre répond vite, non?
Alshock: d'ailleurs un membre de CG avait même dit à un moment qu'ils avaient frozen le referee pendant le tour des joueurs juste comme les joueurs sont frozen pendant le tour des autres pour éviter les lag spikes du gc
JBM: ca depend pas du temps de l'autre
Alshock: mon cerveau souffre de dissonance cognitive là, les infos vont pas ensemble
JBM: je ne suis pas d'accord avec la presentation des infos de bob
Bob: enfin bon, cherche pas à exploiter ce qui se passe dans cette zone-là
Bob: bah je l'ai compris comme ça, après je peux me tromper
Alshock: xD ouais j'ai vite compris que c'était pas un bon plan mais c'est quand même important de savoir
Alshock: comme tous les UB
JBM: ton tour, c'est 50ms entre la mise a dispo de ton turn input et ta reponse
Bob: voilà
JBM: le referee s'en fout de si tu les lis
JBM: mais si tu les laisses s'empiler trop, ca va finir par bloquer et tu timeoutes
Alshock: ah ouais ? ça je savais même pas
JBM: le referee est cense te freeze quand c'est pas ton tour, mais il y a forcement un peu de marge le temps qu'il le fasse
Bob: tu timeoutes si tu ne réponds pas dans le temps imparti après la mise à disposition de ton premier input
Bob: quelle que soit la raison
Alshock: donc même quand on ignore tous les inputs vaut mieux les lire ? Je demande pour les solos principalement
JBM: sur les solo y'a pas beaucoup de'info d'input en general
JBM: ici sur un input type wood-1 y'en a beaucoup plus
Alshock: ouais mais à partir du moment où une seule info t'intéresse t'es obligé de tout parser de toute façon
JBM: parser c'est encore autre chose
Alshock: lire, pas parser, certes
JBM: au sens "vider ta file d'entree stdin"
JBM: si tu la vides pas, elle a une taille limitee
JBM: j'ai pas ete la mesurer, mais ca m'etonnerait que le referee se permette de bloquer en ecriture et de dire "ah mince, j'ai timeout et je sais pas pourquoi"
QzL: Nous venons d'ouvrir la ligue Argent avec de légères modifications résumées ici. Promis, plus de changements après ça.
A priori, en or il n'y aura donc pas de nouvelle règle ?
JBM: demande ca a qui t'a fait la promesse, pas a nous
QzL: Thibaud (from CodinGame) <coders@codingame.com>
R4N4R4M4: Salut tout le monde
Alshock: @QzL déjà les changements en argent étaient pas prévus c'est un patch ^^
Alshock: @R4N4R4M4 aqueux coucou !
YannDev: je suis #557 ..
YannDev: snif
YannDev: ah mais je timeout enft
R4N4R4M4: Y a T1024 qui vient faire son premier contest ici... On est foutus :D
leojean890: T1024, tu vois qui c'est IRL R4N4R4M4 ?:P
R4N4R4M4: heu non, mais il est dans le top de tous les RAIC
RomanceDawn: moi je vous le dit, il se passe un truc dans les pays de l'est :spy_tone1:
RomanceDawn: nous ne somme pas prêt :worried:
YannDev: :/
YannDev: mon code qui timeout c'est trop triste
YannDev: je sais même plus ce que j'ai changé
RomanceDawn: t'as accès à tout tes submits
YannDev: ah !
YannDev: comment ?!
RomanceDawn: historique à gauche
YannDev: oh
YannDev: super
YannDev: merci beaaaaucoup !!!
Zorg1: o/ tout le monde ainsi que les bots Automaton2000 & AutomatonNN
Automaton2000: ouais mais c'est pas con
RomanceDawn: c'est pas faux
YannDev: whut
RomanceDawn: Automaton2000 c'est un bot
YannDev: ah j'avais pas pigé
Automaton2000: du coup c'est pas le cas de beaucoup de monde
YannDev: c'est vraiment un bot Automaton2000
Automaton2000: c'est un peu comme ça
YannDev: mdr
YannDev: Automaton2000 tu penses que je peux arriver en légende?
Automaton2000: salut tous les gens et YannDev
YannDev: Automaton2000 tu penses que je peux arriver en légende?
Automaton2000: bon c'est quoi la difference entre les deux
Firmaprim: tiens tiens
YannDev: Automaton2000 tu penses que je peux arriver en légende?
Automaton2000: je sais pas si ca change quelque chose
YannDev: Coucou Firma
Firmaprim: cc
YannDev: bon ce bot c'est un connard
yoann93: Automaton2000 tu penses que je vais rester en bronze ?
Automaton2000: mais si tu connais pas les détails
RomanceDawn: écoute les pas Automaton2000
Automaton2000: mais sur cg c'est un peu juste
YannDev: Automaton2000 tu penses que je vais passer légende ?
Automaton2000: si tu veux le faire en js
YannDev: https://www.codingame.com/share-replay/461855953
YannDev: dur ce genre de défaites
Spifflejedi: slt tlm :)
YannDev: coucou :wave:
YannDev: incroyable, mon code d'hier fait #360
YannDev: mon code amélioré faisait #500...
Zorg1: encore un qui cherche une logique dans le ranking CG ... :p
Spifflejedi: pour les pacs adverses vous faites fuite en permanence ou vous tentez le kill qd il semble à portée?
Spifflejedi: pr le moment je ne fais que de la fuite, je sais pas si le kill apporte un gros gain
Zorg1: actuellement je considère que les pacs enemis sont des murs
Zorg1: après quand je vois que je perds certaines parties bêtement en me faisant bouffer un pac imprudent
egaetan: il y a quelques casse peids comme ça dans le ladder
YannDev: le kill c'est une arnaque
Mazelcop: le kill à partir d'un coin ça marche pas mal par contre
YannDev: ouaip
YannDev: ça c'est un défaut de mon système de fuite
YannDev: parfois il fuit dans un coin lol
Haashi: ca y est je suis out du top 200
Haashi: va falloir que je code :(
Crog: automaton2000 pourquoi les pacs sont pas jaunes ?
Automaton2000: tu peux le faire aussi
YannDev: haashi tu es #202 :p
Colios13: Hop le manhattan qui est passé silver finalement ^^
YannDev: gg :p
YannDev: c'est un peu une arnaque xD
Colios13: Yep ^^ mais je suis fier d'y être arrivé :joy:
Zorg1: curieux de voir combien on sera en silver demain juste avant l'ouverture de gold
Colios13: en gold c'est combien de % des silver généralement ?
YannDev: va falloir que je commence à améliorer mon ia
Zorg1: entre 150 gold et la moitié de silver en général
YannDev: ah
Zorg1: hier en gros ils ont pris 10% de la bronze en silver je crois
baba_code: c'est possible de coder en plusieurs fichier sur ce site? ou exporter l'exercice pour le faire sur un autre ide?
Colios13: ils ont diminuué le bot au fur et à mesure
BigUP: Zorg1, possible, le Boss a ete gonflé artificiellement en score... apres je ne sais pas quel rank ils ont pris reellement
Zorg1: c'est pas plutôt un bot bas qu'ils ont gonflé artificiellement, le temps de retenir les gens et d'éviter d'avoir à faire un rerun monstrueux ?
BigUP: Zorg1, c'est ca
lamisedaxeh: baba en java j'ai trouvé un script qui merge tous les fichiers en un seuls ;)
RomanceDawn: yep
Zorg1: ah ok
Zorg1: Colios13 : pas besoin de le diminuer, les pushers tapent dessus et le boss baisse mécaniquement
baba_code: jsuis en java oui, pour les datas je dois simuler le board moi meme j'imagine?
lamisedaxeh: j'utilise ça https://github.com/selslack/codingame-java-compiler c'est le seuls que j'arrive à faire marcher. Tu compile et c'est un outil en CLI qui merge les fichiers en un seuls
baba_code: merci lamisedaxeh :)
leojean890: R4N4R4M4 JBM je ne connais ni RAIC ni TAC :p
leojean890: en gold c'était 95 personnes seulement pour l'ouverture de OOC mais il parait qu'ils en prennent plus pour les challenges qui ne sont pas communautaires
Zorg1: TAC = the accountant un contest CG d'opti où il y a eu pas mal de gruge si j'ai bien compris (récupération des validateurs, ...)
leojean890: d'accord :p
leojean890: il est pas dispo dans la partie optim lui ;)
leojean890: bcp de gens ont les valideurs des optims après:P
leojean890: ptet pa pendant le contest qund même
leojean890: pas*
Zorg1: RAIC = Russian AI Cup un concours de prog en fin d'année, généralement en Novembre t'as MK qui en fait la pub
leojean890: MK = MadKnight ?:P
Zorg1: ça dure deux mois, t'as des règles assez complexe initialement dispo en russe et traduite au fur et à mesure en anglais
Zorg1: ouaip pour MK
leojean890: mdr bien deviné
leojean890: 2 mois wow c'est long
leojean890: ça doit être des sujets chauds
Zorg1: oui il y a trois tours éliminatoires je crois
leojean890: surtout si les règles ne sont qu'en russe au début :o
leojean890: je vois ouais
leojean890: jpréfère le concept des ligues
Zorg1: t'as un starter qui permet de te repérer
leojean890: que de se faire éliminer en cours de jeu alors que t'as déjà bcp bossé;)
leojean890: code aux oubliettes
Zorg1: t'as des périodes "libres" et tu peux espérer revenir
Zorg1: c'est assez compliqué comme principe quand même
leojean890: ok donc des périodes où tu oeux retenter de faire le poids :P
leojean890: donc même en dehors de ces périodes tu peux bosser en local :O
leojean890: pk the accountant n'est plus dispo ?
leojean890: en optim ?
Zorg1: j'en sais trop rien j'étais pas là lors de ce contest
dwarfie: parce que le sponsor n'a pas donné son autorisation il me semble
leojean890: d'accord, dommage alors ;o UTG amadeus a accepté
dwarfie: alors que TGD lui a disparu par la suite :'(
Zorg1: ah oui "pouf plus là"
dwarfie: normal ... j'etais dans le top 50
leojean890: c'est quoi TGD ?:P
**dwarfie en mode theorie du complot
Zorg1: The Great Dispatch de l'opti
leojean890: ah ok
leojean890: et hop enlevé du jour au lendemain :o
Zorg1: il a continué d'exister un an je crois quand même
Vry: Je pensais que mon bot était DEAD safe car j'ignorais le typeId ... mais j'avais oublié le deuxième effet !
Vry: Pac 0 is dead! It cannot be commanded anymore!
Vry: :upside_down:
Vry: Ce sera ma première grosse évolution pour Silver.
Vry: Et je dois effacer les pellets que les pacs morts ne voient plus ... :D
leojean890: on peut voir en diagonale je crois ? "À chaque tour, vous voyez toutes les pastilles et les pacs ennemis qui peuvent être reliés à vos pacs par une ligne droite continue."
leojean890: en (10,10), on peut voir (12,12) s'il n'y a pas de mur right ?
Vry: Non (je pense)
leojean890: ah ouais il me semble que non
leojean890: vérifié dans les inputs
Vry: Bon dernier submit pour mon futur dummy ! :)
filou62: salut je suis en ligue bronze quelqu'un à eu l'erreur suivante en Java IndexOutOfBoundsException? Je l'ai quand j'ajoute les pacs dans une arraylist
M.Barbin: tu récupères un pac qui s'est fait manger peut-être? J'ai eu ça en arrivant en bronze aussi
filou62: oui j'ai un pac qui a disparu
BladeEnder: IndexOutOfBoundsException sa veut dire que t'essaie de lire un truc hors de la taille du tableau
Vry: Mouhaha : le bot qui ne joue plus les DEAD pacs est plus mauvais que l'autre ... (ou alors le classement était foireux et j'étais voué à descendre ...)
domak: On voulait pas te le dire Vry....
egaetan: j'ai eu ça aussi :(
Mazelcop: le classement d'un push à l'autre est très random en ce moment
Mazelcop: pas facile d'évaluer l'impact d'une modif
Kaearin: Oui j'observe ça aussi mazelcop ..
egaetan: En général, c'est de la merde
domak: ça yoyote à plus ou moins 100 places
thoip: les limites du width et du height sont correctes?
351062: #sel
Vry: En même temps j'arrive pas à avoir un démarrage meilleur que 5/10 ...
Vry: Et quand tu vois que (pas de bol) je me fais bouffer 3 pacs (sur 4) au détour de virages ... bad luck !
Vry: Mais là bizarrement je viens de passer #400
Vry: donc #grosSel
BlaiseEbuth: Yo tout l'monde ! Automaton2000, AutomatonNN !
Automaton2000: y'a un moyen de voir le code des autres
AutomatonNN: pour savoir que tu as pas de souci sur le chat pour le contest ?
VilBoub: Automaton2000, il est interdit de copier !
Automaton2000: un jour faudrait que je fasse de la merde ?
thoip: Vry, tu te jettes aussi sur les pacs ennemi
BlaiseEbuth: Comme je le disais, mais le chat a bouffé mon message : "Yo tout l'monde ! Automaton2000, AutomatonNN !"
Automaton2000: mais je serais curieux de voir le résultat
AutomatonNN: on est d'accord que toi tu passes avec un moteur de contest sur le forum ?
BlaiseEbuth: Ah non, c'est juste le client qui merde en fait...
Vry: thoip : non je considère que les pacs ennemis sont des murs ... même les pacs mort du coup (enfin ça c'était avant) ...
Dijoyospy: Qui a fait Power Of thor ?
R4N4R4M4: beaucoup de monde ici :D
egaetan: lequel ?
Dijoyospy: Tu m'étonnes x)
Dijoyospy: Vous pouvez m'aider ?
egaetan: si tu demandes gentillement
Dijoyospy: Oui monsieur :joy:
Dijoyospy: S'il vous plaît :disappointed:
Dijoyospy: ça passe ? x)
egaetan: alors on peut si tu poses une question
BlaiseEbuth: Je hais gajim... Après l'avoir relancé, il m'affichait seulement les 3-4 derniers messages, et là, environ toutes les 5 secondes il m'affiche un ancien message au dessus de ceux qui sont déjà affichés. Faisant tout redescendre...
Bob: bon j'ai pas d'idee
Bob: Automaton2000, une idee ?
Automaton2000: et si tu le fais en quel language ?
Bob: C++ automaton2000 mais c'est pas ca le souci
Automaton2000: donc pas de soucis :)
Fangel: salut comment je peux reporter un bug sur le challenge ?
egaetan: discord ?
egaetan: il y a un channel spécial
Fangel: j ai une partie où il manque une ligne d input pour les pellets
BlaiseEbuth: Ah, et en plus il ne m'affiche pas les nouveaux messages... Ce programme viens de signer son arrêt de mort. Je le vire. :rage:
R4N4R4M4: C'est radical au moins :D
BlaiseEbuth: Je sais pas pourquoi c'est aussi universel que les clients xmpp soient codés avec les pieds...
dbdr: je suis sur que celui de JBM sera mieux :)
JBM: c'est surtout celui de CG qu'est ultra-chelou
dbdr: avec quoi est codé ton client XMPP?
JBM: en moyenne, je trouve l'ecosysteme plutot pas mal
BlaiseEbuth: Tu codes un client xmpp JBM ?
dbdr: *quelle partie du corps
JBM: mais c'est assez bas sur la liste des prios en ce moment
RomanceDawn: go le farie en java
RomanceDawn: ca va vite
BlaiseEbuth: Je penses de plus en plus à mettre les mains dedans aussi... Faute de trouver un truc potable
JBM: apres va pas tomber dans l'illusion que "ca marche pas sur CG" == "le client est daube"
BlaiseEbuth: Certes. Mais y'a des bugs qui n'ont rien à voir avec le xmpp lui même. Et de toute façon xmpp ne me sert que pour cg, donc si ça marche pas sur cg, c'est p'têt pas la faute du client, mais ça m'arrange quand même pas... ^^
BlaiseEbuth: Tiens, rien à voir, mais ton conflit de copyright, c'en est où ?
JBM: j'ai pas reregarde depuis
JBM: j'ai pas vu passer de notif, donc probablement rien de nouveau
JBM: mmm j'ai plus rien dans la colonne copyright
JBM: j'entends toujours le fond musical
gregballot: Y'a une feature pour affronter le bot d'un pote ou il faut tomber par chance contre lui dans les battles ?
JBM: ils ont du drop la claim sans prevenir personne
BlaiseEbuth: gregballot tu peux changer ton adversaire dans l'ide.
gregballot: ah putain yes, j'avais pas vu le DELETE
gregballot: trop cool merci
[CG]Thibaud: Fangel, ici sinon le bug report: https://www.codingame.com/forum/t/spring-challenge-2020-bugs-questions/180397/114
T'es sûr pour cette histoire de ligne en moins en entrée ?
Fangel: Merci [CG]Thibaud, il y a toujours un risque que je me trompe
Fangel: mais mon code sort en timeout attendant l input d une pellet
Fangel: il m en annonce 17 et me donne que 16 lignes. C est une superpellet hors de mon champ de vision qui manque.
Fangel: c est quoi la bonne façon de reporter ?
thoip: tu fais des boucles durant la saisie des pellets?
BlaiseEbuth: C'est pas beau de rapporter.
Fangel: je suis en python, je fais "input()" et j attends...
[CG]Thibaud: tu flush ton error ?
Fangel: mais là 17ème n arrive jamais alors que je suis à moins d une 1ms sur mon temps.
[CG]Thibaud: pq ça timeout pas forcément là
Fangel: ouais t as raison je vais essayer ça.
xgilbert: j'ai la meme erreur sur la recup de l'input avec un ami
xgilbert: python3 aussi btw
Stilgart: (ça va encore se finir en flush)
BlaiseEbuth: Voilà c'est la faute de python
BlaiseEbuth: +1 Stilgart
xgilbert: xD je dis pas que c'est de la faute de python, mais je fais un print avant l'input et un apres et celui d'apres sort pas :)
Fangel: bon au temps pour moi je faisais comme toi xgilbert mais avec le flush ça sort bien.
BlaiseEbuth: Sans blague. :grin:
xgilbert: ok je vais me renseigner alors
Magus: ce genre de trucs que je retrouve dans mes codes d'ancien contest (quand je cherche quelque chose que j'ai déjà fait)
Magus: constexpr double INFINITY = 1000.0; // lol
BlaiseEbuth: Little infinity...
BlaiseEbuth: J'utilise climit pour ça perso
BlaiseEbuth: +s
Vry: Dream BIG !!!
Vry: Magus, il faut compter combien de temps pour avoir une simu. fonctionnelle ? :)
Magus: fonctionnelle ? c'est rapide
Magus: mais ce sera assez lent à cause de la triple boucle pour gérer les collisions
Magus: (rapide = une petite journée)
_Royale: BlaiseEbuth: comment tu fais INFINITY+1 alors ? :-)
Vintarel: mais vous faites quoi avec les simu? Je comprends toujours pas bien. Vous prévoyez comment sera le jeu dans 10 tours ?
egaetan: non pas 10 évidemment
egaetan: il faut un nombre impair
Vry: Vintarel : pas forcément ...
Vintarel: xD
Vry: Tu peux par exemple avoir plusieurs heuristiques que tu compares à l'aide de la simu.
Vry: Ou effectivement un algo de recherche qui tente des trucs ... :D
Vintarel: d'accord...
Vry: Je crois que j'ai trouvé le point de départ de la simu. ...
Vry: executePacmenAbilities(); updateAbilityModifiers(); processPacmenIntent(); resolveMovement();
LofoWalker: Salut tout le monde,
J'ai un soucis, j'écris mes actions (MOVE ID X Y) dans une boucle pour chacun de mes pacs. Cependant j'ai qu'une action qui est écrite par tour. Il faut builder la chaine de sortie pour tous les pacs dans la meme string avant de l'afficher ?
Vry: Il faut surtout un seul \n donc ça dépend de la manière dont tu écris les données
Vry: En C (au hasard) j'ai plusieurs printf (mais sans \n)
thoip: Une seule ligne avec une ou plusieurs commandes séparées par |. Par exemple : MOVE 0 5 7 | MOVE 1 16 10.
Palmipedus: est-ce qu'on peut avoir un ligne de la map sans mur?
Palmipedus: travese de droite a gauche
Palmipedus: ha mince
Vry: Palmipedus, je me suis posé la question ...
Mazelcop: oui, ça arrive
Vry: Vous auriez une seed ?
Palmipedus: bon va falloir que je rajoute un test pour eveiter un boucle infinie, mais ca va reduire mes perfs, deja que c'est pas tres beau
LofoWalker: Merci !
Vry: Palmipedus, du coup j'ai ajouté le test : si je reviens sur la case départ
Mazelcop: dsl ça fait trop longtemps que je l'avais eu, mais je m'en souviens bien vu que j'avais crashé
Vry: if (o == first_o) break; // ;-)
Palmipedus: oui mais c'est calculer mes line of sight je preferais ne pas avoir de doublon
Palmipedus: donc ca va faire un contains....
Palmipedus: le truc super lent
Haashi: fait une hashmap
Vry: Mais ce calcul tu le fais une seule fois et hop !
Vry: Moi je l'utilise pour mettre à jour la carte des pellets ...
Palmipedus: oui je le fais au tour 1, donc c'est pa trop grave
Palmipedus: oui pareil
domak: * domak rajoute discretement la condition dans son test....
domak: en même temps, il doit pas y en avoir des tonnes des cartes comme ça...
Bob: J'ai plus la seed mais j'ai deja eu le cas (et la boucle infinie qui va bien)
Zakaoai: Rah quand tu améliore ton IA mais que tu te demande si tu va pas perdre des places au lieu d'en gagner :/ Cruel dilème
Bob: Zakaoai du coup ca veut dire que c'est pas vraiment ameliore hein :)
JBM: je suis pas assez reactif :(
JBM: ou alors c'est la 4G et le tunneling qui laggent
domak: en même temps difficile de juger... à midi Zorg1 était dans les 200 et sans repusher il est dans les 100
Zakaoai: Bah pas d'autant que je le souhaiterais. Il me manque la prédiction ennemie encore la mes pac se suicide parfois :/
Zakaoai: Perso j'ai gagné 30 places sans repush
domak: moi je fluctue entre 160 et 240 avec un retour vers les 200 en moyenne
thoip: moi fond du clasement mon ia veut aller dans les murs.
Zakaoai: mes repush se réaligne souvent vers 200 aussi
domak: tiens Kovi est reparti en push-loop...
Zakaoai: Ah thoip il ne cherche qu'à percer c'est pour ça :)
Haashi: domak, qui sait, il push loop peut etre pour faire de la programmation génétique
Bob: moi je suis en panne d'idee pour parcourir la map de maniere moins debile
YannDev: ça sert à quoi ce que fait kovi ?
YannDev: push en permanence
domak: des stats peut-être?
Bob: tout ce que j'ai tente de simple pour eviter que mes pacs se marchent sur les pieds dans le meme coin pendant que l'adversaire gorette tout le reste a echoue lamentablement
Haashi: ouais surement, il lance en permanence des matchs pour voir son taux de victoire asymptotique
Haashi: je pense qu'il a automatisé un truc
YannDev: Bob tu gères pas les collisions ?
YannDev: ou alors tu parles de répartir équitablement tes pacs
Bob: je sais eviter que les miens se rentrent dedans
Bob: oui voila
Bob: d'une part
Haashi: en vrai c'est tellement dommage qu'on ai pas la position de l'ennemi :(
YannDev: moi ausis j'avais tenté la répartition
Haashi: j'ai une idée mais ca suppose que je sais ou est l'ennemi
YannDev: Haashi ce serait bien qu'on l'ait ouaip
YannDev: mais c'est un peu abusé je pense
Bob: et essaye d'estimer les zones ou l'autre est deja alle, histoire de pas perdre de temps a aller verifier si il reste pas des trucs
Zakaoai: la répartition des pac est une bonne idée en effet j'ai pas encore chercher à la mettre en place
YannDev: (après ça éviterait les win chanceuses parce que tu fais un kill en venant d'un coin)
YannDev: Bob ça je l'ai fait
YannDev: mais j'avais tenté autre chose pour la répartition
YannDev: ça avait l'air pété
Haashi: cest de faire un voronoi a chaque tour, et de prendre pour chaque pac, les pellets en bord de frontière et de calculer pour chaque combinaison possible, le nombre total de pellet que ca me rapporte
YannDev: mais comme tout mon code était bug...
Bob: ce que je trouve dommage, perso, c
Haashi: sauf que ca suppose que je sois capable de faire un voronoi sans la position des ennemis, c'est relou
YannDev: :/
Bob: est que quand tu speedes tu n'as l'info de line of sight que sur ta position d'arrivee et pas sur la position intermediaire
YannDev: AH
YannDev: c'est relou ça
YannDev: si jamais tu tournes par exemple
Bob: tu passes une intersection, t'as pas "vu" au moment ou tu traverses
Haashi: en faisant mon voronoi comme ca, je suis sur que mes pacs ne se boufferont jamais les pieds, parce que le voronoi m'assurera que seul celui qui arrive en premier s'y dirige
domak: oui c'est pénible mais bon c'est normal, je vois pas comment ça pourrait être géré autrement
YannDev: mais Haashi tu regardes les zones
YannDev: ou juste un e cible
Bob: domak : bah tu pourrais avoir les deux los
Bob: dans l'input du tour suivant
Bob: point
Haashi: c'est a dire ? YannDev
domak: bein tu es entre deux tours quand tu les vois
YannDev: tu fais des composantes connexes de pellets
YannDev: ou alors tu regardes juste si ya pas déjà un pac qui gère un pellet
Bob: non je suis dans la premiere phase d'un tour
Bob: qui compte deux phases
arturgo: SI on speede, c'est possible de faire un aller-retour sur une case ?
Bob: arturgo non
Vry: Bob, ton pac va trop vite il ferme les yeux ...
arturgo: C'est vachement triste ca.
Haashi: YannDev, enfaite le voronoi va m'assurer que deux pacs ne gereront pas la meme pellet
YannDev: ah mais ça je le fais déjà xD
domak: d'ailleurs quand vous faites la simu, vous appliquez les moves step by step quand vous êtes en speed?
Zakaoai: moi il faut que je l'ajoute à mon algo
YannDev: Pourquoi Arthur
YannDev: Ah si je comprends
YannDev: pour fuir
arturgo: Parce que si tu as un cul-de-sac, tu perds un tour.
Bob: YannDev : quand tu es dans un cul de sac avec juste une pellet au bout
YannDev: ah ouais je vois
YannDev: ah mais c'est pour ça que j'avais des timeout
YannDev: quand j'ai fait un système qui gère un deuxième move après le speed
Haashi: domak, moi ma "simu" (c'est un bien grand mot) elle est valable pour un tour, et je la réapplique pour tous les pacs en speed
Haashi: si un jour je m'en sers, je l'appliquerai 20 fois pour voir a 10 tours en gros
Bob: je suis en train de me demander si ca vaudrait pas le coup de ne pas aller dans les culs de sac du tout...
YannDev: à voir
YannDev: parfois je perds des games à 2 pellets près
YannDev: donc chaque pellet compte
domak: Haashi la question c'est si ton bot est en speed, est-ce que tu décomposes ta simu en 2 steps
domak: ou est-ce qu'il jumpe tout de suite de deux cases?
Bob: un copain m'a sorti un replay ou on fait egalite parce que je passe toute la fin de partie avec 3 pacs qui restent sur place a 5 cases de la pellet d'egalisation...
Haashi: domak ma réponse c'est, ma simu marche pour un "step"
Haashi: donc je l'applique 2 fois pour calculer un tour
Bob: mais c'etait avec son code de dev qui a bouge depuis, donc pas moyen de reproduire...
domak: ok merci Haashi
Haashi: avec une petite condition pour dire c'est 1er ou 2eme step
Haashi: pour réduire ou pas les cooldown
domak: j'ai pris des gros raccourcis...
YannDev: ah c'est con je meurs à cause du speed desfois
YannDev: c'est dommage de pas avoir de tour supplémentaire pour le deuxième move du speed
domak: oui YannDev la drogue c'est mal et on en meurre
arturgo: Oui, moi je me faisais tuer en tournant dans un pacman adverse que je ne pouvais pas voir...
domak: ça je crois qu'on l'a tous à part essayer de prédire l'ennemi
Zakaoai: tu l'auras souvent oui c'est le risque et pas forcément que en speed
dbdr: ça marche pour vous les matches dans l'IDE?
domak: oui
Zakaoai: ah j'adore faire des essaie de mon ia contre des top 10 et des fois ça se joue à 1 palet : https://www.codingame.com/replay/462026694
dbdr: merci domak. ça marche si j'ouvre un nouvel onglet...
Mazelcop: dbdr, j'ai remarqué que quand je refais les matchs contre toi dans l'IDE tu timeout en quelques tours, t'as le même symptôme ?
dbdr: Mazelcop https://cg.spdns.eu/wiki/FAQ :)
Mazelcop: ah ok merci :)
domak: dbdr pourquoi ils font ça?
dbdr: il faut leur demander :)
dbdr: c'est soit pour réduire le temps de compil, soit pour aider au debugging, soit les deux. mais je devine, j'ai pas l'info officielle
dbdr: faudra que j'en discute avec eux, ça gene pas mal de monde
dbdr: surtout les autres
domak: en debug mode ça veut dire quoi? qu'ils ajoutent les symboles? tu peux de toutes façons pas attacher de debugger?
dbdr: c'est un nom pour un ensemble d'options du compilateur
dbdr: donc aucune optimisations
dbdr: *dont
dbdr: *aucunes
domak: ok merci
dbdr: c'est comme -O0 en C, sauf qu'il y a pas le hack des pragmas, et en plus violent en plus
Alshock: @dbdr non aucune c'était bon
dbdr: ?
Alshock: tu 'lavais bien écrit ^^ c'est optimisation qui était mal nombré
Mator: L'vantage c'est que si ca timeout pas en tests dans l'IDE t'es tranquille pour le push.....
dbdr: ah, ben des optimisations il y en a plusieurs, potentiellement
Alshock: ouais mais je crois qu'après aucune c'est forcément singulier, contrairement à "pas d'optimisations" par exemple.
dbdr: ah ok, tu as sans doute raison :)
Alshock: mais bon, ça c'est de la supposition. Aucune par contre c'est singulier
dbdr: aucunes c'est jamais correct?
Alshock: après la question c'est est-ce que ça nous en touche sans faire bouger l'autre ? aucunes idées
Alshock: euh je sais pas si quand on dit "d'aucuns" ça peut s'accorder en genre
dbdr: là j'utiliserais pas, effectivement
dbdr: mais https://fr.wiktionary.org/wiki/aucunes
Alshock: si oui alors d'aucunes diraient que ça peut arriver
Alshock: Bah ça, c'est un bon contre-argument entre moi et le wiktionnaire je suis ptêtre celui qu'a tort
Alshock: même si bon tout le monde sait bien que l'expertise du wiktionnaire ne m'arrive pas à la chwille
dbdr: ;D
dbdr: c'est pas toujours completement tranché
Alshock: Question existentielle : quand j'ai des crash en python j'ai aucun log
Alshock: pas de timeout rien, c'est nouveau ?
dbdr: replay?
Alshock: bah t'auras pas les logs sur le replay mais https://www.codingame.com/share-replay/462042197
dbdr: ça dit timeout
dbdr: tu écris qqch en début de tour?
dbdr: sur stderr
Alshock: oui c'est un crash au premier tour, mais j'ai pas le log de crash
Alshock: euh tout au long du tour ouais
dbdr: ben si tu réponds trop tard, il n'y a rien à logger
dbdr: le premier tour il passe
dbdr: c'est le 2eme
dbdr: il me semble
Alshock: nan c'est le premier, il fait des frames mais du vent
Alshock: mais je veux dire d'habitude dans ce genre de cas j'ai la ligne qui a causé le crash
Alshock: là keud
dbdr: https://fr.wiktionary.org/wiki/aucunes
Alshock: (et pourtant c'est bien un crash nul après test en local
dbdr: pardon :D
dbdr: SPEED 0 Speeeed! | SPEED 1 Speeeed! | SPEED 2 Speeeed! | SPEED 3 Speeeed!
dbdr: c'est pas toi ça?
Alshock: xD j'suis con, en effet
baba_code: mdr
Alshock: ça explique encore moins pourquoi j'ai 0 logs
YannDev: bah il a pas juste rename son pac ?
Magus: je viens de recevoir un mail tellement triste
Magus: CodinGame qui envoie "Le challenge de l'année" pour parler du contest actuel
Magus: ça veut dire que le prochain contest est en 2021 ?
Alshock: ça veut dire qu'ils ont tout donné
Alshock: ceci est le contest, de votre vie !
WhatTrickeryIsThis: ça veut dire qu'il faut gagner maintenant ou jamais
Alshock: war is now or never we shall stand togetheeeeer
Alshock: sinon pour les logs, vider le cache c'était pas mal comme idée
Stilgart: Magus: dis toi que ça peut vouloir dire que OoC ça comptait pas :(
Magus: vu que j'ai pas du tout aimé OOC ça me dérange pas
Magus: mais oui c'est méchant pour ceux qui l'ont créé :D
R4N4R4M4: j'ai finalement rejoint top100 avec plein de patches partout. Faudra quand même que je songe coder mon farme :D
R4N4R4M4: *à
dbdr: farme?
R4N4R4M4: sorry dbdr : farm
R4N4R4M4: la collecte des pilules si tu préfères :D
dbdr: toujours pas :D
dbdr: ah ok :)
dbdr: tu fais top 100 sans collecter? /s
**dbdr sort
YannDev: j'espère qu'il y aura un autre challenge dans l'année :(
R4N4R4M4: LOL, je collecte avec uniquement la distance de la pilule et de la suivante
RomanceDawn: contest de l'année :confused:
R4N4R4M4: j'ai un petit flood dégressif aussi ;à
RomanceDawn: je suis pas fan de celui ci
dbdr: on dirait un farm du coup
YannDev: c'est mon premier donc je peux pas juger
RomanceDawn: t'a plein d'autre combat de bot ensuite sur CG
RomanceDawn: si y a pas de contests
R4N4R4M4: dbdr, oui un farm rudimentaire, je vais creuser Floyd
WhatTrickeryIsThis: putin tu peux te faire totalement saper par un noob qui random bouffe tes pacs dans les coins
WhatTrickeryIsThis: :D
Vry: En effet!
PeF: :p
Alshock: lol je croivais qu'on voyait tout le premier tour, je viens de devoir patcher mon code pour rajouter les symmétriques de mas pacs à l'ennemi... et ça après presque 5j
WhatTrickeryIsThis: quand je balourde du syserr
WhatTrickeryIsThis: les ia adverse on tendance a timeout
YannDev: AH Al
YannDev: j'ai le même pb que toi
YannDev: :')
WhatTrickeryIsThis: dans l'ide
yamo: il faut viser quel rank pour gold ?
Kh4z: top 10 :thinking:
WhatTrickeryIsThis: ce submit de la chance, 11/11 en battant le premier
Vry: yamo : 10% ?
Vry: ... à l'ouverture :D
dwarfie: ah la la ... quand un nul ne se content plus de proposer des sujets nuls et se met a valider tout ce qui existe pour se venger ou avoir un retour d'ascensceur ...
RomanceDawn: lulz
Alshock: tiens tu me donnes des idées là dwarfie :P
dwarfie: tout refuser ? c'est une bonne idee en fait
dwarfie: proposer un sujet ... encore meilleure idee , ca changera
dwarfie: proposer un bon sujet ...
Alshock: ah non du tout, je touche pas aux validations, je voulais juste dire que comme je suis nul ça devrait être ça mon plan de vie
RomanceDawn: :thinking:
Alshock: alors j'ai une super idée de sujet, ce serait un sujet sur la suite de fibonnacci avec des entrées en ascii art
Alshock: mais pas trop de test cases et de validateurs, je comblerai en les rendant complémentaires et absolument incompatibles
dwarfie: et un resultat qui est un eval sur un prime je suppose
Zorg1: et tu en feras aussi un reverse, c'est une valeur sûre ça le reverse
Alshock: xD le meilleur mdoe vraiment
RomanceDawn: avec des dates aussi stp
RomanceDawn: parser des dates
RomanceDawn: un bonheur
YannDev: si jamais je veux comparer deux versions de mon code faut bien utiliser ça svp http://cgstats.magusgeek.com/app/spring-challenge-2020/YannDev
YannDev: et je prends les stats de chaque soumision ?
RomanceDawn: bof
RomanceDawn: non
YannDev: je fais comment du coup ?
Kh4z: qu'est ce donc :no_mouth:
YannDev: leojean m'avait parlé de cg benchmark aussi
RomanceDawn: oui c'est mieux
YannDev: bon faut que j'installe java et tout :/
YannDev: au pire je submit osef :')
RomanceDawn: ouais c'est plus simple
YannDev: mdr https://www.codingame.com/share-replay/462094662
YannDev: A la fin les pacs de bob ont bloqué les3 pellets qu'il me fallait pour win
YannDev: je sais pas si c'est voulu
Vintarel: lol xD
Alshock: Si c'est pas voulu c'est une feature qui s'ignore
YannDev: - Pac 1 is dead! It cannot be commanded anymore!
YannDev: wait
YannDev: depuis le début
YannDev: je commande les morts
YannDev: lol
Alshock: YannDev be like: https://d3b4yo2b5lbfy.cloudfront.net/wp-content/uploads/wallpapers/GW2_HumanNecromancer-1280x720.jpg
YannDev: c'est "DEAD" le type quand le pac est mort ?
Alshock: ouais
YannDev: ty
Alshock: enifn je dis oui, j'y ai pas touché encore
Alshock: mais selon les règles oui
YannDev: bon je vais resubmit lol
Alshock: "removing entity 17 9 (Pac(1))" Hein mais attends, il était pas mort ce pac là
YannDev: je perdais trop de matchs à cause du dead...
Alshock: mon gestionnaire d'entité qui fait du zèle là xD
YannDev: j'avais des pacs afk lol
YannDev: parce que yavait un mort plus proche de leur cible
Alshock: les nécrophages
Alshock: hum, en même temps on mange rarement des choses vivantes
YannDev: bon je vais voir ce que ce run donne
YannDev: j'espère que ça fera mieu que #446
Bob: quand tu as passé trop de temps en JS, que tu repasses en C++ et que tu files à sort une fonction qui renvoie -1/0/+1 au lieu de true ou false...
YannDev: :')
YannDev: ah tiens j'ai une nouvelle idée de fix
YannDev: mais je vais pê attendre de voir si mon truc fonctionne
nicola: Je ne comprends rien au dernier puzzle validé. https://www.codingame.com/ide/puzzle/winning-parabola
YannDev: bon j'hésite à considérer tous les pacs ennemis comme des murs
Alshock: euh
YannDev: pour éviter les collisions éternelles
YannDev: :/
Alshock: @nicola si je comprends bien tu dois faire la flèche qui passe le plus près des ennemis en prenant la distance sur l'axe y
Alshock: la partie d'évaluation de l'optimisation est pas parfaitement limpide
Alshock: distance sur l'axe x*
Stilgart: nicola: et en plus ça fait penser à frog jump
Stilgart: qui était déjà un puzzle bien merdique
Stilgart: mais bon, le gus à juste validé 20 trucs en 45 minutes, ça doit être un bon
Alshock: celui là ? https://www.codingame.com/training/medium/jumping-frogs
Stilgart: oui
Stilgart: après, j'ai juste survolé, vu la formule, et je me suis dis
Stilgart: "merde, je deviens faible... j'aurais fait voler cette contrib en éclats à la grande époque"
Haashi: je déteste ce genre de puzzle
Alshock: les deux sont des questions de trajectoires, mais le frog demande si on peut construire un chemin x, alors que l'autre demande d'optimiser des distances, par contre j'ai toujours pas réussi à comprendre si l'altitude de la flèche était à prendre en compte ou pas
Alshock: visiblement non
Haashi: tu te bats plus avec le systeme de nombre flottant que le puzzle en lui meme
Stilgart: Haashi: il ne faut pas penser ça des flottants
Haashi: Je les hais du fond de mon coeur
Alshock: à 0.1 près ça va, il laisse de la marge quand même
RomanceDawn: bigdecimal ou tout passer en long long et hop
Stilgart: quand c'est bien pensé, tu peux soit faire en entier (aneo), soit faire exact en flottant (aneo again), soit suffisamment précis même en y allant comme une mule
Stilgart: 0.1 ça suggère le 3
Alshock: quand t'as des cos et des tangentes je pense que les entiers c'est mort non ?
Stilgart: RomanceDawn: ça pour le coup ça sert à rien
RomanceDawn: le long oule bigdecimal ?
Stilgart: oui
RomanceDawn: hum
Alshock: Automaton2000 style :P vive le lag du chat
Automaton2000: bah je sais pas le faire sur le site
Stilgart: tu es en train de dire qu'une erreur au 14e chiffre derrière la virgule c'est trop pour toi
RomanceDawn: ou est précis ou on l'ai pas
RomanceDawn: ^^
Zorg1: bon le ranking de mon bot a l'air d'être stable. c'est déjà ça ^^
RomanceDawn: est
Stilgart: on sait ce que c'est que la précision ou on ne sait pas
Haashi: Moi mon aversion pour le flottant, c'est un peu ma vision a moi
Stilgart: fix ta vision
Haashi: comme analyse vs algebre
Stilgart: le seul soucis, c'est quand les gens utilisent des flottants pour ce que ce n'est pas
Haashi: ou probleme continu vs discret
Stilgart: (c'est très algébrique un flottant hein)
Stilgart: (contraitement à un réel)
Zorg1: bah à la base un flottant c'est un rationel non ?
Zorg1: *rationnel
Stilgart: oui
Haashi: la mantis tous ca tous ca, je connais mais j'aime pas
Stilgart: tu en as rarement besoin au quotidien
Stilgart: (parce que les gens ont fait le standard correctement)
Stilgart: et à partir du moment où tu sais que c'est une approximation, tu te portes bien
Haashi: Oui c'est sur, mais c'est juste l'approche par des nombres flottants qui me correspond pas du tout
Haashi: genre sur CG, j'ai quasi pas touché aux sujets comme ca
Zorg1: sauf pour les bricolages "fast machin" ^^
Haashi: a part csb
RomanceDawn: je connais les flottant avec la mantisse et 'exposant et tout :thinking: ca m'a
Haashi: Zorg1, ca c'était expectionnel, j'ai juste repris le code que m'avais donné vry ahah
Stilgart: j'ai pas encore essayé... mais 0.1 près ça doit passer large même avec le type float sur des CG à bas coup
YannDev: bordel mon code bug fait vraiment un meilleur score
YannDev: bon bah je laisse ma fuite bug xD
Stilgart: (comprendre; une CG qui sabottent la précision pour des raisons de perfs)
Haashi: rebrand ça en feature :p
Stilgart: (et de coût de production)
RomanceDawn: moi je vous dit bigdecimal, en java du moins :rolling_eyes:
Zorg1: enfin la multiprécision c'est généralement overkill
Haashi: c'est bien CG enhancer ?
RomanceDawn: moi j'aime pas
Haashi: il y a un lien forum de tous les outils pour CG ?
Haashi: je connais apps.rezo cg benchmark cg sync
Haashi: il y en a d'autre ?
YannDev: bon je vais vraiment péter un câble
YannDev: mon code sans bug arrive dans le top 300
YannDev: mon code bug
YannDev: *
YannDev: et mon code sans bug faisait top 500
Zorg1: quand je vois la prez github ça a l'air pas mal : https://github.com/Azkellas/cgenhancer
Haashi: j'avoue, pouvoir extend la console pour print la map en entier
RomanceDawn: go l'installer
Alshock: ah mais attendez, les morts on les voit à CHAQUE tour ?
JBM: tu veux les oublier si vite!
Alshock: ah mais c'est pour ça que je bug depuis tout à l'heure
Alshock: oupsie
Alshock: mais, euh... pourquoi ?
JBM: parce que CG-silver en a decide ainsi
YannDev: d'ailleurs est ce qu'on voit tjrs les pellets dans le champ de visions des morts ?
Stilgart: YannDev: un peu de respect pour les morts... et à chaque début de tour le respect s'il te plait
Alshock: @Stilgart ya une feature pour rajouter un peu de temps à tous ceux qui print F à chaque tour pour les morts
Stilgart: thoip: c'est profond ce que tu viens de dire... je crois que j'ai un bug dans mon code (sérieusement)
YannDev: Ah
YannDev: rip :')
Nelimee: Ptin relou qu'on ai les morts à chaque tour... :(
YannDev: un peu de respect pour ces honorables pacs morts au combat
YannDev: parce que leur maître n'a pas su coder une ia assez performante
Stilgart: relou que ça soit pas déjà le cas en wood2
Stilgart: ha, parfait, j'ai pas le bug
Stilgart: mais merci quand même thoip
Haashi: thoip ah ouais putain bien joué
Haashi: il faut que je prenne en compte le fait qu'il soit mort dans line of sight
Alshock: c'est marrant, mon code contre lui-même c'est la chasse à celui qui trouve une faille dans mon code en premier
Alshock: eh bah ils sont tous les deux très forts
YannDev: :')
YannDev: Comment ça Haashi?
Alshock: @YannDev là il calcule que son mort devrait voir autour de lui
Vry: Stilgart : je l'avais ce fameux bug ...
YannDev: ah lol
YannDev: quel génie
YannDev: moi je faisais pire après
YannDev: je faisais des MOVE sur des mrots
YannDev: morts*
YannDev: et je les considérai comme des murs
YannDev: :')
Vry: Je supprimais les pellets que les morts ne voyaient plus ...
Alshock: c'est vrai que c'est pas très éthique
Alshock: mais bon entre les morts et les mineurs
Alshock: Ok, ok j'arrête là
YannDev: :')
Colios13: Plus de 4000 déja dans le challenge
Nelimee: Waow @Vry... Grâce à ta remarque je viens de me rendre compte que je n'exécutai jamais ma fonction zero_viewed_pellets -_- Merci!
YannDev: presque 700 en silver
YannDev: et merde je me prends des timeout
BenLvre: j'ai l'impression de sauter des tour en mode speed
YannDev: c'est à dire ?
YannDev: t'aurais un replay
BenLvre: j'ai aucun log de debug pour certains tours
Colios13: Les tour de speed ton pac avance juste
BenLvre: sur le replay j'avance bien
Colios13: si il est sous speed ta pas de nouveaux input
Colios13: Yep en gros t'a le tour normal tout le monde move de puis y a le tour des pac sous speed qui font un move de plus
BenLvre: mais du coup je met à jour ma liste de puce à chaque fois pour dire qu'il pastille a plus de pastille où mon pac se trouve
Colios13: si il ne sont pas déja sur leur target
BenLvre: je gere pas cette info alors ^^
BenLvre: ça expliquerai pourquoi les pastilles intermédiaire je les vois pas comme mangée
Colios13: yeple tour ou tu est sous speed tu loupe plein d'info malheuresement ce qui peut faire des truc bizarre des fois
BenLvre: ah okay j'avais pas capté cette info ^^ ça explique beaucoup de chose
YannDev: bon je sais plus quoi faire
YannDev: j'ajoute une détection des endroits où ya pas de pellets
YannDev: et je perds 200 places
YannDev: ...
Mazelcop: YannDev, le tracking des bots ennemis c'est pas mal si tu sais plus quoi faire
YannDev: en fait j'ai compris
YannDev: ya un effet de bord horrible dans ma nouvelle heuristique
yamo: vous faites des simus ? global ou par pac ?
YannDev: je fais pas de simu xD
BigUP: j'ai pris 100 places dans la vue dans la journée !
YannDev: rip
Zanbez: Ca fait mal aux yeux.
YannDev: moi j'ai essayé d'ajouter des trucs mais rien n'a été concluant
YannDev: je perds 100 places à chaque fois
Stilgart: YannDev: go go go continuer
Stilgart: avec l'overflow tu vas finir top100
YannDev: l'overflow ?
YannDev: je sais ce qu'est un overflow mais là je pige pas ta phrase xD
Alshock: @YannDev bah si tu passes derrière le dernier
Alshock: t'es premier
VilBoub: le boss Bronze a cb d'Elo ?
YannDev: Ah mdr Alshock
Stilgart: > ( -2147483648 - 100) :: Int32 2147483548
YannDev: c'est vraiment possible ?
Alshock: sploier: non
YannDev: nul
Alshock: wouah un raté de deux lettres
Alshock: mon noueauv recodr
Stilgart: donc à force de faire -100, tu vas boucler
Alshock: @Stilgart quel langage ça ? il a pas le INT_MAX à 2147483547 ?
Stilgart: Haskell... mais c'est vrai dans tout langage avec un type int32
Alshock: ben non, chez nous le int_max est un cran en dessous, à cause du zéro
Stilgart: Prelude Data.Int> ( 2147483647 + 100 ) :: Int32 -2147483549
Stilgart: ça marche aussi dans l'autre sens
Stilgart: sinon, int_max c'est
raguenets: Comment passe-t-on de la ligue de bronze à la ligue d'argent ? En gagnant combien de challenges ?
Stilgart: Prelude Data.Int> maxBound :: Int 9223372036854775807
Stilgart: mais bon, c'était trop gros à paster
Alshock: c'est le max 64 bits ça ?
Stilgart: raguenets: comme de wood1 à bronze
Stilgart: 64 bits signés
Alshock: @raguenetsdevant le bosse
Stilgart: raguenets: en étant classé (stable, 100% toussa) au dessus du boss
Alshock: @raguenets passer devant le boss* faisons des phrse c'est mieux
raguenets: et où voit-on l'avancement ?
Alshock: leaderboard ou last battles
Alshock: dans le menu à gauche
raguenets: merci
Alshock: last battle est mieux parce qu'il montre toujours ta position et celle du boss
raguenets: Je n'avais pas bien vu sur mon 15 pouces
YannDev: wow Bob a push !
YannDev: il est 229
raguenets: Et Inky, c'est un bot ou un joueur ?
lordgun: un bot
raguenets: C'est lui le boss actuel ?
Alshock: euh c'est tous des bots, mais c'est surement lui le bosse
lordgun: du bronze, oui
Alshock: avec un fond noir et une tete de squelette ?
Alshock: et ton adversaire par défaut dans l'IDE
raguenets: oui, il a une tête de squelette
Alshock: c'est ta cible à abbatre
Alshock: +t
raguenets: Il est plus 1er
raguenets: c'est Bojan
Alshock: il le redeviendra vite, puisque si quelqu'un finit ses matches devant lui il va passer à la ligue du dessus
Alshock: donc bojan va probablement monter, GG à lui
raguenets: Dans last battles j'ai 73 battles
raguenets: Je dois attendre 100 ?
Alshock: euh pas vraiment c'est surtout le pourcentage de complétion que tu peux voir marqué en haut de last battle ou à côté de ton nom dans le leaderboard qui doit atteindre 100%
Vry: Non, si tu n'as plus le pourcentage c'est que ton classement est "déterminé"
Vry: T'es combien ?
raguenets: Je ne vois pas les %
raguenets: J'suis loin 1986
Alshock: alors comme a dit Vry t'as fini ton placement
Alshock: va falloir améliorer ton bot pour passer alors
Vry: Oui tu as encore de la marge ... :)
Alshock: ou du homer
jolindien: miam miam !
raguenets: Je vais m'occuper de ça
Stilgart: bon app.
raguenets: Merci pour votre aide
jolindien: gg dbdr !
dbdr: merci! :)
Vry: Aller une petite fraise pour la route ... vous n'auriez pas vu mon envie de coder par hasard ... je ne la retrouve pas ...
jolindien: des conseil au vil peuple ?
dbdr: jolindien, comme si tu en avais besoin ;)
Alshock: allez à la campagne
Vry: Je suis tout ouïe jolindien
Vry: :D
jolindien: :(
Vry: Moi j'en ai besoin !
Alshock: pareil pareil !
jolindien: veulent pas faire c'que j'dis
Alshock: Père dbdr, raconte nous une histoire :D
dbdr: ça me rappelle ça: https://www.youtube.com/watch?v=bG2OcW_Hwkg
YannDev: l'histoire de ton ia si possible*
jolindien: nascar = pacmans qui tournent en rond
Alshock: Tellement goldé
racaillou: dbdr tu as peut-être une erreur quelque part, je me suis surpris https://www.codingame.com/share-replay/462193753
dbdr: racaillou https://cg.spdns.eu/wiki/FAQ
YannDev: nn c'est l'ide qui bug
YannDev: je crois
YannDev: gg pour le top1 dbdr !
dbdr: merci
Alshock: franchement tu mérites pas !
Alshock: :p
YannDev: tu as fais une simu ?
Vry: Tu as le même code que kovi et T1024 dbdr ?
YannDev: comment il peut avoir le même -_-
dbdr: oui, on se connait tous en hongrie, c'est un petit pays ;)
YannDev: Ah tu as le même code xD
Vry: Même score (quasiment ...) :p
Alshock: ah ah ah tu m'as buté
dbdr: pas vraiment une simu. une recherche oui
dbdr: lol le top 3
Alshock: ZeroDivisionError: division by zero
Alshock: ma vie c'est de la merde dans une barquette de fraise
Palmipedus: ca fait de la couleur au moins
YannDev: bon bah #447 avec le code d'hier...
Spifflejedi: Technique bien fourbe pour leurrer les pacs qui visent les bonus https://www.codingame.com/share-replay/462202354
YannDev: du génie lol
Alshock: propre, ça ressemble pas mal au poisson là avec sa lumière pour attirer les proies
Spifflejedi: ca suffit pas a monter super haut ds le classement apparement mais j'ai bien aimé l'idée du piegage ^^
YannDev: c'est sympa en effe
YannDev: effet*
Spifflejedi: bon kovi ne se laisse pas duper par contre ^^
Vry: Le combat ultime pour le "super-pellet" ... https://www.codingame.com/share-replay/462211176
Vry: Ça commence frame 15 et ça dure toute la partie et grâce à ça je gagne contre le top #2 :p
Vintarel: lol
Vry: J'ai l'impression qu'il optimise à mort son farm sans chercher à manger l'autre
Vintarel: c'est marrant y a un duel de pacs frame 1 que le top 2 arrive bien à gérer, et pas le deuxième duel pour le super pellet
WhatTrickeryIsThis: La prise de la pastille
Vry: Il brille trop le super pellet
Vry: La brise de la Pastille ?
Stilgart: Automaton2000: tu les brises les pastilles ?
Automaton2000: ah il y a de quoi faire
Stilgart: :D
YannDev: :')
YannDev: Gg vry :p
Alshock: @Vry dans cette game je pense surtout que c'est avantageux pour personne à aucun moment d'abandonner ce pellet
Alshock: il faudrait savoir bouffer intelligemment pour se sortir de ça
YannDev: road to testerune nouvelle heuristique foireuse
Vintarel: c'est normal que le bot de dbdr fasse timeout 100% des fois?
YannDev: oui
YannDev: bug de l'ide
YannDev: ya pas les optis du compilo je crois
Alshock: c'est du haskell ?
YannDev: du coup rip les 50ms
Vintarel: dbdr, point faible : trop fort
Vintarel: ok
Palmipedus: dbdr tu ne teste pas dans l'ide ton code?
Alshock: bah de toute évidence il peut pas
Alshock: en tout cas pas sa ersion finale
Palmipedus: cgbench?
Alshock: Question du soir, question bonnes pratiques : en C++ une méthode void devrait renvoyer une référence sur l'objet ou un pointeur ? Parce que ça me fait bizarre de faire obj->a().b(); mais ça serait encore plus choquant d'avoir dans une situation obj.a()->b(); non ?
Alshock: (le this est un pointeur, mais c'est pas un bon argument parce que je crois qu'il date d'avant les références)
Vry: Vintarel : oui, tu ne pourras pas faire de test contre des bots écrit en Rust ...
YannDev: wait je bats le 8ème
YannDev: :')
YannDev: https://www.codingame.com/share-replay/462236728
Vintarel: \msg vry ok dommage
Alshock: le leak de DM
Vintarel: omg
YannDev: j'ai pas compris
YannDev: ah oui ok
YannDev: il a missclick
Vintarel: (╯°□°)╯︵ ┻━┻
Vry: Hein ?
351062: gg dbdr
Colios13: Alshock https://www.codingame.com/replay/462213108
Colios13: Trés sympa de ta part de me laisser les superpellet et de plus jouer ^^
Haashi: bon push dbdr gg
YannDev: il a volé le code de kovi
YannDev: :')
Vry: Plus kovi va soumettre, plus dbdr va monter ! :thumbsup:
YannDev: bon encore une fois
YannDev: ma nouvelle heuristique score 100 places plus bas
YannDev: ...
Vry: ... tu es sur la bonne voie de l'overflow ... :D
YannDev: ah bah même 200places plus bas
YannDev: quel plasir
YannDev: je commence à paniquer là :')
YannDev: rien de solide pour gold
Colios13: Tout le monde au dessu de 670 à corriger le bug pac mort alors
YannDev: non mais mon run est à 14%
YannDev: après ma nouvelle heuristique vaut peut être top 600 jsp
YannDev: mais j'ai juste rajouté une condition
YannDev: 400->600 pour un if...
Colios13: ah mais voilà aussi attend la fin
YannDev: on peut pas faire 400->300 :')
R1FA: question les pacs morts sont tout le temps visibles (dans l'input) ou disparaissent après leur mort ?
Palmipedus: ils sont la en silver
leojean890: mon algo est stable pour une fois depuis 18h, dmg que ce soit vers 140-160 et pas mieux :o
leojean890: suffit pas pour gold
YannDev: ah bon
YannDev: 140 ça suffit pas pour gold?
leojean890: gold en fait pas sûr
leojean890: mis OOC c'était le 95eme
Palmipedus: tu as encore le temps, sauf si tu vised la legend
leojean890: mais après il parait que c'est souvent 150eme aussi
Zorg1: oui enfin pas mal entre en gold sur OoC on était 300 à la fin
leojean890: legend on verra si j'y arrive ou pas
YannDev: ah bah rip pour moi
YannDev: mon ia score #400
leojean890: ouais y'a moyen d'entrer après
Zorg1: là ils vont faire comme pour la silver un bot qu'est 300 gonflé pour être 100
YannDev: et tous mes essais ont foiré
leojean890: en l'améliorant
YannDev: demain je tente un dernier truc
leojean890: Zorg1 maybe on verra, peut être car on est nombreux
Zorg1: en plus je suis un peu à court d'idée là
YannDev: moi j'ai une idée qui est bonne
YannDev: et ça farm monstrueusement vite
leojean890: YannDev j'en rate plein aussi
YannDev: mais je me fais kill
YannDev: :/
YannDev: #666
YannDev: ça sent la ligue légende
gregballot: ton code est pas exec une seconde fois
gregballot: oups c'etait pas ici que jvoulais ecrire ca lol
YannDev: x)
gregballot: Jvois que le classement a pas mal bougé
YannDev: oui
Nelimee: Bon il ne me manque plus que l'heuristique! Vous utilisez quoi vous pour choisir les déplacements de vos pacs?
Nelimee: (donnez moi vos secrets)
gregballot: BFS
gregballot: avec une pondération afinée à force de regarder des combats
raguenets: ThreadLocalRandom.current().nextInt(width)
gregballot: haha
YannDev: getTargets() pour ma part
Nelimee: J'ai testé le BFS, mais je trouve les directions trouvées trop volatiles
gregballot: c'est qu'il est pas encore assez solide
Nelimee: Les pacs partent un peu partout et il y a clairement des mouvements inutiles
YannDev: bon je pense que je vais finir par resoumettre l'ia d'hier
gregballot: j'ai mis un peu temps a en sortir quelque chose
gregballot: Faut que tu reflechisse a comment tu evalues tes deplacements
gregballot: La mecanique de BFS peut pas etre mauvaise
raguenets: Un BFS sur quoi ?
gregballot: Maintenant faut que tu vois qu'est-ce qui fait que tu choisis un chemin plutot qu'un autre, et c'est ptet la que ca peche
raguenets: C'est quoi BFS ?
Nelimee: J'ai déjà essayé de pondérer avec le poids des pellets, de rajouter une pondération en fonction de ma certitude (ou de mon incertitude) sur la présence du pellet, et aussi avec la distance
gregballot: Breadth first search
raguenets: le parcours en largeur
gregballot: En vrai t'es sur une bonne piste, essaye de debug
YannDev: oui
Nelimee: Le BFS est bon, je l'ai en 3 ou 4 exemplaires et ils fonctionnent tous bien
Nelimee: Mais je ne suis vraiment pas convaincu
Nelimee: Même un BFS est visuellement (et factuellement) meilleur dans mes tests
gregballot: T'as check a chaque fois pourquoi il choisissait le mauvais chemin ? Ca metterait en lumiere les endroits que tu dois ameliorer
gregballot: Ah oui apres
gregballot: BFS / DFS, a partir du moment ou tu parcours ta map et que tu cherche un chemin, c'est sur que t'es sur une bonne piste
Nelimee: Ouais mais c'est pas suffisant, le BFS est pas trop mal mais il a ses défauts aussi :(
gregballot: De toute facon, t'as pas une vision omnisciente de la map, t'as des obstacles, il faut bien parcourir a un moment ou a un autre
gregballot: Apres utilise la methode qui te convient le mieux
Nelimee: Bon je vais itérer sur le BFS en ajoutant mes modifications de ce soir, et je reviendrai sur le BFS après-demain
Nelimee: Comme ça ça me laissera un peu de temps pour revenir sur un A* ou un truc un peu plus avancé si ça foire
gregballot: Apres A* c'est surtout quand tu connais la destination
gregballot: C'est probablement tres efficace pour aller chercher les gros
raguenets: Vous simulez les coups à l'avance et prenez la meilleur stratégie possible ?
gregballot: de mon coté oui
WhatTrickeryIsThis: t'es fou, on gagnerait sinon
Zorg1: pas vraiment
Nelimee: Tout dépends de ton espace de recherche :) Tu peux utiliser A* pour trouver le plus court chemin qui bouffe tous les pellets par exemple
raguenets: ça c'est une bonne idée
Zorg1: j'applique une formule maison et je prend le meilleur score
Zorg1: une heuristique quoi
gregballot: la meme
gregballot: apres je genere plusieurs chemin pour avoir des alternatives, dans le cas ou plusieurs pacs auraient la maline idee de converger vers le meme point
raguenets: là , ça coince et il faut débloquer :)
gregballot: J'ai surtout pas envie qu'ils vise des chemins ayant trop de cases en commun
raguenets: chacun peut s'occuper de son coin
gregballot: Le truc qu'il me reste a faire, c'est predire les mouvement de l'adversaire
gregballot: Pour generer une proba qu'il y ai plus de pellet a certains endroits
gregballot: et optimiser la recolte
raguenets: tu supposes qu'il joue de manière optimale ?
gregballot: Je sais pas trop
gregballot: c'est le chantier là lol
raguenets: ça ne sera pas forcément le cas :)
WhatTrickeryIsThis: tu va passer legende avant l'heure avec ça
gregballot: Jvai faire un perimetre un peu bete pour l'instant
gregballot: Lol je pense pas
gregballot: Les premiers sont deja plus chauds que ca j'ai l'impression, ils font des trucs chimiques leurs pacs
gregballot: j'aimerais bien top 100 par contre
Vry: Moi j'ai un floodfill par pac histoire le voir lequel est le plus prometteur ...
Vry: Après je fais plusieurs fois :
Vry: tri des pacs par meilleur FF
Vry: Nouveau floodfill en tenant compte des déplacements des autres pac
Vry: Et hop mid silver
Colios13: Nelimee mahattan voilà mon secret :joy:
gregballot: ce bon vieux manhattan
gregballot: Salut !
gregballot: Je sers encore de la fonction manhattan pour comparer des coordonnées moi lol
gregballot: Mais plus comme heuristique
Colios13: Moi c'est mon heuristique ^^
towzeur: l1 > l2 :smile:
Grillaume: si on MOVE vers une case et qu'aux tours suivants on n'envoie aucun ordre, le capman continue son chemin vers la case où il faut donner l'ordre à chaque fois ?
gregballot: a chaque fois
Grillaume: merci :)
egaetan: je balance mes papiers comme un abruti contre des ciseaux... qeulle plaie
Flaie: je suis au point que sur les combat je crois, sinon mes pacman sont completement débile et passent leur temps à se bloquer pendant que l'enemi rafle la mise ^^
egaetan: sorry, ce sont mes ciseaux les imbeciles qui font foncent dans les cailloux
egaetan: Flaie ça c'est plus mon problème... quoique....
Alshock: @Flaie "Allez-y les gars, j'en tiens deux !" - Mais on est avec toi nous, triple andouille !"
LimaceHurlante: si ca peux vous rassurer moi mes pacman commencent a etre bon pour savoir quel super pallet viser au début, le reste du temps ils font nimp
Gh0stm4chine: Moi j'ai tout supprimé, je repars de zéro
LimaceHurlante: c'est un peu la soirée de la déprime la non
egaetan: carrément
coderekting: vous savez comment on peut avoir une bonne estimation du temps d'exécution de notre programme à chaque tour ? Je fais des time() en python mais ca me produit des valeurs absurdes style 200+ms parfois
coderekting: c'est bien 50ms la limite par tour ?
Drazyen: Premier time.time() après ton premier input()
Drazyen: Dernier time.time() avant ton dernier print()
coderekting: ah oui, c'est vrai que faire le time() avant le call du 1er input() c'est pas malin, ça ajoute du temps vu que c'est bloquant
Drazyen: Pas de souci ^_^
Magus: a chaque fois que je fais un sort en C++ je sais juste jamais ce que je dois renvoyer dans la lambda et dans quel sens ça va trier ><
egaetan: du plus petit au plus grand, non ?
egaetan: ou le c++ ne fait encore une fois pas comme les autres ?
Drazyen: De souvenir, tu peux fournir ta relation d'ordre non ? Comme ça, tu assures x)
raguenets: Je n'ai pas bien compris la visibilité des pacs
Zorg1: non mais C++ après avoir rajouter l'objet au C veut rajouter le fonctionel. forcément ça devient foulli ;-)
Magus: c'est juste que les sorts suivant les langages tu renvoies un booléen, d'autres c'est -1,0,+1
Magus: quand tu jongles entre java/ts/c++ c'est pas pratique
Magus: ok donc en C++ c'est un bool
Magus: mais c'est quel sens ><
thoip: abusé, j'ai un timeout durant l'envoi de la commande
Nelimee: Magus attends d'utiliser des std::priority_queue, même avec la documentation sous les yeux ça me prends toujours 2 minutes pour savoir si je dois renvoyer true ou false dans mon comparateur
Gh0stm4chine: On en parle du "compareTo" de java ? :(
egaetan: Comparator.comparing(t -> ..)
Magus: pourquoi j'utiliserais une priority_queue ? :o
Magus: ah je suppose que tu fais un A*
Magus: ok donc c'est ++ c'est booléen et c'est ascending ordre
Nelimee: Nope, je me suis juste perdu dans mes variations de BFS -_-
Magus: *order
Magus: "c'est ++"
Magus: au lieu de C++
Magus: OKAY je vais bien
Gh0stm4chine: il est temps de changer de langage pour toi je crois
Magus: le seul truc horrible en C++ c'est a.b->c.d->e.f.g->h
Magus: mais ils comptent régler ça
Magus: il serait temps :/
Nelimee: Comment ça le régler?
Karocyt_aka_Kevazoul: au moins c'est explicite
Magus: Nelimee: ils veulent changer ça dans les prochaines versions, j'ai pas suivi les discsussion, je crois qu'ils veulent juste supprimer l'opérateur -> pour le remplacer par .
Magus: (enfin pas le supprimer, juste faire en sorte que le . marche aussi :D )
Drazyen: Pourtant, ça a un sens d'utiliser l'un ou l'autre...
Nelimee: J'ai jamais lu ça tiens
Magus: j'adore g++ qui essaie de t'aider quand t'as pas réussi à écrire ta lambda et que tu t'es probablement planté sur un type
Magus: l'erreur est ultra limpide
Alshock: Ah ça, j'avoue que je suis un escargot en C++ à cause de cegerne de moments d'anthologie
Nelimee: Je viens de lancer 3 matchs contre le 3e et 1 match contre le 5e et ils ont tous timeout... D'où?
Nelimee: (c'est les codes du 3e et 5e qui timeout, pas le mien)
Alshock: Le 5è je sais pas mais dbdr code en Rust, dans l'IDE c'est compilé en mode debug donc ça timeout
Magus: Rust et maintenant C# peuvent crasher volontairement dans l'IDE
Alshock: Tiens Magus vu que t'as évoqué le sujet, toi personnellement tu considères qu'une méthode chainable devrait retourner this en pointeur ou en référence ?
Alshock: Je suis indécis entre les deux à chaque fois, je suppose que c'est une question de goût
Mazelcop: la règle qu'on avait dans mon ancienne boite c'était d'utiliser un pointeur quand il pouvait être nul, et une référence sinon
Mazelcop: ça vaut ce que ça vaut
Alshock: Du coup ça serait une ref. Ca a le mérite d'éviter de causer des problèmes à vouloir gérer nullptr
YannT: ça a l'air agréable le Rust à coder
YannT: je suis en train de regarder là, ça semble chouette
towzeur: euh, c'est normal que le bot time out xD ?
towzeur: Inky has not provided 1 lines in time
Magus: En C++ pour du chainable je renvoie une référence c'est plus pour celui qui utiliser
Magus: après en perf j'ai aucune idée de ce que ça change entre la référence ou le pointeur
YannT: ah non j'ai rien dit en fait
YannT: fn x_or_y<'a, 'b>(x: &'a str, y: &'b str) -> &'a str {
YannT: c'est moche le Rust
Gh0stm4chine: lol c'est quoi ça
YannT: https://doc.rust-lang.org/1.9.0/book/lifetimes.html
YannT: lol
YannT: fn args<'a, 'b, T: ToCStr>(&'a mut self, args: &'b [T]) -> &'a mut Command;
YannT: mon dieu ces signatures :joy:
Gh0stm4chine: pourquoi s'infliger autant de mal
Gh0stm4chine: bon mon nouveau code arrive à battre mon ancienne ia alors que j'ai pas encore codé de switch.. je viens bien dormir ce soir
YannT: c'est le prix de la sécurité faut croire
leojean890: hearthewarsong était en haut et mtn est tout en bas de la ligue ? peut-on appeler ça du hiding :P
leojean890: le switch je l'ai enlevé et j'ai regagné des plces..
leojean890: car + de farm :P
leojean890: choix à faire entre IA agressive ou défensive..
neorel: Moi je suis 293 :'( comment ça se fait que j'ai perdu autant de places...
leojean890: YannT tu fais quoi si bas ?;P
leojean890: neorel j'avoue je t'i vu vers 40:P
neorel: Ben ouais...
leojean890: moi mon code stabilise bien depuis 18h
neorel: Soit le niveau a augmenté grave soit les strategies sont très différentes à y'a 2 jours
leojean890: j'ai essayé 2 3 trucs et ils luttaient +
leojean890: donc j'ai remis celui qui a su se stabiliser pendant 6h
leojean890: même si c'est que vers 140 160
leojean890: neorel essaye de repusher pour voir sinon:p
leojean890: ptet que t'sa un mauvais winrate contre les spam pushers :p
neorel: j'étais 230 et je suis passé a 300 maintenant :p
leojean890: mais unmeilleur contre d'autres
neorel: pas très rentable je dirais ;)
leojean890: en pushant ?
neorel: ouais :p
leojean890: arf
leojean890: bah repush
leojean890: :p
Alshock: @YannT j'aurais bien moqué ce prototype, mais là je me bats actuellement avec mon C++ qui me lâche des <unresolved overloaded function type> alors je vais pas faire le malin
neorel: ^^
leojean890: j'arrive pu à monter au dessus de 120 depuis plus de 24h;o
Alshock: On dirait deux parents qui parlent de leurs kilos gagnés avec le confinement
leojean890: jai encore qq trucs à tester anyway
Falkor: Purée comme d'hab en voulant améliorer des trucs je perds des places au classement :( Grrr
LimaceHurlante: dans quelle mesure les gagnant c'est pas ceux qui changent jamais rien. peux etre qu'il faut faire un code parfait le premier jour ...
Falkor: ^^
LimaceHurlante: (je rigole evidement)
leojean890: si une evol ne marche pas bien faut essayer de la refaire autrement dans le même genre d'idées
Falkor: j'en ai vu un qui bougait pas , c'est peut être ça le secret
leojean890: mais en changeant des magic numbers par ex ;p
Falkor: au moins tu risques pas de timeout
leojean890: ne pas bouger ? wtf
Alshock: une evol ?
Alshock: ah, un patch quoi ? :D
leojean890: bah une feature
leojean890: tu en ajoutes et tu baisses au ranking
Alshock: ouais déso mon cerveau est à bagdad
leojean890: au lieu de la delete tu la debug
leojean890: et tu la modif;P
Alshock: ouais tout bond en avant passe par une prise de recul
Falkor: ou tu la refais mais completement :D
leojean890: exact:P
leojean890: bah moi souvent je dois refaire mais pas non plus completement:P
Falkor: bah des idées à la con ça arrive des fois et paf poubelle et on recommence :D
leojean890: souvent y'a au moins une logique derrière
leojean890: donc vaut mieux pas totalement jeter
leojean890: mais bon appliquer cette logique autrement
gregballot: quelqu'un essaye de resoudre un knapsack pour determiner la meilleure combinaison de chemins ?
gregballot: "optimisation combinatoire" pour les academiques francophones lol
LimaceHurlante: vraiment ce soir on est dans la performance ... pff ... https://www.codingame.com/share-replay/462406818
Lnlg: heey
Falkor: en tout cas tu croques sous la dents :p https://www.codingame.com/replay/462419520
Njimou: hello
BeardedCarnivore_43e1: les gars j'ai une question svp
BeardedCarnivore_43e1: comment marche stoi sur C++ ?