Chat:Fr/2020-05-12

From CG community
Jump to navigation Jump to search

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

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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

Default avatar.png ernestvw: merci !

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

Default avatar.png 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

Default avatar.png 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

Default avatar.png baba_code: bonjour

MadKnight: salut

Default avatar.png JBM: comment es ta mordi

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 ?

Default avatar.png JBM: a peu pres tout le monde

Vintarel: oui

Default avatar.png 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

Default avatar.png JBM: depend de ton code :p

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

Default avatar.png 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 ?

Default avatar.png 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

Default avatar.png JBM: ca depend pas du temps de l'autre

Alshock: mon cerveau souffre de dissonance cognitive là, les infos vont pas ensemble

Default avatar.png 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

Default avatar.png JBM: ton tour, c'est 50ms entre la mise a dispo de ton turn input et ta reponse

Bob: voilà

Default avatar.png JBM: le referee s'en fout de si tu les lis

Default avatar.png 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

Default avatar.png 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

Default avatar.png JBM: sur les solo y'a pas beaucoup de'info d'input en general

Default avatar.png 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

Default avatar.png JBM: parser c'est encore autre chose

Default avatar.png JBM: la j'ai juste dit "lire"

Alshock: lire, pas parser, certes

Default avatar.png JBM: au sens "vider ta file d'entree stdin"

Default avatar.png JBM: si tu la vides pas, elle a une taille limitee

Default avatar.png 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 ?

Default avatar.png 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

Default avatar.png JBM: il avait "gagne" TAC ici

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

Default avatar.png yoann93: Automaton2000 tu penses que je vais rester en bronze ?

Automaton2000: mais si tu connais pas les détails

Default avatar.png yoann93: ah ouais l'enfoiré

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

Default avatar.png Colios13: Hop le manhattan qui est passé silver finalement ^^

YannDev: gg :p

YannDev: c'est un peu une arnaque xD

Default avatar.png 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

Default avatar.png 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

Default avatar.png Colios13: ouais pas vraiment

baba_code: c'est possible de coder en plusieurs fichier sur ce site? ou exporter l'exercice pour le faire sur un autre ide?

Default avatar.png 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

Default avatar.png M.Barbin: tu récupères un pac qui s'est fait manger peut-être? J'ai eu ça en arrivant en bronze aussi

Default avatar.png BladeEnder: PAC PAC

filou62: oui j'ai un pac qui a disparu

Default avatar.png BladeEnder: ba

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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 ?

Default avatar.png 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

Default avatar.png thoip: lequel?

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 :)

Default avatar.png JBM: comment es ton re

Default avatar.png JBM: c'est surtout celui de CG qu'est ultra-chelou

dbdr: avec quoi est codé ton client XMPP?

Default avatar.png JBM: en moyenne, je trouve l'ecosysteme plutot pas mal

BlaiseEbuth: Tu codes un client xmpp JBM ?

dbdr: *quelle partie du corps

Default avatar.png JBM: entre autres BlaiseEbuth

Default avatar.png JBM: mais c'est assez bas sur la liste des prios en ce moment

RomanceDawn: go le farie en java

RomanceDawn: ca va vite

Default avatar.png JBM: on t'attend

BlaiseEbuth: Je penses de plus en plus à mettre les mains dedans aussi... Faute de trouver un truc potable

Default avatar.png 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... ^^

Default avatar.png JBM: certainement

BlaiseEbuth: Tiens, rien à voir, mais ton conflit de copyright, c'en est où ?

Default avatar.png JBM: bonne question

Default avatar.png JBM: j'ai pas reregarde depuis

Default avatar.png JBM: j'ai pas vu passer de notif, donc probablement rien de nouveau

Default avatar.png JBM: mmm j'ai plus rien dans la colonne copyright

Default avatar.png 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 ?

Default avatar.png 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 ?

Default avatar.png 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 ?

Default avatar.png thoip: oui

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)

Default avatar.png 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?

