Chat:Fr/2020-05-10
Neabfi: Oula si seulement je playoutais jusqu’à la fin ahah
Neabfi: Je playout entre 10 et 20
Neabfi: tours
VincentBab: ah ok ^^
VincentBab: mais c'est pas mal deja
Neabfi: Tu pars sur quoi comme allo?
Neabfi: *algo
VincentBab: je pense que je vais rester sur des heuristic classique en essayant de determiner la positions de enemie
VincentBab: des enemies*
VincentBab: mon plus gros problème c'est de dispatch au max les pac pour couvrir le plus de terrain
Neabfi: je t’avoue que ça je gère pas du tout, le MC va automatiquement dispatcher les pac sinon ils se marchent dessus
Neabfi: J’ai du mal à voir la frontière entre une heuristic classique et simuler
Neabfi: En gros une heuristique classique pour les actions possibles tu évalues genre est-ce que ça me rapproche des gros points, est-ce que ça m’éloigne de l’ennemie ? etc .
Neabfi: c’est ça?
VincentBab: bah simuler il faut un algo derriere type mcts justement
VincentBab: oué
Neabfi: ok je vois
Dataze: Pour monter de ligue, il faut être N°1 du classement ?
njaber: Faut être mieux classé que le boss
njaber: Donc parmis les quelques premiers oui
Samsa: ou le boss très bas
alexandreb09: J'ai une question par rapport au puzzle sur les voitures et feux rouges, je ne comprends pas la solution
alexandreb09: Quelqu'un a déjà réalisé cet exercice ?
alexandreb09: Oups, je viens de comprendre ! désolé
Valbou: Ouch 400 places perdues dans la nuit ! Ca pique au réveil ^^
informathemusic: Est-ce que on peut "voir" les ennemis a travers les murs en bronze?
Valbou: aucunnement
Kh4z: Non
informathemusic: Oki!
BlaiseEbuth: Yo tout l'monde ! Automaton2000, AutomatonNN !
Automaton2000: et que dans le pire des cas
AutomatonNN: Salut tout le monde et Automaton2000
KVNMDS: J'ai une question, on doit mettre tous les MOVE dans le même console.log sur le chall pacman?
BlaiseEbuth: Oui, un seul output, avec les commandes séparées par des |
KVNMDS: merci beaucoup !
VilBoub: Salut tout le monde =)
VirtualAtom: Salut ,o/
VilBoub: avec les inputs, y a moyen de savoir si on a croqué un pacman ennemi ?
BlaiseEbuth: Si tu l'as en vue oui, sinon non.
VilBoub: s'il arrive du fow, on ne peut pas le savoir ?
VilBoub: au détour d'un virage ou dans un croisement...
BlaiseEbuth: Semblerait que non
b0n5a1: o/
BlaiseEbuth: \o
VilBoub: donc on ne peut pas savoir combien de pacman en vie l'adversaire controle à un instant t ?
BlaiseEbuth: A priori non
Mazelcop: tu peux essayer de te faire une idée en regardant la variation de score de l'ennemi
Mazelcop: mais c'est loin d'être précis
VilBoub: c'est pas pratique !
BOUYACROTTE: Hello tout le monde ! Est ce que vous avez remarquez des erreurs dans le code de base en C pour le challenge PAC ?
BlaiseEbuth: Du genre ?
BOUYACROTTE: Pour la récupération des données
BOUYACROTTE: Comme les positons des pellets, leur valeur etc
BlaiseEbuth: Et bien ? Quel est le problème ?
BOUYACROTTE: J'arrive pas à récupérer les valeurs ::
egaetan: BOUYACROTTE oui la base en C est cassée
egaetan: il faut refaire le parsing
BOUYACROTTE: comment je peux faire ça du coup ?
Haashi: en lisant l'énoncé, dans la partie input il t'explique tout ce qu'on te donne en entrée
BOUYACROTTE: Je sais pas faire de parsing c'est pour ça que je demande :/
egaetan: BOUYACROTTE je t'ai envoyé en DM
Haashi: ah, "parsing" c'est un bien grand mot, c'est juste de la récupération d'entrée standard
BlaiseEbuth: C'est quoi le problème du stub c ?
egaetan: il manque des fgetc(stdin)
egaetan: et il ne fait pas le split espace pour lire le typeId
BlaiseEbuth: Ah ouai...
Spifflejedi: hi o/
BlaiseEbuth: \o
Nangini: 2600 personnes en bronze ouah!!
Nangini: eh ben sacré contest
Boulet: pffff
Boulet: 110 place en 24h
YannDev: plus j'ajoute des heuristiques plus mon ia est pétée
Boulet: et pas d'idée
YannDev: je crois que je vais faire une simu lol
YannDev: bob est trop fort c'est pas possible
YannDev: il a codé 2h à tout casser
Valbou: Bob c'est la force tranquille ;)
Boulet: Comme la plupart d'entre nous, bob est un pro ou un prof (moi prof) et à sans doute au moins 10 ans d'XP
Boulet: du coup....
Valbou: Le temps passé à tchatter n'est pas du temps à coder ;)
Kh4z: xD
YannDev: le chat est utile pour le coup
BigUP: Txhatter n'est pas jouer
YannDev: ça permet d'avoir des idées
Haashi: apres tchatter ca aide beaucoup
BigUP: tchatter
YannDev: je vais partir sur ma simu je pense
YannDev: ça sera surement bien mieux
Valbou: On a débattu hier sur les simu type MCTS
Boulet: On te revoit dans 3 jours du coup
Boulet: non MCTS pas possible
Valbou: Le résultat du débat, et c'était pas gagné pour obtenir une simu capable en 50ms
Valbou: *est :
WhatTrickeryIsThis: tout est possible
WhatTrickeryIsThis: tout est réalisable
Valbou: lol
Boulet: branching de 56k pour un MCTS
Boulet: vas-y champions
Boulet: :D
WhatTrickeryIsThis: même pas peur
Valbou: L'important c'est d'y croire 🎶 🎵
Valbou: disais un mec bien connu
Boulet: la classe les notes en grisées
Valbou: mais il ne codait pas :P
Valbou: (je passe pas XMPP)
Valbou: *par
Boulet: la classe quand meme
Valbou: :musical_note: test via le chat
Valbou: c'est pareil ;)
Valbou: je m'en doutais (UTF-8) oblige
BlaiseEbuth: La meilleure extension possible https://www.benpurdy.com/laser-cat
Gh0stm4chine: Salut ! Il y'a moyen d'afficher plus de trucs dans la sortie d'erreur ?
dbdr: il y a une limite
dbdr: donc il faut aller à ce qui est vraiment utile
Haashi: mdr le laser catt
Haashi: tellement inutile donc tellement indispensable
WhatTrickeryIsThis: découpe ta stderr et balance par morceaux sur 200 tours
WhatTrickeryIsThis: bon courage
Gh0stm4chine: haha je vais prendre le conseil de dbdr pluôt :p
dwarfie: boulet qui me fait descendre ... ah elle est belle l'equipe ;)
Boulet: surtout que ce n'est meme pas pour monter vraiment à la fin
Boulet: sorry
Boulet: va finir ~110
Boulet: pfff
dwarfie: en meme temps , on sait bien qu'au bout de 2 jours , on est systematiquement en classement flottant (pour pas dire random)
Boulet: bon ~97
Palmipedus: ca m'ennuie trop de pas soir si on pas tue un ennemi
Palmipedus: le FOW ca commence a me gonfler d'en avoir tout le temps
dwarfie: Palmipedus ... t'en perd ton francais a ce que je vois ;)
Palmipedus: oui... :D
Boulet: apres oui au pire tu suppose a tord qu'il est encore la
dbdr: en plus avec 70 matches pour 2.6k en bronze...
dbdr: le classement va forcement pas etre tres précis
Palmipedus: j'imagine que ca couper bas pour silver
Valbou: On y verra plus claire Lundi...
dwarfie: surtout avec les charlots qui submittent en continue ... comment ca j'ai dit kovi ... mais non j'ai pas dit de nom ;)
Palmipedus: bon faut que code un peu la, je suis 1400...
Valbou: 1002, bordel, je ne passe pas dans le top 1K...
dwarfie: moi j'attend clairement le passage en silver ... pour m'attaquer à ce que j'ai loupé (trop shclasse aujourd'hui)
YannT: League opening: 5/13/20
YannT: mercredi? Oo
Haashi: moi j'ai 5/11
Haashi: fix ton cache
egaetan: moi j'ai le 11
Boulet: moi j'ai 5/11
Boulet: oups
Palmipedus: la c'est mon code wood, c'est pas trop mal vu qu'il ne memorise pas la carte et n'utilise pas les pouvoirs
Valbou: C'est très correct
Valbou: Mon code en wood m'avait également obtenu un bon classement bronze, depuis, je suis obligé de coder pour conserver mon classement
BlaiseEbuth: Pôv' chou
Magus: pour ceux qui voudrait tester leur code sur une map la plus grande possible : seed=-6046708548893030400
Valbou: ;*
Drazyen: Ca serait tellement bien d'avoir le choix de voir les parties avec ou sans fog of war pour pouvoir voir ce que voient nos pacs :-)
Magus: Drazyen: le fait que le viewer ne gère absolument pas le FoW me fait penser qu'ils ont rajouté le FoW à la dernière minute avant de finir le contest
Valbou: tu peux simuler ta propre map
Palmipedus: le contest a ete repousser de bcp et c'est toujours a l'arrache, je vois que c'est comme au boulot :D
Valbou: comme la gestion du pac mort dans un angle ;)
VilBoub: surtout qu'avec le fow on ne sait même pas combien de pacman adverses sont morts/en_vie
WhatTrickeryIsThis: coder le fow en 1 min?
Drazyen: Je simule déjà ma propre map, mais ça permettrait par exemple de confirmer que l'on voit bien ce que l'on pense voir
Valbou: :thermometer_face:
Drazyen: Je pense bien que c'est du boulot de mettre en place un challenge ^-^' et je le trouve plutôt sympa comme ça déjà, c'est juste une remarque que je me suis faite parce que j'oublie qu'il y en a un en voyant les replays
Drazyen: Du coup, des fois, je comprends pas les décisions de mes pacs :joy:
egaetan: oui on oublie vite
dbdr: Magus ya des multis où le viewer montre le FOW?
nib: celui avec les ghosts montrait le fow
egaetan: dbdr ghostbuster
dbdr: il fait semi transparent?
dbdr: parce que tout cacher ce serait pas bien non plus
Boulet: oui
Drazyen: J'ai envie de faire une référence à marco polo dans AOE2 pour la gestion du FOW x')
BlaiseEbuth: Wololo
NicoG: C'est où qu'on peu définir la synchronisation avec un éditeur externe svp?
Magus: dbdr: ghostbuster le montre oui. Pour UTG je sais plus si on avait l'option pour voir que nos mines
Magus: OOC montrait pas le FoW vu que c'est pas vraiment un FoW
Magus: et PR2 le montre aussi
dbdr: en fait c'est ça qu'est trompeur sur PAC
dbdr: tu recois des infos qui resemblent à de l'état, mais c'est partiel
Drazyen: J'ai une question par rapport au FOW ici : si on est en x_max, est-ce que l'on voit bien ce qui est de l'autre côté de la map sur la suite du chemin ?
dbdr: oui
Magus: fait gaffe aux couloirs infinis
Magus: tu peux avoir un couloir qui traverse toute la map dans la longueur :D
dbdr: wiiiiiz!
Magus: ça fait une jolie boucle infinie si t'as pas prévu ça dans ton code
Drazyen: C'est pas un souci ça, je fais au max un tour de la map
Drazyen: Mais j'ai vu que j'étais coincé parfois contre un pac de l'autre côté de la map, je dois avoir un bug qui traîne au milieu des autres
BigUP: suffit de mettre un timeout de sortie avant 50ms ;)
Spifflejedi: @Magus -> merci pr la remarque j'ajoute ca à mon système ;)
Drazyen: Ce genre de contest, tu gagnes souvent autant de places en corrigeant tes bugs qu'en faisant de vraies améliorations heuristiques XD
dbdr: BigUP = genius!
BigUP: dbdr, merci, je songe a monter ma boite de consulting
dbdr: faut juste un peu de marge pour faire les vrais calculs après
dbdr: while time.elapsed() < 45 ms {
parse();
} decide_actions();
arnial: dite j'ai un probleme de code en python, j'essais de refaire un code propre mais j'ai une erreur que je ne comprend pas sur la sortie, j'ai une fonction add_sortie qui me return un str qui est ... la sortie a print a chaque tour, sauf que lorsque je print la sortie : print(add_sortie) il me print
arnial: Sortie standard : <function add_sortie at 0x7f9b327508c0>
Valbou: parce que ta fonction n'a pas de méthode --str__()
arnial: pourquoi ? comment je fait pour print le str que ma fonction return ?
Valbou: bref tu print une fonction et non le résultat de son appel
Valbou: ajoute les parenthèses (au hasard)
BlaiseEbuth: voilà
Valbou: ;)
Valbou: Youhou ! top 1k ^^
Valbou: il y a encore du taf...
Valbou: ah ben non repassé derrière mdr
arnial: objectif : passer dans le top 300
Valbou: En améliorant la protection de mes pacs je perds 50 places... :thinking:
Palmipedus: te protege pas alors
Valbou: @arnial : waouhou beau projet !
Palmipedus: :D
Valbou: mdr
arnial: la protection ? genre tu fuis ou tu essais de les manger ?
Palmipedus: mais bon 50 places c'est rien il ya trop de monde en bronze le classement n'est pas precis
dwarfie: la protection c'est surfait ... evite juste les collisions ;)
arnial: faut que j'essais un algo qui fait que speed, et fuit si il voit un autre pac mechant
Valbou: non lorsqu'un pac adverse approche je prend le type plus fort que l'adverse
Boulet: quelqu'un peut m'explique pourquoi je perd mon premier pack ????
Boulet: https://www.codingame.com/share-replay/460204730
Boulet: frame 38
Valbou: mais avant je prenais le plus faible à cause d'une erreur de gestion du modulo
arnial: mais pour l'instant j'ai déja un probleme de pacs qui font la queuleluleu
dwarfie: parce que t'es un boulet ;)
**dwarfie sort
dbdr: parce que papier bat pierre?
dbdr: man RPS
Boulet: oui mais il m'attaque sur ma case de depart ????
dwarfie: non
BigUP: Boulet, il a ecrit "kill him" et t'as fait demi-tour ...
dwarfie: et il vise meme pas la case ou tu etait
dbdr: le demi tour c'est un truc d'affichage on dirait
arnial: je comprend pas non plus pk tu le perd, tu es papier il est rock, tu devrais le tuer de ce que je comprend
Boulet: non papier bat pierre
Boulet: ce n'est pas le pb
Haashi: Boulet
Boulet: moui
Haashi: enfaite, ton bot s'est fait manger sur la phase 1
Haashi: et vu qu'il a un speed
Haashi: il se déplace sur la phase2
Haashi: mais il est mort en phase1
Haashi: tu vois le truc ???
Boulet: oui
Valbou: intéressant, du coup il peut mangé une case post décès ?
Haashi: par contre effectivement ca sent encore une merde de referee :)
Haashi: la question est : est ce que tu aurais récupérer une pastille ??
arnial: y'a une mécanique que je ne comprend pas je pense xd
BigUP: Boulet, oui Il est papier, tu es Pierre... perdu et peut-etre t'as oublié que le gars etait la (mais je usppose que tu mémorise la derniere fois ou tu as vu l'adversaire ? )
Boulet: mais j'aurai juré partir de 29/5
dwarfie: tu va sur lui et il va vers le haut ... donc ca choque
Magus: ah ouai il est chelou le viewer la sur ce replay
Haashi: j'espere que c'est only viewer
Valbou: voilà de quoi incrémenter les "nouvelles règles"
Valbou: ^^
Magus: non attends le viewer est normal en fait
dwarfie: tu vas de 28/5 sur 29/6 et lui de 29/6 ver 29/4 ... donc boom boulet
Magus: frame 37 le pac rock du bleu va en 28,5
Gh0stm4chine: tu es juste revenu sur la case je pense ?
dbdr: ils sont à 3 de distance avant le tour non?
BigUP: oui rien d'anormal pour moi coté viwer
Magus: et frame 98 il va en 29 6 donc tu le manges
BigUP: viewer
Magus: (enfin le rouge le mange)
Boulet: 3oui
Magus: y'a pas de bug (enfin pas dans le viewer, après effectivement le pac stupide qui revient pour se faire bouffer c'est moche :D
Haashi: ah non c'est bon
Boulet: non mais oui mais ce n'est pas epb
Haashi: effectivement
dwarfie: non 2
dbdr: on peut pas revenir en milieu de tour
Magus: il ne revient pas en milieu de tour
BigUP: Boulet, petit probleme dans l agestion de ton Speed ? pourquoi ton IA fait demi-tour alors qu'il y a des pellets plus proche plus loin ?
dbdr: ah oui, c'est le suivant
Magus: frame 38 c'est un nouveau tour
dbdr: c'est toujours chiant de suivre les tours avec le viewer
Boulet: BigUP: oui ce bot est debile mais ce n'est pas la question
dbdr: surtout sans stderr
Magus: et le pac bleu fait un move vers 29,6
dbdr: oui
Magus: donc il se retrouve en 29,5 et se fait bouffer
dwarfie: Boulet ... je t'ai donne la reponse ... insiste pas ;)
Boulet: Ah y est compris (plus simple savec les nput
dbdr: d'ailleurs ça aurait aidé si le viewer montrait si une frame est un début ou milieu de tour
Boulet: en fait je suis en 28/5 et lui en 29/6
Boulet: et comme un debile je pars à droite
Boulet: lui en haut
Boulet: du coup c'est bon
Boulet: (enfin sauf la débilité de ce cretin de bot)
Haashi: bwarf, je suppose que vu qu'il est dans le fog, tu le prends plus en compte et du coup tu meurts
BigUP: Boulet, oui, tu ne le vois plus ! ;) en plus ton IA n'a pas remarqué que l'adversaire a déjà bouffé le pellet que je suppose il veut bouffer ?
Boulet: Ah oui ça doit etre ça
Boulet: il est trop con ce bot :D
Boulet: merci `a tous
BigUP: Boulet, ceci dit, je ne sais pas s'il pouvait le voir ;)
Gh0stm4chine: d'ailleurs, est ce qu'on voit les pellets à travers les pacs ennemies ?
Boulet: oui
Gh0stm4chine: ok thx
BigUP: Boulet, ouais trop con ce bot ! tu l'as trouvé sur past.it ? ;)
Boulet: non sur putainjaipasdidee.com
YannDev: Ya des gens dans le top100 sans simu ou pas ?
Boulet: oui
Boulet: moi
Boulet: quand j'y suis
YannDev: gg!
YannDev: (je parlais de ce concours)
Boulet: moi aussi
YannDev: Ah bah gros gg dans ce cas
YannDev: moi j'ai des heuristiques qui marchent en théorie mais un peu pétées en pratique
Boulet: Non la simu pour le moment ça sert rien
YannDev: genre le pac qui fait le yoyo c'est rageant
BigUP: Un jour, faudrait que j'implémente le changement de coté...
YannDev: Ah la simu est useless
Vintarel: vous entendez quoi par simu?
YannDev: pourtant ya pas de nouvelles règles après si ?
Gh0stm4chine: non
Boulet: non
BigUP: YannDev, ca parle d'ajoute rdes torpedo...
Boulet: Vintarel: calculer le résultat du tour
YannDev: ah..
Boulet: et des suivant
YannDev: bah les simu sont top 100 de toute façon non ?
Boulet: et des suivant s
YannDev: genre le top1 il est pas full heuristique xD
Boulet: genre si c'est possible
Vintarel: ok... ça semble chaud !
dwarfie: ils auraient pu ajouter des spawn de cerises en silver ;)
YannDev: Ah c'est possible de top1 full heuristique boulet
YannDev: oO
Boulet: à cette heure oui
YannDev: le gros problème du full heuristique c'est que ça mène à des comportements étranges
YannDev: genre le "yoyo"
YannDev: https://www.codingame.com/share-replay/460215904
Boulet: et la simu c'est parfois pas si interessant
BigUP: pas trop de yoyo chez moi
YannDev: sans toutes mes nouvelles heuristiques je suis top 600
Boulet: cf gitc
YannDev: avec je suis top 2000 lol
dwarfie: le full heuristique , ca amene toujours a la meme chose ... fix ton heuristiaque
Boulet: j'ai fini #150 full heuristique
YannDev: ouais dwarf c'est rageant
YannDev: j'ai fait quasi que du debug
BigUP: YannDev, visiblement t'as un soucis ! ;)
Boulet: la simu ça mene toujours à fix ton moteur
YannDev: oui BigUp :')
Boulet: + fix ta fct d'eval
YannDev: même 2
YannDev: déjà ya des collisions
YannDev: alors que normalement c'est fxi
YannDev: fix*
YannDev: et après ya mon targetting qui est bug depuis que j'ai rajouté des probabilités de pellets sur des cases
gregballot: Moi avec de la prediction, j'ai perdu 1000 places loool
YannDev: idem...
BigUP: YannDev, le plu ssimple, tu vire la pastille que ton 1er Pac est sensé avoir bouffé
YannDev: la prédiction ça m'a niqué mon ia
Boulet: Vos moteurs doivent etre moisis
gregballot: Ah bah visiblement oui lol
YannDev: BigUp je le fais x)
YannDev: quand un pac se déplace je vire la pastille
Vintarel: ouais mais tu peux pas trop simu plusieurs tours parce que tu sais pas trop sur quoi tu vas tomber
BigUP: YannDev, ceci dit dans certains cas, ca peut quand meme fair edes collisions
arnial: c'est quoi un heuristique ?
Boulet: Non mais pas kovi en plein milieu de run quoi !!!
YannDev: les collisions je les ai fix différement
dwarfie: j'ai zero prediction ... ca marche tellement bien la profondeur 0 :D
Boulet: arnial: repondre en fct de ce que tu vois
Snef: YannDev si tu les enlèves n'oublie pas de les remettre ;)
Boulet: pas de ce que tu calcule pour les 28 prochains tours
Boulet: tiens je viens de réaliser qu'on connaissait la position des bot enemis au premier tour
egaetan: malin Boulet
Boulet: mais pas rapide
Boulet: :D
egaetan: on connait même leur nombre
gregballot: #hashtagPratique
BlaiseEbuth: :o
Boulet: c'est pô beau de se moquer
Valbou: #Smart
nmahoude: et on connait meme leur type, dingue (et Hello :) )
Boulet: nmahoude: cf plus hot :P
Boulet: haut
Boulet: mon clier qui tape tout seul
dwarfie: on connait meme leur type ;)
YannDev: comment ça Snef
YannDev: je retire la pastille quand le pac bouge sur la case
Doten: bonjour à tous, Sauriez-vous m'expliquer pourquoi la partie s'est arrêtée ? https://www.codingame.com/replay/460232540
Palmipedus: il y a que des couloirs de largeur 1 ou des croisements sur la carte?
Colios13: Doten tu dois donner une action au pac 2 alors qu'il est mort
BigUP: Doten, timeout ou plantage d eton code
YannDev: bon je vais ragequit ma sol heuristique
Palmipedus: regarde le tooltip sur la barre de progression
Palmipedus: bon va falloir que je gere les pouvoirs mainteant
Doten: ah, je ne pensais pas que cela faisait planter le jeu, je vais corriger. Merci
YannDev: Palmi tu as fais une simu ?
YannDev: fait*
Palmipedus: j'ai essaye au debut mais il y a trop de branching et certaines info ne sont pas deductible
YannDev: ah rip
Palmipedus: donc je vais faire un full heuristique
YannDev: bah moi j'ai fait ça
YannDev: mais plus j'ajoute des heuristiques censées être bien
YannDev: plus je perds de places
YannDev: top 500 avec mon algo de wood I
YannDev: et là je suis top 2000 lol
Colios13: 2000 c'estque ton code plante
Colios13: c'est pas possible ^^
Palmipedus: just la memorisation de la carte m'a fait monter dans le top 1000
Valbou: je viens de perdre 1000 places avec une correction du bug qui génère une regression
Valbou: mdr
Palmipedus: et je gere pas les pouvoirs
YannDev: bah la mémorisation de la carte m'a fait perdre des places...
Valbou: @Palmipedus ça ne suffit plus maintenant
Colios13: moi hier sans mémorisation de carte 600 mémorisation carte 300
Valbou: et auj ?
YannDev: on est d'accord vos sol c'est simplement aller vers la super pellet la plus proche et sinon pellet le plus proche ?
YannDev: le pire c'est que moi je gère speed et pvp
Palmipedus: j'ai encore bcp de marge, le speed et essayer de ne pas mourir ou tuer l'adversaire devrai me faire monter un peu
gregballot: moi je calcule le chemin qui va probablement me rapporter le plus de points
vronchin: hello je me demandais les gens en python arrivait à import un fichier utils.py par ex,
Palmipedus: YannDev oui
vronchin: aient*
YannDev: Bizarre que mon truc bug alors
YannDev: je vais peut être recommencer le code
YannDev: ça fonctionnera mieux :')
YannDev: ah en fait mon pb c'est que mes pacs restent trop collés
Colios13: je suis sur du manhattan toujours
YannDev: wtf
YannDev: moi j'ai une sol avec bfs etc
Palmipedus: YannDev je fais just dept 0
Colios13: BigUp est 200 avec manhattan aussi.
BigUP: Colios13, je viens de basculer sur BFS, mais c an esemble pas avoir amélioré quoique ce soit
Palmipedus: j'ai un Floyd-Warshall au tour 1 mais je ne m'en sert pas :D
BigUP: un simpl emanhattan géré a peut pres correctement, c'est suffisant
BigUP: pour top 200
nib: "manhattan géré correctement" ? il y a quand meme des murs
BigUP: nib, c'est pas trop génant si le pellet est derriere un mur
Colios13: c'est de l'eau les murs :joy:
BigUP: ca change pas grand chose... parcontre oui j'ai un BFS pour déplacer mes Pacs une fois le pellet selectionné
nib: BigUP comment tu vas chercher le pellet derriere le mur avec manhattan ? tu restes bloqué en pensant que tu vas passer au travers du mur non ?
Colios13: bah derrière move c'est pas un manhattan
Valbou: @nib il y a un djikstra fourni ;)
Colios13: tu te sert de la fonction move qui elle va contourner, mai c'est pas forcément en vérté le pellet le plus proche
BigUP: depuis ce matin ma selection de pellet se fait par BFS, mais comme je ne peux pas calculer tous les chemins avec du Python, je filtre d'abord les 20 pellets les plus proches en manhattan avant de fair edu BFS dessus
nib: oh ok
BigUP: nib, mais mon classement n'a pas bougé, je flotte autour de la 185eme place
Magus: ah, nommer une méthode "switch" en C++ ça marche pas trop
BigUP: d'ailleur, j'ai apporté plein d'améliorations depuis ce matin, mais mon classement n'evolue pas
YannDev: Palmipedus j'ai pas bien compris pourquoi depth 0
YannDev: attends BigUp si je comprends bien
YannDev: la target de ton pac reste constante
YannDev: genre tu fais une target et tu la gardes tn qu'elle est pas atteinte ?
YannDev: et donc à chaque tour si la target est pas encore atteinte tu la recalcules pas
Drazyen: BFS avec évaluation du score potentiel ici aussi, mais je suis que ~600 donc bon x')
Mastard: j'ai eu ce probleme. Si tu recalcule a chaque fois, ton pac peut faire des aller/retour sur une case
YannDev: ouaip :/
YannDev: bah du coup je vais recoder mon algo de 0 :')
Mastard: apres je suis que 250e hein
Mastard: donc pas un exemple
YannDev: ça va 250e
YannDev: x)
YannDev: au pire go demader à Bob :')
Mastard: oui mais si tu demande à un top 100 il aura surement un autre avis haha
YannDev: possible
YannDev: et pour éviter les collisions tu fais comment ?
YannDev: moi quand je move un pac je marque les cases par lesquelles il va passer
Mastard: je ne gere pas bien ca encore
YannDev: et avant de move je regarde si aucun pac passe dessus
Drazyen: Pour l'instant, je considère les pacs comme des murs x')
YannDev: oui mais c'est foireux
Drazyen: Du coup, aller vers les pacs n'est pas intéressant ahah
YannDev: si jamais tu as deux pacs séparés par une case
YannDev: tu vas avancer de un
YannDev: et pouf collision
Mastard: moi je gere les collisions au dernier moment pour l'intant, si mon pac est à la meme place qu'au tour precedent, je lui trouve une autre zone où aller... mais c'est pas efficace vu que lae chemin vers cette zone provoque ddes fois la meme collision haha
YannDev: coup dur :')
YannDev: si quelqu'un sait pourquoi mon système est cassé je dis pas non
Drazyen: La gestion des collisions est sûrement le truc le plus chiant à gérer ahahah
YannDev: "moi quand je move un pac je marque les cases par lesquelles il va passer et avant de move je regarde si aucun pac passe dessus"
YannDev: pourtant ça bug un peu
YannDev: :(
Mastard: faudrait aussi regarder s'ils y passent en meme temps
Nelimee: Perso je détermine les mouvements de mes pacs 1 par 1, donc quand un mouvement à été acté je bouge virtuellement le pac sur ma grille. Comme mes pacs alliés sont considérés comme des murs, ça fonctionne :)
Drazyen: Flemme de faire du rétro-contrôle pour l'instant
YannDev: bien vu Nelimee !!
YannDev: t'es top cb avec ce système ?
Nelimee: Ca introduit un jeu tour par tour qui n'est pas vraiment ce qui se passe dans la réalité, mais c'est une assez bonne approximation
Nelimee: Hier soir j'étais monté ~80, je suis 200 là :( J'ai pas re-soumis entre temps, et j'ai amélioré quelques trucs par ci par là donc y'a moyen que je revienne entre 100 et 150 j'pense
Droopwin: C'est malin Nelimee
YannDev: gg
YannDev: je vais clairement recoder en entier mon système de targets
Droopwin: :clap_tone1:
YannDev: je suppose que toi aussi tu gardes la même cible ?
YannDev: Tant que la cible n'est pas atteinte tu continues à aller vers elle
Nelimee: (j'vais manger, si vous avez des questions, pour qu'elles ne se perdent pas, go MP)
Mastard: mes logs a chaque tour c'est devenu un roman de Victor Hugo
YannDev: idem lol
YannDev: pour debug mes heuristiques j'affiche 12 000 trucs
YannDev: http://chat.codingame.com/pastebin/27cd8a19-a05b-40df-83ff-a55b012e4d85
YannDev: très intéressant tout ça
Palmipedus: comment faire un paste bin?
Stilgart: c'est fait tout seul
Palmipedus: YannDev j'affiche bien plus
Palmipedus: http://chat.codingame.com/pastebin/126cde0d-4044-4d39-9695-93ac33a2ada7
Stilgart: http://chat.codingame.com/pastebin/9f9a9442-4c97-489c-be03-2d66ca6937ac
Palmipedus: c'est mon tout 0
Palmipedus: c'est mon tour
Djammal: Salut tout le monde je viens de me mettre au Challenge et je voulais savoir si pour les pellets vous vous servez d'un tableau pour savoir ou elles sont ou si vous utiliser une classe pellet avec le nombre d'objet correspondant au nombre de pellet ?
Palmipedus: un tableau de boolean
Djammal: Pas un tableau de la valeur du pellet ? pour prioriser ceux de points
Palmipedus: enfin dex bitArray de bool, un pour les pellets normales et un pour les supper pellets
Gh0stm4chine: j'utilise une classe pellet perso et je garde une liste de ça
Palmipedus: Gh0stm4chine tant que tu n'as pas besoin de perf c'est bon
Djammal: J'ai l'impression que c'est un peu de l'overkill de créer la classe pellet
Palmipedus: c'est des strutures que j'utilise par defaut comme ca si je dois simuler plus tard c'est deja la bonne struture
Mazelcop: on peut aussi insérer les données de pellets dans la map
Mazelcop: genre 1 = pellet, -1 = wall
Palmipedus: oui si tu as une map de int, tu gere tout dans le meme tableau mais bon ca tu utilise 64 bits au lieu d'un et comme tu as toute des donnes dans un tableau tu peux dire adieu aux perfs pour la simu
Palmipedus: mais bon sans simu le plafond de verre c'est la legende,
Palmipedus: top gold c'est possible sans trop forcer
Mazelcop: ça t'empêche pas de coder chaque case sur 2 bits si tu veux de la perf
Mazelcop: 00 => rien, 01 => petit pellet, 10 => gros pellet, 11 => wall
Palmipedus: oui mais les operation binaire tu ne peut pas faire
Palmipedus: les masks et autres
Mazelcop: les masks sont un peu plus compliqués, ok
Drazyen: En termes d'informations, au maximum, tu codes pellet + gros pellet + les trois types de pacs ennemis + mur je dirais, donc 6 valeurs sur 3 bits ?
VirtualAtom: si tu simules, tu vas a priori copier tes tableaux de pellets, non ? Du coup, mieux vaut avoir un tableau de murs, qui est constant, et des tableaux de taille minimales pour les pellets
Mazelcop: VirtualAtom => oui, mais avec les infos de pellets (petits et gros) il te faut au minimum 2 bits par case
Palmipedus: bit array pour les murs qui est contant et je passe juste les pellets et pacs dnas les nodes de la simu
VirtualAtom: je pense séparer le tableau de super pellets, car je veux savoir immédiatement où elles sont. Donc un tableau de bool pour les pellets + un tableau de 10 cases max pour les positions des super pellets
Drazyen: Wow :heart_eyes:
Boulet: Mazelcop: au plus 2 bit
Mazelcop: Boulet 2 bits si on veut pas s'arracher les cheveux :)
Boulet: pas au moins c'est tout ce que je disais
Mazelcop: oui, j'ai parlé un peu vite
Boulet: ça arrive aux meilleurs :D
Boulet: pas vrai Automaton2000
Automaton2000: mais la j'ai pas trop compris
Boulet: AutomatonNN aide un peu Automaton2000
Automaton2000: donc je sais pas si c'est possible de faire une ia en c++
AutomatonNN: oui tu m'as fait vous parler de ce que j'ai fait :D
Alshock: coucou tout le monde ! Tortue Automaton2000 et AutomatonNN
AutomatonNN: o
Automaton2000: après si tu veux faire quoi ?
Zorg1: o/ les gens et les bots Automaton2000 & AutomatonNN
Automaton2000: bon, c'est pas comme si c'était le cas pour tout le monde, je suis nouveau
AutomatonNN: Donc faut vraiment que je retourne a mon mail de toute façon :(
Mastard: wow perdu 100 places en 20 min sans soumettre, violent xD
YannDev: coup dur
R4N4R4M4: Salut tout le monde
Gh0stm4chine: Je sens que quand je vais soumettre, soit je vais gagner 100 soit je vais perdre 1000
Mastard: c'est ce qui vient de m'arriver xD
Boulet: bon time to tout refaire
Gh0stm4chine: bon courage !
Versicolor: https://www.codingame.com/replay/460299487 le campeur :sob:
Vry: Bon il faudrait atteindre 3k personnes avant 'louverture ! Allez les gens ... :p
Vry: ... en Bronze ...
leojean890: Boulet tu veux faire une simu élaborée ?;P
leojean890: Vry j'avoue
Boulet: non je veux deja comprendre mon code
Boulet: :D
leojean890: jme demande combien iront en silver
Vry: Qui est chaud pour coder un peu ?
Vry: leojean890, je ne sais pas mais je ne les vois pas couper trop haut ça risque peut-être de démotiver ceux qui sont "au fond" ?
leojean890: moi mon code tourne entre 100 et 160 et je n'arrive pas à améliorer assez hehe
Vry: JBM ... à ouais pas bête ! :)
leojean890: pour le moment mais j'ai quelques pistes à explorer
leojean890: Vry je pense ouais, mais je dirais 300-400??
Vry: Moi j'ai tout à explorer ... j'ai rien fait depuis mon floodfill de wood2
leojean890: c'était 200 pour OOC mais avec une bronze moins remplie
Vry: 400 ça me paraît super haut vu la foule ...
JBM: a part pour legend, ils coupent pas a la moitie d'habitude?
Vry: C'est je que je pensais JBM
Vry: Par contre pour Gold et Légende ça va ouper sevère vu la foule ...
leojean890: jpense qu'ils vont pas mettre tlm en gold et legend ouais
Vry: ... s'ils nous refont un boss Gold à la OoC sur ce contest ça va être drôle
leojean890: clairement
JBM: j'ai plus assez d'experience "contests recents" pour comprendre leur strategie
leojean890: silver et bronze seront pourries tout le contest puis multi
R4N4R4M4: En 5, il fait exprès de pas aller chercher la grosse pilule pour me mange ? Ca devient chaud là https://www.codingame.com/replay/460307448
R4N4R4M4: *r
leojean890: Vry ouais marrant y'aura 20 personnes en légende fin de contest xD
domak: boss legend = rank(leojean890) - 10
domak: la formule ooc
R4N4R4M4: Combien vont passer en Silver à votre avis ?
leojean890: domak j'avoue xD
leojean890: et pendant 10j c'est resté ainsi tellement j'ai amélioré mon bot de manière pas significative :P
egaetan: R4N4R4M4 ça a plus l'air d'un bug
egaetan: sinon il n'oublierait pas les deux du bas
domak: egaetan tu nous a fait quoi sur ooc
domak: ?
domak: t'avais un bot de folie, il a quasiment pas bougé de place à chaque changement de ligue
egaetan: occupé aillieurs :(
domak: on aurait dit un phare flottant ton bot
leojean890: clair il restait bien classé en gold :P
domak: ça bougeait dans tous les sens il était toujours dans les 20
domak: c'était émouvant un bot sans capitaine qui tenait toujours la mer
leojean890: JBM pour silver ils ont coupé vers la moitié pour OOC mais pas pour n'entrée de gold c'était moins d'1/4
domak: purée c'est quand même chaud, tu perds quelques matches et ça fait des dizaines de places vu qu'on est serré comme des culs
leojean890: clair domak mdr
leojean890: j'ai déjà gagné ou perdu 50 places en 3 min:p
leojean890: (cas extrème)
domak: 100 places perdues en 40 minutes
domak: bon j'avais peut être un bon run
BigUP: alors que moi ... je gagne des places ;)
leojean890: tu vas les regagner en 20 min :p
Zorg1: ouaip j'attends la silver en espérant que ce soit moins le bazar
Zorg1: vont peut être en prendre 500
leojean890: BigUP distance BFS ou manhattan now ?;o
BigUP: faudrait tailler a 250 environ, je pense qu'on serait vite a 500+
leojean890: ouais on verra combien ils en prennent mais ouais ça va monter en flêche
BigUP: leojean890, BFS mais ca n'a pas vraiement eu d'influence sur mon classement
leojean890: même 'ils en prennent 300 il y en aura 600 en 2j
domak: j'ai une ouverture de silver le 14/05 c'est bien un bug?
Zorg1: oui je la vois au 11/05 moi
leojean890: BigUP ça me surprend tjr autant que des distances de manhattan fonctionnent ;o
leojean890: 11/05
R4N4R4M4: 11/5 aussi
BigUP: leojean890, comme j'ai dit un peu plus tot, je préselection 20 pellets autour de mon PAC en manhattan et ensuite je calcul en BFS
VincentBab: hello, y a combien de super pellets max par carte svp ? 4 ? ^^
leojean890: BigUP ouais c'est pas full manhattan tu disais hier :P
BigUP: non, pour le chemin au pellet selectionné, j'etais en BFS hier
leojean890: Vincentbab qqn disait 4 hier
BigUP: mais la selection se faisait en manhattan
Karocyt_aka_Kevazoul: j'avais le 13, rafraichir la page m'a ramené au 11
R4N4R4M4: BigUP Pourquoi tu les présélectionnes pas en BFS tes 20 pilules ?
BigUP: R4N4R4M4, passe pas... trop lourd
leojean890: python :P
BigUP: je dois pouvoir monter a 40 pellets environ apres, je dois timeouter
leojean890: mais avec le FOG c plus compliqué que ça de faire une liste :P
R4N4R4M4: Tu recalcules les bfs à chaque fois avec les positions des PAc ?
leojean890: car d'un coup tu vas repérer un gros que tu repérais pas avant;P
BigUP: leojean890 et si tu fais une liste t'es mort ! ;) faut faire des sets, sinon les temps explosent ;)
leojean890: moi je recalcule les BFS à chaque fois
leojean890: chaque déplacement
leojean890: BigUP ouais j'ai des sets sauf quand besoin d'ordonner
R4N4R4M4: Y a un moyen de patcher les bfs précalulés avec les positions des pacs, ou c'est mort ?
R4N4R4M4: du style, je recalcule que les distances supérieures... :D
leojean890: je ne fais pas ça mais ça peut être une idée ouais :P
BigUP: R4N4R4M4, aucune idée, faudrit precalc avec les chemins et couper la ou tu sais qu'il y a un pac
R4N4R4M4: mince, j'y croyais pas, mais rien qu'en l'écrivant, je me suis dit que finalement c'est bien possible
R4N4R4M4: y a juste à initialiser les cases à recalculer et remplir la queue en fait
R4N4R4M4: Bon, de toute façon, je vais pas chercher la perf sur ce challenge, y a bien trop d'heuristiques à trouver
BigUP: R4N4R4M4, faut voir
egaetan: tu auras besoin de perfs pour certaines heuristiques, non ?
YannT: R4N4R4M4: au lieu de precalculer les distances, tu précalcule les chemins (floy warshall modifié)
YannT: et ensuite pour avoiir une distance, tu parcours ton chemin mais tu t'arrête sur les blocages
YannT: sur le wikipedia y'a un pseudocode de floyd warshall avec chemins
R4N4R4M4: Je vais regarder ça merci YannT
Haashi: YannT, tu fais comment du coup si tu veux absolument savoir la distance, meme si il y a un truc qui bloque ?
dbdr: YannT, mais, ça gère un chemin alternatif qui devient plus court, ça?
Alshock: euh qui devient plus long plutôt non ?
Alshock: Parce que raccourcir la distance ne rajoutant des obstacles je vois pas
dbdr: moins long que celui qui est devenu bloqué
Alshock: ah oui qui devient LE plus court ok ,'javais mal compris
dbdr: donc relativement plus court
dbdr: plus court que. voila :)
Alshock: je suppose que ça te donne le chemin le plus court, et s'il est bloqué tu A* ? avec tes distances théoriques en heuristique ?
dbdr: faut que YannT réponde, moi ça me parait louche
VilBoub: j'ai un bug chelou là !
VilBoub: j'affiche mon ordre dans le debug avant d'afficher mon ordre normalement... il n'écrit pas la même chose !
Alshock: dis toujours, mais je doute d'être d'une quelconque aide
dbdr: désynchro VilBoub?
Alshock: hum, les deux print sont à la suite et ne font aucun calcul ?
Alshock: flush ouais pour être sûr ?
VilBoub: ok, j'ai compris !
Nangini: VilBoub ça m'est déjà arrivé ça et j'en faisais 2 à la suite
VilBoub: merci dbdr
dbdr: :+1:
dbdr: ah bah voila, ça monte un peu mieux :relieved:
YannT: ah j'avais mal compris le besoin initial effectivement :)
RedRobot_7aa2: Bonjour à tous sauf à Thor qui me pose soucis
RedRobot_7aa2: Je ne sais comment, j'ai dégommer la fenêtre de programme, je n'arrive même plus à lire les lignes de codes :owl:
RedRobot_7aa2: pas déformer mais dézoomer
RedRobot_7aa2: ouah la correction auto et ses aléas
dbdr: RedRobot_7aa2 appuyer sur F5 ça aide?
Mazelcop: ctrl+molette pour zoomer
RedRobot_7aa2: non ça ne aide pas
RedRobot_7aa2: oui mais ce n'est pas le même zoom
RedRobot_7aa2: là j'ai dézoomer seulement la fenêtre de code
Mazelcop: quand tu as le focus sur la fenêtre de code, ctrl+molette ça ne zoome que la fenêtre de code
Mazelcop: en tout cas chez moi ça fonctionne comme ça, ça peut peut-être varier d'un navigateur à l'autre
RedRobot_7aa2: pratique, pour moi ça ne veut absolument pas
Thyl: bonjour tous le monde, j'ai un petit problème consernant le challenge,
Thyl: print("MOVE", 0, xm1, ym1|"MOVE", 1, xm2, ym2)
Thyl: et il m'affiche dès le départ un timeout
BlaiseEbuth: manque des espaces
BlaiseEbuth: partout. tu dois séparer les valeurs
Thyl: d'abithude sa marche avec les virgules
Vintarel: ça devrait marcher avec les virgules
Vintarel: c'est plutôt que t'as un bug quelque part haha
Thyl: pourtant, si je fais de print séparé
Thyl: avec un tour de décalage à chaque fois:grinning:
Vintarel: ha oui c'est cette barre là
BlaiseEbuth: Ah bah ouai c'est le pipe le problème
Vintarel: ym1|"MOVE"
Vintarel: ym1,"|MOVE" plutôt
Thyl: merci beaucoup!!:grinning:
BigUP: vache ! je cartonne dans le top 100 ! ;)
BlaiseEbuth: :cow:
BigUP: c'est une boucherie ! ;)
Vintarel: tu me fais perdre une place de plus :sob:
Haashi: mais lol
Haashi: je fluctue entre 70 et 90
BigUP: j'ai jamais autant cartonné sur un debut d econtest ! ;)
Haashi: avec des sérues de 7 win, 7 loses
Haashi: ah nice gg BigUp
Haashi: big up a toi
Boulet: du coup tu fais quoi BigUP
Boulet: ?
Haashi: :nerd:
Boulet: et gg ?
BigUP: 55eme la
Boulet: et gg !
BigUP: merci !
Boulet:
Boulet: heuristique ou simu ?
BigUP: je n esubmit plus rien jusqu'a l'ouverture de la silver ! ;)
gregballot: putain ma recursion me brainfuck
BigUP: Boulet, heuristic
Boulet: ok
BenLvre: Salut ! Niveau perf de faire un bfs en javva pour vous ça passe ou c'est peine perdu ?
LoganWlv: ça passe
BigUP: Ce qui est cool, sur ce contest, a chaque fois que j'ai corrigé des défauts de comportement ca m'a fait progressé ou au pire, j'ai pas perdu de place... d'ahbitude, ca me fait plutot degringoler
Palmipedus: hum j'ai pas la motiv, sur ce contest
Zorg1: pareil pas mieux
BigUP: Zorg1, Palmipedus, 600 lignes de python... vous pouvez le faire ! ;)
YannT: pas de motiv non plus
Gh0stm4chine: je galère depuis ce matin.. rien submit.. la bonne nouvelle c'est que mon classement bouge pas, sinon j'aurai totalement craqué ^^"
YannT: je crois que je suis encore cramé d'OOC :D
ameler: :p
Magus: argh bordel la gestion des collisions de l'enfer ><
Magus: je cherche comment coder ça sans faire une complexité de l'espace
Snef: y'a pas moyen d'hardcoder les différents cas et juste lire le resultat dans les simu ?
Magus: ?
Magus: reformule la question
YannT: if (collision.pacCount() > 2) { throw new UndefinedBehaviorException(); }
Snef: Par exemple dans le cas de collisions à 3 pac mans, tu teste toutes les combinaisons de collision tour 1 comme ça dans la suite du jeu quand tu veux simuler une collision tu as juste à regarder à quel cas elle correspond et à lire le resultat
Magus: c'est pas gérer une collision le souci
Magus: le souci c'est que faire une collision peut provoquer une autre collision
Magus: un pac veut bouger sur une case qui est occupée par un autre pac, c'est autre pac veut bouger ailleurs mais en fait il a une collision donc il va pas bouger
Magus: donc le premier pac fait lui aussi une collusion avec lui
thoip: en fait faut gerer les collisions d'ttaque et les collisions entre tes pacs.
Magus: on est d'accord que si un pac paper est assez stupide pour bouger sur un pac scissors qui lui ne bouge pas, le pac paper va mourir
Magus: hein ?
351062: Oui.
thoip: sauf s'il y a collision
thoip: s'il y a un troisieme pac qui rentre en collision sur le scissor immobile tu ne mangeras pas
Magus: oui je parlais juste de 2 pacs la
Magus: donc le referee autorise le suicide
Magus: ça me va :D
thoip: tu peux aussi aller dans un mur cela plante pas
Neumann: C'est pas un peu overkill de commencer par la simu étant donné que tu vois pas l'ennemi 90% du temps ?
Neumann: Je dis ça ..
Magus: c'est pas comme si j'allais coder une heuristique de toutes façons
Magus: puis bon le moteur la seule partie chiante c'est les collisions
Neumann: C'est con, c'est ce qui a gagné les 4 derniers contests
Magus: le gagnant de OOC n'était pas full heuristique, non ?
Magus: (celui de UTG je me souviens plus, c'était peut être le cas)
Neumann: Bah c'est pb4, et ce qu'il a fait ressemble plus à une heuristique qu'une vraie simu
Magus: il avait au moins le moteur pour simuler les mouvements de l'adversaire
Magus: je dis pas que je vais beaucoup utiliser ma simu, mais c'est presque impossible que je m'en serve pas
Neumann: Oui mais c'était pas une simu au sens classique, c'est un truc adapté (i.e. quand il tire, il simule pas le tir sur un ennemi, il simule un tir sur un swarm d'ennemi potentiel)
Magus: je dis pas le contraire mais au final c'était une simu quand même. La pour l'instant ma simu je suis pas posé la question de ce que je fais avec le fow, mais ça empêche pas de déjà simuler pour ce que tu vois
Magus: (et puis déjà pour tes propres mouvements, simuler ça permet d'éviter de t'autobloquer facilement)
Neumann: Certes
BigUP: oui, important lorsqu'on est en Speed je pense
BigUP: c ame fait penser qu'il faudrait que je gère rellement 2 tours pour chaque PAc en Speed dans ce cas....
YannDev: au final simu utile du coup ?
Aprill: Salut ! :) Des gens de l'école ENSIMAG ?
JBM: elle existe encore cette ecole?
BlaiseEbuth: Ca existe ?
Aprill: lol :D
JBM: BlaiseEbuth: et toi tu lagges
BlaiseEbuth: Oui... :(
EricSMSO: Salut Aprill, ne les écoute pas. ENSIMAG rulez
JBM: pokemon rulez aussi, ca veut pas dire qu'ils existent
Aprill: haha :p Vous me déconseillez cette école ?
JBM: ben si tu veux ressembler a EricSMSO ca te regarde
EricSMSO: 🤣 🤣
nicola: Aprill, tu es en prépa ?
Aprill: lol :), nin Nicola je suis en BTS et j'ai vu qu'on pouvait la rejoindre en alternance mais je sais pas trop les attendus ...^^
Deanna: arg, faire des maths a l'ecole, quelle idée
ameler: Yes ENSIMAG <3 :p
TiBiscuit: Coucou! Vous savez comment on peut afficher des messages au desuss de la tete des pacs? merci!
JBM: commande cachee MSG blablabla?
Deanna: en lisant les instructions? '-'
YannDev: c'est dans le code source du refere
domak: tu mets le message après le move
TiBiscuit: xD merci deanna de ton commentaire, tu dois te douter que j'ai un peu regarde xD merci les autres
Deanna: Append text after any command for a pac and that text will appear above that pac
Deanna: C'est ecrit avec les autres debugging tips ;)
Deanna: je sais pas quel nom ca a en francais mais je suis sure que c'est dedans
Deanna: mais yen a d'autres qui peuvent t'aider a debugger donc je te conseil de lire cette partie
ZobZob: Le timer de 50 MS, c'est à partir de quand ? juste après la première lecture d'input ?
JBM: je crains que ce ne soit juste apres la premiere ecriture d'input plutot
Haashi: ZobZob, fais toi une marge, genre 48ms
Haashi: apres la lecture du dernier input
Drazyen: C'est difficile d'estimer combien de temps dure notre tour d'après le serveur. Quand je fais des tests, la récupération des input prend déjà plus de 50 ms x')
JBM: houla ca sent le roussi pour toi
ZobZob: oh, c'est 50 MS à partir du dernier read d'input du dernier pacman ?
Drazyen: Ben, je me demande
Drazyen: Je ne timeout jamais
egaetan: à partir du premier read du tour
JBM: ce serait trop facile de tout lire sauf pas grand chose de la fin pour avoir du temps gratuit
ZobZob: ça doit être après le 1ier read alors, si je time du début du while à la fin je suis à 100MS++ par tour, et je ne timeout pas
Drazyen: Ou alors je sais pas chronométrer en C
JBM: egaetan: je pense que le referee n'attend pas que tu lises pour demarrer le chrono
JBM: parce que ca aussi, ca serait trop facile
Drazyen: Ah ouais, il faudra peut-être que je décale à après mon premier scanf
Drazyen: C'est peut-être le temps de traitement par le serveur qui est un peu long
Drazyen: Quand il récupère les input des deux joueurs
JBM: Neumann: t'as toujours les foirage de pseudo avec pidgin?
egaetan: JBM, c'est sans doute vrai
JBM: Neumann: j'ai 3 pidgins de couramment connectes sur ce compte-ci, et un seul auquel ca arrive, je cerne toujours pas
Neumann: JBM : bah à chaque reboot du chat
Neumann: Sur mon unique pidgin
JBM: la, je vois un 154906 qui traine en haut de la liste
JBM: je sais pertinemment quel pc c'est
JBM: mais les autres vont bien
ZobZob: Je viens de tester pour les timeout, pour info je timeout à partir de 65 MS après le read du premier input du while, et ça au bout de 7 tour en ayant répondu au bout de 1 sec au premier tour, donc c'est à la zob en gros le timeout
ZobZob: avec une lecture de tous les input à la louche en 1-2 MS, donc dans tous les cas ça ne timeout pas à 60 MS après read d'input
Drazyen: Le premier tour est spécial.
ZobZob: Oui c'est écrit, j'ai mis 1 sec pour être sur que c'était pas une moyenne du 1ier plus quelques suivants
Drazyen: Oh
YannDev: bon bah j'ai recodé mon ia de 0
YannDev: j'ai déjà regagné 1000places
YannDev: je bats des top 200 mais je suis pas solide en pvp :/
nicola: YannisDev, mets un peu de hasard dans ton algorithme. :grin:
YannDev: Hm
Magus: si on veut faire aucune action c'est possible ?
Magus: on peut faire WAIT <id> ?
YannDev: tu peux ne donner aucune action
Magus: tu prints une ligne vide ?
joelthelion: print()
Magus: ok
joelthelion: je crois
YannDev: En fait actuellement je prends la forme gagnante du joueur le plus proche si il est à 3 blocs ou moins. Ce que tu me suggères nicola c'est de prendre une forme aléatoire ?
YannDev: après ya autre chose que je dois fix, c'est le fait que mon pac se jette dans la gueule du loup
YannDev: c'est super frustrant :')
YannDev: et sur quasi toutes mes défaites je perds juste parce que je meurs
nicola: Je déconne, c’est juste qu’au cas où, si l’aléa est en phase…
nicola: Bon, s’il n’est pas en phase, tu relances.
YannDev: en phase ?
YannDev: si il a pas de cooldown par exemple ?
nicola: Ben, l’aléa que tu colle fait que ton algorithme est meilleur.
nicola: colles
YannDev: je pense à changer le rayon quand même
YannDev: 3 c'est trop peu j'ai gagné beaucoup de parties (et aussi perdu) parce que deux pacs apparaissent juste à côté du super pellet
nicola: Si l{aléa fait que c’est moins bon, tu relances. Ça finira peut-être pas pondre un truc mieux.
YannDev: j'ai pas fait de simu ^^"
YannDev: j'ai juste codé un moteur
Magus: j'ai codé le moteur et une simu, maintenant on va tester si ça marche (bon aucune chance que ça marche du premier coup)
Drazyen: Cette patience légendaire :O
Magus: bah dis donc, ça marche pas du premier coup, je suis sous le choc
Neabfi: c’est étonnant :sweat_smile:
Magus: ok ça commence bien, j'ai un pac qui veut se déplacer sur lui même
Magus: et il veut se manger lui même
YannDev: ah
YannDev: :')
Gh0stm4chine: un jour j'apprendrai à faire un moteur et une simu :)
YannDev: tiens je vais tester de jouer contre moi même
thoip: tu peux jouer contre toi même?
Magus: oui dans l'ide
YannDev: bon bah j'ai gagné contre moi même
Magus: ah merde faut output SWITCH 2 PAPER et pas SWITCH PAPER 2
thoip: tu fais comment pour te selectionner?
YannDev: tu supprimes l'ia de base
YannDev: et après tu as un plus qui apparaît
YannDev: et tu peux te choisir
Boulet: bon retour à l'IA de cette nuit
BenLvre: bon ça pourrait être pratique que je commence à me représenter la grille
Boulet: tout ce que j'ai codé aujourd'hui est bon à jeter
YannDev: dommage :/
YannDev: ton ia soumise contenait ce que tu avais codé ajd ?
Magus: mon IA arrive à faire un tour sans crasher \o/
YannDev: gg !
Boulet: :clap:
YannDev: go submit :')
dbdr: ça passe gold ça
YannDev: gold c'est top combien de bronze à peu près ?
dbdr: 1/9
YannDev: là je suis top 648
Boulet: trop bas
YannDev: et j'ai pleins de trucs pétés
Magus: 1/9 ? j'aurais dit un peu plus non ?
dbdr: enfin vu la taille, sans doute moins
Magus: de mémoire je dirais que 50% des bronzes vont être silver, et 50% de silver sera gold
YannDev: bon on verra
Boulet: dans les 400 grand max
Magus: donc j'aurais plutôt dit 25% de bronze en old
Magus: *gold
Boulet: apres les serveurs vont tomber
Boulet: :D
Magus: ça c'est un autre problème :D
dbdr: gold à 600 j'espere pas...
Magus: bah vu qu'on est 2700 en bronze
Magus: je pense pouvoir affirmer qu'on sera au moins 600 en gold
Boulet: ah gold
Boulet: pardon je pensais qu'on parlait silver
dbdr: :scream:
Boulet: a l'ouverture
Magus: a l'ouverture je pense pas
Magus: le lendemain, oui
dbdr: le passage légende va etre fun
weweno: mayday mayday, je ne comprends pas pourquoi malgré le speed activé, ils avancent un seul pas, alors que l'ia adverse avance de deux pas
YannDev: alors en gros
dbdr: surtout avec le RPS :D
YannDev: si tu lui dis d'avancer que d'un pas
weweno: qlq'1 a une idée !!
YannDev: il avance que d'un pas
YannDev: donc il faut lui dire d'avancer de deux par rapport à sa position de base
YannDev: moi j'ai recodé un plus court chemin exprès pour ça
Lulemair: Comme ca marche pour les prochaines ligues d'ailleurs ?
C'est mon premier challenge sur CodinGame. (Meme pour les palliers precedents, j'ai pas trop compris non plus)
weweno: j'ai donné une coordonnée plus loin que deux pas
Lulemair: comment*
YannDev: tu aurais un replay weweno stp ?
YannDev: Lulemair, un boss est introduit dans la ligue
YannDev: et si tu es au dessus du boss
YannDev: tu rankup
Boulet: bon en fait je vrois que je vais m'arreter l
Boulet: flemme de refaire une heuristique
Boulet: et plus grosse flemme de me taper e moteur
weweno: 2779403632f3c53592bde1a4471ed06ab261f21f
Lulemair: Du coup pour arriver en legend faut affronter une AI tres forte ?
Boulet: weweno: le lien c'est mieux
dbdr: moi j'ai 82a22a0bffffffff2080820dd55f55760020023d7755dd7888888ad5f5f5f56280080bdd5d7577a808088d55d5755680fffffd7dd77d78880000000000003fff
Boulet: Lulemair: .non faut etre mieux classer qu'une IA normalement tres forte
YannDev: le boss de légende c'est une simu ?
dbdr: c'est l bot d'un joueur
Boulet: Le boss legend n'existe pas
dbdr: donc ça dépend
YannDev: le boss de gold*
Gh0stm4chine: je viens d'apprendre le truc du speed.. à chaque fois je donnais que la pos d'à côté lol
LimaceHurlante: le boos legende est une legende ?
Boulet: le boss de gold n'est pas encore ecrit
Lulemair: Dak merci !
Boulet: LimaceHurlante: oui
YannDev: wait je bats un #242
dbdr: ça sonne tres philosophique ton truc Boulet :)
YannDev: c'est honteux
LimaceHurlante: :joy:
YannDev: pourquoi je suis que 600 :'(
Boulet: parce que il faut battre plein de 242 pour etre 241
dbdr: parce que un 900 te bat YannDev
YannDev: Ah
YannDev: merde
YannDev: faut que je trouve le replay
Boulet: voila
Lulemair: Y'a 2j j'etais top 100 J'ai pas push de modif depuis, je me maintenant 850 x)
YannDev: ça doit être à cause de mes teubés de pac qui sautent sur les ennemis
YannDev: alors qu'ils sont perdants
Boulet: il m'arrive de battre illedan
Boulet: et pourtant je ne suis pas #1
Boulet: (bon c'est vrai que ce n'est pas souvent :D )
YannDev: dbdr tu aurais un replay du 900 stp ?
Boulet: YannDev: c'etait une maniere de parler
dbdr: c'était rhétorique
YannDev: Ah x))
dbdr: mais regarde tes last battles
dbdr: je suis sur que tu vas trouver
YannDev: j'en ai regardé quelques unes
YannDev: et en général je lead en farm
YannDev: mais je perds parce que je meurs
dbdr: ça aide pas
YannDev: en sautant sur le pac ennemi
YannDev: alors que je suis censé perdre
YannDev: :')
Boulet: si tu es en gros à 50% de victoire dans ta zone tu es correctement classe
dbdr: yapluka
Boulet: bon #151
YannDev: gg
Boulet: on ne touche plus rien
Boulet: on verra demain soir
YannDev: j'ai perdu à 2points près contre le 139ème
YannDev: ...
YannDev: quel dommage
weweno: ou trouver le lien du replay ?
YannDev: dans last battles
weweno: je vois que le seed
weweno: pas d'url
weweno: ok pigé
weweno: https://www.codingame.com/replay/460348596
Boulet: du coup c'etait quoi la question ?
weweno: par contre le code est en local je fais un push pour l'avoir en replay
Boulet: non pas besoin
Boulet: tu peux aussi partager tes match ide
YannDev: bon j'ai submit avec un >= au lieu d'un > et ça a l'air de fonctionner
YannDev: c'est incroyable ça mdr
Boulet: par contre ton bot ne declanche pas le speed weweno
YannDev: weweno il faut faire SPEED idPac
YannDev: pour activer le speed
YannDev: et chaque pac ne peut avoir qu'une action par tour
YannDev: donc tu peux pas speed et move sur le même pac
Boulet: regarde le replay et tu verras que ce n'est pas le pb YannDev
Boulet: sinon la partie serait FINIE
Boulet: pour action invalide
Boulet: j'avais pas vu
Boulet: gg egaetan
weweno: je viens de submitter avec speed
Eribor: Salut à tous, il faut absolument 100% des résultats à un exercice pour voir la solution des autres ? J'ai 71% sur batman et la bombe et il me manque juste un saut pour finir les problèmes à chaque fois, j'aimerais comparer mon code à ceux des autres pour trouver la solution ça fait 2 jours que je suis dessus
Boulet: Eribor:oui
Drazyen: Eribor -> Oui.
Boulet: lequel de batmann
Eribor: le premier batman :)
Boulet: quel langage ?
thoip: tu peux regarder les parties finies et les mettre dans l'ide
Eribor: en Python
Boulet: ...
JBM: (dingue, le webchat a oublie de scroll)
JBM: on devrait jamais quitter pidgin
Boulet: comme d'hab :D
weweno: https://www.codingame.com/replay/460476962 j'ai le souci sur ce replay, au 3eme tour
weweno: mes pacs n'avancent pas malgré que le speed est activé
Edjy: peut être que tu ne vise que la case adjacente
thoip: faut faire un move de 2 cases
Edjy: donc tes pacs s'arrêtent dessus après le premier move
weweno: non ma commande est
weweno: MOVE 0 16 7 | MOVE 1 23 5 | MOVE 2 5 7 | MOVE 3 13 3
Boulet: ton pack 2
thoip: MOVE 1 23 5 c 'est un deplacment d'une case
Boulet: part de 5 6 donc un seul move a faire
weweno: ok autant pour moi
neorel: Le modulo fait n'importe quoi ou c'est moi ?
YannDev: tu as du mal le coder je pense
neorel: (15 - 1 + 35) % 35 = 0 ???
YannDev: ah non x)
neorel: Je devient fou!
Boulet: neorel: quel langage ?
Lulemair: Tu le fais en quel language ? S'il est pas typé t'as pt'etre des valeurs en string ?
BlaiseEbuth: Ouai mais t'es sûr que le calcul est bien fait avec ces valeurs là ? C'est quoi ton code ?
neorel: js
Lulemair: Ca vient de là je pense :D
Boulet: c'est pas == ????
neorel: oh... kes valeur string
neorel: je vais checker
Boulet: ah non je suis con
Boulet: pardon
Lulemair: Les joies de JS quand 4 + "1" = 41 mais 4 - "1" = 3
Lulemair: x)
Zorg1: d'un autre côté c'est documenté :p
BlaiseEbuth: 1 : c'est logique
BlaiseEbuth: 2: si t'es pas content utilise un vrai langage
BlaiseEbuth: :grin:
WhatTrickeryIsThis: le - c'est pour les operations arithmetiques et + c'est concatenation. Pas vrai?
Lulemair: Le + peut faire arithmetiques ou concatenation. Mais pas le -
WhatTrickeryIsThis: Dîtes c'est quoi ce bordel? on est envahis de codeurs à ce contest :D
BlaiseEbuth: Bah y'a des prix... Du coup tous les intéressés débarques...
WhatTrickeryIsThis: y à au moins 12 millions de submits
Gh0stm4chine: Les timeouts commencent :(
WhatTrickeryIsThis: c'est quoi le prix ?
neorel: C'était bien ça, merci :D
Magus: le premier prix c'est un écran
Magus: mais bon vu que le temps que ça prend d'être premier, c'est jamais rentable de jouer pour les prix :>D
Zorg1: une balade en vélo à Sarcelles
Magus: autant faire des heures supps
WhatTrickeryIsThis: mais on a déjà un ecran
WhatTrickeryIsThis: à moins que
Magus: parle pour toi
Magus: je code sans écran
WhatTrickeryIsThis: Automaton2000 t'as même pas d'ecran en fin de compte
Automaton2000: c'est une question de préférence
WhatTrickeryIsThis: voilà exactement
Zorg1: on verra les gens qui popent soudainement au top Dimanche Prochain
Magus: avec des prix on a parfois quelques IA hider
Magus: mais bon faut pas déconner, ça dépasse rarement 2 ou 3 personnes
WhatTrickeryIsThis: à ce propos il en est où Beber ?
Magus: aucune idée
Zorg1: déjà au dernier contest il a seulement été là les deux premiers jours
Magus: il est vieux et y'a le covid19, j'espère qu'il va bien
WhatTrickeryIsThis: il doit encore être sur le code ocean contest
Magus: "tiens mais pourquoi mon code il bug c'est bizarre"
Magus: target = NULL; for (Pac* pac : target->pacs)
Magus: bon j'ai une IA qui crash pas \o/ https://www.codingame.com/share-replay/460502228
Magus: mais avec une superbe eval random
Zorg1: ah c'est pour ça que tes pacs dansent la gigue ?
Magus: bah dans un jeu comme ça, le full random en moyenne va te faire faire du surplace
WhatTrickeryIsThis: tu switch pour rien du tout :)
JBM: wtf un copyright claim sur la partie "jupoulton raconte le challenge" de mon stream
JBM: le monde merveilleux de youtube
Magus: oO
JBM: vous entendez de la musique la-dessus vous?
BlaiseEbuth: lel
Magus: (donne l'url)
Zorg1: j'ai copyrighté la voix de jupoulton
Magus: (je vais taper JBM dans youtube j'ai la flème)
JBM: genre jmen souviens par coeur
WhatTrickeryIsThis: tu devrais avoir honte ! ou bien rembourser codinGame de cette afron
JBM: https://www.youtube.com/watch?v=7S6ajmcQ6B0&feature=emb_logo
Magus: le claim est à quel timestamp ?
Magus: c'est toute la vidéo ou un timestamp précis ?
JBM: juste la partie jupoulton
BlaiseEbuth: Ouai fin c'est une musique libre de droit ça
Magus: pauvre JBM qui voulait monétiser son stream
BlaiseEbuth: C'est copyrighté par otis
JBM: bon, ben maintenant je saurai que cette musique que j'avais meme pas remarquee au premier passage est "claimed" en tant que "nightcall" de GSPR, copyright owner WMG pour le compte de Spinnin' Records
Topinambour: c'est super léger la musique en plus
JBM: surtout avec et jupoulton et moi qui parlent par-dessus
BlaiseEbuth: Et jupoulton il a payé les droits lui ?
JBM: c'est pas comme si on comprenait quoi que ce soit a ce moment la
JBM: jvais remplacer ca par un appel au boycot de WMG
BlaiseEbuth: Spinnin' records fait de la musique gratuite...
JBM: gratuite mais pas libre apparemment
JBM: en tout cas j'ai pas sciemment les droits
BlaiseEbuth: Spinnin' Copyright Free Music is free to be used and monetised by independent Creators on Youtube & Twitch, without the risk of running into a Content ID or copyright claim.
BlaiseEbuth: Dans la description de nightcall...
JBM: mais est-ce que c'est bien le cas de cette musique?
JBM: interessant, t'as un lien?
BlaiseEbuth: https://www.youtube.com/watch?v=jnLQJvkPkB8
JBM: ah ouais, c'est assez clair comme message
JBM: tentons l'abort de mute et le copyright dispute alors
JBM: bon ben c'est bloque pendant le processing
JBM: que ca m'empeche pas d'aller chier publiquement sur WMG
Zorg1: ah encore un patent troll ?
JBM: copyright ici, mais c'est le meme esprit
JBM: rha, les annotations sont bloquees aussi
JBM: bon, noter l'URI dans un coin pour plus tard
JBM: chaque jour que je passe sur youtube effrite un peu plus ma foi en la nature humaine
Magus: bon bah je crois que j'ai un moteur et une simu qui marche, c'est déjà une bonne chose de faite
Magus: sélectionnons un algo de recherche au pif
BigUP: t'as mis combien d'algo de rechreche ?
BlaiseEbuth: AG... :grin:
Magus: bah j'ai aucun algo de recherche pour l'instant, je faisais le moteur
Magus: le fais random move :D
Boulet: wala: arretes de m'empecher de monter
Boulet: merci
Boulet: :D
lordgun: Hello, vous savez quand ouvre la ligue argent siouplé ? ce soir minuit ? ou demain dans la journée ?
leojean890: demain 18h
leojean890: Boulet alors t'as changé d'approche ?:P
lordgun: merci !
Boulet: non
BlaiseEbuth: C'est marqué.
BlaiseEbuth: merde
Boulet: flemme
leojean890: moi jsuis 117 là mais c'est pas stable
BlaiseEbuth: (╯°□°)╯︵ ┻━┻
leojean890: tt à 'heure j'étais assez content mon submit m'a mis 96
leojean890: mais hop 1h30 de pause et en rebvenant 150eme :p
leojean890: comme d'hab quoi
leojean890: il est temps de changer totalement d'approche je crois xD
Boulet: c'est juste n'imp le leaderboard ka
Boulet: le meme code fini 90 ou 265
egaetan: change de code
Boulet: gnagnagna
Boulet: mÔssieur top 20
Boulet: :p
egaetan: haha rejoins moi il rest de la place
Boulet: si je pouvais
Boulet: je te marcherais dessus
Boulet: mais bon j'ai pô d'idée
Boulet: mais alors pas du tout du tout
Boulet: ah si
Boulet: Switch egaetan
Boulet: c'est bien ça comme code
VilBoub: =)
JBM: $ git commit -m'Not being stupid phase N: include the main source file in version control'
JBM: les streams ca rend passablement distrait
dbdr: lol
Boulet: git log
Boulet: if only I know
dbdr: comme quoi il faut bien un script qui sort le code de git pour le submitter
dbdr: :P
dbdr: one day...
JBM: c'est vraiment le genre de truc jamais assez urgent pour arriver
JBM: par rapport a l'alternative
JBM: de toute maniere y'a dependance sur "implem un client (partiel) CG"
JBM: donc j'aurais besoin pour des trucs plus pressants
JBM: mais que je repousse quand meme
dbdr: c'est 3 lignes de python
dbdr: en crade
Boulet: c'est du python....
JBM: je suis trop perfectionniste pour ca
JBM: je veux pas juste push un blob
dbdr: une belle API et tout?
dbdr: clever and beautiful
JBM: il faudrait qu'il passe la CI rapide et qu'il condense le multifichier
dbdr: and imaginary
leojean890: Boulet ouais c'est trop serré :s 265 carrément avec le même code ?;o
Boulet: oui
Boulet: enfin non ls 265 a du code mort en plus
Boulet: onc oui
Boulet: tu es en retard
Boulet: :D
leojean890: ah :P ouais du coup c'est chaud d'évaluer le level son code sur un ranking, comme OOC
leojean890: sauf pour les premiers ;)
leojean890: qui classent fixe au dessus car winrate élevé sur nous
leojean890: moi c'est le gros yoyo entre 95 et 155
Snef: ça sera surement mieux en silver (et encore)
leojean890: depuis hier soir
dwarfie: tu peu meme dire entre 95 et 225
leojean890: ouais en silver ça sera sûrement le bordel mais moins :p
Snef: le nombre de match par submit augmente également avec les ligues non ?
leojean890: dwarfie quand mon code rank en dessous de 155 je considère que la version n'est pas bonne et je change ;p
dwarfie: c'est les joies des classements qui sont plombé par le spam submit
leojean890: même si vu l'état du truc j'ai tort de me baser sur ça
leojean890: 225 je l'ai eu ouais avec une autre version et bah j'ai changé des trucs :P mais c'est tellement pas fiable que l'improvement à faire doit être plus conséquent
dwarfie: je parlais du mien qui oscille de 95 a 225 depuis que je l'ai submit
leojean890: ah avec le même ok^^
dwarfie: avec le meme et sans le re-submit ... c'est dire
leojean890: tu le laisses et tu vois comment il évolue quoi
leojean890: je comprends
leojean890: bah les niveaux sont serrés
leojean890: il nous faut une vraie amélioration pour entrer dans le top 50:P
dwarfie: c'est meme pas que c'est serre .. je perd contre des trop 20 sur leur run et lamine le reste ... donc super random le classement
leojean890: si tu as des bons winrate en dessous tu peux resubmit :P après ça dépend des joueurs je pens
leojean890: genre une IA est adaptée à tel ou tel joueur
leojean890: oense
leojean890: pense
leojean890: t'as prévu de bons trucs pour la version suivante ?:P
dwarfie: c'est bien ca qui est foireux ... c'est random suivant si t'as de la chance dans le tirage des adversaires , random de si tu es dans le ten des top , random de tout ... pas nouveau , ca fait 2 ans qu'on sait que ca marche pas pour ca le trueskill ...
dwarfie: pour la suivante ... oui , deja faire que le bout de code qui fait rien soit declenché de temps en temps deja :D
leojean890: ouais.. c'est pour ça qu'il faut améliorer nos IAs pou en faire une qui reste dans le top 20;)
leojean890: tu proposerais un autre algo de classsement ?:P
leojean890: 3500 personnes ont soumis leur code
leojean890: bcp plus que OOC
dwarfie: deja je prend un bouclier et dit que je limiterai le nombre de submit par heure .... parce que le classement a jamais le temps de se stabiliser avec des clowns comme kovi ...
dwarfie: y'a pas un moment ou je le vois pas en run ... ca et ceux qui lancent 5 ou 6 run en meme temps ... ca fout la merde
ThomasNicoullaud: 10 submit par jour
ThomasNicoullaud: 10€ les 10 submits supplémentaire
ThomasNicoullaud: on a enfin trouvé le modèle de rentabilité de CG
dwarfie: tien , bien vu ThomasNicoullaud ... ca ca peut etre une idée qu'ils accepteraient ;)
Haashi: p2w codingame
ThomasNicoullaud: on a aussi fait une sorte de pay2win
R4N4R4M4: Entré dans le top50, j'espère que ça tiendra jusqu'à Silver :D
R4N4R4M4: avec juste recherche de la pillule la plus proche, faut que j'améliore ça
ThomasNicoullaud: "juste" ?
R4N4R4M4: mouais, y a quelques heuristiques :D
dwarfie: oui , il s'appelle juste .... toi c'est thomas mais lui c'est juste ... juste ?
R4N4R4M4: je prends la 2ème pilule dont la valeur de passage est la plus élevée
ThomasNicoullaud: tu m'as perdu
egaetan: Pourquoi pas la première ?
R4N4R4M4: Je vise la 2ème pour profiter du Speed
egaetan: et si elles osnt à l'opposées ?
R4N4R4M4: Ma formule pour trouver la pillule à viser, c'est : distance + (1.5 si distance == 1) + age ^ 0.2 - valeur pilule 2 si distance == 2 :D
leojean890: ouais le classement peut pas se stabiliser avec les spam submitters abusifs xD
R4N4R4M4: * pilule 1 à la fin pardon
Boulet: tu parle de moi leojean890 :D ?
leojean890: kovi ouais il spam de ouf mdr
leojean890: Boulet je répondais en retard à dwarfie xd
Boulet: me suis senti visé :p
Boulet: sais pas pourquoi
leojean890: bah moi parfois je spam mais pas lgtps, j'affine des params
**dwarfie vois boulet dans l'objectif de son fusil se snipper ;)
leojean890: en plus ça n'a pas de valeur du tout le résultat d'un submit donc jsp pk je fais çamais bon xD
Haashi: R4N4R4M4
Haashi: ton age
leojean890: gg R4N4R4M4 ;p
Haashi: c'est l'age depuis la derniere fois que la pastille est dans ta ligne de vie
leojean890: plus propre que nos trucs qui bloquent entre 90 et 150:P
R1FA: R4N4N4M4 sinon tu calcules la distance, si c'ets 1 tu remplaces par 2 et si c'est 2 tu remplaces par 1
Valbou: @CG: le générateur de stub de Rust semble avoir un soucis : let row = input_line.trim_end().to_string(); // one line of the grid: space " " is floor, pound "#" is wall
le trim_end() ça pue sur une ligne avec un "tunnel"
egaetan: et si tu ne l'as jamais vue c'est 0 ?
R4N4R4M4: LOL
R4N4R4M4: l'âge c'est le round en cours moins le dernier round où la case était visible
R4N4R4M4: C'est apparemment un critère important, ah oui, j'ai mis un facteur 0.01 devant, sinon c'est trop restrictif
R4N4R4M4: 0.01 * age ^ 0.7 (le 0.7 c'est au pif)
R4N4R4M4: R1FA ah oui, bien vu la permutation :D
R4N4R4M4: Pour le shifumi simultané, vous prenez la forme qui gagne ou celle qui perd ?
lhm: Est-ce qu'on connait l'horaire d'ouverture de la ligue silver svp ?
b0n5a1: 18h00 normalement
egaetan: vers 18h
R4N4R4M4: C'est demain
lhm: Ok merci
Nayor: Perso je suis coincé entre 200-300 avec un BFS de 5 à chaque tour (+ je timeout), un peu de mal à profiter du temps du premier tour pour la suite
Magus: Valbou: oui le stub pour Rust est cassé
QzL: Quelqu'un utilise t'il le fait que la map soit symétrique pour déduire la position et le type des pacs ennemies ? :)
Neumann: Ca serait dommage de pas le faire
egaetan: mis pour en faire quoi ?
Magus: pour conquérir le mon...
Magus: euh pour savoir ou l'adversaire a commencé
Magus: pardi !
QzL: Pour savoir si un pac ennemi d'un type supérieur est proche de toi -> fuir ou switch de type
Nayor: Passé le premier tour c'est un peu compliqué de savoir où est l'adversaire
Magus: tu peux pas savoir exactement ou il est, tu peux juste savoir où il peut être
Magus: (c'est comme OOC)
Magus: enfin la le branching est encore pire que OOC donc je vous déconseille d'essayer de bruteforce les coups de l'adversaire
Neumann: No shit
Shuiza: je comprend pas ... on a la pos des adversaires en input non ?
neorel: Que s'il sont visible
leojean890: 2745 en bronze miam
Haashi: ca y est j'ai été kick du top 100 :(
leojean890: arf, moi aussi j'étais assez stable dans le top 100 hier mais today ce n'est pas la même ;p
leojean890: R4N4R4M4 le dernier round où la case était visible j'avoue c'est logique comme critère car plus le temps passe et plus il y a de chances que l'ennemi ait pillé ton pellet ;P
R4N4R4M4: Oui voilà leojean890 tout à fait
R4N4R4M4: Bon, encore une 20aine de combinaison de critères de combats à tester, et j'attaque la détection des chemins :D
egaetan: tu as un sinus ?
dwarfie: apres , faut faire gaffe ... y'a stable en place et stable en score ...
R4N4R4M4: ah non j'ai pas ça egaetan
leojean890: dwarfie clair :P
leojean890: bah on est assez stable en score mais vu comment c'est serré.. on ne l'est pas en place :P
dwarfie: j'ai perdu 60 places ... mais quasiment le meme score ...
dwarfie: et je suis quasiment sur qu'il y'a des serial scorers .. TADA !!!
R4N4R4M4: Si ta places a changé, je me dis que le score ne représente plus la même place non ? ... :D
leojean890: bah 35.55, 35.54, 35.53 .. 0,02 de moins et 10 places de moins parfois xD
R4N4R4M4: dans ce cas en effet, ça compte pas
leojean890: le leaderboard est un peu comme ça :P
R4N4R4M4: j'ai pas encore regardé où ça se bouscule
R4N4R4M4: mon code est pas encore stable
R4N4R4M4: trop de features
leojean890: un peu partout entre 90 et 2749 :P
leojean890: au dessus c'est un peu moins serré ;P
R4N4R4M4: ah ok, faut dire qu'avec 2750 gus dans le rank, ça commence à faire
leojean890: ouais c'est pour ça xD
leojean890: je suis curieux de voir où ils cut
R4N4R4M4: à #100 juste pour t'embêter :D
BigUP: interessant, je ne passe plus Top100 !?? le niveau est monté tant que ca ?
R4N4R4M4: Y a déjà moi :D
leojean890: xd pour pourrir la bronze pour la fin du contest et du multi quoi xD
leojean890: BigUP je t'ai vu une fois monter vers 65 :P
leojean890: tout à l'heure :p
R4N4R4M4: Je pense qu'ils vont viser les 600
leojean890: mais ça reste assez random
BigUP: j'etais 51eme il y a quelques heures
R4N4R4M4: à voir si il vont couper plus haut pour laisser les 600 arriver progressivement
leojean890: inprécis
leojean890: dur de perdre 50 places comme ça j'avoue
dwarfie: la reponse est oui ... mon code etait 60 eme ... maintenant 185eme ...
leojean890: c'est à la fois le level moyen qui monte + le côté random et serré
leojean890: R4 ouais sûrement
leojean890: c'est pour gold qu'ils vont cuper à 100 comme OOC
leojean890: et la gold sera pas trop pourrie
leojean890: silver et bronze on aura 1000 personnes dans chaque en fin de contest
leojean890: voir +
leojean890: 3500 en tout et des bois très simples
leojean890: donc bon à part faire 10 ligues ..
Mastard: je viens de me rendre compte que ma gestion du speed me portait prejudice
leojean890: et si je faisais des k means sur les positions non vues xD
Mastard: j'ai enlevé tout le speed de mon code... bil + 150 places
leojean890: pour trouver de gros regroupements et y aller vite !!
leojean890: chaud c'est censé aider le speed si tu le fais dès que possible ;p
R4N4R4M4: Je viens d'ajouter un critère de conservation du power, justement pour pas faire speed à certains moments
Mastard: bah j'ai fait une gestion un peu plus poussée du switch, du coup j'arrive a bien eliminer les pacs adverses. Utiliser le speed m'empeche de faire les switchs, du coup faut que je le fasse autrement
leojean890: ah ouais ?
R4N4R4M4: Ben voilà, c'est justement ce cas que je viens de régler
leojean890: j'avais fait un truc du genre
leojean890: ou pour éviter de ne pas avoir la visu sur un croisement
leojean890: de 2 routes
Mastard: perso je lancais le speed que si j'etais sur de ne pas avoir d'ennemi dans une certaine distance
leojean890: c'est dur d'être sûr hehe
leojean890: ça dépend si tu veux jouer sur les kills ou le farm
Mastard: oui, surtout que je me suis rendu compte un peu tard que meme avec le fog on a les positions des pacs enemis au 1er tour
Mastard: je n'attaque que si l'ennemi est pas loin, sinon c'est farm
leojean890: au premier tour comme elles sont smétriques tu les as par déduction au pire :P
R4N4R4M4: Ouais, moi faudra que j'arrête de poursuivre les ennemis au lieu de chercher les pilules https://www.codingame.com/replay/460610680
Mastard: bah oui c'est justement ca que j'ai realisé tout à l'heure xD
leojean890: c'est un compromis à faire
leojean890: jfavorise les pill moi
leojean890: en moyenne
R4N4R4M4: J'ai fini par le bouffer, mais il m'a pris 17 points en attendant :D
leojean890: ouais..
leojean890: bouffer en début de partie c mieux
leojean890: surtout pour une partie à 2 gars chacun
leojean890: pénalisé à 50%
R4N4R4M4: Je pense qu'en fait, mon PAC ne poursuit pas l'autre PAC, il va juste chercher la grosse Pilule, sauf que l'autre PAC est devant lui, et comme je vérifie pas encore les blocages des chemins...
leojean890: ah ouais je vois
YannDev: top 400 :D
YannDev: R4N4R4M4 ta formule sort d'où ? :')
R4N4R4M4: C'est un peu du pif, c'est en attendant d'avoir mieux :D
YannDev: Nice :p
R4N4R4M4: Thx
YannDev: Moi j'ai une stratégie axée sur le farm
YannDev: mais mon soucis c'est que je suis nul en pvp
YannDev: toutes mes défaites c'est parce que je meurs
YannDev: mais j'ai toujours une avance en score...
YannDev: Le pb c'est que quand on switch on peut pas speed :/
R4N4R4M4: Je crois que j'ai gagné pas mal de places en gérant les proximités adverses
YannDev: J'ai essayé un truc nul
YannDev: c'est switch pour la forme qui gagne si ya un ennemi à une distance <= 3
YannDev: comme ça le temps que je switch il m'a speed dessus
YannDev: et il meurt
WalidHamat: Yoo, Je n'arrive pas a trouver des bons coding game pour bien maîtriser
dwarfie: R4N4R4M4 a une grande habitude des labyrinthes .... "prepare to enter the dungeon of the magic minions" :D
R4N4R4M4: J'ai une distance variable entre 2 et 4 selon les speed
YannDev: ah selon si l'adversaire speed ?
YannDev: si il speed la distance c'est 4 et si il speed pas c'est 2 je suppose ?
YannDev: Après mon autre problème majeur c'est que je me jette sur des pacs ennemis :')
R4N4R4M4: Eh oui, je jouais à ça dans ma jeunesse https://youtu.be/FiEgnbqeU0k
R4N4R4M4: D'ailleurs j'y rejoue régulièrement tous les 4 / 5 ans
YannDev: c'est pas très régulier ça
YannDev: xD
LoganWlv: Considere les pacs enemies comme des murs si ton pac ne bat pas leur type
R4N4R4M4: J'ai quand même un critère d'optimisme pour la distance, parce que 4 c'est trop pessimiste. Je prends en compte que 2 pour l'instant, mais 3 est bien aussi
YannDev: Bien vu logan
YannDev: j'ai utilisé les murs pour pas avoir de collisions avec mes propres pacs aussi
YannDev: bon je vais tester ce que ça donne
YannDev: merci :p
R4N4R4M4: Il faut déjà savoir si tu dois fuir ou attaquer. Mon problème, c'est que je n'ai pas encore lié ma recherche de pilule à la présence d'ennemi sur le chemin, donc j'attaque lorsque je suis fort
R4N4R4M4: Quand j'aurai les chemins bloqués par l'ennemi, ma détection ne servira qu'à fuir ou faire comme si l'ennemi était pas là
YannDev: moi je n'attaque pas
YannDev: j'ai juste ma protection avec la distance de 3
R4N4R4M4: Je vais refaire un push sans attaque pour voir, je crois que c'est mieux en effet
YannDev: ouais
YannDev: enfin je pense que l'attaque très locale ça peut être bien
thoip: ca dépend la taille de la carte
YannDev: genre si jamais tu peux tuer l'ennemi en 3 tours c'est value
YannDev: je pense que je vais faire une fonction récursive qui simule le combat sur 3/4 tours
dwarfie: bah ... moi je suis en mode super basic ... je joue par rapport aux inputs et j'oublie aussitot ... donc pour repondre a leojean890 ... oui jj'ai plein de truc a ameliorer ... reste juste a savoir si j'aurais le temps ...
YannDev: tu es top combien ?
leojean890: dwarfie je vois
YannDev: ah 163
YannDev: gg
leojean890: moi j'essaye un peu de détecter l'ennemi en fct de ses positions antérieures
leojean890: sa dernière position connue
YannDev: leo tu joues en attaque ?
leojean890: non je l'ai enlevé
YannDev: ça améliore les perf ?
YannDev: tiens d'ailleurs je te bats en 1vs1 lol
leojean890: ça dépend des parties, faut essayer de le faire au bon moment mais rarement
YannDev: j'en ai marre
dwarfie: moi meme pas ... pour ca que heureusement que la gestions des switchs marchent pas ... ca serait con de commencer a poursuivre si c'est pour l'oublier des qu'il tourne le coin ;)
YannDev: mon ia elle perd contre des gens nuls
YannDev: et elle bat des gens forts
leojean890: YannDev tu farm plus vite que moi ?;P possible après :P faut faire des stats sur N parties avec CG bench:p
YannDev: j'ai lancé une deuxième partie et tu as win
YannDev: je pense que ça dépend vraiment de la map
BigUP: 229eme !! Ha oui, la ! le niveau est monté !
R4N4R4M4: Une détection naïve de l'ennemi m'avait fait gagner 150 places au moins
leojean890: dwarfie c pareil moi avec les coins j'ai commencé à gérer ça mais c'edst pas du tout opti
YannDev: mais elle te sert à quoi la détection ?
YannDev: d'ailleurs léo ce qui te fait win c'est ton attaque
YannDev: t'as vraiment rien pour l'attaque ?
thoip: a eviter de se faire manger
leojean890: YannDev je fais plus de convert
YannDev: convert ?
leojean890: au pire si tu es pas loin et j'ai un type fort mon mec peut potentiellement venir mais c pas forcément sa prio
leojean890: switch = convert
YannDev: ah ou ok
YannDev: mais donc tu target les gens à une courte distance
YannDev: genre 3
leojean890: je target plus
leojean890: ma détection sert à éviter
leojean890: et ouais distance > 4 je fais rien
leojean890: > 3*
leojean890: entre 1 et 3 à voir
YannDev: Ah sympa la détection
YannDev: distance <= 3 tu fuis ? :')
leojean890: bon faut que jme fasse des kmeans là :P
YannDev: :p
leojean890: < 3
R4N4R4M4: Une détection facile et qui coute rien. Si l'ennemi était visible le tour d'avant et qu'il ne l'est plus, tu comptes les cases invisibles où il a pu aller et si tu en compte 1 seule, et bien il est là :D
YannDev: ça sert vraiment ?
YannDev: :')
R4N4R4M4: oui, c'est avec ça que j'ai gagné 150 places
leojean890: pour esquiver s'il a un type méchant ouais
YannDev: wtf
leojean890: mais j'ai pas gagné 150 places perso avec ça
YannDev: et pour esquiver tu considères l'ennemi comme un mur
leojean890: bcp moins
YannDev: et donc tu calcules ton chemin pour éviter le mur :thinking:
leojean890: R4 l'a sûrement mieux fait que moi :P
R4N4R4M4: J'avais pas mal de features de combat qui on profité de cette détection, c'est pour ça
leojean890: ah ok^^
R4N4R4M4: J'ai une micro gestion des shikumi
YannDev: mais tu prends aussi en compte le potentiel déplacement ?
leojean890: ouais
YannDev: ah
YannDev: tu fais ça comment
YannDev: tu considère 4 murs
YannDev: genre toutes les cases possibles de l'ennemi
YannDev: selon speed/pas speed
leojean890: il est en 5 5 il y a des murs en haut et à gauche je me dis qu'il est ptet en 6 5 ou 5 6
R4N4R4M4: Ah non, j'ai pas prévu le speed t'as raison
leojean890: et vec speed je propage
leojean890: mais pas facile à bien prendre en compte
YannDev: et si jamais tu as ton switch possible
YannDev: tu switch ?
YannDev: ou c'est que en distance <=
YannDev: 3
leojean890: je le fais plus
R4N4R4M4: j'ai un graphe, je m'embête pas, donc je fais for(char dir = 0; dir < NB_DIR; dir++) ...
YannDev: une grille c'est un graphe
YannDev: ^^"
YannDev: c'est une liste d'adjacence
R4N4R4M4: oui, on va dire que je pointe pas sur les murs
YannDev: propre ça
YannDev: jgo manger ++
YannDev: En tout cas la communauté est super cool :D
R4N4R4M4: c'est parce que t'es tombé un bon jour :D
R4N4R4M4: bon ap
leojean890: bon app
BigUP: Qui m'a foutu nu mur d'IA en 220 !?
R4N4R4M4: C'est toi qui fonce dans le mur BigUP :D
leojean890: c'est con si t'étais 50 et n ow bloqué à 220
BigUP: R4N4R4M4, c'est possible que ce soit moi qui ai créé ce mur ... j'ai pas mal submit mine de rien
BigUP: voila, un fois passé, ca va mieux
R4N4R4M4: T'as juste à espérer qu'ils cuttent pas à 200
BigUP: je sais que j'ai un 2eme mur vers 150
leojean890: bah ouais les levels sont serrés
leojean890: bah osef si ça cut ça passe anyway juste après avec le boss;p
leojean890: bronze to silver c trkl
R4N4R4M4: Ce n'est donc qu'indicatif, mais mon dernier push avec attaque : #66 sans attaque : #40
leojean890: gold après ça va être serré
leojean890: ah gg c'est nice comme push :p
leojean890: sans attaque c mieux aussi
BigUP: j'ai l'impression que c'est le fait de ne pas esquiver les attaques qui fait que j'ai du mal a passer le Top220
leojean890: ou en faire peu
BigUP: bon du coup, il ne me restait plus assez de round pour passer top 100
R4N4R4M4: Je vais tenter ma feature de la mort pour le shifumi :D
BigUP: R4N4R4M4, anticiper que l'adversaire va prendre le meme perso que toi et prendre le perso d'apres ?
R4N4R4M4: J'ai ça aussi, mais j'en ai une autre
BigUP: le seul risque c'est que le gars ne change rien et du coup tu te fais eclater.... faudrait regarder comment l'adversaire joue avant d efair eca
R4N4R4M4: Apparemment, ça démarre moins bien au push, on va voir
BigUP: R4N4R4M4, oui le bas de la ligue ne gère pas les changements
R4N4R4M4: Oui voilà BigUP, c'est attendre qu'il fasse son changement et le faire après :D
BigUP: oui, le coup de retard, j'y ai pensé
R4N4R4M4: Faut juste bloquer le speed parce que du coup, moi je faisais speed
BigUP: mais faut bien le gérer
R4N4R4M4: j'avais pas de move WAIT
R4N4R4M4: tiens je devrais en faire un du coup
BigUP: du coup tu perd du temps
BigUP: argh ! a nouveau dans le mur des 220
R4N4R4M4: En l'absence d'attaque, c'est la situation de face à face où tu veux aller de l'autre côté, c'est tout
R4N4R4M4: J'ai une feature random en cas de blocage, mais du coup, je la joue qu'avec les PAC de mon équipe, et si c'est un adversaire, je joue à shifumi :D
BigUP: Ha bah voila, un match contre le 40eme ! :) c'est ce qu'il me faut ! ;)
BigUP: merci R4N4R4M4 ;)
R4N4R4M4: Ah la la tu m'empêches de monter là
BigUP: oui, mais grace a toi, je suis en train de passer le mur des 220 ;)
R4N4R4M4: Bon si c'est pour la bonne cause, ça va alors
R4N4R4M4: Je vais pas faire 40 ce push, je suis pas sûr que ce soit qu'à cause de mon shifumi
BigUP: attend, je regarde notre match
R4N4R4M4: t'as gagné 132 à 131
R4N4R4M4: en 131 round :D
R4N4R4M4: J'ai un PAC qui aurait pu prendre les dernieres pilules, mais il fait le fou ...
R4N4R4M4: https://www.codingame.com/share-replay/460641314
BigUP: R4N4R4M4, comme ca je n evois pas vraiement d'erreur dan ston jeu, juste à un moment un de tes PAcs s'isole dans une zone ou il n'y a plus grand chose
R4N4R4M4: vers 90 95, j'ai un PAC plus près des dernières pillules, mais il fait des aller retour
BigUP: arf ! le mien ne fait pas d'effort pour te bouffer vers le 100eme tour ! ;)
R4N4R4M4: Super cette partie, on va pouvoir bien améliorer :D
BigUP: R4N4R4M4, ha tu dois etre en speed, du coup je ne peux pas te bouffer ;)
leojean890: vous êtes chauds sur les stratégies de fight apparemment hehe
BigUP: leojean890, mon IA pas trop, si elle peut bouffer elle bouffe, mais sans plus
R4N4R4M4: Et moi, j'oscille entre viser un pilule que je pense être en 12 9 et fuir ton PAC quand je le vois
leojean890: moi que dalle:p
leojean890: le fight
BigUP: tin 220eme ! misère
leojean890: jme concentre sur le farm:p
BigUP: leojean890, tu peux coder une attaque basique, ca t'aidera a passer le bas du classement
leojean890: j'en ai codé tkt
leojean890: mais en retirant j'y ai gagné
leojean890: mais après j'hésite à laisser selon les critères
leojean890: mon IA est vachement plus stable là
leojean890: en 3h elle reste entre 100 et 135
neorel: check le abilityCoolDown de l'adversaire pour savoir si c'est rentable de l'attaquer ;)
BigUP: leojean890, moi j'etais stable top 100, mais la ca ne passe plus
leojean890: 19h 22h
leojean890: ma version d'avant était un peu moins stable
neorel: Vous savez comment est calculé le score du ank?
leojean890: on verra combien de temps ça tient
leojean890: c'est la même ia bigup ?
leojean890: neorel "algorithme trueskill"
BigUP: les gens ont codé des trucs qui mettent mon IA a mal dans ceux qui sont entre 200 et 230
R4N4R4M4: #165 avec mon shifumi delay, du coup, je le désactive
leojean890: je vois;o
YannDev: ouais c'est trop tôt je pense
YannDev: par contre pour rekt des simus
BigUP: R4N4R4M4, oui pas etonnant, si tu ne change pas en meme temps que l'adversaire, tu prend le rsique de te faire bouffer
YannDev: ça peut être pas dégueu
BigUP: R4N4R4M4, faut bien réfléchir au cas ou ca peut marcher
YannDev: BigUP concernant les attaques on a tous constatés que c'était pas super utile
YannDev: vu que faire attaque et farm c'est compliqué
leojean890: ça dépend comment tu le fais
YannDev: et si tu fais all-in et que tu foires ton attaque tu perds
leojean890: et quand
YannDev: moi je pensais à simuler les combats
YannDev: et si jamais je peux gagner en 3 tours je le fais
thoip: yanndev une partie de chasse https://www.codingame.com/replay/460649703
BigUP: YannDev, ca ne cout epas trop chere de tenter une attaque, faut juste pas insister de trop si ca ne marche pas
YannDev: gg thoip
YannDev: Ouais c'est ça BigUP
YannDev: déjà je vais coder la fuite
YannDev: et je verrai l'attaque après
neorel: j'ai gagné 40 places en 30 minutes en ne changeant rien a mon code...
YannDev: genius :')
BigUP: punaise ! j'ai un vrai probleme la mon IA a carrément du mal a passer entre 300 et 200 maintenant
neorel: je viens de passe en dessous des 300
YannDev: après BigUP tu fais comment pour gérer l'attaque ?
YannDev: et aussi attends que le board se stabilise
YannDev: je suis top 400 et quand je resoumets je me vois 1000 desfois
YannDev: puis ça se re stabilise à 400
BigUP: j'attaque qu'a 1 case de distance si l'adversaire n'a pas la possibilité de se transformer
leojean890: le board sera jamais stable avant le changement de ligue
leojean890: (ni même après)
YannDev: Ah ça va BigUP
leojean890: la bronze restera desastreuse
YannDev: ouaip
YannDev: :/
YannDev: après c'est marrant xD
YannDev: par contre le "boss" Ai
YannDev: il est un peu claqué
BigUP: leojean890, ca a ete stable toute la journée, cetait top pour tester mes modifs, mais la je ne peux plus tester grand chose dans ces conditions
leojean890: il est pas bon lui indeed
YannDev: pourquoi BigUP ?
neorel: il doit être classé 2000 :p
leojean890: bof y'a trop de mnde et des lvl trop serrés par tranche
YannDev: ça c'est un peu relou
BigUP: YannDev, comme je disais, je pense que les gens geres des choses en plus qui gène mon IA
YannDev: parfois en rejouant les match on a une issue différente
YannDev: Ah je vois BigUP
YannDev: bah le truc qui gène ton IA c'est la fuite
YannDev: si jamais le mec implémente un système de fuite tu perds un de tes points forts qui est l'attaque
BigUP: mais si j'améliore le passage du top 200, je risque de dégrader mon IA pour ce qu'il y a au dessus
YannDev: attend argent au pire
YannDev: vu que tu passeras forcément argent
BigUP: je crois que je vais juste ajouter des petits quick win
YannDev: comme quoi ?
BigUP: on verra bien, sinon faut que je modifie mon code pour eparpiller le bouchon avant de remettre mon code normal
YannDev: t'aurais des replays de tes défaites ?
YannDev: pour voir ce qui va pas
BigUP: contre le 300eme : https://www.codingame.com/share-replay/460652646
BigUP: j'ai pas regardé
R4N4R4M4: Y a un truc bizarre quand on transfère une partie de LAST BATTLES dans l'IDE, ça prend pas toujours la même map
BigUP: contre le 255eme: https://www.codingame.com/share-replay/460652646
BigUP: je crois que le probleme c'est que mon I Ase suicide
YannDev: rejoue des matchs contre neorel
leojean890: R4 c'est un bug alors :o
leojean890: "rejouer dans les mêmes conditions" c'est censé reprendre la même seed
YannDev: ouais contre neorel c'est le suicide
YannDev: c'est aussi le pb de mon ia
egaetan: gg ameler
leojean890: ah ouais 2eme
leojean890: il a dit qu'il se concentrait sur le farm car valeur sure
leojean890: bah jpense qu'il a raison:p
BlaiseEbuth: silver \o/
leojean890: BlaiseEbuth ?
egaetan: j'ai même vu #1 avec 1pt d'elo d'avance
BlaiseEbuth: Tu peux pas test :grin:
egaetan: je pensais qu'il était stable
leojean890: ah ouais bah il est serré avec Illedan:p
ameler: merci egaetan !
YannDev: gg !
ameler: Je fais vraiment rien d'extraordinaire
Vintarel: GG :-)
egaetan: tu nous fait rêver et ça ...
ameler: lol
YannDev: A priori si t'es deuxième ton ia est pas mal xD
leojean890: j'avoue xd
YannDev: Omg je bats Bob
R4N4R4M4: gg ameler
JBM: son code est moins bon pendant qu'il dort
JBM: attends demain matin tu feras moins le malin
YannDev: je le bats une fois sur deux environ
YannDev: non mais de toute façon mon ia fait à peu près la même chose que l'ia de Bob :')
YannDev: farm les pellets visibles
YannDev: et scanner la map
ameler: merci R4N4R4M4
JBM: c'est exactement la section "etre moins con" de ma todo list
YannDev: x)
YannDev: pourtant t'es mieux classé que bob
b0n5a1: à 1200 places près...
YannDev: ton ia fait des trucs intelligents
Snef: vérifie l'info :D
YannDev: AH
YannDev: je le vois 143 moi
JBM: j'ai pas rouvert depuis hier
YannDev: t'es pas 143 ?
b0n5a1: 1431
YannDev: ah
YannDev: le responsive est bug mdr
Colios13: yep pour les plus de 1000
LimaceHurlante: bon je perd 200 place à chaque envoi mais on trouve ce genre de pépite : https://ibb.co/P6JzGds
YannDev: Quand on va dans leaderboard et qu'on tape JBM on voit 143 (142 mtn)
Colios13: tu remarquera qu'il y a un espace entre le 1 et le 4
YannDev: en effet
YannDev: c'est une bonne observation ça
thoip: #327 juste avec un truc pour chasser.
YannDev: tu chasses à distance 1 ?
YannDev: comme BigUP
thoip: non je chasse des que je vois
YannDev: ah
YannDev: c'est risqué
thoip: meilleure ia que moi pour farmer. je change l'objectif.
RomanceDawn: y a pas mal de pays de l'EST dans le top
RomanceDawn: que ce passe t il la bas :thinking:
Vintarel: y avait nerchio à un moment
Vintarel: mais il a chû
RomanceDawn: hum
RomanceDawn: MadKnight ?
RomanceDawn: t'es là ?
JBM: t'as pas utilise le bon keyword
MadKnight: hey
egaetan: Salut MadKnight
MadKnight: je vais dormir
MadKnight: cya Automaton2000 et egaetan
Automaton2000: non, je veux dire que le c++ c'est la vie
egaetan: spakonoe noche
MadKnight: da
JBM: bah, c'est intention qui compte
MadKnight: #fru
JBM: on dirait une insulte prononcee par mon chat
egaetan: on dirait du haskell expanded
JBM: c'est pas lie par defaut, #
JBM: c'est l'operateur de choix pour le golf
JBM: bien utilise, ca economise un max d'espaces/parentheses
Drazyen: Damn, il y a énormément de submits et de mouvements dans mon coin, je navigue de 50 places en arrière puis 50 places en avant tout le temps
Kannely: Ouais pareil @Drazyen, mais plutot de 500 en 500 xD
Drazyen: Quand j'ai submit il y a 5 heures, j'étais monté 250 puis redescendu 350 au bout d'une heure et je suis à nouveau 300 X')
Vry: Ça me rappelle OoC mais en pire ...
Kannely: Ah ouais t'es bien dit donc moi j'étais dans les 500 avant de déco
Drazyen: Ah wtf je t'avais vu dans les 600 et t'es 1000 maintenant
YannDev: j'étais 2500 ce matin
YannDev: maintenant je suis 462
YannDev: ;'à
YannDev: :')
Kannely: ouais mais je me demande si j'ai pas submit de la merde en dernier sans faire gaffe
Drazyen: Ouais mais c'est différent de naviguer dans le classement en faisant un submit et ne faisant rien YannDev ahah
Drazyen: En vrai, entre 300 et 1000, ça se joue à pas grand chose donc si tu as une petite erreur qui s'est glissée dans ton dernier submit, ça peut être ça
Kannely: Ouais je pense que c'est ça haha je vais re submit du coup
Drazyen: Vérifie tes dernières modifs avant de faire ça XD
Drazyen: Vry: OoC me semblait plus stable... mais on est dans les premiers jours encore aussi
Kannely: OoC ça bougeait bien quand même
Kannely: J'ai trouvé l'erreur !
Drazyen: Vas-y, vends-nous du rêve
Kannely: j'avais changé un elif en else tout court et il fallait pas xD
Colios13: moi j'étais 300 ce matin la 550
Drazyen: Colios13: Sans rien faire, ça va, tu n'es pas beaucoup descendu :O
Nayor: Idem, sans rien faire je suis passé de 200 à 300
Drazyen: Kannely: Ah dur le coup du elif ^^"
thoip: parce que toutes les ia se perfectionnent
Colios13: j'ai encore perdu 20 place en 5 min
YannDev: j'ai submit une version de mon ia censée être mieux mais j'ai perdu
YannDev: 40places
YannDev: ..
Drazyen: Tu as de l'aléa ?
Snef: l'aléa c'est le submit pas besoin d'en avoir dans le code ;)
R4N4R4M4: La visibilité passe aussi par le warp des bords ?
WhatTrickeryIsThis: yes
Palmipedus: ha tiens j'ai pas gere ca correctment
R4N4R4M4: bon j'ai pas pris en compte... merci WhatTrickeryIsThis
Palmipedus: bon je vais me concentrer sur un detection de l'ennemy
Palmipedus: c'est utilile vous pensez?
WhatTrickeryIsThis: l'enemy est toujours là à l'angle
WhatTrickeryIsThis: pour te bouffer ;D
Palmipedus: lool, je me demande si implementer un tracing est utile
Drazyen: Si jamais tu as un risque de te faire bouffer parce qu'ils sont du type opposé à toi, ça peut être utile
Mazelcop: pour savoir les pellets mangés par l'adversaire c'est pas mal aussi
Palmipedus: oui je pensais plus a ca
Palmipedus: faut que je fasse des test si j'ai pas trop de chemins
Colios13: Palmipedus tu calcule les chemins les plus opti à prendre ?
neorel: on devrait pouvoir relancer juste un tour avec un nouveau code pour tester des erreurs dans des cas particulier
thoip: lancer mon code dans l'ide neorel
egaetan: Mazelcop tu suis les ennemis invisibles ?
Mazelcop: egaetan pas encore, c'est sur ma to-do list pour demain
neorel: oui, mais c'est au 40e tour qu'il se passe un truc, et pas moyen qu'il se reproduise
egaetan: je ne fais pas non plus pour le moment
neorel: Yep
thoip: charge le replay dans ton ide.
neorel: J'ai une boucle infini apparement quand aucuns chemin vers le superPellet n'est possible
neorel: mais ce cas n'est pas facilement reproductible avec tout l'alétaoire
neorel: https://www.codingame.com/replay/460715598
neorel: Whow, je suis 96!
thoip: si tu as le replay en mettant des logs tu verras ou est ta boucle.
neorel: Ouais, mais ca me parait impossible, j'aimerais calquer des logs pour en savoir plus, mais tu peux pas trop a postriori
thoip: si tu peux faut trouver quand il n'y a plus de logs en ait.
Barons: hello la communauté
Barons: moi j ai une petite question si quelqu'un est chaud : je n arrive pas à comprendre pourquoi mon pac se fait bouffer au tour 9 :
Barons: https://www.codingame.com/replay/460727328
Barons: les deux sont pourtant en speed
BigUP: Barons, je crois que ton pac a raté le virage
thoip: oui mais tu bouges d'une seule case.
QuentinDem: Les pacs sont ralentis lors des virages, le pac bleu est aussi ralentit celui du haut
Barons: ah ok, je n avais pas l info pour le ralentissement au virage , merci
thoip: non les pacs ne sont pas ralenti dans les virages.
Barons: je l'ai raté dans l'énoncé ou fllait chercher pour le comprendre
egaetan: Barons, tu donnes une dist de 1 donc tu gaspilles ton speed
egaetan: tu demandes 23, 11
thoip: barobs non ton move est d'une seule case.
b0n5a1: t'avance que de 1, l'autre te rattrape
Barons: ok, merci , je vais aller voir ça à la loupe
ChristopherArthaud: Bonjour à tous, ça fait plaisir de voir vos discussions, je suis tout nouveau, j'ai débuté la programmation il y a deux semaine. Je suis 1214eme pour l'instant. Je suis loin d'avoir votre niveau mais c'est déjà pas mal. En tout cas merci pour l'expérience que vous transmettez sur ce chat :)
BigUP: ChristopherArthaud, pour un debutant en programmation 1200eme c'est déjà enorme
ChristopherArthaud: Merci BigUP, thoip bronze et général oui
egaetan: bravo ChristopherArthaud et bon code
QuentinDem: Tu es sur quel langage Christopher ?
Barons: ah ouais, bravo christophe
DataWasTaken: salut les gars, petite question est-on d'accord qu'on ne peut pas déplacer un pac et utiliser une compétence le même tour ?
ChristopherArthaud: QuentinDem en javascript
DataWasTaken: top merci de la confirmation :)
Drazyen: Commencer la programmation en JavaScript, damn
Kannely: quelqu'un a fait un floyd warshall en python sans time out ?
ChristopherArthaud: :D Drazyen, pourquoi penses-tu que je n'aurais pas du commencer par le JavaScript ?
cawagame: dans le challenge, comment en swit et speed ?
thoip: tu es en ligue bronze on wood?
b0n5a1: http://chat.codingame.com/pastebin/9a2d0c37-518e-4976-b03b-dbc75e183baf
neorel: Je penses au contraire que c'est le meilleur language pour commencer en 2020
thoip: c'est marqué à la fin de la regle cela a été ajouté quand tu es passé en bronze
serialgg: Hello, vous savez quand est-ce que la ligue silver doit ouvrir ?
Nelimee: Donc maintenant quoi? :p
serialgg: :-)
cawagame: je ne suis pas encore arriver la
b0n5a1: 18h00
serialgg: D'accord, merci !
b0n5a1: lol JBM y'a rien à suivre chez moi (twitch) ^^
JBM: ca te range dans ma liste
b0n5a1: (j'ai jamais rien streamé)
JBM: c'est pas gravem je te parle encore
Valbou: http://chat.codingame.com/pastebin/bd8a4e57-74db-4b98-b6dd-71e0cd126bc7
b0n5a1: je sais même plus pourquoi j'ai créé un compte...je decais pas avoir accès à un truc
JBM: tu peux pas tchat sans si j'ai bien compris
JBM: c'est pour ca que j'essaie de garder le xmpp ouvert pdt les streams
b0n5a1: ha oui ça devais être ça
Valbou: Je suis tombé dans une faille temporelle ? http://chat.codingame.com/pastebin/bd8a4e57-74db-4b98-b6dd-71e0cd126bc7
Magus: tiens ça c'est pas banal, si j'active les pragmas mon code ne compile plus
b0n5a1: Valbou t'es bien en bronze ?
Colios13: c'est quoi ta chaine JBM ?
Valbou: @b0n5a1: oui pk ?
b0n5a1: au cas où t'essayerais ce genre de commande en wood
neorel: ili est pas mort ton pac des fois?
Valbou: non tous alive
Colios13: JBM merci (ta un follower de plus) ! Tu compte re stream sur ce challenge dans les prochain jours ?
Valbou: ça arrive tour 13, donc, il ne s'est pas encore passé grand chose
JBM: j'aimerais bien, mais je pense pas avoir le temps
Valbou: https://www.codingame.com/replay/460761835
Valbou: Le débug est offert par la maison ;)
JBM: au mieux (mais sans pression pac) je ferai une speciale YannT
JBM: pour l'instant j'ai plus la pression sur ma musique en retard et codejam la semaine prochaine
Colios13: Pas tout compris JBM :sweat_smile:
neorel: Tu n'a pas vérifier ton cooldown ;)
neorel: Tu venais de faire un speed au tour d'avant
b0n5a1: Valbou ton abilityCountdown est pas à zéro...t'as fait speed juste avant
b0n5a1: du coup commande invalide
Colios13: ah c'est quel round de la codejam la ?
Gh0stm4chine: ce moment quand tu submit et que ça affiche 10 victoires à la suite :nerd:
Valbou: @b0n5a1: merci je ne l'ai pas vue venir celle là ;)
Valbou: Je regarde...
b0n5a1: message générique d'erreur au lieu de préciser au cas par cas apparemment
b0n5a1: depuis hier soir bon bot yoyote entre 160 et 250 ^^
b0n5a1: mon*
Valbou: c'est dû aux accélérations j'imagine
b0n5a1: ça va c'est stable
b0n5a1: au moins je dévisse pas de 300 places ^^
Colios13: moi j'étais 250 hier soir la 550
neorel: Je viens de passer de 96 a 350 en corrigeant un bug...
b0n5a1: bin remet le bug
b0n5a1: et repush
neorel: suis pas fan des crashs ;p
b0n5a1: si t'es toujours à 350 c'est que ça change rien ^^
b0n5a1: et que tu te ramasses contre un mur t'empêchant de monter
Mimignot: Quelqu’un sais à quel heure ouvre la ligue argent ?
b0n5a1: 18h00
b0n5a1: si qqun oublie pas d'appuyer sur ENTER ^^
Gh0stm4chine: Quand vous n'avez plus d'info sur la position des pastilles, vous faites quoi ? moi je l'envoi à une position random inexplorée, sauf que ça change à chaque tour, et du coup je tourne en rond :(
neorel: Gh0stm4chine, quand tu recois la grille, imagine que chaque enpalcement vide est une pastille
b0n5a1: crée toi tes infos "potentielles" à ta sauce Gh0stm4chine
Fangel: au début tu sais qu'il y a une pastille par case
Fangel: moi j ai 2 arrays: pastilleMax et pastilleMin
Colios13: Sacré classement si tu fais pas un scan des pastilles comme cela
Spifflejedi: tu peux assigner des valeurs aux bonus, pastilles, inconnus et vides. de cette façon une case inconnues reste plus intéressante à explorer qu'une case vide. Ca permet de créer de nouveaux chemings
Gh0stm4chine: Spifflejedi, yep c'est ce que je fais
aducimet: Hello, j'essaie de print des valeurs après un scanf (je bosse en C) quand je print ces valeurs j'ai des chiffres incroyablement grand qui n'ont rien à voir avce les coordonnées j'ai restaurer le code par défaut et même tester avec le code d'un amis. scanf("%d%d%d", &x, &y, &value);
fprintf(stderr, "%d |%d\n", (x), &(y));
et le resultat du print : 590595360 |590595364
b0n5a1: j'ai cru voir sur le chat que le code par défaur en C est juste foireux
aducimet: fprintf(stderr, "%d |%d\n", (x), (y));*
aducimet: Ouais mais j'ai tester avec celui d'un amis et pareil
agiordan: Le code de base en C marche très bien sur mon navigateur
b0n5a1: heu..ce serait pas plutôt scanf("%d %d %d"....
b0n5a1: ha non rien dit
Valbou: Celui de Rust est foireux également à cause d'un trim sur les inputs
aducimet: Mais tout mes collègues bosse bien en C
aducimet: Et aucun soucix
b0n5a1: par contre tu peux virer ter () autour de x et y et virer le &y du printf et mettre y -> fprintf(stderr, "%d |%d\n", (x), &(y));
aducimet: Oui, à la base c'était pas ces valeurs là, j'ai mis ça pour que ça sois plus compréhensible
aducimet: j'ai miss de supprimer les ()
b0n5a1: enlève le & à &y et met y...si c'est vraiment ce que t'as
b0n5a1: dans le printf
aducimet: c'est pour la même raison
aducimet: c'est une erreur de copier/coller
b0n5a1: la même raison que quoi ?!??
b0n5a1: ha
b0n5a1: parce que ça expliquerait tes valeurs pourries tes &y au lieu de y
b0n5a1: t'affiche pas la valeur
aducimet: Non mais de base j'utilise une adresse vers une structure d'où les & et les () &(tmp->x)
aducimet: Ouais mais ça ne change rien au problème vue que comme expliqué au-dessus j'ai restaurer le code par défaut et print les valeurs juste en dessous
JBM: il est pas foireux le code par defaut en C?
b0n5a1: et on te dit que le stub par défaut c'est de la merde en boîte...
aducimet: Aucune idée j'ai cru comprendre que oui plus haut
b0n5a1: si JBM, je lui ai dit
JBM: si ca vient de moi, ca passera, tu verras
aducimet: Aucune idée j'ai cru comprendre que oui plus haut
aducimet: oui plus haut
JBM: implemente le code qui marche plutot
aducimet: Mais le truc c'est que ça fais 3j que je code et aucun soucis et d'un coup ces trucs on pop
b0n5a1: perso je jette direct ce qui est proposé par défaut et écris tout de 0 à chaque fois
JBM: et sinon, verifie les codes de retour du scanf
JBM: b0n5a1: a part le type id, les inputs sont moins mal fichus que d'habitude
JBM: une valeure deliremment grande, ca peut etre de la ram stack non reinitialisee
BigUP: a bien regarder les date de soumission du top 100, ca à beaucoup soumis aujourd'hui, si mon code galèr ea passer le top 200 c'est peut-etre juste parceque le niveau est vraiement monter d'1 cran
aducimet: On a réussi à fix en rajoutant fgetc(stdin); à la suite de chaque scanf()
aducimet: certains de mes collègues n'ont pas à le faire d'autres si
b0n5a1: erf un cin.ignore() c++...
JBM: je crois que c'est mot pour mot ce que racontait egaetan
JBM: il est necessaire pour quoi la?
aducimet: Pour tous
b0n5a1: lol
aducimet: Bah ça a fix
aducimet: je trouve ça chelou aussi
aducimet: Merci pour votre temps les gars bonne continuation.
b0n5a1: me saouviens plus...mettre \n à la fin du format du scanf ça marche pas ?
JBM: y'a pas de continuations en C!
Shuiza: normal que j'aie les pos de toutes les grosses gemmes memes si je les ai pas en ldv ?
b0n5a1: elles brillent...
b0n5a1: ça pique les yeux...
b0n5a1: on peut pas les cacher...
Shuiza: ahhh j'avais pas vu
aducimet: mettre un \n à la fin ca me parait foireux
Shuiza: my bad
aducimet: c'est quoi des continuations JBM ?
Shuiza: j'ai un soucis dans ma fonction alors parce que mes pacs requestent des murs -_-
JBM: c'est la suite du calcul en cours aducimet
JBM: elles sont reifiees dans quelques langages
JBM: mmm reifiables serait plus correct
JBM: cherche "call/cc" sur le web
aducimet: Okay merci :)
BigUP: arf ! gros debut de run sans rien changer.... 18 Win d'affilé presque top 100, maintenant je me bouffe de la loose
JBM: bon je suis mauvaise langue
JBM: d'une certaine maniere, setjmp/longjmp en C fait a peu pres ca
JBM: mais c'est dur a utiliser correctement
JBM: a part pour simuler une exception a sortie unique
JBM: mais ca clashe avec le modele memoire
BigUP: arf ! dejà ressorti du top 200 !
leojean890: mdr ça fait mal hein :P
leojean890: ça submit en mode fou
BigUP: 188eme... je crois qu'il va falloir m'habituer a ne plus monter au dessus
leojean890: à un moment j'ai pris 3 défaites d'affilée et perdu 30 places en 30 sec hehe
leojean890: mon dernier submit à 1h01 m'a mis 133 et je suis 148 41 min après..
leojean890: mais je sens que ça oscille vite quand même
BigUP: leojean890, je t'ai aidé ! ;)
leojean890: bah tu peux remonter
leojean890: ouais j'ai vu, thanks :P
BigUP: j'ai déjà perdu 10 places
leojean890: si ton code a pu faire 50eme tu peux remonter jpense :P
Razielwar: moi j'ai enfin un truc qui commence à tourner ça fait plaisir j'y croyais plus
BigUP: bah la il n'a plus le niveau
leojean890: mais bcp de gens ont bien amélioré leur algo
leojean890: et le top 100 a bien changé je vois
leojean890: Razielwar ah ouais t'as gagné des places toi aussi :P
Razielwar: oui :)
BigUP: leojean890, ca va etre le moment d'apporter de vrai nouvelles fonctionnalités pour faire la différence
BigUP: mais je ne sais pas encore ce que je peux apporter a mon IA
leojean890: faire des simus à depth élevée ;P
leojean890: par ex ;P
leojean890: moi j'i ajouté une ofnctionnlité là
leojean890: en gros : je fais un k means des positions non visitées
BigUP: déjà un truc bien lourd ;)
leojean890: et selon des critères bien précis sur le nombre de tours, la taille de la plus grande zone de positions non visitées contaigues ..
BigUP: bon je vais aller reflechir a tout ca... on verra bien demain
leojean890: la distance à ma position la plus proche..
leojean890: je choisis d'envoyer mon plus proche à cette plus grande zone ou pas
Razielwar: la simu c'est assez chaud
leojean890: c pas lourd
leojean890: ce que j'ai fait c'est hyper arpide
leojean890: la simu ouais !
Razielwar: j'ai tout mais j'ai timeout en profondeur 1 avec toutes les permutations
Razielwar: j'ai du m'y prendre autrement
leojean890: meme depth 1
leojean890: mais ne simule pas l'ennemi alors ?:p
leojean890: 5 mecs, simu simultanée
leojean890: des mouvements possibles
Razielwar: depth 1 quand tu as 5 pacs parfois j'avais 1700 possibilités
Razielwar: et encore j'ai simplifié pas mal mes moves
leojean890: ouais avec le speed
thoip: interet quand il est dans une impasse pour les mouvements de l'ennemi.
Razielwar: et j'ai une fonction d'eval un peu gourmande
BigUP: Razielwar, N, S, E,W, Speed et Switch... on est loin des 1700 possiblités !? ;)
YannT: c'est 9^10 toutes les combinaisons de tous les ordres possibles (9^5 si tu fais pas l'ennemi)
leojean890: bigup c'est des simus globales des 5 persos ensembles je dirais :p
BigUP: leojean890, je troll :)
Razielwar: je vais tenter le dfs finalement pour calculer des longs chemins et voir ce que ça donne. j'ai comparé avec kovi, on partait pareil et à un moment il préférait perdre un tour pour ensuite prendre plein de pellets alros que le mien allait s'enfermer dans un cul de sac. du coup il gagnait plus au début mais au final il se faisait dépasser
leojean890: hehe ok :P
Razielwar: BigUp j'ai tenté toutes les permutations de moves en fait pour tester
leojean890: dans certaines parties je bats illedan :P
leojean890: mais franchement coup de bol xD
Razielwar: 5^5
leojean890: en général mon starter est pas mal
leojean890: et jme fais dépasser au bout de N tours
Gh0stm4chine: J'ai réussi à bouffer tous les pacs de Kovi dans une partie, je trouve qu'il se défend pas très bien ^^'
leojean890: il farme mieux qu'il ne se défend alors ;P
BigUP: apres, c'est u nchoix
thoip: il doit avoir un algo de base alors
Razielwar: oh il a des strategies pas mal kovi en cas de blocage
Gh0stm4chine: clairement.. parfois je passe mon temps à le chasser alors qu'il ramasse toutes les pastilles devant, la tristesse
leojean890: Razielwar moi je fais des BFS :P
Razielwar: il a pas de random je me suis entrainé contre lui
Razielwar: leojean890 les bfs je les fais au début et je mets tout en cache
leojean890: moi je faisais pareil
leojean890: enfin ça finissait par timeout
Razielwar: bon je tente un peu de défense, je resoumets on va voir
leojean890: .....
leojean890: donc now je fais des bfs pour chaque pac
leojean890: chaque tour
leojean890: et ça marchebien
leojean890: tour les bfs entre paires de cases ça timeout en 1 sec en python :P
leojean890: jdois limiter la depth à 8
Razielwar: leojean890 moi j'utilise à fond le premier tour pour mettre le max en cache, distance, move possibles etc comme ça c toujours ça de gagné ensuite
leojean890: ouais j'ai tenté mais je timeout ;o
leojean890: dans OOC ça passait crème
leojean890: vu que bfs de taille 4
leojean890: pour les shoot
Razielwar: ah ouais j'ai un copain qui dev en python aussi blueghost et effectivement il doit pas mal jongler pour s'en sortir niveau perf
BigUP: oui faut optimiser a mort, c'est rarement simple
leojean890: ou maitriser numpy:p
Razielwar: bon à priori c merdique ce que j'ai fait ^^
leojean890: ça t'a fait perdre cb de places ?
BigUP: Razielwar, je n esuis pas trop etonné
Razielwar: :p
b0n5a1: c'est si lent que ça python ???
BigUP: b0n5a1, il faut compter environ 10x plus lent qu'en C++
Razielwar: ouais python c'est pas rapide
b0n5a1: bah si 10 x plus lent pas de raison de timeout BigUP
b0n5a1: y'a de quoi en faire des BFS
Razielwar: c++ et c c'est ce qu'il y a de plus rapide et déterministe
b0n5a1: c'est que c'est plus que 10x sinon
b0n5a1: beaucoup plus
thoip: bonsat si plus lent plus de chance de timeout
BigUP: b0n5a1, apres ca depend de ce qui est utilisé, avec du numpy sur certaines operation ca doit bien booster, mais faut maitriser et bencher
Razielwar: java c'est assez rapide aussi, le soucis c'est le garbage collector vu que c'est pas déterministe il faut faire attention a tes allocations et laisser un peu de marge pour qu'il passe.
BigUP: java environ 3 fois plus lent que C++ il me semble
Valbou: @Razielwar: le Rust c'est plutôt efficace ;)
leojean890: ça dépend comment tu codes aussi :P
leojean890: Rust c bien aussi
leojean890: pour faire des perfs faire du bitset
leojean890: :p:p
leojean890: ne pas utiliser la stl
leojean890: ;)
Valbou: ^^
BigUP: leojean890, oui clairement, c'est pas une verité absolue, c'est l'ordre de grandeur qu'il faut avoir en tete
leojean890: bitset, tableaux..
leojean890: clair:p
leojean890: jcroyais que c'était plus que 10 entre cpp et python
BigUP: leojean890 et pui sen theorie avec les dernieres versions de java ce n'est plus aussi vrai
leojean890: dbdr disait même facteur 100:P
Razielwar: BigUp non pas du tout, pour les instructions de base c'est presque aussi rapide. surtout que rapidement il optimise pour appeler des fonction natives
leojean890: si j'me motive je fais une simu plus goen java au lieu/en complément de mon code actuel (avec la même eval):P
leojean890: plus globale en java*
BigUP: leojean890, sur certaines chaose c'est largement possible. Si je prend mon BFS avec une list de Pellets et mon BFS avec des set de pellets, j'ai pas loin de 10 de différence de prefs ;)
BigUP: 10x
leojean890: ouais c clair
leojean890: ;p
leojean890: set pour faire des "in"
BigUP: oui
leojean890: du O(1)
leojean890: marche aussi avec les dic
leojean890: jfais pareil :P
BigUP: bon aller, parti... Bonne nuit
Gh0stm4chine: https://www.codingame.com/replay/460827118
lunaticPenguin: monsieur :pray:
gregballot: hey dites moi, chez vous ici la pos que vous recevez de l'input est pas la bonne lorsque vous traversez un tunnel sur la map ? (je recois celle de l'autre extremité de la map alors que sur l'affichage, il y est bien)
gregballot: chez vous aussi*
b0n5a1: fais gaffe à bien regarder que l'affichage du jeu correspond bien à ce que t'affiches pour le tour en cours en stderr...le coup classique est de lire ce que tu dump le tour d'après par rapport au tour en cours affiché dans le jeu
b0n5a1: (surtout en mode speed, trompeur)
gregballot: bah j'ai bien verif, la en gros tout se passe bien jusqu'a ce qu'il traverse une extremité de la map, et la dans l'input que je recois au debut de la boucle de jeu, il est encore de l'autre coté alors que sur le display, il a bien traversé
gregballot: et du coup il fait du sur place parce qu'il croit qu'il a pas traversé alors qu'il y est déja
thoip: c'est pas à cause du speed plutot? tu n'as pas gerer le tunnel en speed?
gregballot: Il est pas actif la en l'occurence
b0n5a1: boarf il ne croit rien, il fait ce que tu lui dit :joy:
gregballot: Bah jrecois un input du jeu, il ment pas celui la ?
thoip: https://www.codingame.com/replay/460841802 tout tué
gregballot: Et pourtant il dit un truc different de la map
gregballot: de l'affichage
gregballot: c'est dans l'IDE
gregballot: mais ca arrive a peu pres dans tous mes combats lol
b0n5a1: bin partage le replay IDE
thoip: si tu as replay avec poste le
gregballot: https://www.codingame.com/share-replay/460839952
gregballot: en haut a droite
gregballot: le pac il est en haut a droite, bloqué
gregballot: Parce que dans l'input du jeu il est encore du coté gauche
gregballot: du coup mon pathfinding lui dit de traverser, sauf que visiblement, il y est deja, du coup il fait du sur place
b0n5a1: bin on les vois pas "tes inputs"...log les en stderr
thoip: Sortie standard : MOVE 0 19 5 COLECC|MOVE 1 30 3 COLECC
thoip: ton move reste sur cette coordonnees.
gregballot: oui c'est ce que je dis
b0n5a1: mais les inputs sont corrects de toute façon...
thoip: qi ru fais un move sur la meme coordonnes ca bouges pas.
b0n5a1: le problème est entre la chaise et le clavier en général ^^
b0n5a1: (et danse le code)
gregballot: Mais parce que dans la pos que je recois dans l'input du jeu, il a pas bougé, alors que sur la map si
b0n5a1: bin prouve le en dumpant tes inputs en stderr qu'on le vois dans le replay
gregballot: jvai mettre leur pos sur leur tronche
gregballot: sachant que la pos vient de l'input, c'est pas moi qui la calcule
b0n5a1: si y'avait ce pb d'input ça aurait été signalé depuis longtemps avec tout le monde qui est dessus depuis 2 jours
gregballot: oui c'est ce que je me dis
thoip: greg tees coordonnes de move ne viennent pas de l'input.
gregballot: non c'est mon pathfinding qui genere ca
gregballot: mais la position de mon pac, elle vient de l'input
thoip: et ton pathfinding c'est ton code.
gregballot: c'est pas mon code qui calcule la pos du pac
thoip: il est buggé. mets des logs.
b0n5a1: bin dump le...
gregballot: oui bah une minute ^^
b0n5a1: t'es persuadé d'un truc qui n'est surement pas le cas là...
b0n5a1: et t'es buté dessus
gregballot: Je suis pas particulierement persuadé
b0n5a1: (je dis ça...)
gregballot: mais je suis tres surpris
thoip: tu as recuperé le code de ton pathfinding ou tu l'as fait?
gregballot: C'est quoi cette question
b0n5a1: lol
gregballot: j'ai rien recup du tout
gregballot: je suis pas totalement une bille hein^^
gregballot: je resubmit, avec des logs
b0n5a1: pas besoin de submit...partage le replay local IDE
gregballot: ah je peux faire ca
gregballot: habile
b0n5a1: bin oui
gregballot: https://www.codingame.com/replay/460848258
gregballot: en bas a gauche a partir du tour 12/13
gregballot: ok, je ferme ma grande gueule bien trop ouverte
gregballot: c'etait un truc de merde,
b0n5a1: hahaha
gregballot: Je commence a fatiguer un peu ^^
b0n5a1: t'avais juste besoin d'un canard en plastique gregballot
gregballot: Oui merci a vous :)
R4N4R4M4: C'était quoi le bug ?
gregballot: rien
gregballot: mdr
b0n5a1: un bcc ^^
R4N4R4M4: tkt on a tous mis en doute les input un jour... :D
gregballot: je soustraits des points pour savoir si j'ai effectivement bougé ou pas, savoir si je vide la case que je viens de parcourir
gregballot: Sauf que l'operation faisait de la merde quand le parcours etait circulaire
gregballot: Et dans cette condition, je faisait l'update de la position de mon pac au passage (alors que pas besoin de le faire dans la condition d'ailleurs)
gregballot: Bref c'est claqué au sol
R4N4R4M4: l'important c'est d'avoir réparé. Faut trouver les autres bugs maintenant, ... y en a toujours :D
gregballot: oui, mais la ce que je dois ameliorer, c'est la ponderation de mes chemins prédits
gregballot: je donne pas assez d'important aux cases jamais visitées
R4N4R4M4: ah ok, faut pas leur en donner trop
gregballot: Oui jpense c'est une question de dosage, dur de savoir quelles sont les bonnes pondérations
R4N4R4M4: faut faire plein de logs et regarder plein de parties
gregballot: Oui j'en suis a peu pres la !
R4N4R4M4: je crois qu'on est tous pareils
gregballot: Faut ptet que j'implem les abilities un jour aussi lol
gregballot: A force de faire le perfectionniste sur la recolte
R4N4R4M4: ah oui ça peut servir
gregballot: Jle ferais demain
R4N4R4M4: y a encore le temps
gregballot: Oui ! mais apres j'ai d'autres ameliorations en tete qui vont me donner la migraine
R4N4R4M4: Il y a quand même une stratégie de priorisation pour monter en league
gregballot: Oui c'est sur
R4N4R4M4: il vaut mieux faire plein de features à peu près pour gagner des places et être au-dessus du boss quand la league s'ouvre
thoip: fait quelque chose de simple qui fonctionne deja
R4N4R4M4: et une fois dans la league suivante, tu consolides
gregballot: Oui c'est pas faux
R4N4R4M4: le peu de powers que tu vas coder, ça va te faire monter, on fait tous comme ça
gregballot: Apres jvoulais que mon BFS fonctionne vraiment niquel, sans incoherences avant de rajouter d'autres commandes
R4N4R4M4: sauf le top qui ont déjà tout codé bien
b0n5a1: et encore là si tu restes à ta position on est tellement nombreux que tu vas passer silver
R4N4R4M4: possible, ils prennent 1/3 en général
gregballot: Je me demandais justement jusqu'ou ils prendraient des gens
thoip: non il est trop bas avec un rating de 26
R4N4R4M4: pour silver, je tablerai plutôt un cut vers 600 maxi
gregballot: Va falloir implem SWITCH et SPEED du coup :p
R4N4R4M4: mais on le saura que demain
R4N4R4M4: fait speed d'abord, c'est le plus facile, par contre il faut bien viser la 2ème pilule au lieu de la 1ère
b0n5a1: speed suffit à gratter beaucoup de places gregballot
gregballot: vasy jvai try avant de me casser
b0n5a1: j'avais que du move, j'ai dévissé de 300 places...j'ai rajouté le speed je suis remonté à ma place d'origine et c'est à peu près stable
R4N4R4M4: if cooldown == 0 -> speed
gregballot: lol
gregballot: ca partait la dessus
R4N4R4M4: c'était ma première action codée je pense
R4N4R4M4: j'ai fait le move aprèss
b0n5a1: là j'ai juste resubmit pour voir si je me mange un mur...et c'est revenu à peu près au m^me classement (avec le même code)
R4N4R4M4: oui, ça freine pas mal là
b0n5a1: bonne nuit
gregballot: bonne nuit :)
R4N4R4M4: bonne nuit
VincentBab: hello ya des gens qui font du c++ encore debout ? ^^
VincentBab: j'ai: http://chat.codingame.com/pastebin/ff2f7c35-acf4-4287-bfc8-13b32dfe3041
gregballot: fais peter
VincentBab: ?
gregballot: Ah lol
gregballot: j'ai plus les yeux en face des trous
VincentBab: xD
gregballot: j'avais pas vu la question
gregballot: Je comprends pas bien ta question
VincentBab: hum attend je l'ecrit mieux ^^
gregballot: tu veux creer une fonction qui retourne le [2] a la bonne position ?
gregballot: Tu peux utiliser des Tuples pour stocker des paires
VincentBab: nan je veux cree une fonction qui retourne une reference sur mon tableau de 2 Point
VincentBab: ah oui c'est une solution
gregballot: Et apres tu peux ta fonction elle peut retourner une type Point&
gregballot: const bien evidemment :)
gregballot: Att juste y'a un truc qui m'echappe
gregballot: Ton type Point il contient pas le [2] de base ?
VincentBab: http://chat.codingame.com/pastebin/789029bd-0b5d-43c3-ad7b-9b250a26fdfd
VincentBab: Point c'est une struct {x,y}
gregballot: Et du coup tu as un double tableau de paires de points {x, y} ?
VincentBab: oui
VincentBab: je pourrai retourné un Point* en fait
gregballot: genre un double tableau de [{x1,y1},{x2,y2}]
gregballot: Oui tu peux utiliser un pointeur
VincentBab: oué c'est le plus logique ^^
gregballot: Comme au dereferencement tu tombes sur la premiere case de ta paire de points
gregballot: comme ca *
VincentBab: oué mais je pourrai meme utilisé [0] et [1] non ?
gregballot: Oui oui
gregballot: vu que tu manipules l'adresse, tu peux te deplacer vers l'element d'apres
VincentBab: je pourrai aussi faire ca:
VincentBab: http://chat.codingame.com/pastebin/dc0cc46a-e2c4-41f0-a0d2-38491e5d7ddd
VincentBab: mais jvais partir sur les pointeur je pense ^^
gregballot: Oui je trouve qu'une paire c'est mieux, autant faire du c++ jusqu'au bout :p
gregballot: Bah apres fais comme tu le sens surtout :p
VincentBab: trop long a ecrire .first .second xD
VincentBab: #feignant
gregballot: lol
gregballot: ah bah bravo
VincentBab: merci en tout cas ;)
gregballot: force a toi pour le contest :p
R4N4R4M4: Tu peux aussi passer le pointeur en paramètre
R4N4R4M4: void function(PAIR*) {}
VincentBab: hum oui je le fais parfois mais la c'est un poiteur sur une variable global
VincentBab: (c'est des truc que je precompute au debut)
R4N4R4M4: ah ok
gregballot: +400 places avec if cooldown == 0 SPEED
gregballot: C'est rentable lol
R4N4R4M4: GG gregballot
gregballot: haha merci, je vois deja plein d'ameliorations, j'ai de la marge encore
gregballot: bon c'est pas tout mais je teletravaille dans 3h45
gregballot: bonne nuit
R4N4R4M4: bn
neorel: aller, place 90, je ferais pas mieux je penses, Bonne nuit ;)
neorel: R4N4R4M4 t'es juste derrière ;)
neorel: ou devant tu viens de bouger :p
neorel: notre combat m'a fait perdre 4 places :p