Default avatar.png thoip: oui

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 :)

Default avatar.png JBM: rha

Default avatar.png JBM: je suis pas assez reactif :(

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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 ...

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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

Default avatar.png JBM: CG et la comm...

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 ?

Default avatar.png 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 ?

Default avatar.png 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

Default avatar.png thoip: un mort voit rien lol

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 :')

Default avatar.png 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: :')

Default avatar.png Colios13: Plus de 4000 déja dans le challenge

Default avatar.png 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

Default avatar.png BenLvre: j'ai l'impression de sauter des tour en mode speed

YannDev: c'est à dire ?

YannDev: t'aurais un replay

Default avatar.png BenLvre: j'ai aucun log de debug pour certains tours

Default avatar.png Colios13: Les tour de speed ton pac avance juste

Default avatar.png BenLvre: sur le replay j'avance bien

Default avatar.png Colios13: si il est sous speed ta pas de nouveaux input

Default avatar.png BenLvre: ah ouais ?

Default avatar.png 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

Default avatar.png 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

Default avatar.png Colios13: si il ne sont pas déja sur leur target

Default avatar.png BenLvre: je gere pas cette info alors ^^

Default avatar.png BenLvre: ça expliquerai pourquoi les pastilles intermédiaire je les vois pas comme mangée

Default avatar.png Colios13: yeple tour ou tu est sous speed tu loupe plein d'info malheuresement ce qui peut faire des truc bizarre des fois

Default avatar.png BenLvre: ah okay j'avais pas capté cette info ^^ ça explique beaucoup de chose

Default avatar.png BenLvre: merci !

Default avatar.png Colios13: :)

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é

Default avatar.png 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

Default avatar.png Colios13: Alshock https://www.codingame.com/replay/462213108

Default avatar.png 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

Default avatar.png 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...

Default avatar.png 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 ?

Default avatar.png BenLvre: ils disparaissent

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

Default avatar.png Nelimee: Bon il ne me manque plus que l'heuristique! Vous utilisez quoi vous pour choisir les déplacements de vos pacs?

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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 ?

Default avatar.png 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

Default avatar.png Nelimee: Le BFS est bon, je l'ai en 3 ou 4 exemplaires et ils fonctionnent tous bien

Default avatar.png Nelimee: Mais je ne suis vraiment pas convaincu

Default avatar.png 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

Default avatar.png Nelimee: DFS*

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

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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

Default avatar.png Nelimee: Et je simule aussi

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 :

Default avatar.png Julien_Fardel: Bonjour :nerd:

Vry: tri des pacs par meilleur FF

Vry: Nouveau floodfill en tenant compte des déplacements des autres pac

Vry: Et hop mid silver

Default avatar.png Colios13: Nelimee mahattan voilà mon secret :joy:

Default avatar.png Colios13: Salut

gregballot: ce bon vieux manhattan

gregballot: Salut !

Default avatar.png Nelimee: Hahaha ^^

gregballot: Je sers encore de la fonction manhattan pour comparer des coordonnées moi lol

gregballot: Mais plus comme heuristique

Default avatar.png 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

Default avatar.png 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 !"

Default avatar.png Flaie: c'est exactement ça

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

Default avatar.png 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

Default avatar.png 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()

Default avatar.png 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

Default avatar.png coderekting: merci

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

Default avatar.png thoip: abusé, j'ai un timeout durant l'envoi de la commande

Default avatar.png 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

Default avatar.png 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 :/

Default avatar.png 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...

Default avatar.png 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

Default avatar.png Nelimee: Je viens de lancer 3 matchs contre le 3e et 1 match contre le 5e et ils ont tous timeout... D'où?

Default avatar.png 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

Default avatar.png BeardedCarnivore_43e1: les gars j'ai une question svp

Default avatar.png BeardedCarnivore_43e1: comment marche stoi sur C++ ?

Default avatar.png SilentFirefighter_ad1e: hello