Chat:Fr/2020-05-08

From CG community
Jump to navigation Jump to search

ggjulio: ah

Default avatar.png Blitzcrank: tu consomme bcp de memoire

ggjulio: Bon bah la ca remarche

VincentBab: oui c'est un pb de CG il faut retry jusqu'a ce que ca marche ^^

ggjulio: C'est normal qu'on ne monte pas en ligue alors qu'on bat le boss a chaque partie ?:neutral_face:

QuentinDem: C'est le boss dans le leaderboard

Default avatar.png Blitzcrank: oui si tu perd contre son armée :P

ggjulio: Quentin, c'est le meme que dans l'ide nn ?

VincentBab: il y a plusieurs posibillité:

QuentinDem: Il a un certain score que tu dois depasser dans le leaderboard

ggjulio: Bof, toute facon ca veut pas submit. On verra demain lol.

ggjulio: Ah ok

VincentBab: - tu gagne contre le boss mais du perd contre les autres joueurs

VincentBab: - les server de CG lag pas mal en ce momen et ca peut prendre du temps

QuentinDem: Voila et pour gagner du score c'est en battant les autres joueurs

Default avatar.png Blitzcrank: C'est combien de combats quand on soumet ?

Neabfi: ça continue à combattre quasi en continue je pense

Neabfi: est-ce que la sortie d’erreur est privée ?

Default avatar.png thoip: oui

Neabfi: great thx

LuckyJ.: Salut ! " /usr/bin/stdbuf: Resource temporarily unavailable "

Vaut mieux pas push et attendre que ça aille mieux ou CG a une sécu et je serai dans une queue en attendant que ça se règle?

Drazyen: L'autre fois que j'ai eu ça, ça s'est rétabli tout seul entre deux tests de mon côté

poloch0n: La ligue silver ouvre quand ?

[CG]Thibaud: bonjour

[CG]Thibaud: lundi

poloch0n: bijour, :D

poloch0n: ty

[CG]Thibaud: tu peux le voir dans la popup des leagues

Default avatar.png Ellind: moi ça n'arret pas et j'ai des bug aussi, par exemple je log avant la sortie et j'ai des traces dans la dernière boucle sur chaque changement de Y

nib: que se passe t'il sur cg ? lenteurs, plantages.

nib: Network error : status 504

nib: allez gateway repond !

Samsa: C'est normal, c'est juste un début de challenge donc le serveur est surchargée comme d'hab

Drazyen: Les erreurs 504 sont assez fréquentes ici aussi, au début je pensais que c'était parce que je faisais n'importe quoi en C x')

Drazyen: L'erreur 73 qui dit qu'il y a déjà un process en cours, ça peut être dû à quoi ?

nib: bah les concours cg ne sont pas aussi catastrophique le premier jour a 9h de matin.

RomanceDawn: faut restart le sever là

RomanceDawn: r

ameler: yes même problème

MrBib: le submit fonctionne pas chez moi, j'ai pushé il y a 10 minutes, toujours à 0 combats :D

LuckyJ.: Ah, j'ai voulu me remettre à un puzzle en attendant

LuckyJ.: ça marche pas non plus chez moi

Drazyen: Moi je crois que le compilateur s'est perdu en chemin, je ne fais que la lecture des inputs et il ne veut déjà pas faire plus ^_^"

poloch0n: rip

[CG]Thibaud: on est dessus

Drazyen: Bon courage à vous ! :-)

LimaceHurlante: courage a vous !

[CG]Thibaud: merci, je me sens un peu inutile moi, mais les devs sont dessus

nib: tu as réveillé les devs, c'est le principal !

MrBib: un shoot de café et une boite de haribo et c'est reparti !

tblancbeyne: Comment on corrige l'erreur 73 ?

nib: il faut attendre que le pb sur les serverurs soient résolus. Tu ne peux rien y faire.

tblancbeyne: Ok merci

Default avatar.png MODR32: Hy,

Default avatar.png MODR32: même problème : erreur 73 . Merci quand même pour la compet!!:grin:

Piloupilou67: L'erreur 73 est résolue pour moi \o/

MrBib: bon je vais basculer en python, ça évitera les timeout de compil au moins :D

Default avatar.png Kaearin: Ca ne marche pas mieux python

Drazyen: Un peu d'égalité dans ce monde de code ahahah

[CG]Thibaud: ok ça devrait aller un peu mieux là

Drazyen: Yep :-)

Drazyen: Merci aux devs qui se sont levés aussi tôt pour ça ^^'

Default avatar.png Psio: Merci Thibaud et à l'équipe !

Merome: /usr/bin/stdbuf: Resource temporarily unavailable.

Merome: C'est ma faute ?

Default avatar.png faneyer: Merci au dev. Pour moi toujours l'erreur 73. Suis-je le seul?

nib: nop 'est la faute a cg :p

BigUP: Merome, j'ai eu ca aussi

BigUP: Merome, peut-etre faut faire un flush ? moi c'est parti en ajoutant du debug ! )

Merome: En relançant un test, c'est parti

nib: error 504 ici

Reeems: Clash Error 504 chez moi aussi, le clash of code ne se lance pas

YannDev: salut !

Theo: /usr/bin/stdbuf: Resource temporarily unavailable. Ca arrive et c'est assez random oui

Theo: j'ai ca aussi

Valbou: Salut !

YannDev: valbou au final tu sais d'où venait mon problème

YannDev: c'était à cause du cin sur les char

YannDev: ça aimait pas les espaces :')

Valbou: mdr

Valbou: :sweat_smile:

Valbou: Ce matin, fini la petite bisouille qui ne fonctionne pas, je me lance dans un peu d'IA (qui ne fonctionnera peut-être pas mieux :joy:)

YannDev: x)

Valbou: *bidouille

Vry: Yo ... wow déjà 868 ... y'a du monde pour ce contest. :)

Valbou: moins j'en fais, plus je gagne des places :expressionless: je vais finir par croire que le dev ce n'est pas pour moi ^^

BigUP: Valbou, le dev, c'est pas pour toi !

Valbou: Merci BigUP pour ton soutien moral :joy:

YannDev: x=

Default avatar.png Psio: de rien Valbou on le pense tous ! :D ^^

Default avatar.png Colios13: Vry 1932 au total

YannDev: quand on nous dit que la largeur est 32, la première colonne c'est 0 et la dernière c'est 31 ?

[CG]Thibaud: oui

YannDev: ah

YannDev: merci :)

Samsa: C'est pas possible d'avoir une visualisation du brouillard de guerre dans le visualisateur ?

Valbou: @YannDev tu peux survoler la visualisation pour voir les coordonnées

YannDev: ah

YannDev: merci de l'astuce :)

Magus: ouai le manque du FoW dans le viewer, yeurk :(

YannDev: bon bah rip mon algo

YannDev: une fois que le pac commence à bouffer des pastilles il fait l'avion

Haashi: effectivement j'ai perdu 20 min ce matin a me demander pourquoi un de mes pacs allaient dans une direction sachant que c'était bloqué par un pac ennemi

YannDev: et il tourne en boucle

Haashi: j'ai juste oublié le fog of war vu qu'on le voit pas dans le viewer

Haashi: Pourtant, je pense que c'est possible de faire comme sur cristal rush

Magus: c'est possible c'est pas la question. Codingame a peut être manqué de temps pour finir le viewer

Haashi: un petit filtre de couleur rouge/bleu pour indiquer le fait d'etre vu par un joueur

Valbou: @YannDev tu dois avoir un code proche de ma bidouille d'hier soir ;)

YannDev: non pas du tout

YannDev: enfin je pense pas

YannDev: mon code fait 160 lignes

YannDev: et c'est une programmation dynamique x)

Valbou: tu as raison, le mien en faisait 30 ^^

YannDev: mais du coup je pense savoir pourquoi

YannDev: je devrai pas recalculer le chemin à chaque tour

YannDev: mais genre tous les 10 tours :thinking:

Valbou: j'ai testé, ça n'apporte pas tant qu'espéré

YannDev: ah

leojean890: tiens #109 au réveil

YannDev: mais après tu calcules pas forcément le chemin comme moi

YannDev: x)

YannDev: je vais tenter score/longueur pour classer les chemins

leojean890: \o

Valbou: le comment tu le calcul n'est probablement pas aussi déterminant que le comment tu utilise le résultat ;)

YannDev: surement

YannDev: j'utilise mon résultat de manière un peu trop gloutonne

BigUP: 10win/10 ... ca sent la sortie de wood ! ;)

Valbou: Bien joué BigUP ^^

Merome: Une victoire qui apparait comme une défaite dans Last battles : http://imgur.com/JiS4hqYl.png

BigUP: Valbou, c'est pas encore fait... surtout que la 11eme partie c'est une loose

leojean890: bientôt 1000 personnes en bronze ça va piquer hehe

BigUP: hum.. loose sur timeout

BigUP: que je ne reproduit pas

Valbou: Moi je ne vise que le bronze

leojean890: BigUP, c'est un msg avec stdbuff ?

Valbou: enfin , un bon classement en bronze ce serait cool, trop chronophage de tenter mieux

BigUP: argh, les deplacement en meme temps c'est la merde ;)

Ravenpsycho: Hello! Qqun sous python a trouvé comment éviter le timeout/err73?

leojean890: bug aléatoire que CG va corriger

VilBoub: Hello les coders, ça bug encore ce matin ?

YannDev: non

YannDev: franchement c'est ok

Ravenpsycho: merci, c'est ce que je pensais ;_;

[CG]Thibaud: la base revit un peu

[CG]Thibaud: elle était à presque 100% depuis 2h du mat

leojean890: ouais les submits interminables, les serveurs luttaient :P

BigUP: Ravenpsycho, tu peux tenter print("blabla", flush=True) dans ce que tu print

BigUP: moi je n'ai plus eu de probleme lorsque j'ai mis du debug dans mon code :

BigUP: def debug(*args): print(*args, file=sys.stderr)

leojean890: j'en ai plein moi :P

Ravenpsycho: l'argument flush dans les messages debug ou les sorties standard?

Ravenpsycho: ou les deux -o

BigUP: Ravenpsycho, sortie standard, mais dans les 2 ca n efera pas de mal

Ravenpsycho: BigUp, Aucun effer pour le moment.

BigUP: Ravenpsycho, tant pis, fallait essayer !

Ravenpsycho: BigUp, merci beaucoup!

Ravenpsycho: Bah , ça pédale toujours dans la semoule de mon côté... je réessaierai plus tard... Merci et A+

AlexDonazzan: quelqu'un sait comment importer "ArrayUtils" en java ?

AlexDonazzan: j'y arrive pas...

egaetan: c'est pas dans le jdk

AlexDonazzan: merde... et comment on peux savoir quel jdk on utilse ?

nib: faq de codingame

RomanceDawn: je pense le 13

egaetan: le 8

Alshock: Coucou à tous ! Je me lève comme un ancêtre après une soirée trop arrosée dès que je me couche à 4h oskur

Alshock: Coucou Automaton2000 et AutomatonNN vous l'aimez ce contest ?

Automaton2000: ha ok je viens de me rendre compte que je ne pige pas comment je peux faire

AutomatonNN: oui je suis pas sur que c'est pas trop compliqué de faire un truc de tes personnes que tu as pas tro

Alshock: I can relate to that

RomanceDawn: ah ba y a pas var

Alshock: Bon alors, apprendre à manger

Alshock: Attendez, le champ qui s'appelle "type_id" là, en fait c'est une string ?

Alshock: c'est quoi leur problème avec le mot "id" dans ce contest ?

csapt: Salut ! Les serveurs sont encore morts ? Je peux pas lancer mon code

Mazelcop: id c'est un built-in en python

BigUP: Mazelcop, ha ? tiens, ca ne m'a jamais derangé d el'utiliser celui la

Mazelcop: https://docs.python.org/3/library/functions.html#id

Alshock: oui, type aussi, mais normalement quand tu mets "id" dans un champ c'est que c'est un entier unique, là on a un entier pas unique et une string

Alshock: encore avec juste la string je comprendrais, mais le cumul des deux est vraiment étrange

nib: un id peut etre un string

Alshock: Oui, mais c'est pas ce qui est attendu, genre quand t'as pac_id t'attends [0, 1, 2] pas ['Bernard', 'michel', Josephine']

Alshock: pour moi type_str aurait été moins trompeur

nib: c'est tres personel le nommage de variable, je ne rentrerais pas dans ce débat ! :p

lunaticPenguin: bah le type_id il est casté de base dans le squelette python

BigUP: Tiens ! Bronze ! féjà ! ;)

Alshock: effectivement, et je pense surtout que là ce qui leur a fait mettre "id" c'est qu'il ne voulaient pas utiliser le mot-clef type

BigUP: déjà

lunaticPenguin: féjà c'tait mieux :D

Alshock: GG WP, maintenant viens nous bouffer le cul

BigUP: Bon ah GG me !

Alshock: le fec il est monfé bronve, mais il a pris une froite

lunaticPenguin: :laughing:

Default avatar.png Colios13: :smile:

BigUP: Merde ! on a des pacman Carré en Bronze !??

nib: spoiler !

lunaticPenguin: ouais, qui broute les pacman ronds

BigUP: nib, désolé, j'ai pas pu m'empecher ! ;)

lunaticPenguin: ouais, qui broutent les pacman ronds

Alshock: @lunaticPenguin et ils sont très sélectif, ils mangent les pacmen très ronds, mais s'ils sont un peu anguleux ils en meurent

Magus: bon, faudrait que je me décide de quoi que je code

BigUP: Magus AG ?

Magus: un AG ça marche pour farmer tout seul la map, mais ça prend mal en compte les actions adverses

RomanceDawn: go MCTS direct

Magus: en fait j'hésite entre MCTS et beamsearch

BigUP: Magus, les actions adverse, ca va etre la pacgomme la plu sproche

Magus: mais faut que je vois comment gérer le FoW déjà

BigUP: ca me fait penser qu'il faudrait que je fasse jouer l'aversaire parceque les actions simultanée, c'est la merde

Magus: c'est bien pour ça qu'un AG va probablement pas être génial

Magus: enfin après on sait déjà gérer, tu fais plusieurs AG pour l'adversaire et tu tests ton AG contre plusieurs solutions

BigUP: arf ! ;) mes Pacs qui font un mannequin challenge ! ;)

VilBoub: Description en anglais des règles : http://chat.codingame.com/pastebin/beac3bef-032f-4ce7-8cb0-68ad0622727b

Default avatar.png VRx42: hellooo tt le monde! je viens de commencer

Default avatar.png VRx42: trop hate

VilBoub: Y en a beaucoup des contraditions comme ça ?

Magus: VilBoub: le statement fr il est aux fraises sur les inputs

BigUP: https://www.codingame.com/share-replay/458513241

LoganWlv: Un AG ça ne marchera pas bien avec le fog of war non ?

dwarfie: le statement fr ... ah la la ... perle : L'action SPEED permet à un pac de se déplacer de 2 coups au l'un d'un seul pendant les 5 prochains tours.

BigUP: ha oui c'est vrai, le fog of war !! pas necore fait gaffe qu'il y en a un

VilBoub: le statement ang est correct ?

LoganWlv: Je me demandais est-ce que un PAC adverse bloc la ligne de vue pour les pastilles ?

dwarfie: j'en sais rien ... ca fait longtmps que je lis plus les statements ... je laisse les gens debattre sur le chat lol

VilBoub: hahaha !

BigUP: parcontre domage qu'on ne voit pas le fog of war...

wgulista: comment eviter les collisions ?

dwarfie: wgulista ... en appliquant les consigne de gandalf ... "fuyez pauvres fous " ;)

wgulista: ahahah xD

egaetan: Le submit est encore cassé ?

BigUP: wgulista, déjà met a jour la position de ton pac une fois qu'il a joué, ensuite elimine les pellets lorsque t'es censé le bouffer

Haashi: ouais submit cassé

egaetan: 75 matchs de fait, pourcentage toujours à 15% ... et classement pas actualisé

Haashi: je susi a 25% depuis une heure

Haashi: bon une heure j'exagere un peu

Haashi: peut etre 30 min

egaetan: cg est au courant ?

Haashi: je pense plus ou moins

Haashi: il y avait d'autres problemes

Haashi: notamment des gens qui se prenaient des timeouts random err 73

wgulista: @BigUp merci

MrBib: Vous venez de rejoindre la Ligue Bronze de "Spring Challenge 2020" !

MrBib: Bon voilà ^^

wgulista: gg

WhatTrickeryIsThis: Saluts les confinés, les robots , les corrompus

[CG]Maxime: VilBoub quel est le problème avec l'énoncé ?

WhatTrickeryIsThis: encore un bronze, on se rapproche du millier

Haashi: il y a du monde sur ce contest :p

Default avatar.png thoip: normal que l'ability reste à 0 après un switch?

WhatTrickeryIsThis: ne lit pas l'énoncé, ce sera un problème en moins

[CG]Maxime: Magus tu as repéré des erreurs dans le statement fr ?

Haashi: ca fait plaisir pour les points CG

VilBoub: [CG]Maxime dans l'énoncé on dit "0 ou 1", dans le code on dit "True ou False" pour la variable mine

Magus: le mine a pas le même texte que celui en anglais

Magus: et le typeId est pas bon

Magus: (c'est marqué que c'est un int)

[CG]Maxime: mine est un int mais le code python le transforme en boolean

RomanceDawn: y a des langage sans true false

[CG]Maxime: mais le referee passe bien un entier

Magus: dans le template C++ mine c'est un bool

WhatTrickeryIsThis: ouch

Magus: j'ai pas touché à cette partie du code

Haashi: je pense partir sur un beamsearch aussi

Haashi: finalement, je pense que le jeu va ressembler a cristal rush

Haashi: pellet rush

[CG]Maxime: en C++ il a casté le 1 en boolean

Magus: "il" ?

Magus: c'est pas généré avec le stub les templates de départ ? :o

Boulet: Lui :p

RomanceDawn: le compilo nan

Magus: nan mais la je parle du code

lunaticPenguin: petite question aux expérimentés qui parlent de MCTS là, je débute complet dans ce domaine là et si je comprends bien il s'agit de faire varier l'état du jeu et de le noter grâce aux solutions gagnantes, mais comment vous faîtes varier les états de manière exhaustive ?

Magus: dans le template C++ on "bool mine;"

Magus: *on a

[CG]Maxime: dans certains langages c'est un entier

Haashi: lunapenguin : enfaite d'un état a un autre, il faut dénombrer toutes possibilités

Boulet: lunaticPenguin: pas d'exhaustivité e MCTS

Boulet: voila

Haashi: pour le mcts tu fais du "random"

Boulet: mais pas tous les arbres

Haashi: donc t'es pas exhaustif

Stanworld: bonjour

Boulet: \o

[CG]Maxime: le referee fait que donner un entier 1 ou 0. C'est le stub qui est malin et qui converti cet entier en True/False quand le langage le permet

Magus: [CG]Maxime: https://github.com/CodinGame/SpringChallenge2020/blob/master/config/stub.txt#L6

Haashi: mais certaines approchent le sont (sauf que si t'es exhaustif, tu vas explorer un nombre de possibilités très très grand)

Magus: d'après votre stub

Magus: mine est bien un bool

Magus: mine:bool

[CG]Maxime: je repete : le referee donne un entier 1 ou 0.

Stanworld: question bete car je viens d'arrivé sur le challenge, est ce que le connais le max de height et width ?

Haashi: par example la si tu veux etre exhaustif, tu dois prendre en compte les 7 mouvements possibles de chacun des pacs

lunaticPenguin: okay, mais juste pour faire varier les états ? ça correspondrait à faire bouger les pacs aléatoirement et scorer le plateau ?

Boulet: Stanworld: oui: premiere ligne envoyée

Boulet: à l'init

Magus: Mais après perso le problème c'est que les textes anglais et fr sont surtout pas les mêmes

Magus: le texte fr parle de 0 et 1

Haashi: qui sont : haut, bas, droite, gauche, pas bouger, activer un switch, activer une speed

Magus: l'anglais parle juste de bool

Boulet: lunaticPenguin: MCTS c'est fait pour explorer une partie entiere

Boulet: pas un pas

Stanworld: oui , mais height et width ne devrait pas être plusieurs millions j'imagine qu'il y a une limite

Magus: après qu'on reçoivent 0 et 1 de toutes façons sur CG c'est habituel, je connais aucun puzzle qui t'envoie du texte "true" ou "false" dans les inputs pour un boolean

Haashi: d'ailleurs c'est 8 mouvement possibles parce que tu peux switch dans 2 types

Magus: si vous cherchez le maximum d'action par tour, c'est 9 actions par Pac

Magus: si t'es sous SPEED, que t'as 8 cases autour de toi, + la possibilité de pas bouger

Boulet: en bas dans les contraintes du coup

Magus: donc le maximum c'est 9^5

Boulet: 28 ≤ width ≤ 35 10 ≤ height ≤ 17

[CG]Maxime: mon problème c'est que selon le langage, ce sera 1 ou 0 ou true/false

Stanworld: Boulet, merci

Boulet: de rien

Magus: parce qu'il y a des langages qui font pas un booléen quand on fait mine:bool dans le stub ?

[CG]Maxime: le referee passe toujours 1/0, c'est juste le code generé qui fait une conversion en boolean quand c'est possible

[CG]Maxime: ouep

Magus: ah c'est moche

Boulet: Magus: oui forcement

Boulet: le C par ex

[CG]Maxime: non en C j'ai include stdbool

Magus: le C et le C++ pour le coup ils s'en foutent

Magus: ils le lisent comme un entier tu fous ça dans un boolean

Boulet: par ailleur c'est aussi le cas en Ocaml alors que bon le stub pourrait le faire avec un minimum d'effort

Boulet: [CG]Maxime si tu veux le bout de code

Boulet: tu le dit

Magus: ah ouai ok en java ça donne "boolean mine = in.nextInt() != 0"

Magus: mais à priori c'est possible de faire ça dans tous les langages je dirais

WhatTrickeryIsThis: pas en sql

Haashi: aie 9^5 ca donne pas envie de faire un beamsearch

[CG]Maxime: Boulet, why not

[CG]Maxime: Magus, je fais des corrections sur le statement, j'ai ajouté une précision pour dire que c'est un type boolean dans la plupart des langages

[CG]Maxime: autre chose à corriger ?

Boulet: en MP

VilBoub: [CG]Maxime, certains se plaignaient de "pacId : l'ID unique du pac" alors qu'il y a en fait deux fois chaque ID

VilBoub: une fois par joueur...

Haashi: le statement en anglais dis bien unique for a given tea

LoganWlv: #VilBoub tu veux dire que qu'il y aurait deux pac ids 0, un allié et un enemie ?

Haashi: exact

BigUP: VilBoub, en meme temps comme c'est un jeu qui se fait en simultanné, ca me parait plutot pratique

Haashi: tu le vois dans le viewer

Mazelcop: VilBoub, c'est assez important en fait vu que la position est symétrique tu sais où chaque pac ennemi commence

Stanworld: 28 ≤ width ≤ 35 10 ≤ height ≤ 17


Mazelcop: ça simplifie le tracking de chaque pac ennemi

Stanworld: je ne vois pas ces valeurs dans le texte.

Haashi: d'ailleurs le tracking est bien relou avec ce systeme de "visible pac"

Haashi: au lieu d'avoir des coordonées bidons pour dire qu'il est dans le fog

Haashi: tu le vois plus du tout :(

Haashi: dans les inputs

Boulet: bah en meme temps

Boulet: soit tu l'as buter

Boulet: soit il est vivant

Boulet: donc ça ne devrait pas changer grand chose

Haashi: Ah oui c'est sur

Haashi: c'est juste que ce que j'avais fait pour gérer l'état du jeu en wood

Haashi: supposait que j'allais avoir la liste des pacs a chaque tour

Magus: [CG]Maxime: désolé je répond un peu en retard. Vous avez corrigé pour le typeId ?

Magus: le statement fr ou en (je sais plus lequel) indiquait que c'était un entier

Magus: (alors que c'est un string)

Haashi: et je m'attendais a ce que fow => coordonnées pas update ou un truc du genre

Boulet: en

Boulet: anglais Magus au oins

Boulet: moins

Magus: Haashi: encore plus drôle, tu peux buter un pac sans le savoir

Default avatar.png thoip: le nombre d'abilité speed ou switch est limité dans certaines parties?

Magus: par exemple t'es en SPEED, tu prends un virage sans avoir la visibilité, tu arrives sur un pac ennemi que tu peux tuer

Magus: t'as tué un pac mais tu peux pas le savoir

Haashi: voila :)

Haashi: je me disais bien que ce systeme était un peu bizarre

Boulet: ah oui j'y avais pas pensé

Magus: à l'inverse tu peux perdre des pacs sans savoir pourquoi

**Boulet ne fait tellement pas de tracking pour le moment

Magus: tu peux juste voir avec les inputs que t'as un pac en moins

Haashi: sur d'autres arenes on a toujours l'information de l'existence d'une entité

Haashi: sans savoir son détail si il est dans un fow

BigUP: Ho ce magnifique move ! ;) Mon pac qui bouffe un pac adverse en faisant une pose ! ;)

BigUP: pause

Boulet: :D

Haashi: tiens, j'ai vu qu'on pouvait faire dire des choses a notre pac

Haashi: on fait comment ?

Crocmagnon: Ajoute le message à la fin de la commande de ton pac :)

Crocmagnon: C'est dans la doc, en bas de mémoire

Haashi: pas sur le statement en

Crocmagnon: (ou ça l'était dans les ligues bois)

Haashi: ca marche ca : MOVE 0 5 7 coucou ?

Crocmagnon: Je crois bien, j'ai pas test

Crocmagnon: Petite question: j'ai fait 85 matchs en ligue bronze et je n'ai toujours pas de classement, c'est normal ?

Boulet: Haashi fait un test

superbob: coucou

LimaceHurlante: le jeu sera toujours dispo après l'event ? non par ce que je sens que je vais mettre 10 jours à passer en bois 1 :crying_cat_face:

Magus: LimaceHurlante: oui il sera ouvert en puzzle multiplayer

Haashi: effectivement ca marche

Haashi: Crocmagnon, les submits sont cassés actuellement

LimaceHurlante: super ca me rassure merci :)

Crocmagnon: Ah.

Crocmagnon: Haashi, c'est à dire ?

Boulet: LimaceHurlante: un bon gros dijstra et tu monte direct en bronze

Haashi: c'est à dire que les matchs permettant de faire ton classement sont actuelleemnt freeze

Haashi: tu as pas encore fini tous tes matchs pour définir ton classement final

Crocmagnon: Ok, thanks. On sait pourquoi/quand ça sera débloqué ?

LimaceHurlante: lol, je sais pas ce que c'est un dijstra :) la je galare a metre à jour la map, je vien de passer x temps a chercher l'eereur dans ma fonction de recherche alors que c'etait map map qui était pas a jour

Boulet: [CG]Maxime: je n'ai pas tout suivi mais cette nuit (vers 4h) les messages d'erreurs faisaient mechament penser à des pb de zombies si vous n'avez pas encore investigué de ce côté

YannDev: Boulet pourquoi tu fais un disjkstra

Crocmagnon: LimaceHurlante, tu peux commencer plus simple: tu as juste un pac: fais le se déplacer vers une pastille, par exemple la plus proche de lui

YannDev: c'est un plus court chemin sur graphe pondéré

YannDev: ici le graphe est pas pondéré

YannDev: x)

YannDev: et t'as pas besoin de plus court chemin

Crocmagnon: YannDev tu peux pondérer le graphe en fonction du score des pastilles sur le chemin

Boulet: Alors moi si et pas pondéré veut juste dire toute pindération à 1

YannDev: bah ça revient à faire un dfs

LimaceHurlante: j'ai commencé trop compliqué avec des classes pac et une map qui se met à jour dans un array...

Default avatar.png BenLvre: LimaceHurlante, je confirme je suis passé en bronze en utilisant le chemin le plus rapide vers une pastille (distance de manhattan)

Boulet: et puis j'avais le code et pour eviter les collisions débile j'avance tour par tour vers la prochaine pastille

YannDev: Ben tu es juste allé vers le grosse pastille la pus proche ?

788361: tortue à tous

788361: Automaton2000, une pastille ?

YannDev: salut Bob !

Automaton2000: bah d'un autre côté il y a longtemps

Boulet: YannDev: c'est quoi plus proche ?????

Magus: bonjour 788361

Boulet: \o bob

WhatTrickeryIsThis: tortue

WhatTrickeryIsThis: Automaton est aprti?

LimaceHurlante: bonjour bob

YannDev: Moi j'ai fait un truc chelou hier mais ça bug totalement

Alshock: càd ?

Haashi: moi j'ai fait une bfs

YannDev: du coup si vous pensez à faire une dp qui trouve le chemin avec le plus gros score pour choisir dans quelle direction vous vous déplacez

YannDev: ne le faites pas

Haashi: pour les distances

Boulet: oui bfs/dijstra ...

YannDev: Oui c'est la meilleure solutio haashi

Bob: bon j'ai mon bot gold a priori

LoganWlv: #Haashi same ça fonctionne bien

Haashi: apres dijstra bfs c'est la meme chose vu l'enoncé

YannDev: Non

YannDev: en terme de performance

Boulet: c'est surtout la meme chose si on a pas les poid

YannDev: c'est pas du tout pareil

Boulet: YannDev: si

YannDev: la complexité est pas la même

Boulet: si

YannDev: O(E + V) pour le bfs O(nbArcs log(nbArcs)) pour le dijkstra

Crocmagnon: c'est bien, c'est argumenté et tout x)

YannDev: c'est pas la même chose x)

BigUP: misère ! je suis non classé ! ;)

Alshock: mais non mais non si si mais si

LoganWlv: Est-ce le champ de vision du pacman s'étend à travers les tunnels ?

Alshock: oui

Haashi: oui LoganWlv

egaetan: jusqu'aux murs

YannDev: bon je vais me chercher une stratégie gloutonne

YannDev: espérons que ça sera mieux que mon truc bug

Bob: même que je me suis fait troller avec ça hier soir parce que j'avais une map avec une ligne continue de bord à bord

Bob: et paf boucle infinie

LoganWlv: aha

Crocmagnon: On sait quand les matchs seront réparés ? :)

Bob: y a toujours le bug de stdbuf ?

Boulet: Bob non mais la base est semble-t-il au tas

Boulet: ils sont dessus

Alshock: au tas ?

Default avatar.png BenLvre: LoganWlv plus en bronze, sauf pour les pastilles 10

Boulet: morte

Bob: ok

Boulet: enfin en cours de mourissement

Bob: c'est pas le moment de pusher alors ?

Crocmagnon: je comprends rien x) :'(

Bob: Crocmagnon: c'est tout pété et nous on n'y peut rien, il faut attendre

Crocmagnon: :+1:

Bob: que le caramel ait délicatement mis CG en PLS

Boulet: bah tu peux pusher mais le classsement final tu ne l'aura pas

[CG]Maxime: on ajoute des serveurs !

Bob: j'ai bien fait d'arriver au top hier soir alors :D

Alshock: Hurray

Boulet: cool

Bob: nice

Bob: merci

Haashi: je suis impressioné du nombre de participants

Alshock: @Bob point faible : tro pfort

Default avatar.png Mastard: Bonjour, j'ai pas l'habitude des challenges comme ca, mais du coup vu le chat, c'est normal que les combats n'avancent pas c'est ca?

Bob: Mastard: oui

Haashi: on est deja 1000 en bronze

Default avatar.png Mastard: enfin normal...

Default avatar.png Mastard: ok merci ^^

Boulet: Haashi: il semblerait qu'il y ai eu une tres grosse pub

Bob: normal dans le sens de problème connu

Default avatar.png Mastard: oui c'est ce que je voulais dire ^^

Alshock: @Mastard je précise que c'est pas comme ça à chaque nouveau contest ^^

egaetan: [CG]Maxime et vous defreezer le ranking ?

Default avatar.png Colios13: 1971 au total

MrBib: je comprenais pas pourquoi mes pac bougeaint pas

Default avatar.png Colios13: *participants

MrBib: j'ai switché le code sur un autre langage sans faire de modifs xD

egaetan: Bob tu risques de chuter quand le ranking sera màj

Bob: egaetan: possible, on verra

Default avatar.png Mastard: nan mais c'est compréhensible, avec le confinement il y a plus de participants que d'habitude, a commencer par moi

Bob: bon de toute façon j'ai jamais visé la victoire

Haashi: Mastard c'est partiellement faux

YannDev: j'aurai du être lazy

Alshock: @Mastard et on est très heureux de vous (nous ?) avoir :D

Haashi: il y a eu un autre challenge recemment grace au confinement

Bob: YannDev: c'est ce que je me tue à dire

YannDev: j'ai tenté une strat foireuse et là j'ai bien le seum

YannDev: je comprends même pas pourquoi ça marche pas :')

Alshock: @YannDev en vrai du temps passé à faire un truc qui ne marche pas n'est jamais perdu

Default avatar.png BenLvre: c'est souvent le plus simple qui s'en sort le mieux pour commencer ^^

Default avatar.png Mastard: ah bah moi j'ai pris connaissance de celui la parce que ma boite en a fait la pub, sinon j'aurais pas su ^^

YannDev: bah le soucis c'est que mon truc est censé marcher

Alshock: Je connais bien cette situation... x)

YannDev: je bouge dans la direction qui va vers le chemin avec le plus gros score

Alshock: et tu te retrouves bloqué entre deux trajectoires ?

YannDev: et pourtant ya des moments où je fais gauche droite gauche droite gauche droite...pendant tours

YannDev: 500*

YannDev: oui

YannDev: exactement

YannDev: ça fait le yoyo

BigUP: YannDev, donc le probleme c'est ton score ?

Alshock: Ouais j'ai pas compris non plus ces situations

Alshock: mathématiquement ça n'a pas de sens

YannDev: BigUP j'évalue très bien le score du chemin

YannDev: mais je comprends pas pourquoi ça fait des trucs comme ça

Haashi: moi mon probleme c'etait la gestion de pastilles visibles

Default avatar.png BenLvre: t'es en quelle ligue ?

Default avatar.png Colios13: Perso mon perso qui faisait gauche droite c'était le fait que je prend pas en compte les murs

Haashi: faut bien les updates a chaque tour par rapport à la ligne de vue de chacun des tes pacs

Alshock: @Colios13 même sans prendre en compte les murs, pourquoi ça fait demi-tour ?

Haashi: sinon tes pacs vont sur des trucs qui ont été pickup par l'adversaire

Default avatar.png BenLvre: si dois avoir le même poids pour 2 pastilles, ils se retrouve à vouloir aller sur les deux surement

Default avatar.png thoip: parce que tu prends pas en compte les murs. cela change de cible entre 2 mouvements.

Alshock: ah putain, s'il vise en haut puis en bas seur des scores égaux

BigUP: YannDev, il ne faut pas faire confiance aux déplacements gérés par l'arbitre sinon

Default avatar.png Colios13: car tu à un mur qui te fait t'éloigner de ton point ou tu veux aller mais c'est quand même le plus court chemin

Default avatar.png BenLvre: YannDev, tu vas devoir gérer ça là alors qu'en bronze le probmèe ne se posera plus

bmp74: C'est quoi la/les conditions pour passer a la ligue du dessus une fois submit ?

Alshock: @BenLvre il pourra se poser à nouveau, mais avec des chemins heuristiques

Haashi: bmp74, meilleur que le boss

MrBib: Avoir un meilleur score que le boss

Alshock: battre le score du boss apres tous tes match

Default avatar.png Colios13: et avoir fini tes match

Alshock: je suis lent c'est ça que vous essayez de me dire ?

bmp74: okok bien ce que j'avais compris mais j'etait pas sur :) ty

YannDev: pourquoi Ben

YannDev: en Bronze j'ai plus besoin de gérer ça ?

Default avatar.png Colios13: Yep Yanndev tu devrais aller à la ligue suivante car le fait de voir toute les pastilles ou pas change quand même pas mal la donne :cold_sweat:

YannDev: Ah après on les voit pas

YannDev: ...

YannDev: bon bah je vais faire un algo con qui prend la première pastille

MrBib: Non.... du coup j'ai quelques petits soucis xD

Default avatar.png Colios13: yep comme tout le monde ^^

YannDev: et donc toutes les pastilles ne seront pas remplies ?

Default avatar.png BenLvre: @YannDev du coup ça depend de comment tu geres mais en bronze tu ne vois plus les pastilles derrières le smurs

YannDev: ou il y a des pastilles sur toute la map de base

Default avatar.png Colios13: tu ne vois que les pastilles qui sont dans ton *champ de vision*

Crocmagnon: Toutes les pastilles sont là au début mais tu ne vois que celles qui sont dans ta ligne de mire

YannDev: et on voit pas les mouvements de l'adversaire?

Default avatar.png thoip: non plus

Crocmagnon: non

YannDev: Hm

YannDev: et on a plusieurs pac

Default avatar.png Colios13: seulement si tu les vois dans ton champ de vision

Crocmagnon: Tu verras quand même les super pastilles sur toute la map par contre

Default avatar.png Colios13: yep

YannDev: ah mais du coup on peut faire un pac éclaireur

YannDev: qui va scanner la map

Crocmagnon: "Vos pacs ne voient pas à travers les murs. À chaque tour, vous voyez toutes les pastilles et les pacs ennemis qui peuvent être reliés à vos pacs par une ligne droite continue. Les super-pastilles sont en revanche si brillantes qu'elles sont visibles depuis n'importe où ! "

Default avatar.png thoip: pour ça faut pas faire compliqué les premieres ligues comme les regles changent

Crocmagnon: Oui enfin s'il a le temps de scanner la map le pac autant qu'il ramasse le plus de pastilles possibles :p

YannDev: bon bah merci

Alshock: @Crocmagnon scanner la map est une assez bonne manière de faire ça

Grillaume: après bronze les règles vont encore changer ?

Crocmagnon: Oui certes ^^

Alshock: non

Crocmagnon: Non

YannDev: mais du coup je fais quoi pour passer bronze

YannDev: je debug mon truc

YannDev: ou je tente une heuristique nul

MrBib: pour bronze c'est easy

Alshock: @Grillaume le wood est une ligue spéciale d'apprentissage, au delà les regles ne changent plus

Crocmagnon: Ma stratégie pour sortir des ligues bois c'était de target la super pellet la plus proche ou la pellet la plus proche si plus de super pellet dispo

EpicNeophyte: Hey, il y a encore des soucis cote CG serveurs ou ca a été résolu?

MrBib: j'ai juste visé les grosses pastilles, et après je visais la plus proche

YannDev: ah

YannDev: :')

Default avatar.png Colios13: Moi j'étais plutôt partit sur le fait d'attribuer des zones de recherche à chacun de mes pac permettant d'éviter les collisions aussi du coup

PhOeNyX: Il suffit d'initialiser les cells à "non visibles" puis à chaque tour en fonction du champ de vision des pac mettre à jour la valeur des cells (0, 1 ou 10) et ensuite dans ta recherche de déplacement tu pondère les cells en fonction de la valeur (une cell connue a pour valeur... Sa valeur, une cell inconnue a une valeur d'environ 1.1 j'imagine)

Grillaume: @Alshock comme Ocean of Code du coup, merci !

Crocmagnon: Et pour gérer plusieurs pacs tu peux faire une liste de ce qu'ils ont en target à chaque tour pour pas en avoir deux avec la même target

Alshock: @Grillaume c'est la règle général de CG que je viens d'énoncer

Alshock: générale*

Grillaume: très bien merci !

YannDev: hm

Bob: perso je vais juste au plus proche

YannDev: et en bronze ya plus d'heuristique gloutonne?

Bob: à une ou deux bricoles pres

MrBib: attention, 2 pacs avec des targets différentes peuvent avoir le même chemin pour y accéder

Crocmagnon: C'est ça ton bot gold Bob? :p

Bob: Crocmagnon: ouais

Crocmagnon: Noice

aliokan: C'est quoi le but du repo github lier au challange?

YannDev: donc tu regardes même pas la taille de la pastille

Alshock: @MrBib le même chemin non, des chemins séquents oui

aliokan: de dev en local?

Bob: YannDev si quand même un peu

Bob: j'ai une vague priorité pour les grosses, puis les petites connues, puis les zones inconnues

MrBib: avec des positions identiques à N+1 :p

Default avatar.png thoip: yanndev il faut gerer le fait qu'un de tes pacs va déjà à un endroit

Bob: un if moisi pour pas aller chercher une pastille connue à l'autre bout de la map plutôt qu'un truc inconnu à côté

Default avatar.png Colios13: moi ce qui m'embête c'est de gérer les zonnes connu quand t'es en speed

Bob: et pour éviter qu'ils aillent au même endroit, je mets juste un 0 sur la pastille que je vise comme ça le pac d'après ne la "voit" pas

Alshock: ah oui on est d'accord que tant qu'on s'en fout de manger on passe sa vie en speed ? xD

YannDev: bien vu

YannDev: Bon bah je vais partir sur un bot full heuristique du coup

Bob: j'ai un if moisi pour faire un switch et sinon je spamme speed

Bob: voilà

Bob: top 20

Crocmagnon: ça fait beaucoup de if moisi ça :o

Alshock: @Bob dans la catégorie tout aussi con à faire, c'est pas un chouilla mieux de répartir les pastille selon ton pac le plus proche et lui dire d'aller chercher la plus proche de son lot ?

Bob: sais pas

Bob: dit comme ça ça a l'air fatiguant

Alshock: Les if moisis c'est la rustine des devs

Alshock: c'est donc la vie

Crocmagnon: :joy:

Bob: c'est pas mes rustines c'est mon outil de base

Asfalots: je suis obligé d'intervenir, ya autre chose que des if moisis ?

QzL: pour un tour, on donne soit move soit une habilité ? (switch / speed)

Il n'est pas possible de faire speed puis move ?

Alshock: Putain Bob je t'aime "un double for c'est trop avancé, reste donc sur un if"

Bob: non, une seule action

PhOeNyX: Faut faire un voronoï j'vous dis

Bob: Asfalots: il peut y avoir des ifs pourris

Magus: les compteurs pour les durées dans CG c'est toujours le bordel

Asfalots: xD

Bob: le truc le plus compliqué dans mon code c'est le FF pour calculer les distances

Magus: si ability cooldown est à 1

Magus: on peut utiliser SPEED ou SWITCH à ce tour la ?

Magus: ou ce sera au tour d'après ?

Alshock: Oulah , j'en sais rien

Bob: moi j'utilise si c'est à zéro

Alshock: j'attends 0 comme un sage perso

Magus: parce que dans l'ordre des actions c'est marqué que ça décrémente les compteurs au début du tour et que ça exécuter les compétences après :/

Default avatar.png Colios13: pareil 0

Magus: bon, va falloir tester

Crocmagnon: D'après la doc FR tu devrais pouvoir utiliser une compétence + un mouvement

[CG]Maxime: où ? que je corrige

Crocmagnon: "Chaque pac a accès à deux compétences (SWITCH et SPEED)" "3. Exécuter les compétences" "4. Résoudre les mouvements"

Crocmagnon: Du coup pour moi le mouvement c'est pas une compétence

[CG]Maxime: ouais mais tu peux avoir un pac qui bouge et l'autre qui switch

Magus: c'est marqué dans l'énoncé que tu peux faire qu'une seule commande par pac

QzL: L'action SPEED permet à un pac de se déplacer de 2 coups au l'un d'un seul pendant les 5 prochains tours.

C'est plutôt au lieu d'un seul ?

Crocmagnon: Pas lu cette phrase :p

Crocmagnon: J'ai vu une conf du mec qui a fait Advent of Code y'a pas longtemps, il disait qu'il y a toujours quelqu'un qui ne lit pas juste une phrase, et il faut que ce quelqu'un ait quand même l'info ailleurs pour pas qu'il comprenne ton énoncé de travers

Crocmagnon: Bref

[CG]Maxime: merci QzL, je mettrai à jour plus tard

Crocmagnon: Magus je vois pas où c'est dit que tu peux faire qu'une commande à la fois

[CG]Maxime: Crocmagnon dès que tu mets plusieurs commandes, le referee te kill en te disant que t'as pas le droit :)

Alshock: @Crocmagnon c'est bien de tenter, mais ça se heurte vite à une limite : "j'ai pas lu l'énoncé ça fait pas ce que je pense, plz fix"

Crocmagnon: Alshock, je dis juste qu'il faut fix l'énoncé :p

GTS: pour les 2 coups induits par le SPEED, il faut juste faire un MOVE de 2 cases ? Pour faire 2 MOVE de 1 case ?

YannDev: bon je vais donc résumer les conseils du saint lazy Bob

Crocmagnon: Maxime ok

Bob: GTS : un seul move

Alshock: Oui mais moi je dis qu'il y a une limite à ce qu'on peut faire pour que les gens comprennent en ayant mal lu @Crocmagnon

GTS: ok thx

Bob: et ton pac bougera d'au plus 2 cases vers la cible

Alshock: ah donc on peut ne bouger que d'une case en speed ?

Bob: Alshock si tu donnes une cible immédiatement voisine oui

Bob: tu peux même ne pas bouger du tout

Magus: ok donc on peut pas utiliser SPEED si le cooldown est à 1

Haashi: ah ouais tu viens de test Magus ?

Bob: (testé hier soir)

Haashi: nice

Magus: ouai je viens de tester

Crocmagnon: Alshock: ça coûte rien de rajouter une phrase dans "Sortie pour un tour de jeu" : "Chaque Pac ne peut recevoir qu'une seule commande par tour" et tout le monde comprend mieux :)

MrBib: putain j'ai envie de refaire des tableaux de path comme dans OoC :D

matleg: Quand on est sans classement (en N/A), c'est que le code timeout trop souvent?

MrBib: ça commençait à me manquer xD

YannDev: 1) Manger la pastille la plus proche 2) passer sa vie en speed 3) prioriser grosses puis petites connues puis inconnues (et ajuster selon la distance) 4) Keep it lazy

Haashi: mes pacs vont etre 10% plus rapides grace a cet info

Default avatar.png Colios13: Je pense que ça pourrais être marrant de faire un bot dont l'unique but est de gagner en tuant tout les pac adverse

Alshock: @matleg le code du serveur surement xD

Haashi: matleg le classement est freeze le temps que codingame scale leur serveur

AdrDer: Hello! Vous avez toujours l'erreur #73?

matleg: ah d'accord merci Alshock Haashi !

Magus: Colios13: vas y dévoile pas ma tactique secrète

Default avatar.png Colios13: xD

YannDev: mais si on fait un bot pvp

YannDev: il faut qu'il soit super rapide

YannDev: :thinking:

Crocmagnon: Alshock: le lien vers la conf dont je parlais: https://youtu.be/bS9882S0ZHs?t=1087 (avec le timecode). Le type a un peu de bouteille en puzzle design, c'est cool à écouter :)

timoru: "Rajoutez du texte à la fin d'une commande d'un pac pour afficher ce texte au-dessus de lui" comment on fait quand il y a plusieurs pacman pour rajouter du texte ?

Alshock: Si on tue tous les adversaires on gagne automatiquement ?

egaetan: non

YannDev: non

YannDev: il faut qu'en mangeant toutes les pastilles restantes tu gagnes

Crocmagnon: Non, c'est dans l'énoncé :p

Crocmagnon: :grin:

Alshock: timoru bah tu peux rajouter du texte à chaque pac

MrBib: MOVE 0 0 0 |MSG Toto | MOVE 1 0 0 | MSG Tata

Default avatar.png Colios13: Tu gagne toute les pastilles restantes

Crocmagnon: "Si tous les pacs d'un joueur sont morts, toutes les pastilles restantes sont automatiquement accordées aux pacs survivants et la partie se termine."

timoru: ok merci bcp MrBib

Crocmagnon: "Le gagnant est le joueur avec le meilleur score, peu importe le nombre de pacs en vie restants. "

Alshock: ouais nan mais là j'ai même pas essayé de lire, j'ai juste mal compris la phrase du bot pvp

YannDev: en gros un bot qui tue les adversaires

Alshock: t'façon tout le monde ici le sait que je sais pas lire

YannDev: si jamais tu les tues assez vite

YannDev: ça peut permettre de gagner

Bob: YannDev c'est à peu près ça

YannDev: Ah super Bob !

YannDev: Bon bah je vais faire ça pour passer bronze si ça suffit à ce point

Alshock: Mais euh, du coup si tu tues tous les adversaires tu peux pas faire pire que draw, puisque la partie s'arrête quand quelqu'un a plus de la moitié des pastilles ?

YannDev: et après j'essaierai de faire un bot pvp

Bob: tu peux rajouter en 1.5 : switch pour la forme qui gagne si t'as un pac adverse pas loin

YannDev: Oui bien vu

Bob: (chez moi, 3 cases)

YannDev: merci beaucoup ;)

Bob: important : la forme qui gagne

Crocmagnon: :grin:

Bob: pas juste la forme qui ne perd pas :)

Bob: sinon tu te retrouves avec des pacs ciseau contre ciseau qui se mettent des coups de boule comme des cons

YannDev: dire que ma qualification au google code jam

YannDev: round 2

Default avatar.png Colios13: bob et si vous êtes tout les deux dans la même forme ?

Bob: ben justement

YannDev: s'est jouée à un O au lieu d'un W

Bob: bool operator >(const Pac& pa, const Pac& pb) { return pb.type != strongerType[pa.type];}


Crocmagnon: Colios13 change de forme pour la forme qui gagne, peut-être que l'adversaire ne changera pas

YannDev: on pourrait faire un prédicteur

YannDev: de l'issue du combat

YannDev: si jamais l'adversaire joue optimalement

Bob: a forme égale ou gagnante, je considère que le pac d'en face est "supérieur" donc je switche

LoganWlv: #Bob Mais du coup tu Speed pas dès que tu peux non ? Pcq sinon tu pourras pas Switch quand il sera près ?

LoganWlv: #Bob ou tu mets une condition pour dire que si j'ai un enemi en vision je ne speed plus automatiquement ?

Bob: LoganWlv: il y a sans doute des cas où je speede et où ça m'empêche de switcher après

Bob: en gros j'ai une fonction ability()

Bob: soit j'ai un pac adverse, plus fort ou égal à moins de 4 cases et là je switche

Bob: sinon je speede

Bob: #bestialité

LoganWlv: ok je vois thanks

Alshock: à moins de 4 cases ET visible ^^

Bob: si il n'est pas visible je ne l'ai pas dans ma liste hé

Alshock: en gros tu switch pas très souvent, et c'est pas nécessaire

Bob: je m'amuse certainement pas à faire de la prédiction sur les pacs adverses

Default avatar.png Colios13: J'hésite moi à faire un état entre les deux si je vois style un pac visible à moins de 6 cases tu save tes compétence pour avoir le switch au cas ou

Alshock: ça on s'en doute

Bob: le seul truc que je fais c'est de marquer les positions symétriques de départ comme "pas de pastille ici"

Default avatar.png Colios13: ah pas con ^^

Alshock: anéfé, pateubé

LoganWlv: Tu pars du principes que l'adversaire aura tjrs les pastilles de son côté du coup

Bob: Colios13: bon pour les 4 pastilles que ça représente ça doit être marginal hein

Bob: LoganWlv: non ce n'est pas ce que je dis

Bob: je dis juste que les positions des pacs adverses en tour 1 sont symétriques aux tiennes

Bob: donc ces 3-4 cases-là tu sais qu'il n'y a pas de pastille dessus

Default avatar.png BenLvre: je comprends pas j'ai un log "Only pacs with the SPEED ability enabled can move" alors qu'ils ont tous speed

Bob: le reste autour je ne fais pas de pronostic dessus

LoganWlv: ah ok

GiB: Je ne suis pas très convaincu par l'utilité du switch. Si un pac adverse te fonce dessus et que tu switches, rien n'interdit l'adversaire de switcher aussi

timoru: @MrBib j'ai suivi ta syntaxe : "MOVE 0 29 11 | MSG [29,11] | MOVE 1 29 11 | ..." mais "Expected MOVE <id> <x> <y> but got 'MSG [29,11]'"

LoganWlv: #GiB si il speed ca veut dire qu'il peut plus switch

Alshock: @GiB celui qui patiente le plus gagne

MrBib: Ah, ben c'était pas comme ça :

MrBib: :D

Alshock: le msg est sans '|'

Alshock: ACTION X Y PARAM MSG

Alshock: ça fait partie de l'output du pacman considéré

Default avatar.png thoip: gib, certains bots en bronze chasse les pacs.

timoru: en enlevant le '/' ca marche. merci Alshock

Alshock: (je l'ai pas fait cela dit donc je peux dire de lamerde ofc)

GiB: Je trouve que c'est une bonne tactique de défense si on ne veut pas fuir, mais très mauvais pour attaquer

MrBib: Ah ok, on balance direct le message...

timoru: ouai et ya pas de mot clé MSG comme je croyais x)

Default avatar.png BenLvre: Quelqu'un à déjà eu le message "Only pacs with the SPEED ability enabled can move" ?

Alshock: @GiB bah pour attaquer de manière simple je vois deux cas : le mec est en cooldown => tu switches et tu le rush OU le mec est pas en cooldown => tu switches au dernier moment

Alshock: Bob ya deux secondes BenLvre

Alshock: Mais j'ai aucun indice de ce que ça veut dire

Bob: euh non j'ai rien dit moi

Alshock: Non c'est le message d'au dessus

Alshock: mon mauvais

YannT: c'est quoi les tailles maximum de la grid? parce que les valeurs du referee sont parfoiis dépassées :(

Bob: sais pas

Default avatar.png faneyer: vous avez toujours l'erreur ==> Une erreur est survenue (#73) : "Only 1 executor running at the same time for a test session"???

lunaticPenguin: 28 ≤ width ≤ 35 10 ≤ height ≤ 17

Bob: j'y vais avec des vector et c'est marre

Alshock: de ce que j'a icompris les tailles du ref sont les tailles de la zone atteignable non ?

Nolliwood: Salut, quelqu'un dev en C j'ai un tas d'entrées à l'ouest. y'a t il un bug ?

Alshock: donc genre height < 19 ?

Bob: Nolliwood: fais gaffe à bien lire toutes les inputs et surtout les espaces dans la map

Boulet: bon comment ça marche SPEED ???

Default avatar.png Colios13: D'ailleurs quel est votre démarche pour log les positions déja parcouru ?

Alshock: Aucune, je backtrack comme un débile

Bob: closest pellet to 3 is 0 0


Bob: dommage, 0 0 c'est un mur

Bob: Colios13: j'ai juste une carte des pellets

thepianist59: perso, j'essaie également de trouver le chemin avec le plus grod score mais de manière très simpliste, je viens de débuter le challenge

Bob: quand je vois des trucs vides, ben c'est vide

Bob: tout ce qui est visible est mis en dur

Bob: et tout ce qui était visible au tour d'avant est remis en "peut-être encore là" avant

thepianist59: mon truc basique est basé sur la distance de manhattan à laquelle je soustraie la valeur de la pellet à prendre ... pas ouf mais ça fait le café

thepianist59: j'ai par contre du mal à gérer la partie cyclique de la map avec la distance

Bob: là j'essaye de rajouter une différenciation entre "jamais vu" et "j'ai déjà vu quelque chose ici"

Bob: thepianist59: tu pourras pas le faire correctement avec du manhattan

Bob: t'auras meilleur temps de faire tout de suite une vraie distance

egaetan: Nolliwood oui le code de base en C est cassé

thepianist59: oui, c'est bien ce que je pensais ... mais j'avoue que passer sur de la téhorie des graphs au vu de la taille de la grille ... je suis pas sur de pouvoir répondre d'envoyer une commande dans les temps imposés

Default avatar.png Colios13: Bob je pense que ça suffit pour passer jusqu'en bronze

Alshock: la manhattan se fait simplement thepianist59 (selon moi) au lieu de abs(x1 - x2) tu fais abs(x1 - x2) % (width / 2)

Alshock: pas modulo merde, j'ai encore dit n'imp

Bob: théorie des graphes ? o_O

RomanceDawn: oula

Bob: faut aimer se casser la tête, sérieux

thepianist59: c'est pas ce que tu avait en tête Bob ?

RomanceDawn: des fois y pas de chemin sur les côté

RomanceDawn: ca boucle pas

Bob: thepianist59: un flood fill pour calculer les distances et c'est marre

thepianist59: bon, passage en bois 1

Nolliwood: egaetan ah je me disais bien

thepianist59: @Bob, j'avoue, je me complique la vie parfois XD

Alshock: @RomanceDawn oui mais une distance à vol d'oiseau ne tient par définition pas compte des murs

Bob: y a juste le traversage des bords à gérer mais comme ils ont eu le bon goût de mettre des murs sur les bords c'est super simple

Bob: int nx = (p.x + dx[d] + width) % width;

RomanceDawn: go précalculer les voisin et prendre un A* d'un autre contest et hop

Bob: ah ben oui forcément si je mets "peut-être un truc ici mais j'ai jamais vu" sur les murs...

Bob: :clap:

Default avatar.png Colios13: ouais y a des cases plus comppiqué à voir que d'autre ^^

Default avatar.png Colios13: Mais bob pour ta carte des pellet que tu n'a pas vu être pris, comment tu détermine si tu a pris un pellet ?

Alshock: el famoso target = max(pellets, key=lambda p: 1 / grid.dist(self, p) / p.turns_since_last_seen))

Bob: euh

Bob: j'ai pas compris la question :)

Edjy: Salut c'est mon premier contest chuis bloqué en bois 1 zauriez pas des ptits conseils à me donner ? ;)

Magus: va au pullet le plus proche

Alshock: @Edjy Keep It Super Simple

Bob: pas mieux que Magus

MrBib: te demander ce que tu ferais si tu étais aux manettes

Alshock: @MrBib c'est un coup à se voir répondre "acheter des masques" ça

Default avatar.png Colios13: Bob au début tu fait une liste de tout les pellet présent sur la map non?

Default avatar.png thoip: quelqu'un peut me confirmer qu'a un moment on ne peut plus utliser ces abilites?

Edjy: c con mais j'avais pas encore pensé à aller aux pullets adjacents merci

Alshock: quand t'es en cooldown ?

Default avatar.png thoip: non, le cooldown reste à 0.

Bob: Colios13: au début toute ma map est en "peut-être, jamais vu"

Default avatar.png Colios13: yep est comment tu détermine une case à vu

egaetan: sans doute quand il la voit

Default avatar.png Colios13: xD

Bob: à chaque tour 1. je remets les cases vues pleines le tour d'avant à "peut-être, déjà vu" 2. je remets les cases pleines sûres à partir de la liste en input 3. pour toutes mes lignes de vues, les cases qui ne sont pas dans les input sont vides et je les marque vide

Default avatar.png thoip: colios tu fais une map au debut es tu invalide toutes les cases ou il y a déjà eut un pac dessus?

Alshock: Bob quitte à faire ça, pourquoi ne pas directement implémenter le nombre de tour depuis la dernière fois que tu l'as vu ?

Alshock: Parce que techniquement on pourrait dire que le premier tour tu "vois" tout, puisque tu n'as aucun doute

Bob: vu de loin ça a l'air compliqué :)

thepianist59: à partir de quelle ligue la vision du plateau n'est plus complète ?

Mazelcop: bronze

Skrakout: Bronze

Bob: je garde ça en tête pour quand ce que j'ai là ne suffira plus

DarennKeller: Hey! Quel tools utilisez vous? Je suis sur l'ide online, mais je ne le trouve pas très pratique quand on commence à avoir pas mal de code.

BigUP: DarennKeller, Notepad++ ...

thepianist59: tu as des outils te permettant sunchroniser ton code dans l'ide avec celui de codeingame

Bob: VS Code

Alshock: Je déconseille de coder des trucs un peu long sur l'IDE condingame, version locale avec VCS + saves me semble bien plus secure

DarennKeller: Ok donc ya un plugin vs code pour auto sync? Je vais checker ça merci!

thepianist59: dans les paramètres de l'ide de condigames, ils te proposent d'utiliser un éditeur de code externe, perso j'utilise vs code

DarennKeller: Ouais exactement, je commence à faire de la merde et pas pouvoir backup pcq j'ai pas vcs.

Magus: quoi ?

Magus: depuis quand dans les paramètres de codingame tu peux utiliser un éditeur externe ?

Bob: DarennKeller: non y a Ctrl-C Ctrl-V

Magus: t'es sur que t'as pas mis un addon/plugin ?

thepianist59: tu le télécharge depuis les paramètres Magus

DarennKeller: Bob: Oui aussi ahah.

Bob: mais c'est très bien Ctrl-C Ctrl-V

YannDev: 3. pour toutes mes lignes de vues, les cases qui ne sont pas dans les input sont vides et je les marque vide

Magus: thepianist59: mais on parle du même site la ? oO

YannDev: ça veut dire quoi ça bob

Default avatar.png Colios13: Alshock je confirme hier/soir j'avais mis plein de comment sur les amélio à faire ce matin je suis revenu y avait plus aucun de mes comment ^^

Bob: YannDev: pour "synchroniser" ton code entre ton IDE et CG

thepianist59: https://i.imgur.com/7pqTmJg.png reagrde Magus

Bob: ah oui tiens il y a un lien pour installer CG Sync maintenant

thepianist59: c'est dans les paramètres de codingame

YannDev: ah ok

Magus: huh, j'ai pas ça moi

Magus: attends je sens le truc qui marche que sur chrome

thepianist59: et c'est depuis cela que j'ai installé l'extension

Magus: ah bah oui

thepianist59: je ne l'ai pas encore activé pour ce chall par contre

Magus: faut une extension c'est ce que je dis :D

thepianist59: je crois que sur firefox, l'option n'est pas disponible

Magus: c'est pas de base dans CG

thepianist59: d'ou l'absence du boutton

dwarfie: submit numero 3 ... go go go

Bob: bon pourquoi closest pellet to pac #3 is -1 -1 ?

mothinx: Comment faite vous pour faire un bundler de tous vos fichier provenant de votre projet IDE en un seul fichier Main pour CG ? Je comprends le besoin maintenant, mais je me demande comment je dois créer un tel bundler :D

thepianist59: ça par contre, je ne sais pas, je le fais manuellement à chaque fois XD

Bob: ah parce que j'ai que du Nothing dans ma map de pellets

Bob: ok

Bob: fair enough

Bob: mothinx: j'ai un seul fichier dans mon IDE :p

Alshock: Pareil, j'ai tout en un seul fichier, et j'ai sorti la SortedCollection recipe alors c'est dire....

egaetan: le ranking est revenu !

YannT: y'a un gros paquet de gens sur ce contest!

dwarfie: bon , pour une 3eme version avec un bug tellement enorme que je me fait perdre , c'est pas si mal :D

Alshock: Oh le ranking de retour ? Faut que je finisse ma version alors !

Default avatar.png BenLvre: bon dommage mais je voulais utiliser SPEED mais dés que je le fait le jeu ne veut plus me laisser bouger mes pacs ^^

Haashi: 50 \o/

dwarfie: BenLvre ... c'est speed ou move ... pas les 2 dans le meme tour

Default avatar.png BenLvre: yes

Default avatar.png BenLvre: mais une fois SPEED j'ai une erreur dans les log qui bloque ma commande MOVE

Default avatar.png thoip: ca te mets quoi comme message?

WhatTrickeryIsThis: ah, j'avais planqué de la bouffe dans les murs, le sale bug

Default avatar.png BenLvre: "Only pacs with the SPEED ability enabled can move"

dwarfie: ha ben ouais ... si t'utilises speed avant d'avoir le droit aussi ;)

Bob: bon, j'ose repousser ?

WhatTrickeryIsThis: c'est pas parceque tu fait speed sur un pac, tous tes autres ils bougent pas?


WhatTrickeryIsThis: pousse bob

nib: il y aura des nouvelles regles jusqua quelle ligue ?

Default avatar.png BenLvre: je teste bien le cooldown mais je crois avoir trouvé

Bob: nib: bronze

nib: cheers :)

WhatTrickeryIsThis: bronze = full statement, c'est une règle implicite

WhatTrickeryIsThis: c'est la loi

dwarfie: yes ... top 200 ... plus qu'a eviter que mes pac se rentrent dedans en permanence :D

Bob: allez soyons flous

WhatTrickeryIsThis: quand ils se rentrent dedans pour une pastille, j'ai remarqué qu'ils prennent pas la pastille ces imbéciles

egaetan: salut WhatTrickeryIsThis

egaetan: fonce !

Default avatar.png thoip: https://www.codingame.com/share-replay/458600140 tous le monde se bloquent.

WhatTrickeryIsThis: egaetan, ça gaze?

egaetan: ça le fait

dwarfie: c'est surtout que les miens ils dansent pendant 50 ou 100 tours pour le moment lol

Default avatar.png fixme: en speed on peut pas choisir la case intermédiaire ?

Default avatar.png JBM: comment es ta contest

egaetan: ça ne change rien fixme

Default avatar.png fixme: si

Default avatar.png fixme: des fois mon algo veut manger une case et revenir direct en arrière

Default avatar.png fixme: ça foire en speed

Alshock: ah ça effectivement tu peux pas je pense

egaetan: le retour arrière est impossible

egaetan: tu vas trop vite

Alshock: je vais vite - Lorie

Default avatar.png BenLvre: https://www.codingame.com/replay/458607050 aille je bouge que tous les 10 tours ^^

egaetan: tu vas trop lentement

WhatTrickeryIsThis: woa le speed il est vraiment efficace

Default avatar.png BenLvre: en mode speed on peut pas récupérer la pastille a coté de nous ?

Default avatar.png BenLvre: je comprends pas comment je me retrouve bloqué ^^

Alshock: J'ai un problème existentiel

Alshock: Entre les pacmen et les pellets, j'appelle tout le monde 'p'

fauresebast: BenLvre c'est pas parce que tes pacs n'ont pas de pastille en vision direct ?

YannDev: je soumets mondfs pour test

YannDev: il est entrain de rouler sur tous les matchs mdr

YannDev: j'ai le seum que le brouillard arrive

Bob: bon 200e, ma nouvelle map de pellets est pas au point

Bob: on va remettre le code d'avant

LoganWlv: le DFS avec e brouillard ça risque d'être compliqué

YannDev: ouaip

YannDev: en fait ça cherche le meilleur chemin

YannDev: mais du coup oui avec le brouillard :/

Bob: Alshock: j'ai p et pe moi

Bob: et op pour other pac

LoganWlv: BFS for the win

Default avatar.png thoip: benlvre tu as buggé ton truc tu deplaces ne te deplaces pas tant que l'abilité n'est pas la il te manque une condition

YannDev: tu vas à la pastille la plus proche ?

YannDev: Logan

LoganWlv: Dès que il n'y a plus de super pastille oui

YannDev: je pense faire ça après

Bob: bon je vais faire les brochettes

Bob: hop

YannDev: mais sans brouillard mon dfs > *

LoganWlv: C'est pas très optimisé mais ça marche assez bien

YannDev: il a défoncé le boss

YannDev: 10win/10

LoganWlv: :100:

YannDev: ah j'ai pris une défaite parce que mon bug droite gauche est revenu sur un match

YannDev: tristesse

LoganWlv: Apparament Bob a eu un cas ou sur une ligne tu a aucun mur, donc fais gaffe à la boucle infini aussi :D

YannDev: ah c'est dommage ça

YannDev: d'ailleurs comment on sait qu'il y a un tunnel?

Default avatar.png BenLvre: @thoip bizarre je lance la commande que quand le cooldown est à 0

Default avatar.png BenLvre: je vais devoir debugger tout ça ^^

LoganWlv: si tu es sur un Floor en limite de map (droite ou gauche) tu as forcément un tunnel

YannDev: ah

YannDev: super merci beaucoup !

YannDev: whut comment je peux perdre des places en faisant full win

YannDev: c'est chelou

Samsa: C'est chaud le nb de joueurs en bronze, pas du tout comme pour OoC

Grillaume: @Samsa en même temps les bois 1 et 2 se passent avec très peu de code, sur OoC il fallait y passer un peu plus de temps

YannDev: ah bah mon truc est premier bronze

YannDev: lol

YannDev: bois*

nicola: Ton premier bronze ? Eh ben… :grin:

Samsa: Il as juste pas le même pseudo dans le chat et dans le leaderboard

leojean890: la bronze est bordélique et j'imagine pas son état en fin de contest

RomanceDawn: poussez pas rop en bronze, aprés ca va etre galere pour passer silver :x

leojean890: vu qu'il y déjà plus de 2000 participants et que les bois sont simples

Default avatar.png Kaearin: Bronze top 100 il y a pas beaucoup de code non plus pour l'instant

gregballot: Bonjour bonjour

gregballot: eh beh y'a eu du grabuge pendant la nuit

gregballot: (C'est pas comme si c'etait surprenant)

Samsa: Perso je suis #39 avec pas grand chose donc il y as du monde mais le niveau n'est pas très élevée

Default avatar.png Kaearin: S'accord avec toi samsa

piw4i: hello

gregballot: J'ai vraiment rien du tout moi et deja bronze aussi

piw4i: en ligue bronze, si on tente de faire un move sur un pacman qu in'existe plus ca fait perdre la partie direct?

gregballot: Mes trucs vont juste a la manhattan distance la plus courte, y'a meme pas d'algo lol

leojean890: le niveau du top va monter dans les jours qui viennent

gregballot: oui j'imagine

Samsa: gregballot ça c'est pour rentrer en bronze, je suis pas sur que tu atteigne top 100 avec ça

gregballot: ah non maintenant je vais sortir l'artillerie lourde

Samsa: leojean890 si le niveau déscendait ce serais inquiétant

Haashi: Bon aller fini les heuristiques

Haashi: go faire un vrai truc

gregballot: arrete pas quand meme t'en auras besoin :op

gregballot: :p *

BigUP: hum... timeout juste avant de balancer les moves !??

Haashi: bwarf, mon heuristique ca va etre exactement mon nombre de points

Samsa: Haashi je me dit ça à chaque contest mais je le fait jamais :(

Haashi: c'est le moment de montrer que tu mérties ton avatar

Samsa: tu me met la pression là

BigUP: l'avantage, c'est reproductible... je vais pouvoir balancer un chrono pour voir si c'est un timeout reel

Samsa: ça existe les timeout complexes ?

Andry_: :slight_smile:

BigUP: 0,067s ok c'est bien un timeout :( snifff

leojean890: 140zmz avec simu + minmax bugué

leojean890: lol

leojean890: améiorable tt ça

BigUP: ca promet, si je suis déjà en timeout alors que je ne fais pas grand chose !

gbiebuyc: avec quel language?

VincentBab: BigUP: go C++ :P

gregballot: Ruby probablement

BigUP: VincentBab, ouais, mais j'ai clairement la flemme ! ;)

Zorg1: en général BigUP il bricole en python

leojean890: enfin chaque adv minmax avec son plus proche

BigUP: va falloir que je limite les BFS :)

leojean890: jfais ça avec une depth 2 only

leojean890: pas de timeout du coup même en python

leojean890: et #140 avec les bugs, que je traiterai ce soir..

leojean890: faire un gros BFS/beam search ça peut être bien aussi si lngage plus rapide

leojean890: langage

Default avatar.png Sassayan: Bonjour, je suis débutante en programmation et les maths ça fait une éternité que j'ai oublié 90% de ce que j'ai appris, c'est normal que je sois totalement larguée sur cet exercice ou je suis con ? haha

Valbou: c'est normal que tu sois largué ;)

Haashi: quel exercice ?

Default avatar.png Sassayan: Mars lander - episode 1

Default avatar.png Sassayan: la grosse panique

leojean890: c pas forcément simple d'avoir une bonne perf Sassayan

leojean890: ah ok :p

Samsa: C'est pas math c'est physique

Default avatar.png Sassayan: encore pire Samsa :neutral_face:

nicola: Sassayan, essaie d’autres puzzles.

Default avatar.png Sassayan: ça me rassure merci, je me suis sentie con sur le coup

Default avatar.png thoip: sassayan, finis tous les puzzles en facile avant.

Default avatar.png Sassayan: il est en facile

nicola: Il me reste quelques puzzles faciles.

YannT: il est chelou celui là oui

Valbou: oups boulette @thoip

Default avatar.png Sassayan: c'est pour ça que ça m'a laissé perplexe

nicola: Tente les puzzles faciles de la communauté.

Default avatar.png Sassayan: Je vais tester ça merci beaucoup

YannDev: bon

YannDev: je suis 666ème de la wood II lol

YannDev: et j'ai même pas adapté mon bot au multi pac

Valbou: Belle perf @Yanndev

Samsa: Il y a moins de 300 personnes en wood 2 tu fait comment ?

YannDev: wood I pardon

YannDev: NON JE SUIS PASSE 667

YannDev: NOOOO

Bleizig: Rien que la lecture du flux d'entrée prend 150ms pour moi, ça va être compliqué d'éviter les timeout ...

Default avatar.png thoip: mars lander est simple à faire sassayan

Zorg1: ah ok plus de 1000 gars en bronze

Samsa: Bleizig, prend bien en compte de lancer le compteur après le premier input

timoru: thoip c'est pas avec des messages comme ça que tu vas l'encourager x)

mothinx: Bleizig ,je compati. J'ai tenté un error output sur toutes les entrées pour voir la tronche de la data en wood 1 :D

Default avatar.png Sassayan: thoip, quelle est ta méthode si tu sais pas faire les calculs de base ?

timoru: Sassayan

Default avatar.png Sassayan: mdr timoru parfois faut entendre la vérité

Samsa: tu tente des trucs

Bleizig: oui, au début de la boucle infinie

Valbou: @Sassayan, il faut juste ajuster la puissance un peu en dessous de la gravité donc tu oscille entre 3 et 4

timoru: de mémoire tu dois te laisser tomber puis ralentir à partir d'une certaine altitude Sassayan

Nagatwin: Si t'as oublié les maths, mars lander c'est surement pas le plus facile

Samsa: :+1:

nicola: Sassayan, si tu es plutôt matheuse, tu peux même aller chercher des puzzles moyens.

mothinx: tu as en plus dans l'énoncé les fonctions à utiliser de mémoire. Il ne s'agit pas de math donc, mais d'implémentation :)

Bleizig: mothinx, je n'arrive même pas à savoir si ça vient de moi ou si c'est la plateforme qui part en sucette

Valbou: @Sassayan : inutile de calculer une hauteur à partir de laquelle freiner. Freine quand tu dépasse la vitesse max puis ça le fait ;)

Default avatar.png Sassayan: @nicola je suis pas du tout matheuse justement haha

Valbou: avec une petite marge d'erreur genre à 38 le max

nicola: Ha OK.

Default avatar.png Sassayan: @Valbou vraiment pas bête

nicola: Tu est plus balaise en quoi ?

nicola: es

nicola: https://www.codingame.com/training/easy/may-the-triforce-be-with-you

nicola: Essaie celui-là.

Default avatar.png Sassayan: C'est ça le problème rien du tout pour l'instant. Enfin, je comprend bien la logique derrière l'exercice, mais le faire c'est une autre pair de manche

BigUP: ha bah voila, si je passe par des set pour les walls, ca ne timeout plus ;)

Default avatar.png Sassayan: merci je vais essayer

nicola: https://www.codingame.com/training/easy/self-driving-car-testing

Default avatar.png Sassayan: en fait c'est mon formateur qui m'a envoyé ce site pour m'entrainer

nicola: https://www.codingame.com/training/easy/isbn-check-digit

Default avatar.png Sassayan: sauf que j'ai jamais codé comme ça

nicola: Tu utilises quel langage ?

Default avatar.png Sassayan: mon expérience se résume à faire des applis sur react et des blueprints sur ue4

Default avatar.png Sassayan: Javascript en plus

YannDev: les gens qui ont fait le greedy qui va toujours à la pastille la plus proche, vous avez pensé à update le move à chaque tour ou pas ?

Valbou: @Sassayan, avec une simple condition tu finiras sans problème

BigUP: arf impressionnant je suis passé de 0,067 voir 0,147 a 0,006s

YannDev: je sais pas ce que ça donne mais ça peut amélioré les perf

YannDev: comme ça si jamais la pastille target s'est fait manger le pac change de cible

nicola: https://www.codingame.com/training/easy/tictactoe

Default avatar.png Sassayan: Merci nicola

nicola: https://www.codingame.com/training/easy/unit-fractions

BigUP: hop resubmit... voyons combien de places ca va me faire gagner (ou perdre)

nicola: https://www.codingame.com/training/easy/sudoku-validator

Default avatar.png Sassayan: @Valbou je me suis peut être laissée impressionée par le graphique du coup

nicola: Je t’en ai sélectionné des pas trop durs.

YannDev: BigUP attends un peu avant de voir ce que ça fait

Default avatar.png Sassayan: merci beaucoup !

YannDev: parce que moi ça a mis longtemps avant de bien s'update

BigUP: Hop 100 places de gagnées pour le moment a 20%

Snef: Hello all !

Gh0stm4chine: https://www.codingame.com/replay/458658006 il m'a tendu une embuscade ! :(

Alshock: Ah ah ah "wait for it... wait for it... Merde derrière !"

Gh0stm4chine: tellement ça x)

Alshock: C'est reparti comme en 40

Mazelcop: il n'y a pas de T-shirt à gagner pour ce challenge ?

Snef: Il faut passer en 1D pour le floyd warshall ou ça change rien ?

YannDev: pourquoi tu utilises floyd x)

YannDev: c'est pour les plus courts chemin sur un graphe pondéré :/

Snef: Pour avoir la distance entre chaque cases

YannDev: fais un bfs à la place

YannDev: et floyd warshall tu peux le coder avec un tableau 2d pour stocker les distances

Snef: distance entre deux points donc si je fais un tableau 2d je dois mettre mes points en 1d

YannDev: tu peux faire un identifiant pour chaque point

YannDev: mais au pire fais un tableau 4d

YannDev: ça passe crème

Alshock: je fais un bon gros floodfill de toute la map pour chaque pacman perso

YannDev: 50^4 ça fait environ 6*10^6

YannDev: Alshock un bfs c'est mieux xD

Snef: Justement je me posais la question niveau perf si ca change quelque chose le 4d vs le 2d

YannDev: non

Alshock: @YannDev j'ai pris le plus large tant que je sais pas ce que je veux

YannDev: en terme de mémoire tu consommeras autant

YannDev: et l'algo reste un N^3 en temps

Alshock: du coup je peux dire que la perf tu l'as dans ton cube ?

YannDev: oui :')

YannDev: un floodfill c'est cool mais si tu timeout à cause de ça...

Alshock: ça risque pas je simule rien atm

YannDev: ah nice

RomanceDawn: Floyd warshall tu le fait une fois au premier tour

YannDev: pourquoi vous utilisez des trucs inutiles xD

YannDev: un simple bfs

YannDev: (ou un floodfill)

Alshock: en vrai si, c'est intéressant pour perf les simus

YannDev: genre les gens qui font dijkstra

YannDev: bah tu peux pas simuler grand chose

YannDev: je vais la jouer full heuristique je pense

Alshock: c'est quoi la différence entre djikstra et le bête A* ?

YannDev: parce qu'avec le brouillard...

RomanceDawn: ca peut sembler pété au debut mais ensuite ...

YannDev: bah dijkstra c'est vraiment pété pour le coup oO

YannDev: un bfs suffit

YannDev: et est plus rapide

YannDev: dijkstra en gros c'est un bfs glouton

Nagatwin: Ah ?

YannDev: il se dit que le point le plus proche mènera au plus court chemin

YannDev: d'où l'utilisation d'un tas binaire

YannDev: (aka priority_queue)

YannDev: Une heuristique qui a l'air cool mais faut tester c'est le scan de map

YannDev: je pensais à faire un pac qui se déplace de manière à maximiser les cases découvertes

Nagatwin: baaah FW te donne tout les chemins, c'est mieux nan ?

YannDev: en terme de quoi ?

RomanceDawn: au premier tour t'a 1000 ms

YannDev: ah

YannDev: je savais pas !

Nagatwin: Pour celculet des chemins

Nagatwin: calculer*

YannDev: l'avantage d'utiliser un bfs c'est que tu peux facilement modifier ton pathfinder

Stilgart: Nagatwin: oui, si tu as besoin de tous les chemins, FW c'est mieux

Faibbus: Hmm, j'ai un truc étonnant: l'exécution de mon programme s'arrête pendant la lecture des entrées, sur les pellets : sur les 22 annoncés, je n'en reçois que 21

nicola: Dijkstra n’est pas un BFS.

WhatTrickeryIsThis: côte côte avec bob :ok_hand:

Faibbus: ah non, c'est bon, mes prints sont juste pas flush ^^'

BigUP: entrée dans le top 500 ...

Edjy: À partir de la ligue bronze, on peut utiliser une compétence ET avancer ? ou juste l'un des deux

Haashi: juste l'un des deux

Edjy: ok

Dataworm: Bonjour tout le monde, je me suis mis à la prog objet python. Je suis bronze mais maintenant avec le changement de règles ... c'est un peu le bazard dans mon code et dans ma tête. Bonne chance à tous.

BigUP: Dataworm, si c'est le bazare alors c'est le moment de faire de la refactorisation

Dataworm: refactorisation ? ca veut dire select all + suppr ?

BigUP: Dataworm, non tu decoupe et reecrit tout ce qui peut l'etre

BigUP: voila voila, top 400 ...

Dataworm: gg

Dataworm: bon je m'y remets

Alshock: delete all + suppr me parait un bon début de refactorisation

Alshock: select*

Dataworm: ^^ je le savais !

BigUP: va falloir que je me mette a gérer le feuille/papier/sciseau

Zorg1: pourquoi faire ? :p

BigUP: Zorg1, je sais pas ? bon bah je vais gerer le boost alors

Zorg1: :D

Grillaume: SWITCH PUIT résout tous les problèmes les gars, j'ai trouvé la solution !!

GiB: Bof, c'est juste une amélioration de SWITCH ROCK :p

PhOeNyX: C'est quand l'ouverture de la ligue silver ?

PhOeNyX: lundi ?

Edjy: oui

GiB: Je suis en train de gérer SWITCH BAZOOKA, c'est quand même mieux

Grillaume: De mon coté j'implémente SWITCH MAGNET, ça aspire tous les pellets de la ligne :)

BigUP: GiB, Torpedo c'est mieux

GiB: :thumbsup:

BigUP: voila, le speed c'est géré

BigUP: sauf ca ca speed trop souvant ... ;(

Magus: j'ai implémenté SWITCH BFG

Magus: désolé vous allez perdre

351062: :o

GiB: BigUP, tu gères tout le speed, ou juste l'activation ?

Je trouve que c'est assez difficile de gérer les deux coups, notamment quand mon pac voudrait faire un aller-retour de genre haut+bas

BigUP: je voulais implémenter le SWITCH NUKE, mais un peu trop devastateur... du coup, je le range

BigUP: GiB, juste le declenchement

GiB: Est-ce que la map peut contenir des carrés 2x2 sans mur ?

Cela peut avoir son importance quand un pac en speed veut aller en diagonale

RomanceDawn: il faut que le main resemble à un pseudo code

RomanceDawn: pour avoir un code clean

egaetan: GiB non

VilBoub: encore un point qui n'est pas clair dans la règle... il est plus important de marquer des points que d'éliminer les pac adverses !

Default avatar.png thoip: pas vraiment si tu élimines tout les pacs tu ggnes

BigUP: Dans 2 jours, ce jeu c av aquand meme ressembler a une vaste partie de Papier/feuille/sciseau ou tout le monde se foutra d'aller manger des pastilles

LoganWlv: x)

VilBoub: à condition d'éliminer le dernier pas avant qu'il n'ai fait suffisament de points !

VilBoub: *pac

VilBoub: si tu marques plus de la moitié des points tu es déclaré vainqueur !

GiB: Cool pour la map. Autre question: comment sont résolus précisément les mouvements quand un pac veut aller sur la case d'un pac adverse plus fort ? La règle dit que le pac faible se retrouve bloqué, mais j'ai peur que ce soit considéré comme un suicide

Grillaume: Je trouve quand même que l'histoire des pellets à 10 points est assez aléatoire, tout le monde va avoir le même algo pour aller les chercher dès le début et ça fait clairement pencher la balance quand la partie commence...

GiB: Je crois que le code est ici: https://github.com/CodinGame/SpringChallenge2020/blob/master/src/main/java/com/codingame/spring2020/Game.java#L442 Mais je n'ai pas tout compris

BigUP: Grillaume, l'avantage, les déplacements de l'adversaire son tprévisibles

788361: GiB : si les deux pacs sont de même type ou du même joueur, ils rebondissent

788361: sinon il y en a un qui boulotte l'autre

adriens: Bonjour bonjour. Savez-vous si on peut faire des programmes multithread pour ce concours ?

Grillaume: @BigUp : même s'ils sont prévisibles, si au départ tu te retrouves avec un déficit de -30, ça fait mal... faut avoir un algo pierre-feuille-ciseaux bien solides pour remonter ça

pierre31: hello, il y a une info sur le fait que si un pac qui avance de 2 cases alors il mange les pastilles sur les 2 cases où il va directement à al 2ème case ?

GiB: Genre si on va sur la case d'un pac adverse au moment où il switche, on se fait bouffer ?! Je pensais que ça faisait une collision, et que mon pac pourrait fuir au tour suivant

Default avatar.png thoip: tu te fais bouffer

Nagatwin: Les abilities sont résolues avant les collisions

Alshock: http://chat.codingame.com/pastebin/c92613aa-c050-4f01-a830-c48f5be85cfd

BigUP: on peut switcher a chaque tours ?

Alshock: non t'as un CD de 10 tours

Alshock: partagé avec le SPEED


BigUP: ha ? mais le cool down il sert aussi pour le speed ?

Alshock: yep c'est un ability cooldown

Alshock: les abilities c'est tout sauf MOVE

BigUP: ha ok, en fait, tu peux activer qu'1 truc a choisir entre le Speed ou le Switch tous les 10 tours

Alshock: tu peux aussi MOVE et conserver ta capacité à faire autre chose

Default avatar.png thoip: oui et il faut faire attention les abilites ne sont plus actives

Default avatar.png thoip: par moment

GiB: Nagatwin, J'ai compris l'ordre, mais la règle dit qu'un pac ne peut pas croiser le chemin d'un pac plus fort Autrement dit, pour se faire bouffer, il faudrait que l'adversaire vienne sur ma case, pas l'inverse, non ?

Alshock: càd ?

Nagatwin: GiB c'est dans le cas de speed

Alshock: La mort des pacs c'est durant une collision

YannDev: oui

Nagatwin: genre tu peux pas passer à travers

YannDev: Comment ça dans le cas de speed

YannDev: bon moi faut que je recode mon algo snif

Alshock: les mouvements de l'un et de l'autre ne comptent pas i lfaut juste qu'ils rentrent en collision, par contre si 3 pacs se collisionnent je sais pas comment ça se passe

Nagatwin: ça explose

Nagatwin: Boum

Default avatar.png thoip: le seul cas ou tu peux eviter la collusion c'est si l'autre pac a subir une collusion juste avant

YannDev: ah

YannDev: Alshock tu me donnes une idée lol

BigUP: Alshock, ca doit gerer par ordre de pacid

BigUP: ?

GiB: Si 3 pacs se collisionnent, il y en a forcément 2 du même joueur, donc rebondissement

YannDev: si yen a 4

YannDev: :')

Alshock: @GiB bah ouais mais si le 3ème se fait bouffer par l'un et mange l'autre ?

YannDev: Alshock tu peux pas manger ton propre pac

YannDev: mais si il y en a 4

YannDev: et que ça fait un cycle

YannDev: ça peut être drôle mdr

Grillaume: avec 4 ça peut pas faire un cycle

Alshock: oui, mais pierre1 + feuille1 + ciseauB = ?

YannDev: Ah oui on est en pierre feuille ciseau c'est vrai

informathemusic: Eh Kobe tu vois ca?

BigUP: Alshock, c'est peut-etre la qu'il faut sortir le SWITCH PUIT ?

YannDev: mdr

Alshock: SWITCH Spock !

YannDev: SWITCH MIROR

YannDev: ez

Alshock: j'ai surement détruit son nom, ya pas de c c'est ça ?

BigUP: SWITCH VADOR... Beam... Sabre laser ou ecrasement de la glotte

BigUP: en random

Bob: SWITCH HULK

BigUP: Bob, SWITCH HULK HULK

Bob: non SWITCH HULK WAIT voyons

egaetan: gg Bob

Stilgart: SWITCH HULK SURFACE SILENCE TORPEDO

Bob: et MOVE 0 0 derrière

WhatTrickeryIsThis: FLIPENDO HULK

Stilgart: Automaton2000: tu confirmes qu'il n'y a pas de mur à la surface ?

Automaton2000: non il y a des trucs du genre

Stilgart: arf

Stilgart: Automaton2000: et avec un FLIPENDO en plus, ça passe ?

Automaton2000: quelqu'un peut me dire ce que tu as changé quoi ?

Stilgart: le referee :)

dwarfie: un accio ca aurait ete plus pratique ... on choppe sans bouger ;) ... pas vrai AutomatonNN ?

AutomatonNN: tu peux t'en servir pour le demon et tu veux dire que tu as une idée de ce que tu as eu un peu de ch

Stilgart: tu triches, tudemandes à NN

Stilgart: chance ou censure ? :)

dwarfie: et il me dit comment m'en servir pour autre chose ... il est gentil ;)

BlaiseEbuth: Yo tout l'monde ! Automaton2000, AutomatonNN !

Automaton2000: y a t-il un moyen de faire une recherche de chemin le plus court chemin

AutomatonNN: vous pensez que tu fais pas tout le monde et tortue ?

Bob: voilà

Bob: Automaton2000, prends exemple !

Automaton2000: c'est pour ça que je faisais un peu de temps

YannDev: Bob est ce que tu penses que ça vaut le coup de faire des coefficients pour voir si aller chercher un super pellet loin est plus rentable que de se balader pour potentiellement prendre plus de pellets :thinking:

YannDev: Etre lazy c'est pas si simple

YannDev: parfois on a des idées mais on sait pas si c'est worth it de les implémenter

Bob: j'ai essayé un truc dans le genre ce matin, avec des valeurs différentes entre "jamais vu", "vu dans le passé", "sûr tout de suite" et pondérer par la distance

YannDev: Hm

YannDev: et ça a donné quoi ?

Bob: j'ai peut-être merdé le truc mais ça m'avait fait perdre 150 places

YannDev: Ouch

informathemusic: Le ranking met cb de tps a se mettre a jour?

VincentBab: je pense pas que ca soit efficace, les super pellet sont focus très vite au debut quand il y a encore plein de pellet partout

YannDev: 10min environ

Bob: j'ai laissé ça dans sa branche pour le moment j'y reviendrai plus tard

YannDev: Du coup tu as abandonné les priorités

YannDev: et tu target super pellet puis pellet

YannDev: Vincent on pourrait justement exploiter le fait que les super pellet soient target

YannDev: Pour tuer les pac ennemis

HO: Y a-t-il un moyen de cliquer sur le bouton "Lancer mon code" sans avoir une Network Error ?

YannDev: oui

YannDev: essaie de te delogin

MrBib: Oui, revenir dans 10J :D

YannDev: puis de te relog

YannDev: après l'erreur 504 arrive aussi si ton code timeout je crois

HO: Je vais tenter le relog ;)

YannDev: t'as essayé de lancer l'exemple ?

YannDev: parce que de mon côté ça venait de std::cin >> c; qui aimait pas les ' '

HO: Je vais essayer de relancer l'exmple pour voir si ça vient de mon code

HO: Merci de ces conseils

YannDev: np

YannDev: personne mérite de vivre ce que j'ai vécu

YannDev: 4h à chercher pour rien

Magus: bon alors comment on fait une symétrie horizontal déjà ...

YannDev: càd ?

YannT: comme ça: ...>|<...

YannDev: tu peux afficher la liste en reverse

YannDev: si tu génères un demi terrain tu l'affiches d'abord de gauche à droite

YannDev: et après de droite à gauche

Magus: oula oula, tu pars loin

VincentBab: xD

YannDev: imaginons tu veux afficher la grille

Magus: je cherche juste à trouver le x du pac de mon adversaire en me basant sur le mon propre x au premier tour

YannDev: Ah x)

egaetan: on est déjà 1300 en bronze ..

YannDev: bah du coup tu regardes ta distance à l'axe de symétrie

YannDev: pour trouver les coordonnées du pac symétrique

VincentBab: Magus bah (width-1)/2 te donne le milieu

Zorg1: (x,y) est symetrique à (w-1-x,y) en gros

Magus: pourquoi - 1 ?

YannDev: si tu m'envoies ton code Magus je peux t'ajouter cette feature :joy:

Magus: y'a rien dans mon code t'iras pas loin avec

YannDev: ah

YannDev: dommage

Magus: je suis juste en train de coder le moteur et la lecture des inputs

Default avatar.png Colios13: Et 2275 au total egaetan

YannDev: j'aurai tenté

Boulet: Voila #27

Boulet: leojean890: je t'attends

Boulet: :P

VincentBab: bah si width=5 par exemple, le l'axe c'est x=2 ok ? donc ma formule marche :D

Zorg1: bah si x=0 le symétrique c'est x=w-1, x=w ça n'existe pas

Magus: oops j'ai oublié de tirer la pullet d'une case quand un pac démarre dessus

Magus: mais oui la formule de Zorg1 est la bonne

Magus: w- 1 - x

egaetan: pellet pas pullet

Magus: dans pas longtemps je vais appeler ça des beans pour que ce soit moins chiant à dire

RomanceDawn: j'aime pas ce mot

Zorg1: bon sur ce je vais quand même codé mon premier bot

BlaiseEbuth: Ouai au boulot ! Je t'ai vu en train de jouer hier soir, c'pas sérieux ! :p

Alshock: Euh, je suis désolé je crois que c'est l'heure de ma question con du jour...

Alshock: class SortedCollection(object): http://chat.codingame.com/pastebin/1a3fdf36-cc56-48c3-95cc-ce31f49be9d8

Alshock: Qu'est-ce que putain de quoi ? c'est littéralement ma première ligne après les imports

Alshock: oh putain, oubliez-moi je vous en prie, l'IDE codingame est repassé en Ruby >_<

egaetan: c'est quoi comme langage ?

Valbou: python ?

WhatTrickeryIsThis: python

Alshock: Du python éxecuté par Ruby xD

Alshock: ça avait peu de chances de bien se passer

Valbou: Fallait le tenter...

Valbou: sur un malentendu...

Alshock: Ya quand même un monde où j'me suis dit "tiens, première ligne j'ai encore oublié un ':' ?...

Dataworm: 854 finalement j'ai pas select suppr

Alshock: c'est le nombre de lignes ou ton classement ?

Dataworm: non mon nombre de ligne c'est 134

Dataworm: j'aurai préféré que ce soit mon classement ^^

Alshock: moi c'est 3, je vous laisse deviner le quel des duex :P

Boulet: fais un echange

Dataworm: le nombre de lignes ?

Alshock: non, c'est un mensonge

Boulet: Dataworm : SWITCH classement

Boulet: et hop c'est bon

Alshock: classement > nb lignes > bug > classement c'est ça ?

Boulet: clair

YannDev: on a combien de temps au tour 1 svp

Alshock: 1 seconde

Boulet: mais nb_bug >classement bien sur :D

YannDev: ah

YannDev: nickel

Alshock: Response time per turn ≤ 50ms Response time for the first turn ≤ 1000ms

Boulet: comme d'hab

Alshock: c'est littéralement la dernière ligne de l'énoncé du coup effectivmeent faut la chercher

YannDev: x)

Alshock: c'était pas 100 ms/tour avant ?

YannDev: j'ai commencé à coder ma nouvelle strat

YannDev: on va voir ce que ça donne

Boulet: y'a 3 ans oui

Alshock: laisse-moi deviner, ça bug ?

YannDev: non

YannDev: j'ai pas encore fini

YannDev: mais ça devrait pas bug normalement !

Alshock: donc ça bug :P

YannDev: j'ai pas test

YannDev: x)

YannDev: mais ça ne bugera pas

YannDev: certifié par moi même

YannDev: :')

YannDev: au passage j'ai un argument de pourquoi utiliser un bfs pour les distances

BigUP: YannDev, parcequ'on peut le faire !

Boulet: vas-y balance

Alshock: Dites en python c'est légal ou pas de faire une fonction statique surchargée par une méthode ?

BigUP: Alshock, ca y est, tu m'as perdu la ! ;)

Alshock: genre je voudrais avoir Pacman.category(owner) et pacman.category()

YannDev: Parce que le bfs permet de gérer les murs plus facilement

YannDev: les tunnels*

Alshock: par rapport à quoi ?

YannDev: à floyd warshall

Alshock: parce que je vois aps de contexte dans lequel c'est compliqué à gérer

YannDev: avec floyd c'est plus chiant de gérer les tunnels

Boulet: ????

Boulet: floyd, bfs, dijsktra [arlent de graphes

Boulet: pas de mur

Boulet: donc rien à peter des tunnel

BlaiseEbuth: pink floy parle de mur par contre

BlaiseEbuth: +d

Alshock: pas vbesoin de les péter c'est déjà des trous

Alshock: spèce d'enfonceur de protes ouvertes

Boulet: il suffit juste que (0,0) soit voisin de (w,0)

Boulet: dans ton graph

BlaiseEbuth: w-1,0

Boulet: certe

YannDev: à ce moment là faut construire un graphe différent de l'entrée

Boulet: non

Boulet: d'ailleur j'ai pas de graphe

YannDev: si

Boulet: (pas fou)

YannDev: tu as une grille

YannDev: c'est un graphe

Boulet: non

YannDev: ah t'as pas sauvegardé la grille

YannDev: oO

YannDev: comment tu fais sans manipuler la grille pour savoir si tu vas vers un mur ?

Frankich: if(map[y][x+1%width])

Gh0stm4chine: Ca veut dire quoi "a pac can't cross the path of a stronger pac: it will be blocked." ?

BlaiseEbuth: manque une parenthèse Frankich

Frankich: merde

MrBib: Tu te fais bouffer par l'autre pac

Frankich: bah non en plus

BlaiseEbuth: % est prioritaire sur +

Boulet: Merci Frankich

Frankich: ah yep mb

Karocyt_aka_Kevazoul: ROCK PAPER SCISSOR, un plus fort te bouffe de face, mais te bloque si tu lui rentre dans le côté si je comprends bien

Bob: du tout

Frankich: (pour le diable if(map[y][(x+1)%width])

Bob: le plus fort bouffe l'autre, point

Bob: hmm

Bob: le jeu est censé être symétrique ?

MrBib: oui

egaetan: oui

Bob: parce que j'ai un collègue qui est déterministe

Gh0stm4chine: ok merci !

egaetan: on joue en simultané ?

Bob: moi J1 je gagne

Bob: lui J1 il gagne

egaetan: il parcours NWSE ?

Bob: aucune idée

Haashi: J'ai l'impression qu'essayer d'attaquer c'est pas bien utile

Bob: les deux parties sont parfaitement reproductibles, juste pas du tout identiques

Bob: https://www.codingame.com/share-replay/458751647

Bob: https://www.codingame.com/share-replay/458752876

YannDev: je timeout -_-

gbiebuyc: moi aussi je timeout :expressionless:

YannDev: en fait je suis con

YannDev: j'ai foutu mon précalcul des distances dans ma game loop

Alshock: moi c'est mon cerveau qui timeout

ilovebugs: je débarque, ya pas le code du referee ?

Frankich: que en bronze je crois

Frankich: tu veux le lien ?

Alshock: https://github.com/CodinGame/SpringChallenge2020

ilovebugs: :thumbsup:

Alshock:

TypeError: '<' not supported between instances of 'function' and 'list'

Alshock: c'est officiel, je suis con

Magus: c'était pas officiel avant ?

Magus: mince, parce que j'avais déjà diffusé l'info en fait

timoru: avant c'était juste un scoop

Alshock: Magus toujours en avance sur la science

ThomasNicoullaud: d'après le referer on peut wait ?

Alshock: je crois que tu fais ça avec MOVE my_id my_x my_y non ?

Bob: oui

Bob: tu bouges là où tu es

YannDev: wait

YannDev: faut mettre des |

YannDev: pour les commandes

YannDev: ...

Bob: :D

Magus: ah donc envoyer une commande à un pac mort nous fait perdre

Magus: c'est méchant ça

AKIBA: hello tout le monde, comment sait on que nos pac sont morts?

Frankich: ils ne cont plus dans les entrées

YannDev: tu sais pas :')

Frankich: sont*

AKIBA: merci, non je ne savais pas sinon pourquoi poser la question

Frankich: je pense qu'il voulais dire "tu ne peux pas savoir"

Magus: vous connaissez le plus petit multiple commun de 2, 3, 4 et 5 ?

ncflipp: 60

MrBib: c'est celui de 3, 4 et 5 :p

YannDev: int dis[50][50][50][50]; int grid[50][50];

AKIBA: comme tu me l'a expliqué, si il n'est plus dans les entrées il est mort donc maintenant je sais

Zorg1: oui 60

YannDev: vous pensez que ça tient en mémoire ça svp ?

YannDev: je vois pas les contraintes

Magus: ah ouai bien vu, 60

YannDev: de mémoire

Magus: merci

AKIBA: merci Frankich

Frankich: 768 dans FAQ

Frankich: Mo

YannDev: hm

Karocyt_aka_Kevazoul: Les variables speedTurnsLeft et abilityCooldown marchent chez vous ? Je reçois systématiquement que des zéro...

YannDev: j'ai peur que mon tableau ne tienne pas

YannDev: ...

Frankich: yep ils fonctionnent bien chez moi

MrBib: pourquoi tu veux faire des tableaux de 50x50 ? :

Frankich: tu update bien tes entities ?

YannDev: pour stocker les distances

YannDev: entre deux points

Bob: a priori ça doit tenir

RomanceDawn: int =4octet

Fangel: oui moi ça tient sans problème

VincentBab: bon en fait faut faire une simu avec les collision et tout pour avoir un truc bien non ? :/

Bob: ça fait moins de 25 megs

YannDev: ah nickel

YannDev: merci bcp

Default avatar.png thoip: ah le pac voit les pastilles seulement devant lui pas autour de lui

Bob: VincentBab: ça dépend de ta définition de "bien"

Magus: pourquoi 50 ?

Magus: la width c'est 33 et la height 17

Fangel: je prends même pas le soin de dégager les cases mur

YannDev: ah

YannDev: bah je savais pas

YannDev: mais osef :')

Karocyt_aka_Kevazoul: Mes entities sont écrasées par les nouvelles datas reçus à chaque tour. Et quand je les print dès lecture, c'est bien des zéro...

VincentBab: bien = qui passe legende xD

RomanceDawn: Mahus c varie

Bob: thoip il voit les 4 directions autour a priori

RomanceDawn: magus*

Default avatar.png thoip: non bob

Magus: même si ça varie, le max c'est 33 de width et 17 de height

Magus: pas la peine de prendre 50

Snef: 35 pour la width magus je crois

RomanceDawn: ah

MrBib: c'est pour ça que je posais la question ^^'

Bob: On each turn you have vision on all of the pellets and enemy pacs that can be connected by a continuous straight line to any one of your pacs

Magus: et puis les tableaux à double dimension c'est lent, donne un id à chaque cellule. id = y * width + x;

Frankich: no offence mais je pense que ça vient de toi karocyt

Bob: thoip c'est pourtant ce que dit la règle

Magus: comme ça t'as un id unique. Et tu fais juste un tableau distances[width

Magus: distances[width * height][width * height]

Snef: Magus il y'a vraiment un gros gain à passer en 1d ?

Bob: il y a même un dessin qui te montre le pac rouge qui voit "derrière" lui

Default avatar.png thoip: bob pas ce que je vois dans les logs.

Bob: en tout cas moi j'ai codé ma mise à jour de map avec ça

Magus: Snef: un "gros" gain non. Mais par contre ce sera plus rapide de faire distances[id1][id2] que distances[x1][y1][x2]|y2]

Default avatar.png thoip: bob moi aussi pour ça que je viens de voir ça.

Snef: Magus, et dans le bfs pour calculer les distances ça demande pas des modulo pour retrouver les coord des points ?

MrBib: Sur le dessin, on voit surtout le bleu qui voit devant et sur les côtés

Magus: pourquoi des modulos dans un bfs ? oO

Haashi: Snef, le 1d c'est pas mal, tu gagnes des allocations pour les copies

Magus: ah pour les warps

Haashi: par contre, il y a des cas un peu relou

Magus: je sais pas, moi j'ai un graph, pas des tableaux

Default avatar.png thoip: effectivement dans la regle cela indique partout

Magus: donc je me pose pas la question

Snef: et graph niveau perf c'est mieux ? ^^

Bob: thoip : pour moi c'est bien ce que j'ai dans les logs a priori

Magus: suivant comment tu l'utilises oui

Magus: ça dépend de ton code

RomanceDawn: ca allège bcp le code aussi les tab à 1D

Magus: si tu fais souvent des copies, le mieux c'est des bitsets

Haashi: genre sur ocean of code, en 1d, c'est un peu relou de gérer les torpilles en bord de map

Magus: si tu fais pas de copie, les graphs c'est souvent mieux

Bob: thoip : https://www.codingame.com/share-replay/458769268

Haashi: et un graphe + un tableau de noeud ? :p

Bob: premier tour, j'ai bien 15 pellets en input

Snef: Magus ducoup en simu tu reviens à ton graphe "initial" a chaque itération ?

Bob: ce qui correspond bien à ce que je vois sur les 4 côtés + les 4 grosses

Magus: Snef: ça dépend de ton algo

Snef: et dans le cas d'un tableau à 1D tu fais avec la largeur max de la map ou la largeur actuelle de la map ? j'ai entendu dire que le code allait plus vite avec des constantes ?

Magus: ça malheureusement faut le benchmark tu pourras pas prévoir à l'avance

Magus: oui c'est plus rapide avec des constantes si t'as les pragmas vu que le compilo va juste enlever la boucle en fait

Default avatar.png thoip: bob effectivement j'avais pas fait gaffe qu'il etait en speed.

Magus: mais bon, si ta constante c'est 33 alors que la vraie largeur c'est 16, c'est pas dit que ça aille plus vite

Snef: le min c'est 28 donc j'imagine que la constante sera toujours mieux

Alshock: Alors, mon code est en train de m'expliquer que je n'ai aucun pac... ça va être compliqué >_<

Default avatar.png MotiColemani: salut, je viens d'arriver au niveau bronze. je voudrais continuer de bosser sur mon code pour le niveau bois, est il possible d'y retourner ? je ne vois pas d'option pour cela

Karocyt_aka_Kevazoul: En Go, lors de la récupération des infos des Pacs visibles: http://chat.codingame.com/pastebin/c1d55e34-14b0-478d-b60e-b96258a1be32

Haashi: MotiColemani non

Default avatar.png MotiColemani: merci Haashi

Alshock: MotiColemani oui c'est malheureusement impossible, le bois sert juste à donner des versions simplifiées de l'énoncé pour arriver à l'énoncé final en bronze :/

YannDev: Alshock devine quoi

YannDev: mon code est bug :')

Alshock: high five!

Alshock: @YannDev Devine quoi ! Depuis le bois 2 mon code essaye en fait de faire bouger les pacs adverses

Alshock: et je m'en étais pas rendu compte

YannDev: waw

YannDev: mais moi j'ai un peu le seum

YannDev: j'ai sorti une nouvelle strat

YannDev: j'ai pissé 200 lignes de code

Alshock: vends-moi du rêve à prix d'or

YannDev: sans rien tester

Alshock: la base

YannDev: overconfiance mdr

Frankich: je vais test karocyt

Default avatar.png MotiColemani: merci Alshock

Alshock: pour ?

Alshock: Ah la ligue bois, mon mauvais mon cerveau est sur off

Frankich: http://chat.codingame.com/pastebin/e0f94b63-317e-4291-8258-ed2de26d7d19

Zakaoai: Le passage de bois à bronze a été dur quand même :p compétence / pvp et vision réduite. Tout l'algo à revoir. Mais bon maintenant ça remarche. Vous savez si de futur league arriverons pendant le challenge ?

Frankich: ça marche chez moi ça Karocyt_aka_Kevazoul

YannDev: mais c'est honteux mon code timeout je crois mdr

YannDev: vous êtes sur des 1s sur le premier test

Frankich: 1sec sur le premier tour ? oui c'est sure

YannDev: ehm

Vry: Haashi : en d j'ai pris comme witdh ...

VincentBab: petite question: il se passe quoi quand 3 pac de type different se collisionne ? qui gagne ? xD

egaetan: le fameux problème à trois corps

VincentBab: exemple: rouge(ciseaux), bleu(papier), bleu(pierre)

MrBib: ça peut pas arriver en théorie

Vry: VincentBab : https://github.com/CodinGame/SpringChallenge2020

MrBib: tu peux pas avoir 2 bleus sur le même node

Stilgart: VincentBab: c'est pas possible

Alshock: oui mais tu peux avoir 2 bleus qui veulent y aller

Stilgart: donc 0 qui y vont

VincentBab: pourquoi ca serait pas possible ?

Vry: À un croisement ...

VincentBab: oué je vais regarder le referee merci ^^

egaetan: un croisement en T ça arrive

Alshock: @Stilgart oui, mais si un rouge veut y aller aussi, il collisionne avec qui ?

Zorg1: il est pas un peu lent du refresh le leader board ?

MrBib: oui mais ils vont annuler le MOVE des bleus

Stilgart: mais tu peux pas avoir 2 de la même couleur au même endroit

egaetan: Zorg1 il est super lent

Alshock: @MrBib et du coup le rouge prend la pos ?

MrBib: et du coup tes bleus seront pas au même endroit

Stilgart: Alshock: ma vision est qu'il colisionne avec rien

egaetan: mais mieux que ce matin où il était frozen :(

Zorg1: merci egaetan

Zorg1: t'es de retour parmi nous ;-)

Vry: Oui Zorg1 ... hier j'ai la popup Bronze alors que j'étais à % dans le leaderboard ...

Vry: 60%

Alshock: @Stilgart donc si t'as deux bleus qui vont à l'intersection, et un rouge qui vient en speed bouffer un de tes bleus, les bleus bougent pas et le rouge mange ?

Stilgart: Alshock: après, c'est clairement un test à faire

b0n5a1: o/

Zorg1: c'est ça j'étais à 5% wood2 et on m'anonce que je suis wood& :D

Alshock: \o

egaetan: o/ Zorg1

YannDev: Les gens qui ont fait précalculent les plus courts chemins au premier tour

YannDev: votre complexité c'est N^3 ?

YannDev: donc 30^6 ?

YannDev: opérations en pire cas

Stilgart: Alshock: j'ai interpété que le rouge bouge et pas les bleus

MrBib: Oui en toute logique c'est ce qu'il devrait se passer

Stilgart: et comme le kill se fait dans la phase d'après, personne ne meurt

b0n5a1: t'as commencé Zorg1 ?

Zorg1: ouaip

Vry: Fait un floodfill c'est wood2 -> bronze

Zorg1: je suis en wood1

Zorg1: j'ai codé un BFS pour voir

Vry: Si tu as pensé à faire tes commandes séparées par un |

YannDev: j'ai fait un bfs pour ma part

Zorg1: oui j'ai regardé des replay ;-)

dwarfie: tien , j'ai gagné sur un WAIT :D

GhostDev: YannDev n3 pour warshall

YannDev: ghost si on dit qu'il y a 30 lignes et 30 col

b0n5a1: boarf Zorg1 avec le truc pipeau que je t'ai dit hier tu passes bronze direct ^^

YannDev: ça fait 30^6 opérations

YannDev: et moi ça timeout :/

YannDev: en plus de me faire des grosses boucles dégueulasses

Vry: 30⁶ pour un FloydWarshall ?

GhostDev: pour passer bronze j ai rien comme algo, juste une distance manathan

b0n5a1: unr 30aine de loc

Zorg1: b0n5a1 : sans doute mais vu que de toute façon il faut coder un BFS

Stilgart: Vry: c'est node^3

Vry: http://chat.codingame.com/pastebin/d9a5fb53-bf7e-41cb-8127-33d31c9b70cc

YannDev: oui vry

YannDev: vu que floyd c'est N^3

Zorg1: bon bronze

YannDev: ici N c'est 30^2

YannDev: (enfin nbLignes*nbColonnes)

Zorg1: on va enfin jouer avec les vrais règles ^^

YannDev: donc tu as (30^2)^

YannDev: 3

YannDev: <=> 30^(2*3)

YannDev: <=> 30^6

Zorg1: 1500 en bronze :scream:

Zorg1: au moins OoC c'était plus intime

b0n5a1: héhé

Vry: Oui, ça promet ... un beau pogo à l'ouverture lundi

Vry: ... un peu comme le déconfinement :upside_down:

b0n5a1: bon tu devrais me rouler dessus avec un BFS Zorg1 ^^

Zorg1: j'ai pê codé comme un pied aussi ;-)

YannDev: bah son bfs il trouve juste un pcc x)

Zorg1: pour le déconfinement, on nous garde en télétravail jusqu'à début juin

b0n5a1: je m'y remet peut être ce soir ^^

GhostDev: YannDev tu peux aussi prendre 900 BFS c'est vite fait

b0n5a1: je suis juste passé comme ça

YannDev: Càd ghost ?

YannDev: 900 bfs ?

Zorg1: bon faut pas être pressé pour les pushs ...

Zorg1: 115 push en cours aussi

GhostDev: je voulais dire un bfs pour chaque celle

YannDev: oui

YannDev: c'est ce que je fais x)

YannDev: mais je timeout

GhostDev: pour code of kutulu, c etait faisable

YannDev: non mais je vais voir si je timeout pas ailleurs

YannDev: peut être que je peux optimiser qqes trucs

GhostDev: je vais coder apres minuit, :upside_down: en mode ghost

YannDev: x)

Zorg1: pour faire du tuning de magic numbers on va rigoler ;-)

Stilgart: bon, j'arrive pas à coder... donc je m'occupe comme je peux

Stilgart: pour ceux qui se posent encore la question : https://www.codingame.com/share-replay/458793414

Stilgart: bleu ne bouge pas, et rouge reste en vie

b0n5a1: YannDev t'avais vu mon MP de hier avec ton code modifié ?

YannT: pro tip si vous voulez gagner plein de places, prenez en compte les collisions ça aide pas mal

YannDev: genre si jamais t'es bloqué tu recules ?

YannDev: heu non b0

YannDev: on peut envoyer des mp?

YannDev: x)

b0n5a1: 'ai refresh le MP

Haashi: 1500 en bronze en début de week end :p

Haashi: on va etre 4000 a l'ouverture du silver

Stilgart: nan, c'est silver -> gold où tout le monde passe :)

Alshock: @Stilgart de ce que j'ai lu, la prio semble être aux blocages, ton exemple le démontre bien

Alshock: admettons quand même que c'est hautement étrange comme comportement

Stilgart: oui, c'est ce que j'avais dit avant de faire le test

Stilgart: déplacement/collision step 4

Stilgart: tuerie step 5

WhatTrickeryIsThis: Neumam

WhatTrickeryIsThis: on t'attends là

WhatTrickeryIsThis: avec gaetan

Stilgart: et comme bleu retourne à sa case de départ step 4, rouge reste vivant en step 5

VincentBab: ah interessant ton replay stilgart ^^

Alshock: @Stilgart ça n'empêche pas le truc d'être hautement contre-intuitif, si on devait classer l'ordre des collisions, rouge serait premier partout, mais comme il ne collisionne pas il mange et se fait manger, il passe après

Stilgart: le truc pour lequel je suis pas sûr, c'est le swap de pacs de couleurs différentes

Alshock: c'est-à-dire ?

Vry: Le rouge est protégé par la collision des bleus ... :)

Alshock: dans quel monde leur ordre peut importer ?

Stilgart: dans ma compréhension des règles, il serait possible de passer à travers l'ennemi

Stilgart: (et ça, ça me parait foireux)

Alshock: décris-moi ça plus en détail stp

Alshock: t'as deux pacs qui swappent, ils sont pas immobiles pour un tour ?

Stilgart: ha merde... je peux pas à la fois jouer blindless et générer un test unitaire :(

Stilgart: tu as rock bleu à coté de paper rouge

Stilgart: rock bleu va sur la case de paper rouge, et réciproquement

Magus: faux

Magus: enfin faux

Stilgart: je décris l'action

Magus: ils peuvent tenter, mais rock va pas bouger

Magus: c'est le point 2

Magus: paper rouge va se déplacer sur la case de rock bleu. Rock va pas bouger.

Magus: Ensuite tu appliques le point 4, rock se fait buter

Alshock: les collisions sont calculées entre arrivée et arrivée ou arrivée et départ ou départ et arrivée

Stilgart: en fait, c'est collision qui est pas défini

Magus: bah c'est surtout que la phrase du statement qui est explique est ....

Magus: enfin c'est une phrase déjà

Magus: c'est pas mal

Stilgart: on va dire ça comme ça :)

Alshock: non je l'ai mal écrit

Stilgart: collision = paths d'intersection non vide

Stilgart: mais jusqu'à présent, ça collait bien avec juste la case d'arrivée

Stilgart: par contre, ça pose un soucis...

Stilgart: quid de paper rouge à gauche de rock bleu, et tout le monde va à gauche ?

Alshock: return toA.equals(toB) || (toA.equals(fromB) && toB.equals(fromA));

Alshock: soit l'arrivée soit un échange

VincentBab: pas simple ces histoire de collision xD

Stilgart: ok, il faudrait dédoubler la grille alors

Zorg1: m'ouais va falloir dépioter le referee, super :(

VincentBab: oué ca me gave d'avance de lire du java xD

Stilgart: en fait c'est bon, je pense avoir bien compris mainenant

Zorg1: ok il est en Java, c'est pas des masters troll chez CG, ils auraient pu le faire en Clojure :p

VincentBab: ah tu peux m'expliqué stp ? :D

Dataworm: c'est réalisé en quel langage la partie graphique du chalenge ?

Alshock: En vrai je l'ai trouvé relativement lisible

Stilgart: la seule phrase qui manque, c'est la définition exacte de "collision"

Stilgart: cf formule donnée par Alshock

Alshock: surtout grâce à l'option de GH qui te relink vers la definition

VincentBab: ahh oui je connaissai pas cette option c'est pas mal en effet

Haashi: Dataworm un wrapper java au dessus de pixijs

VincentBab: ok je crois que j'ai compris ^^

Alshock: Je comprends pas, les strings sont bien immutables en python ?! Alors pourquoi __hash__ ne peut pas retourner une string ?

Stilgart: parce que python

dwarfie: bon , le submit 4 est en cours ... je suppose que je peut aller faire ma sieste :D

VincentBab: humm autre question :D est ce qu'il y moyen qu'il y ai 2 chemin possible sur une distance de 2 case.

VincentBab: exemple: je suis en (0,0) et je vais en (1,1). Je peux passer par (0,1) ou (1,0)

Stilgart: VincentBab: je suis arrivé à la conclusion que non

Stilgart: suivi d'un ... "si mon code bug dans 10j, ça sera à cause de ça"

Boulet: go go go dwarfie

VincentBab: je dirai intuitivement que non aussi mais je voudrais être sur :D

Stilgart: pour ça, il faudrait avoir confiance en le générateur dans le referee

Alshock: @VincentBabj'ai vu aucun carré, je pense qu'ils les ont interdit justement avec ça en tête

dwarfie: :zzz:

YannDev: Yes

LimaceHurlante: \o/ je passe en bois 1 (en à peine 24h)

YannDev: mon code est enfin debug et optimisé

VincentBab: oué ca serait logique, sinon tu ne sais pas quel chemin tu as parcouru en speed

Boulet: gg LimaceHurlante

YannDev: je vais voir ce que ça donne en soumission

LimaceHurlante: Merci !!

Alshock: @LimaceHurlante faux, 23:36

YannDev: wait je full win lol

Alshock: t'as 24 minutes de sieste

YannDev: 10 win / 10

YannDev: et mercé Bob

YannDev: Lazy > *

YannDev: je vais resoumettre :')

Dataworm: Si j'ai bien compris le boss bronze sera choisi lundi ?

LimaceHurlante: je tente bronze avant demain soir :)

Alshock: c'est ça Dataworm

Boulet: euh les serveurs sont encore au tas ou vous soummetez tous comme des boeufs

Boulet: (179 submit en cours)

YannDev: https://www.codingame.com/share-replay/458817517

YannDev: lol

dwarfie: c'est pas ma faute a moi ... je fais que un submit par demi journée :D

YannDev: vous gérez comment les collisions ?

YannDev: ça a l'air d'être mon plus gros pb

Boulet: en reflechissant et avec un dijktrea

Alshock: YannDev en vrai je les ai aps gérées

Valbou: en stockant la position précédente

Nagatwin: on dit dijzefqugitra

YannDev: ah mdr

Boulet: putain un jour j'arriverai à le taper

Boulet: bordel

YannDev: bah je vais faire ça Valbou en vrai

Alshock: YannDev du moment que tu te collisionne pas trop avec toi-même elles te désavantagent pas

dwarfie: en vrai ... je trafique la map pour les eviter :D

YannDev: regarde mon replay...

Alshock: @Boulet alerte parent violent

YannDev: https://www.codingame.com/share-replay/458817517

Zorg1: pareil traficage de map ...

Boulet: buh ? Alshock

Alshock: Certes t'en as deux en moins, mais lui aussi

Haashi: YannDev, floydwarshall me dit ou aller pour aller a la target des mes pacs si au meme tour plusieurs vont sur la meme case, l'un deux wait

YannDev: je gère super bien mes target mais malheureusement j'ai eu 3 collisions

VincentBab: pareil lool xD

Boulet: on ne dit pas map il parait

Alshock: @Boulet" putain un jour j'arriverai à le taper bordel "

Boulet: on dit graphe :D

YannDev: ah vous utilisez pas MOVE ?

YannDev: pour aller à la case avec le pcc

YannDev: x)

Alshock: non j'utilise SHAKE DAT BOOTY

YannDev: x))

Haashi: bah si, mais que sur les cases a une ou deux de distance si je sprint

Boulet: Ah non ça c'est déjà fait Alshock :D

Caro20: une petite question, j'ai un print (oui je travail en python) qui affiche autre chose que move mais la console ne me l'affiche pas. y a t il quelque chose à faire pour pouvoir l'afficher

Haashi: jamais faire confiance au pathfinding :)

Boulet: YannDev: si mais on ne laisse pas l'algo se faire lui meme

Boulet: (pas fous non plus)

Haashi: fait ton propre pathfinding pour éviter les collisions

YannDev: Ah donc tu move case par case

Alshock: print("debug", file=sys.stderr) c'est ça que tu veux Caro20?

Haashi: oui

YannDev: ok bah je vais refaire un autre bfs pour avoir le chemin

YannDev: merci beaucoup pour l'astuce ;)

Caro20: je vais essayer merci

Boulet: un autre bfs ??????

VincentBab: yes ne pas faire confiance au pathfinding du refree c'est la base :D

Alshock: Caro20 pas sûr d'avoir bien compris si ton print fait partie de ton output ou si c'est du debug ?

Boulet: sinon tu modifies celuis que tu as deja

YannDev: j'ai un bfs qui précalcule toutes les distances

VincentBab: Comme sur Code Royale à l'epoque lool

Caro20: c du debug

YannDev: bon bah je vais fix mes collisions

Default avatar.png Mastard: j'ai fais sans bfs jusqu'a bronze mais la je pense que je vais devoir le faire ^^

Alshock: bah comem j'ai dit alors, en écrivant sur file=sys.stderr

YannDev: faudra que je code les tunnels aussi

YannDev: mais j'ai trop la flemme lol

Boulet: 195 submit

Zorg1: les tunnels c'est pas super compliqué à coder en fait

Boulet: [CG]Maxime: ça pue le pb de nouveau ou je reve

Boulet: les tunnels c'est trivail

Default avatar.png Colios13: on est 2400 en même temps ^^

YannDev: je sais

YannDev: mais j'ai trop la flemme

YannDev: mon code ressemble tellement à rien

YannDev: :')

Boulet: non c'est vraiement trivail

Boulet: rien a coder

Boulet: sauf le succ dans ton graphe

b0n5a1: bah y'a rien à faire en fait oui Boulet ^^

Boulet: via un modulo

MrBib: Merde quel con, je prenais pas en considération les murs dans les jetons qui pouvaient être vu....

Boulet: donc rien

dwarfie: Boulet ... trivial modulo le fait que tu sais t'en servir ... (sens caché ;) )

Default avatar.png Mastard: ya un truc que j'ai pas compris, il n'y a rien au dessus de bronze ?

Boulet: Mastard: pour le moment non

Default avatar.png Mastard: ah ouverture le 11, j'ai rien dit

Boulet: voila

b0n5a1: bon je reviens peut être dans une heure ou deux pour faire un truc...ou pas ^^

Boulet: dwarfie: :door:

YannDev: Boulet 't'as aussi une condition

Boulet: non

YannDev: pour savoir si c'est un tunnel à droite ou à gauche

Boulet: non

dwarfie: Boulet ... fix ton code parce que la je prend de l'avance grave

Zorg1: si t'as un modulo non

YannDev: ah pas con

Boulet: dwarfie: tu es devant ?

Caro20: @Alshock je n'ai rien en debug ni ailleurs !! c moi qui délire?

dwarfie: tellement pas con que ca fait plus de 3 fois qu'on le dit le modulo :D

Haashi: Vous pensez quoi d'une approche diffusion ?

dwarfie: Boulet ... clairement

Haashi: https://youtu.be/8kBQMQyLHME?t=1492

Boulet: au dessus de #41 ?

Alshock: @Caro20 bah je sais pas, essaye de décrire plus précisément ce que tu fais, est-ce que ce code est atteint ?

Boulet: parce que pour le moment je te vois dans les 250

dwarfie: putain de leaerboard qui actualise pas ....

YannDev: quand on passe par un tunnel on arrive instant de l'autre côté ?

Alshock: oui les cases sont adjacentes

dwarfie: et non , je suis bienplus haut que 250

Stilgart: tiens, ça existe not en C++ ?

Zorg1: bon premier jet 215 bronze nice

RomanceDawn: la map c'est genre un cylindre

Alshock: oui t'es au moins 1550 @dwarfie :D

Zorg1: faut que je fix maintenant :p

Boulet: oui mais j'ai encore 5 pt d'avance

RomanceDawn: enfin un anneau

dwarfie: Alshock " % 1400 " ;)

Alshock: @Stilgart oulah si oui je l'utiliserais pas c'est surement pas ce que tu crois

Boulet: gg Zorg1

YannDev: mais du coup si le tunnel est en (0, 5)

Haashi: Vous pensez quoi d'une approche diffusion ?

Haashi: https://youtu.be/8kBQMQyLHME?t=1492

YannDev: et que la largeur c'est 10

Zorg1: merci et o/ boulet

YannDev: j'apparaîs en cb ?

YannDev: oh je suis bronze

Boulet: alors je vais le dire une derniere fois

Haashi: pour inciter facilement tes pacs a aller vers les grosses pastilles et fuir les ennemis

Boulet: LA NOTION DE TUNEL N"EXISTE PAS VRAIMENT

YannDev: hm

Boulet: c'est juste un putain d'arc dans un bordel de graph

Alshock: Je suis médisant @Stilgart "a not_eq b" est équivalent à a != b avec iso646.h

Boulet: comme un autre

YannDev: ah mais

YannDev: AH MAIS OK

Boulet: VOILA

YannDev: c'est juste la case reliée à la case opposée

YannDev: ah oui

Nagatwin: les leaderboard de team ont été désactivés ?

YannDev: je comprenais pas lol

Alshock: bah oui

YannDev: merci beaucoup :)

Boulet: de rien

Nagatwin: ah nvm les tabs vienent d'apparaitre

YannDev: bon go coder les règles de bronze

gregballot: on est d

Haashi: personne pour l'approche diffusion ? ;(

Alshock: l'approche diffusion ?

Haashi: https://youtu.be/8kBQMQyLHME?t=1492

gregballot: on est d'accord a un moment c'est evident qu'il y aller case par case ?

Boulet: ta map est juste un gros donnut en fait

gregballot: qu'il faut y aller*

Alshock: @Bouletou une tasse à café

Boulet: gregballot: oui

R4N4R4M4: Salut tout le monde

R4N4R4M4: Déjà commencé ?

Alshock: salut R4N4R4M4

Boulet: enfin faire le calcul soit meme du chemin

Boulet: \o R4

Boulet: oui pas toi

MartinGal: R4N4R4M4 t'as 24h deretard

Boulet: dwarfie: ...

R4N4R4M4: Ah mince, je pensais que c'était à 18h aujourd'hui :(

Alshock: R4N4R4M4 on est tous commencé, même <insert random codingamer here> qui n'est pas fini

Default avatar.png Colios13: Tranquille il y a juste 1500 personnes en bronze

dwarfie: Boulet : on parla pas de donut quand on a pas fait le contest DP d'abord ...

Boulet: ça va pas de couter bien juste

Stilgart: go go go R4

Edjy: Chuis bloqué zavez pas des advice pour détecter l'ennemi ? mes pacs sont aveugles

Boulet: cher

YannDev: Boulet je peux te poser une dernière question stp :')

Boulet: oui

Alshock: go YannDev

YannDev: les tunnels peuvent être verticaux ?

Boulet: si tu ecoute la reponse

R4N4R4M4: Ah la la, je suis super en retard là

Alshock: non on n'en a pas vu

YannDev: yes !

Boulet: y'a pas de tunel

YannDev: non mais j'ai compris

Boulet: donc on s'en fout

gregballot: lol

YannDev: les passages secrets

YannDev: sont verticaux

YannDev: ou horizontaux

YannDev: ou les deux

ThomasNicoullaud: des tunels de taille 0 ca compte ?

Boulet: on s'en fout

Haashi: et des trous de ver ?

gregballot: lol

YannDev: ça permet de voyager dans le temps

Alshock: on n'en a vu que des horizontaux, mais personne n'a lu le code source

dwarfie: et y'a pas de verticaux ....

Boulet: tu regarde juste si tu a un arc de 0 0 vers w-1 0

R4N4R4M4: C'est bien au moins ? Parce que la grimpette du bronze, elle a l'air coton

YannDev: non mais je sais boulet

Alshock: @Boulet pour le coup tant que tu fais pas le graphe la question est légitime

R4N4R4M4: Et j'ai pas encore lu l'énoncé ... :D

gregballot: vous parlez des moments ou c'est circulaire ?

dwarfie: y'en a pas de verticaux , c'est ecrit

Alshock: @Boulet ça évite un modulo

YannDev: ah merci beaucoup dwarfie

YannDev: Al je pars sur le modulo perso

PrinceChoco: Question "con" : Est ce qu'on a le droit d'utiliser du multithread ?

YannDev: je crois que oui

gregballot: jpense

Boulet: Alshock: ok pour le modulo mais pas avant les simu legende

Haashi: Réponse bête, t'as qu'un cpu donc tu vas pas aller loin

PrinceChoco: ouf merci :)

Alshock: @dwarfie c'est écrit... tu veux dire qu'il y a un énoncé ?

Stilgart: PrinceChoco: oui

Boulet: ou chaque operation comptera

RomanceDawn: mais

YannDev: les pauvres gens en rubby

YannDev: ruby*

YannDev: lol

Alshock: @Boulet ??? wait what ?

Stilgart: tu n'as qu'un seul core par contre

gregballot: 50ms j'avoue c'est chaud pour eux

PrinceChoco: ha oui 1 CPU ça va pas aider :p

RomanceDawn: ca sert pas à grand chose

Alshock: @YannDev pourquoi ? C'est très bien le ruby

PrinceChoco: Merci ;)

Stilgart: si, mais pas pour du parallélisme

Default avatar.png Colios13: Ouais c'est cool R4 bon aprés y a du FOW

YannDev: RIP les contraintes alshock

Alshock: @YannDev suffit de pas avoir besoin de simus

Boulet: ça ne sert que pour la concurrence

YannDev: et tous les codes légendes font des simulations ?

Alshock: généralement ça aide ouais

Magus: dépend des contests

RomanceDawn: oui

Boulet: Alshock: wait ????

YannDev: genre là c'est peu dur de simuler lol

dwarfie: Alshock ... oui , enfin c'est ce qu'on m'a dit ... parce que les enonces de contest c'est comme les CoC , ca va plus vite de reverser ;)

Boulet: quoi Wait ????

Magus: les contests avec du FoW t'as pas que des simulations en légende

Alshock: sauf Bob qui défonce tout avec trois ifs sa bite et son couteau

YannDev: x)

RomanceDawn: bon y a des gens qui font des simus?

Boulet: et beber

Boulet: RomanceDawnm: un peu tot

Haashi: j'ai commencé a essayer de faire un beamsearch

YannDev: bah la ya rien à simuler

RomanceDawn: hum

Boulet: oh si YannDev

YannDev: à la limite les combats

Magus: au contraire, y'a des trucs chiants

Haashi: j'ai la transition d'état

YannDev: tu peux simuler les combats

Haashi: mais enfaite, je me suis rendu compte que y a trop de possibilités pour espérer arriver a faire une simu

Boulet: Non YannDev: on parle de simuler les parties entieres pour faire les bon choix au bonmoment

YannDev: Ah x)

Haashi: j'en ai compté 16 si t'es en speed, et 6 si tu speed pas

Boulet: par pac

Boulet: oui

Haashi: voila

Alshock: ouais mais ya trop d'inconnues sur la position de départ pour ce uqe soit très pertinent non ?

YannDev: donc tu simules la partie avant de jouer ?

Boulet: oui

gregballot: ca parrait un peu trop chaotique nan ?

YannDev: dans les 1000ms du premier tour

gregballot: Et 1000ms t'es short

Haashi: la position de départ ? tu sais ou spawn les ennemis

YannDev: oui

Boulet: enfin pas moi et honnetement personne je pense pour le momeent

Alshock: @Haashi au premier tour oui, mais aux suivants ?

dbdr: tout l'inverse d'OOC :)

YannDev: mais ça risque d'être compliqué de simuler ici

Haashi: Alshock, je comptais simuler que mes mouvements

Haashi: pour maximiser la collecte

YannDev: bof

Haashi: je sens bien que l'attaque c'est fin nul

Boulet: non mais l'idée c'est de simuler des millier de parties pour comprendre la meilleurs

Alshock: @Haashi si tu ignores entièrement l'adversaire je pense que la simu t'aidera pas bcp

Haashi: c'est une course a la thune

YannDev: Ah je vois Boulet

LimaceHurlante: encore 4minutes , je croise les doigts pour le bronze avant 18h00 !!

Boulet: maintenent, pour le moment, personne ne le faitt

YannDev: et après la solution ça peut être un code full heuristique

Alshock: @Haashi y a pas que l'attaque, la course aux pellets aussi doit tenir comtpe de l'adversaire

YannT: https://www.codingame.com/share-replay/458831332

YannDev: moi je pense que l'attaque peut vraiment être utile

Boulet: LimaceHurlante: tu passeras bronze des que tu seras au dessus du boss et que ton run sera fini

YannDev: si jamais tu tue le mec tu gagnes

LimaceHurlante: mon run se passe bien :-)

Mazelcop: pas forcément

YannDev: si

YannT: j'ai fait un bot barbare il danse sur les tombes de ses cadavres ahahah

Boulet: non

Alshock: @YannDev surement opportuniste l'attaque parce que quand tu suis un bot tu fais pas de score

dbdr: non

Mazelcop: pas si l'adversaire a pris plus de la moitié des pellets

Haashi: Alshock, bof, tu utilises un voronoi pour savoir ou tu peux arriver avant l'autre

YannDev: comme l'a dit Al la partie s'arrête quand la moitié des pellets est prise

YannDev: Oui mais si tu le tue

YannDev: la partie n'est pas finie

YannDev: ;)

Boulet: si

RomanceDawn: c'est pas trés charlie ça YannT

dbdr: donc, pas forcement

Alshock: Haashi oui mais après ?

YannDev: donc si tu arrives à tuer tous les pac ennemis

YannDev: tu gagnes

dbdr: t'as plus forcement le temps

Boulet: NOn

YannDev: je vois pas pourquoi

Boulet: tu recupere les pullets restantes

R4N4R4M4: Top l'animation de fin :D

Haashi: Alshock tu gardes en mémoire la dernière positions que t'as u de lui

YannDev: mais la partie s'arrête toute seul

YannDev: e

Boulet: mais ça ne suffit pas

Alshock: YannDev ou égalité

Boulet: forcement

YannDev: non mais

Boulet: pas de non

YannDev: quand le mec ramasse plus de la moitié

Zorg1: R4N4R4M4 : ah t'aime bien l'aspirateur à pillules ;-)

dbdr: ya une limite de tours

YannDev: la game s'arrête

YannDev: non ?

Boulet: oui

Alshock: @YannDev oui

Mazelcop: bon vu comme ça, oui

R4N4R4M4: Bon je crois que je vais lire le sujet et j'attaquerais demain, j'ai passé ma nuit et ma journée à debugger un autre projet

YannDev: donc si jamais tu as tué tous les pac ennemis

LimaceHurlante: L'aspirateur est vachement beau effectivement !

R4N4R4M4: En plus je me suis dépêché pour être à l'heure ici :D :D :D

YannDev: c'est que le mec avait pas ramassé plus de la moitié des pullets

Haashi: Non mais je rejoins YannDev il a raison, des que tu tues le dernier pac de l'aversaire t'as gagné

YannDev: voilà

Alshock: ah ya toujours un score total impair ?

Boulet: il peut avoir ramasser exacement la moitié :p

Boulet: et voila

dbdr: sauf si ya plus assez de tours

Alshock: du coup ouais pas de draw

Haashi: sinon ca veut dire que la somme de ce qui reste était inférieur a ce qu'il a deja, donc que la partie sera terminée par le referee

dbdr: GRRRR

YannDev: d'ailleurs je suis 800 bronze sans avoir fix mes collisions et sans avoir implémenté les nouvelles règles

R4N4R4M4: Les cases extérieures communiquent directement ? On se retrouve pas sur un moebius ? :D

YannDev: ni les tunnels

YannDev: c'est incroyable ça

dwarfie: si lui y'en a rammasé la moitie et que toi y'en a tué ses pac tu ramasses la moité , ca fati égélité

Boulet: moebius

Haashi: egalité = win

Alshock: @YannDev c'est normal, dis juste à tes bots de SPEED quand ils peuvent et tu passeras 100/200

YannDev: oui mais c'est un cas super rare

Haashi: donc ca me va

RomanceDawn: :thinking:

YannDev: Ah c'est cool ça Al !

YannDev: mais déjà je vais lire les règles x)

YannDev: fix ce que j'ai à fix

YannDev: et après je vais améliorer mes heuristiques

YannDev: le bot est cb ?

Zorg1: pas encore le speed

Zorg1: ah faut faire confiance au pathfinding de CG quand tu speed

YannDev: pourquoi ?

MrBib: LOL, j'ai mes pac qui évitent les gros pellets :D

Vry: Moi j'ai rien et je suis 411 / 1514

YannDev: tu peux speed sur une case non ?

R4N4R4M4: Ca sent le voronoï tout ça

Zorg1: oui mais vu que c'est un mouvement de 2, tu laisses CG calculer la case intermédiaire

Boulet: Zorg1: oui et non

Boulet: juste distance 2

Zorg1: mais vu les gueules des maps c'est pas un problème

Boulet: donc non

YannDev: sinon tu bouges sur la deuxième case

YannDev: :smart:

YannDev: oh j'ai trouvé un bug dans mon ia mdr

YannDev: https://www.codingame.com/share-replay/458836604

PhOeNyX: Si je suis en speed mais que je dis move sur une cell adjacente, ma speed ne sert à rien ?

YannDev: tour 100 environ

Haashi: oui elle sert a rien

Boulet: on a perdu le leaderboard entreprise ?

Haashi: et tu peux pas speed en revenant en arriere

Stilgart: oui

YannDev: si jamais ya plus de pellets en vu mon pac afk

Haashi: par exemple, tu peux pas faire gauche droite, nord sud

YannDev: rip pac

Stilgart: +Boulet:

Zorg1: je veux déjà que le leaderboard normal marche moi ...

PhOeNyX: Et si j'ai 2 peletts devant un pac qui a speed up, si je dis move sur le deuxième pelett ça bouffe les 2 ?

YannDev: je sais pas :/

Alshock: Unknown error (stacktrace too big)

Nice j'ai encore tout cassaient

Stilgart: Zorg1: ha non... à chaque réactualisation je perds 100 places moi

egaetan: Boulet chez moi ça passe https://www.codingame.com/contests/spring-challenge-2020/top-companies/global?column=SCORE&value=ALL

YannDev: Si quelqu'un a une réponse à la question de phoenyx je suis preneur !

Boulet: oui mais on a plus les boutons pour y aller

Default avatar.png Colios13: oui phoenyx

Stilgart: egaetan: mais il faut le lien direct

Boulet: oui PhOeNyX

YannDev: donc quand on speed il faut move à deux cases direct ?

Boulet: sauf pb de collision

Alshock: ouaip YannDev

YannDev: Ah

YannDev: merde

Alshock: sinon tu vas bouger que d'une case

YannDev: je vais devoir refaire mon algo :'(

Stilgart: damned... c'est moi le boulet :(

YannDev: parce que là je target des pellets à une case

Boulet: grave Stanworld

Boulet: Stilgart

Stilgart: huhu

Haashi: du coup personne est intéressé par l'approche diffusion ?

YannDev: faut que je priorise les pellets à deux cases au moins :/

Boulet: tu nous plombe le classement là

Alshock: @YannDev Ah ouais tiens, je fais ça aussi

YannDev: et ça fonctionne bien ?

Alshock: non, mais c'est pas ça que je modifie pour l'instant

YannDev: ah tu fais comment ?

YannDev: d'ailleurs si t'as une sol à ce bug https://www.codingame.com/replay/458836604 (cf tour 100) je dis pas non lol

YannDev: quand j'ai aucun pellet en vue mes pac afk :/

Boulet: #63 le bug pour moi YannDev

YannDev: oui 63

YannDev: mais j'ai mis pause à 100

YannDev: je pourrai pê faire comme Bob

Alshock: @YannDev tu fais quoi quand tu vois pas de pellet ?

egaetan: YannDev ne mange pas le dernier alors

YannDev: je fais rien al :')

Boulet: et ce n'est sans doute pas un bug

YannDev: oui c'est pas un bug

YannDev: c'est voulu

Boulet: ton pac ne voit rien

YannDev: enfin

YannDev: je pense que je vais faire comme BOb

Alshock: Bah dis lui de danser la jigue du cul

YannDev: Bonne idée !

Boulet: ou alors réfléchi

YannDev: non maisj'ai une sol

Boulet: et fait lui faire un truc pas débile

Alshock: miroir miroir

YannT: Oo

YannDev: jvais faire des priorités de pellets

YannDev: prière pour que je tle pas par contre lol

YannDev: parce que j'aurai beaucoup plus de targets

Alshock: Moi je peux officiellement plus ne voir aucun pellet

YannDev: pourquoi ?

YannDev: tu les manges plus ? :')

YannT: pourquoi mes flags "mine" sont inversés Oo

Alshock: parce que je les crée toutes au premier tour

YannDev: oui idem

YannDev: mais moi j'ai des priorités maintenant

YannT: et pourquoi mon code il marche alors que les flags sont faux aussi :joy:

YannDev: bon j'y vais faut que je code les nouvelles règles

Alshock: j'ai eu la même chose plus tôt YannT xD

Valbou: @CG : pourquoi mon code vs mon code fini systématiquement en timout ?

YannDev: jsp

YannT: et pourquoi j'ai inversé speed et cooldown aussi

dwarfie: pourquoi dbdr est venu avec son submit me flinguer ma fin de run ... pas gentil :D

YannT: tant de questions sans réponse!

Boulet: c'est dbdr

dbdr: :innocent:

Boulet: une ligne

Boulet: ça merite un submit

Boulet: :P

Valbou: là où mon code vs un boss, pas de timeout

Valbou: :thinking:

Alshock: fun-fact mon dist dégueulasse appelait ma fonction path dégueulasse, qui appelait mon dist dégueulasse...

dwarfie: du coup , j'ai que 30.90 au lieu de 31 ... je suis trop trop trop triste ;)

YannDev: Valbou t'es bronze ?

PhOeNyX: void func() { func(); }

Zorg1: bon j'ai la flemme de coder le speed

Boulet: Alshock: ça s'appelle de la recursion est ce n'est pas degueullase

YannDev: Boulet la récursivité sans condition de sortie

YannDev: c'est dégueulasse

PhOeNyX: Oui mais là c'est une recursion ratée

RomanceDawn: faut faire du top down :thinking:

YannDev: :')

RomanceDawn: oups

YannDev: bottom up > *

Alshock: quand c'était pas voulu parce que t'as confondu "dist" et "crow_dist" si @Boulet ^^

Boulet: PhOeNyX: faut voir le code

Boulet: :D

Alshock: non ça il ne faut pas

YannDev: Si les pacs sont de types différents, ils peuvent attérir sur une même case mais un pac ne peut pas croiser le chemin d'un pac plus fort que lui : il sera alors bloqué.

YannDev: ça veut dire quoi "bloqué"

Boulet: Non il sera bouffé

Boulet: enfin je crois

YannDev: on est d'accord

Alshock: Bouffé par un adversaire, bloqué par un pote

Boulet: oui

gregballot: c'est ce que j'ai compris, meme si l'enoncé m'a induit un peu en erreur

Alshock: remarque j'ai pas testé le cas du suicide perso cela dit

Boulet: non ça ne marche pas Alshock

Alshock: mais le code des collisions a l'air de se contrefoutre de qui va où

YannDev: Bon étape 1 fix les pb connus

YannDev: étape 2 coder les nouvelles règles

Alshock: étape 1 : fix les bugs étape 2 : créer de novueaux bugs

YannDev: mdr

YannDev: en vrai ça devrait aller

Boulet: Alshock: mauvais principe de codage ça

YannDev: ce matin j'ai eu des bugs parce que j'ai pissé 250 lignes d'un coup

Boulet: 1- ajouter de nouveau bugs

dwarfie: bugs = features quand on sais coder

Zorg1: ah si ils se croisent ils ne se bouffent pas en fait

YannDev: sans faire d'unit tests

YannDev: Zorg si

Boulet: 2- Ne pas retirer les anciens

YannDev: si ils sont ennemis ils se bouffent

Boulet: c'est ieux

R4N4R4M4: Ca commence mal, j'ai des input négatifs :(

Zorg1: pas vraiment ce qui est écrit YannDev

Zorg1: ah ok en fait le plus fort ira dans la case du plus faible

Zorg1: donc il le bouffera

Snef: sauf si le plus faible va sur le plus fort (et que le plus fort ne bouge pas )

Zorg1: oui

Vry: R4N4R4M4 .. en C ajoute 1 à la taille lue pour le fgets ... :p

Zorg1: j'ai pigé en fait c'est un peu vicieux mais c'est OK

Vry: fgets(g->grid[i], g->width + 2, stdin);

VincentBab: " Si les pacs sont de types différents, ils peuvent attérir sur une même case mais un pac ne peut pas croiser le chemin d'un pac plus fort que lui : il sera alors bloqué."

Zorg1: ouaip

Haashi: enfaite c'est juste mal expliqué

Zorg1: mais imagine qu'un pac fort et un pac faible veulent échanger de case

Zorg1: le faible est bloqué, le fort va sur la case du faible

VincentBab: oui

VincentBab: et ensuite on resout les kill

Zorg1: Haashi : bah c'est toujours assez délicat à expliquer ces trucs là

VincentBab: oui je suis assez d'accord

Haashi: Si deux pacs souhaitent aller sur la meme case, le plus fort y va et le plus faible meurt sinon, il y a collision et les deux restent a leur case de départ

Haashi: ah ouais

Haashi: j'ai capté zorg la nuance

R4N4R4M4: On reçoit la grille entière ? J'en sors que la moitié...

R4N4R4M4: http://chat.codingame.com/pastebin/56535cb3-59e4-4d1c-8ebe-3c4b44aaa214

Zorg1: s'ils veulent aller sur la même case et qu'elle est libre ils y vont tous les deux s'ils sont adversaires et de type différent

Alshock: @R4N4R4M4 tu fais gaffe à bien parser les espaces dans la grille d'entrée ?

R4N4R4M4: pour l'instant je reproduis direct la ligne reçue

R4N4R4M4: height fois

Alshock: Ah merde j'avais pas le bon lien, c'est fort étrange

dwarfie: c'est quoi ton seed R4N4R4M4 ?

R4N4R4M4: seed=-5119416376641342500


Alshock: ah oui @R4N4R4M4 height c'est pas exactement la hauteur, essaye de lui rajouter 2 ?

R4N4R4M4: ah... Ca commence fort :D Merci Alshock

Alshock: non mon mauvais height est bonne c'est la spec qui est inféieurs

dwarfie: Alshock ... bizarre moi le height correspond

Alshock: inférieure* bordel

Alshock: ouais chez moi aussi, j'ai confondu avec le fait que la spec donne la heuteur des cases accessibles

R4N4R4M4: Bon, faut que je révise mon C ... J'obtiens ça : width:32764 height:1935764600

Zorg1: t'auras de la place pour t'ébattre au moins

dwarfie: ah ouais ... un peu grande ... ca c'est la taille de la map du jeu de ton avatar ;)

R4N4R4M4: Oui, ça va dépasser la semaine là

R4N4R4M4: Bon, je vais jeter le code de démarrage et je vais partir de zéro

egaetan: R4N4R4M4 le code par default en C est moisi

R4N4R4M4: J'ai pas vu les erreurs pourtant, mais bon, vaut mieux que je reprenne ma trame habituelle, ça sera plus sûr

Boulet: egaetan: pourquoi "en C" ? OD

Boulet: :D

egaetan: la curiosité Boulet

Zorg1: oui en go il est moisi aussi et j'ai l'impression que les langages où c'est OK ne sont pas légion

Boulet: non parce que la phrase marche aussi bien sans le "en C"

egaetan: en Java c'est ok

Boulet: ah pardon je croiais naivement qu'on parlais de langage :P

Boulet: pas de laguage

egaetan: (╯°□°)╯︵ ┻━┻

Boulet: ???


R4N4R4M4: Bon ça marche en Objective C, je pushe

Boulet: [CG]Maxime tu es là ?

Stilgart: peu probable

dbdr: on peut savoir si quel pac adverses sont en vie?

egaetan: dbdr non

BlaiseEbuth: fix ton fr

dbdr: s/si//

Stilgart: dbdr: je suis arrivé à la conclusion que non

dwarfie: oui ... si tu stockes ceux que tu a buté ;)

Stilgart: on peut tuer un pac adversaire sans le savoir

dbdr: c'est le bazar pour gerer l'info partielle comme ça

R4N4R4M4: J'ai changé 2 lignes de code au code de démarrage, on va voir jusqu'où je vais :D

Stilgart: au détour d'une ruelle sombre, toussa

Boulet: dwarfie: non tu peux en buter un par megarde

dwarfie: Stilgart ... +1 j'avais pas vu

dbdr: OOC c'etait plus clair, on sait qu'on ne sait (presque- rien :)

dwarfie: trop sombre la ruelle

Vry: R4N4R4M4 tu as vu le fgets(g->grid[i], g->width + 2, stdin);

Vry: Il faut +2 au lieu de +1

Boulet: voila ça plus exces de vitesse

VincentBab: ah oué c'est vicieux ca xD

VincentBab: tu tue un mec et tu le sais même pas... :O

Boulet: bon serveurs encore au tas

dwarfie: 2460 classés ... a croire que ca fait moins peur quand ca dure pas 1 mois ;)

Magus: dbdr: tu sais même pas quand tu tues quelqu'un ici :D

Stilgart: j'avoue que ça, ça ruine le jeu

Vry: Ouais c'est vrai ça, au détour d'un virage et paf le pac ...

Boulet: va faire tonne de point à la fin

Magus: je sens que je vais avoir autant de motivation pour ce jeu que pour ooc

dwarfie: ils sont morts et ils ne le savent pas encore ...

Boulet: pour les mauvais dans mon genre

Zorg1: bah mon code bronze actuellement il fait 200 lignes, sur OoC c'était plus volumineux ;-)

Boulet: Tous les gros pullet c'est 10pt

Boulet: ?

Vry: ui

Zorg1: oui

Vry: Et ils sont toujours "visibles"

Boulet: ah oui je vais rechanger un peu mon code dans ce cas

Boulet: enfin si ce ^%$!%#$#!@# de run fini par se finir

dwarfie: mais pas longtemps tout le monde se jete dessus ;)

Boulet: pas moi

Boulet: d'ou ma question

Alshock: j'ai un problme obscur avec mes inputs

Alshock: visiblement j'empiète sur le tour suivant sans raison

Vry: Quel langage ?

WhatTrickeryIsThis: c'est que moi ou c'est super chiant à écrier scissors?

Alshock: un peu, mais bon tu l'écris que deux fois normalement

Vry: Une fois avec la complétion ?

Alshock: chez moi ça s'appelle "copier/colelr l'énoncé"

WhatTrickeryIsThis: une fois contre papier et une autre fois contre cailloux

Alshock: rien que mon écriture de "coller" illustre bien le problème

Vry: Indeed!

R4N4R4M4: Bon, je vais visiter Bois 1

dwarfie: rahhhh ce bug ... " Il n'y a pas de résultat pour votre requête «CodinGamer - CodinGamers suivis» " ... normal patate je suis dans le top 100 entreprises ... je sais meme pas pourquoi il cherche codingamers suivis :smiling_imp:

Magus: il se passe quoi si t'as 3 pacs qui veulent aller sur la même case ? 2 pacs du joueur 1 et 1 pac du joueur 2 ?

Magus: aucun pac ne bouge ?

egaetan: c'est pas clair

Magus: parce que de ce que je comprend, les 2 pacs du joueur 1 se bloquent entres eux et donc le pac du joueur 2 pourrait avancer

Magus: mais je suis pas sur

WhatTrickeryIsThis: y à un HULK qui débrque et qui sépare tout les pacs

dbdr: ya qu'une seule source de vérité...

Magus: (évidemment la question peut aussi se poser pour 4 pacs, 3 pacs du joueur 1 et 1 pac du joueur 2)

Alshock: non je crois qu'ils se bloquent tous

Magus: va falloir aller se taper le code du referee :/

GiB: J'ai posé une question similaire dans le forum

Alshock: Je sais plus si c'était le cas dans le code de Stilgart auquel cas oui il passe effectivement

WhatTrickeryIsThis: C'est Apo qui choisi qui est le pac qui frappe en premier et prend la place

dbdr: ya un doute sur le fait que github soit à jour par contre

dbdr: taille max de carte de 33, mais msmits a vu du 35

Alshock: moi de ce que j'avais lu il regarde d'abord tous les intents et se cogne au premier dont l'intent correspond à un block

Alshock: @dbdr si ça se trouve c'est à jour mais c'est juste bugué

Alshock: ils ont bien la même sur la verticale si ça se trouve ils comptaient pas les bords et après ils les ont ouvert sans les rajouter dans la largeur

Magus: pour la hauteur tu as toujours la première ligne et la dernière ligne qui sont que des murs

GiB: En proposant un changement de règles: le seul cas où un pac A n'est pas bloqué par un pac B; c'est si A peut capturer B

Magus: pour la largeur c'est pareil, la première et la dernière lignes sont toujours que des murs sauf une case pour le warp

dbdr: euler a uploader en contrib

dbdr: donc on peut tester si c'est le meme

dbdr: avec la meme seed par ex

Magus: ah ok donc la fonction pour les moves elle fait 100 lignes quand même

dbdr: ;(

Neumann: BOTG all over again

YannDev: le bloquage c'est horrible

dbdr: qd meme pas...

WhatTrickeryIsThis: viens là toi Neumam

Neumann: Je suis déja là

Neumann: Je me cache

YannDev: j'ai perdu des games à cause du blocage :'(

Default avatar.png Dekaryahia: hi

Alshock: http://chat.codingame.com/pastebin/b75b7502-e289-451c-8ff8-deb4efac1fb7

WhatTrickeryIsThis: allez hop un submit

WhatTrickeryIsThis: désolé pour les dommages collatéraux

Neumann: lul

Magus: ah je regardais pas la bonne fonction, la solution des mouvements fait que 45 lignes en fait

Magus: *résolution

Default avatar.png Dekaryahia: j ai debuter une competition mais j ai mal de suivre les fonctionnalite le jeux est pac et pastille

VincentBab: https://www.codingame.com/replay/458875648

Alshock: J'arrive pas à lire la classe config Magus elle me brûle trop la rétine

VincentBab: on peut afficher un message au dessus des pac on dirait

dbdr: c'est indiqué dans le statement :)

Alshock: ouais vincent COMMAND PAC_ID X Y VAL MSG

Magus: la classe config ? pourquoi tu veux lire celle la ?

YannDev: trop stylé le message

Magus: les mouvements c'est géré ici : https://github.com/CodinGame/SpringChallenge2020/blob/d71009713f346163031ad2ad99198a0ef60f56a3/src/main/java/com/codingame/spring2020/Game.java#L579

Alshock: La fonction isBodyBlockedBy ne fait que des refs à la config

YannDev: ah on a le code source :o

YannDev: pourquoi vous le regardez d'ailleurs :')

GiB: Je comprends pas trop pourquoi quand on croise le chemin d'un pac plus fort on est bloqué, alors que quand on va sur lui on se fait tuer

BlaiseEbuth: C'est plus détaillé que l'énoncé

GiB: Pour moi ça devrait être la même chose dans les deux cas

Alshock: Je voulais savoir si le fait d'avoir été bodyblocked t'empêchait de bodyblock à ton tour entre toi et ta destination initiale

YannDev: ça sert à quoi de savoir ça ?

YannDev: et du coup c'est quoi la réponse?

Alshock: à savoir ce qu'il se passe vraiment dans les collisions à trois larrons, et deuxième question => :shrug:

VincentBab: ca sert a faire une simulation j'imagine ^^

Snef: Dans le bfs pour calculer toutes les distance tour 1, vous avez une queue supplémentaire pour garder les distances ?

YannDev: non

YannDev: j'ai un tableau 4d

YannDev: int dis[MAX_ROWS][MAX_COLS][MAX_ROWS][MAX_COLS];

Snef: 9a j'ai aussi c'est le résultat je parle de l'algo du bfs en lui même

YannDev: et mon bfs calcule toutes les distances entre toutes les paires de points

Magus: holy shit le referee sur les mouvement ...

Magus: ça pique en effet

YannDev: non j'ai qu'une queue ^^"

YannDev: tu utilises une struct pour les noeuds

YannDev: http://chat.codingame.com/pastebin/887b847b-bba8-4104-8803-bac30ef86341

YannDev: j'ai ça pour ma part

Alshock: Alors j'ai un problème insolvable. Je vois 13 pellets, j'en lis 12... et le tour se termine !

YannDev: !

YannDev: normal

Snef: ah ok ducoup quand tu enqueue tu met current->dist+1 and le child

YannDev: tu en lis 12 car ya le brouillard

YannDev: oui snef

GiB: Magus: Il y a une chance de faire simplifier le referee, quitte à faire un changement de règles mineur ?

Alshock: 13 pellets c'est le visible_pellets_count

YannDev: ah

Snef: et niveau perf c'est mieux qu'une queue supplémentaire ?

YannDev: ça changera rien au nombre de situations

R4N4R4M4: Mince j'avais pas vu les pipes en séparateur, du coup ça marchait moins bien

YannDev: je dirai que c'est mieux car plus simple à gérere

YannDev: gérer*

Alshock: ceci n'est pas une pipe

YannDev: après tu fais tes bfs comment ?

YannDev: tu fais un bfs pour chaque paire de point ?

Snef: queue.. while !empty..

Snef: non que pour les sources

Snef: et dans le bfs je fais toutes les dst

YannDev: good

YannDev: nickel

Snef: par contre

BlaiseEbuth: Je pars 5 minutes et ça y'est ça parle de queue et de pipe...

Snef: si je fais toutes les dst pour le point P

YannDev: après je ferai la struct au lieu de la deuxième queue perso

YannDev: oui ?

Snef: ben après quand je vais faire pour le point D

Snef: je vais quand meme recalculer la distance de D a P

Magus: GiB: pour moi le plus problème c'est pas le moteur du jeu de toutes façons. Vu le système de jeu, tu peux pas faire moins compliqué pour les collisions. Sinon les pacs peuvent se traverser et ça donnerait n'importe quoi.

YannDev: oui mais tu peux pas faire mieux snef

Magus: ce qui faudrait changer c'est surtout qu'on devrait avoir tous les pacs dans les inputs tout le temps, histoire de au moins pouvoir savoir quand t'as tué un pac au joueur adverse

Magus: (et s'ils sont dans le fog on nous donne -1 -1 en coordonnées comme d'hab)

YannDev: oui

YannDev: c'est bien ça

R4N4R4M4: Et mince, j'avais pas initialisé mon compteur de pac dans la boucle ...

R4N4R4M4: Bon, je pushe sur Bois 1, on va voir

YannDev: gl :)

YannDev: presque 1600 en bronze !

VincentBab: +1 Magus

YannDev: par contre c'est normal que je soit top 50% de bronze avec mon algo de wood I :')

YannDev: sois*

GiB: Magus: je pense que c'est possible de faire très simple pour les collisions: s'il y a au moins 2 pacs sur la même case, chaque pac qui ne bat pas tous les autres doit annuler son déplacement

R4N4R4M4: 9/10 dont le boss en Bois 2, ça devrait faire

Alshock: oui parce que peu de gens ont changé leur algo depuis le wood 1 YannDev

YannDev: ah okp

LoganWlv: Il y a eu un refresh du classement ?

YannDev: comme moi quoi

YannDev: GiB non

LoganWlv: Je suis passé 300 -> 1500 d'un coup c'est normal ça :o ?

YannDev: vu que tu peux gérer toi même l'annulement du déplacement

Magus: de ce que je comprend du referee, si on a un cas où 2 pacs Rock du j1 et 1 pac Paper du j2 veulent aller sur la même case : les 2 pacs du j1 vont se bloquer et donc pas bouger, le pac du j2 lui va bien avancer sur la case parce qu'il peut manger les Rocks.

Alshock: Personne d'autre n'a eu ça ? Au deuxième tour mon nombre de pellets visibles annoncé est de 1 supérieur au nombre de pellets qu'on me donne en input

Magus: Par contre si tu remplaces les 2 pacs Rock du j1 par 2 pacs Scissors, plus personne ne bouge

Magus: c'est ... pas cohérent du tout :/

Alshock: Je comprends pas comment c'est possible

YannDev: tu cin.ignore ou pas ?

YannDev: et tu lis bien toute l'entrée ?

Snef: Magus bah c'est plutôt logique non ? comment tu identifierais quel Scissors va avancer

Alshock: ouais je lis tout avec le code de lecture de base que j'ai pas touché, et j'ai bien le nombre de pellets qui m'est donné donc j'suis pas décalé

GiB: Magus: pour le coup ça me paraît cohérent -> pour un PAPER, c'est comme si les ROCKS n'existaient pas

R4N4R4M4: Mince y a déjà un bouchon en bois 2 ??? Va falloir déjà que je fasse un BFS

zasmu: dans ton premier scénario les 2 rock du j1 meurent, donc c'est pas important qu'ils n'aient pas bougé

Haashi: Alshock, c'est possible oui vu que tu as en inputs que les pellets qui sont dans ta ligne de vue

Alshock: @Haashi oui mais c'est bien de ceux-là qu'on parle

YannDev: R4N attends que le leaderboard s'actualise

Haashi: alshock tu bouges pas au premier tour ?

Alshock: bah si

Magus: c'est pas cohérent que le fait que le pac du j2 avance sur une case ou au final il n'y a personne en se basant sur le fait qu'il pouvait manger ou pas les pacs du j1 qui finalement ne sont pas la

Alshock: je suis d'accord avec Magus là-dessus

YannDev: je pense qu'en cas de collision les deux pacs devraient retourner en arrière

Haashi: Je suis d'accord aussi avec Magus

YannDev: et en cas de 3 pacs

YannDev: idem

Alshock: moi j'aurais même dit en cas de collision tous les pacs qui peuvent se faire bouffer meurent, et ceux qui restent se bloquent ou avancent

YannDev: parce que si 3 pacs sont en collision il n'y avait pas 2 pacs sur la même case avant

YannDev: donc les 3 peuvent retourner en arrière

YannDev: Al c'est mieux ça bien vu !

Haashi: j'aurais fait pareil aussi

YannDev: je viens de regarder des replays pour voir ce que ça donnait les collisions

YannDev: et j'ai perdu des games pour ça

YannDev: j'étais censé win

Haashi: tout le monde peut bouger, si tu te retrouves sur une case de quelqu'un que tu peux manger, bye bye

YannDev: vu que j'avais une supériorité

YannDev: mais à cause des blocages un pac a pu fuir

GiB: AI: donc en cas de collision ROCK+PAPER vs PAPER+SCISORS, les 4 pacs meurent ?

YannDev: ROCK mange SCISORS, SCISORS mange paper

YannDev: il reste un PAPER à la fin

GiB: et PAPER mange ROCK

Magus: GiB: à partir du moment ou il y a plus de 2 pacs d'un même joueur dans une collision, les pacs de ce joueur ne bouge pas

Magus: ça c'est tout le temps vrai

YannDev: oui

Alshock: ouais ça me va

Stilgart: GIb: non

Stilgart: https://www.codingame.com/replay/458793414

Haashi: frame ?

Stilgart: à partir de 15

Alshock: @Stilgart il parlait de ma manière de voir les collisions, pas de l'algo du ref

Stilgart: jusqu'à 200

Haashi: ah pardon, ouais c'est un setup

ThomasNicoullaud: c'est un bug Stilgart ?

Haashi: non mais ce replay a pas de sens

Stilgart: non

Alshock: Ca me met juste "Oops..." en HTML pur

Stilgart: c'est exactement ce que j'ai compris

VincentBab: woow CG crash de partout lool

Default avatar.png Colios13: yep

Default avatar.png Colios13: full crash

leojean890: j'ai des status error dans l'ide ouais

Stilgart: si tu essaies d'aller sur la meme case avec 2 de tes pacs, c'est retour à la case de départ

Haashi: Stilgart, pour toi ca devrait rester comme ça ?

Stilgart: et donc l'autre venir peinard sur cette même case

VincentBab: c'est Stilgart il a fait planter le referee avec ses test :D

Stilgart: Haashi: oui

Default avatar.png VRx42: ptn jai oublié de free

Stilgart: c'est la manière la plus simple de gérer la situation

Default avatar.png VRx42: dsl les gars

Haashi: Mmh, c'est pas logique, ca impliquerai qu'une équipe "joue" avant l'autre

Stilgart: sinon, qui gagne le duel ???

Alshock: non, c'est vrai pour les deux équipes, au moins c'est symétrique

Stilgart: non, tout le monde joue en même temps

Haashi: Pour moi personne, et retour a la case départ

Alshock: reconnaissons-leur au moins ça

Stilgart: dis toi que le déplacement bleu n'est pas valide donc annulé par l'arbitre

Haashi: bah non vu que tu dis : les deux bleus s'annulent donc laisse le rouge peinard

Stilgart: (de fait, c'est codé comme ça)

Haashi: c'est que tu imply que les bleus ont réalisé leur collision avant le rouge

Magus: comme je l'ai dit Haashi, d'après le referee, le 3ème sera peinard uniquement s'il peut manger les 2 autres

Alshock: @Haashi tu peux considérer ça comme "chaque joueur présente ses moves, ils s'annulent ou non entre eux, et après ils sont comparés au moves de l'autre joueur"

Alshock: ah oui du coup non

Magus: a cause de cette boucle : https://github.com/CodinGame/SpringChallenge2020/blob/d71009713f346163031ad2ad99198a0ef60f56a3/src/main/java/com/codingame/spring2020/Game.java#L591

Stilgart: Magus: mais tu peux pas avoir 3 sur la même case pour commencer

Magus: c'est pas la question

Haashi: Je remets pas en question votre compréhension du referee

Haashi: juste que je trouve pas ca logique comme comportement

Magus: même si c'est pas possible; 3 pacs ont le droit de vouloir aller sur la même case

Alshock: sans déconner

Magus: mais la le referee n'est pas logique

Magus: dans un cas personne va bouger, dans un autre cas 2 pacs vont se bloquer et le 3ème va avancer sur la case tout seul

Stilgart: Magus: pour moi c'est "invalid move" ça

Alshock: comment ça ?

Stilgart: enfin, tu l'interprètes comme tu veux, mais tu peux pas mettre deux pacs à toi sur la même case

Haashi: pour moi ca devrait etre une collision a 3 le replay de stilgart

Magus: pourquoi ça ferait invalid move ? t'as le droit de dire à 2 pacs de ton équipe d'aller sur la même case, ils feront juste une collision

Haashi: personne n'avance sur la case en question

Stilgart: Haashi: pas possible à résoudre

ThomasNicoullaud: et si on faisait pareil avec 4 pacs ? cette fois ci les pacs se bloquent deux a deux ou le rouge avance toujours ?

Stilgart: à moins de faire intervenir un ordre et donc de nicker la symétrie

Stilgart: et ça, on n'en veut SURTOUT pas

Haashi: pourquoi pas possible à résoudre ?

zasmu: magus : soit les 3 packs bougent pas -> logique, soit 1 avance et les 2 autres meurent -> logique

Magus: si c'est 2 pacs de j1 vs 2 pacs de j2, personne ne bouge ThomasNicoullaud, quelque soit les types

ThomasNicoullaud: 3 j1 et 1 j2 ?

Stilgart: Haashi: parce que tu aurais P, R et S en même temps sur la case

Magus: dans ce c'est le problème que j'ai dit au dessus

Stilgart: donc aucun vainqueur

ThomasNicoullaud: erf

Haashi: donc collision ?

Alshock: @Haashi la seule raison pour laquelle le rouge bouge dans le cas du replay de Stilgart et c'est ça qui est bizarre, c'est que le rouge n'a aucune collision

Magus: si le pac de j2 ne peut pas manger les pacs de j1, personne ne bouge

Haashi: et chacun repars a sa position initiale

Alshock: être mangé ou manger quelqu'un ce n'est pas une collision

Alshock: @Magus manger ou se faire manger

Magus: si le pac de j2 peut manger les pacs de j1, les 3 pacs de j1 ne bougent pas, mais le pac de j1 avance sur la case

Maulkin: c'est bizarre j'ai des "timed out", et en rejouant dans les mêmes conditions parfois oui parfois non. C'est mon code ou c'est CG ?

Stilgart: Alshock: oui, ça c'est discutable mais bon...

Magus: non mais moi je vous explique comment marche le referee hein, ça sert à rien de me dire que c'est pas logique :D

Alshock: C'est courant sur CG si au moins une des IA dépend de random

Stilgart: Magus: cf frame 15

Stilgart: rouge bouge la première fois

Maulkin: pas la mienne ^^

Magus: euh frame 15 de quoi ?

Alshock: de son replay

Alshock: https://www.codingame.com/replay/458793414

ThomasNicoullaud: je crois que c'est ce que Magus dit depuis tout à l'heure en faite :D

Magus: c'est le cas que j'explique justement

Stilgart: si le pac de j2 peut manger les pacs de j1 ---> +pas alors

Magus: nan en fait c'est s'il peut manger au moins un pac

Alshock: @Stilgart id 4 mange id 0donc pas de collision, id 2 mange id 4 donc pas de collision, id 2 collisionne id 0 donc collision, donc pas manger

Stilgart: il me semblait bien qu'on était d'accord, mais cette phrase là colle pas

Magus: va expliquer à leur boucle bizarre :D

Alshock: je pense que si id 0 était paper et pas rock bleu aurait pas bougé

Stilgart: ha... parce qu'on mange sans collision maintenant ?

Alshock: ouais

Magus: non on se mange pas

Stilgart: si rouge était autre chose, il aurait reculé oui

Magus: mais la boucle qui dit si tu bouges ou pas est basé sur le fait de pouvoir manger les autres ou pas

Stilgart: notez que depuis le début, je dis que "collision" c'est pas défini

Magus: et vu comme est fait la boucle, le referee regarde sur le pac du joueur rouge peut manger des pacs du joueur bleu qui vont arriver sur la case en question

Magus: mais les pacs en question bougeront jamais

Magus: mais ça le referee le re-test pas

Magus: enfin en tout cas c'est pas ce que fais le code visiblement

Alshock: http://chat.codingame.com/pastebin/121e25dd-fc38-4695-8bac-49a21b838f30

Stilgart: j'insiste sur le fait que pour moi, il manque un bout dans "si le pac de j2 peut manger les pacs de j1, les 3 pacs de j1 ne bougent pas, mais le pac de j1 avance sur la case"

Magus: a priori la bonne phrase c'est "si le pac de j2 peut manger au moins un des pacs de j1"

Magus: j'essaie de comprendre leur code hein :D

Stilgart: "au moins un" ça change tout

Haashi: sinon, on peut pas demander a changer le referee si ce truc ahah

Stilgart: (pour le coup, ça semble douteux ça)

Alshock: non non peut manger ou être mangé par TOUS les pacs de j2

Alshock: c'est dans isBlockedBy

Stilgart: (en terme de cohérence hein, pas de compréhension du referee)

Magus: de toutes façons vu la boucle tu peux pas faire un statement compréhensible la dessus

Alshock: on prends celui qui nous bloque le plus proche (parce que pourquoi pas) mais pour bouger il faut bien qu'il n'y ait aucun block

Stilgart: dans mon cas rouge peut manger un mais pas l'autre

YannT: ya pmlus de rankings?

Alshock: et il n'y a pas block si on mange ou qu'on se fait manger

leojean890: YannT je constte la même chose

Boulet: tiens c'est tellement rare

Boulet: https://www.codingame.com/share-replay/458904424

Boulet: que je vais me la peter un peu

Boulet: :D

YannT: en vrai ça m'inspire pas des masses ces histoires de pacman...

Alshock: GG WP

YannT: j'ai toujours aucune idée de l'algo propre que je veux mettre en place :(

informathemusic: Bah tu verras au fil du tps

YannT: du coup je passe du temps à magouiller mon heuristique pourrie dont je sais que je vais devoir tout jeter

Default avatar.png TepuDu13000: bonsoir, C'est normal les timed out lors de lorsqu'on soumet son code ?

Haashi: moi je veux faire de la diffusion

Haashi: parce que beamsearch ca sent le sapin avec toutes les possibilités

Boulet: TepuDu13000: non

Boulet: plus maintenant

Boulet: tu dois avoir un bug

Boulet: :sad:

Maulkin: je sus dans le même cas

Default avatar.png TepuDu13000: ok merci Boulet

Boulet: apres vous coder en quoi tout les deux ?

Maulkin: c#

Boulet: #flemmedefouillerleleaderboard

Default avatar.png bliblop: comment on fait pour monter de ligue ?

Boulet: Maulkin, TepuDu13000 : bug du coup

Alshock: faut être mieux classé que le boss

Maulkin: @blibblop on se classe plus haut que le boss

Boulet: en fin de run apres le submit

Default avatar.png TepuDu13000: oui c# moi aussi

Default avatar.png bliblop: et comment on joue contre le boss ? ^^

Maulkin: ça me le fait aussi en lançant mon code, et pas à tous les coups

Boulet: Y'a du monde qui run et qui ne rale pas en C# donc ça vient de vous a priori

Boulet: bliblop: on s'en fout

Maulkin: en faisant rejouer dans les mêmes conditions

Regulus136: nan, ça déconne en C#

Alshock: pouruqoi "on s'en fout" ?

Boulet: il faut juste etre classer au dessus de lui à la fin

Boulet: d'un submit

Boulet: parce que on s'en fout d'affronter le boss dans le contexte de la question

Alshock: ouais mais vaut mieux gagner contre lui avant de submit pour avoir de bonne chances de lui passer devant

Boulet: Pas faux

Boulet: encore que

Haashi: Si il a raison, ca fait baisser le boss

Alshock: pour choisir ton adversaire tu peux cliquer sur delete en dessous des agents et en choisir un autre, mais c'est ton code en IDE contre le boss par défaut normalement

Boulet: Regulus136, Maulkin, bliblop: ok

Boulet: pb en C#

Boulet: [CG]Maxime ???

Boulet: Oula internal server error

Boulet: bon le retour de l'attaque des zombies ?

Alshock: Ah, c'pas bon signe ça

Default avatar.png Colios13: ça la fait y a 5 minute aussi

Zorg1: tiens des erreurs 500

Alshock: et dire que j'ai toujours pas réglé mon problème de pellet invisible, même en virant tout mon code

leojean890: Zorg2 same en boucle

leojean890: ZOrg1

leojean890: Zorg1

Alshock: ah mon code vient-il de se lancer ?

Boulet: [CG] n'importe qui

Alshock: Ah non

domak: ah bein bravo, kicékatoukacé?

leojean890: et en plus le ranking est cassé

Boulet: ou qqun sur discord sur le chan d'erreur

Boulet: vite !!!!

domak: ah bein même le chat semble en rade

leojean890: depuis plus de 20 min le ranking

Boulet: non le chat passe

Boulet: (pour le moment)

Boulet: et chez moi

Boulet: bon ~~ #22

Boulet: leojean890: je t'attend toujours en haut :p

leojean890: mon IA a arrêté de faire de la merde Boulet sauf me faire bouffer

leojean890: jveux voir combien ça me classe:p

Boulet: moi Chat Log (talk) #22

leojean890: gg:p

Boulet: merki

leojean890: j'avais fait une grave erreur avant

Default avatar.png thoip: mon code actuel devrait me permettre d'atteindre les prochaines leagues lundi.

Boulet: du coup va falloir bosser :D

leojean890: mettre des seuils dans mon eval

Boulet: clairement

leojean890: très grave erreur:p

Boulet: vont ouvrir dans les 300 au moins

leojean890: les seuils pour appliquer un truc ou pas

leojean890: ça faisait faire du yoyo à mon IA

Boulet: :P

leojean890: droite gauche droute gauche....

YannDev: wait quand on speed on passe son tour ?

Boulet: quelqu'un a prévenu sur discord ?

leojean890: seuil sur distance entre mon bot et qqc

Boulet: YannDev: lis les regles

Boulet: oui

Regulus136: oui sur bug-report

YannDev: Ah

Boulet: ok

Boulet: des nouvelles Regulus136 ?

Regulus136: toujours cassé

Boulet: de la part de CG ?

YannT: en même temps c'est assez couillu de démarrer un gros contest la veille d'un grand weekend (ou alors faut pas en vouloir de son weekend)

Regulus136: rien de [CG]

Boulet: ou alors tu corriges les conneries connues depuis trois ans AVANT d'oucrir

Alshock: moi le local remarche au moins

Alshock: enfin "local"

Boulet: mais bon

leojean890: ouais c'est chiant pour le pm de ranking

Boulet: c'est pas le ranking ce coup ci

Boulet: enfin si mais pas direct

Boulet: bon compte discord

Boulet: !T%$#@$%#@%$#%$#!#%$#!

YannDev: c'est dommage de pas pouvoir utiliser speed et move

YannDev: sur le même pac

YannDev: au même tour

YannDev: :/

Alshock: C'est pour éviter que tu puisses trop facilement te jeter sur l'adversaire je suppose

domak: ah zut, les changements de type se font en simultané... je m'attaque à un SCISSORS avec un ROCK et sur le replay je vois que je me fais bouffer et que l'autre est devenu PAPER.

YannDev: en vrai c'est pas si mal vu que quand j'ai codé mon système j'ai pensé à une amélioration

YannDev: que j'ai codé

domak: y'a aucun moyen de détecter ça?

YannDev: mais qui du coup nécessitera une simulation de profondeur 1

YannDev: domak non :/

YannDev: je suppose que switch juste avant de se faire attaquer est idéal

domak: oui je pense que c'était un piège, le pac faisait du surface

domak: je me suis jeté dessus comme un con...

domak: bien ouéj

domak: StAnger91, t'es dans le coin?

leojean890: Boulet comment ça pas le ranking ? c'est un problème plus général ?

Boulet: m'es avis oui

Boulet: mais c'est juste un putain d'avis

YannT: t'as l'air faché boulet

YannT: tu devrais boire une bière

Boulet: YannT: déjà au :whiskey:

Boulet: [CG]NickToday at 7:52 PM We have just doubled the power of our database (it's why you might have encountered few seconds disconnections) It should be better from now Sorry for the perf issues :/

Boulet: sur discord

Boulet: pour info

Haashi: submit encore mort ?

YannT: j'ai toujours aucune maj de mon ranking perso

Boulet: devrait aller mieux du coup

Haashi: ah du coup c'est de retour ?

Boulet: submit oui, leaderboard ...

Boulet: putain comment on se deconnecte de discord ?????

leojean890: idem mon ranking est figé

Boulet: trouvé putain quelle daube ce site

R4N4R4M4: Pourquoi y a des ranks en vert ?

Default avatar.png Mastard: je viens de voir un combat, les pacs du joueur en face avaient leurs types ecrit au dessus... j'ai loupé une option ?

leojean890: tu veux dire quoi par trouvé Boulet ?

BlaiseEbuth: Mastard, avec MSG sans doute

Boulet: trouvé comment se deconnecter de cette bouse de discord

leojean890: ah^^

Boulet: Move pid x y toto

Alshock: ah ouais faut aller dans la liste des applications en background

Boulet: ça met toto au dessus de ton pac

Alshock: mais killall discord marche pas mal

Default avatar.png Mastard: aaaaah ok cool merci

Boulet: Alshock: remove discord aussi

Boulet: mais pour avoir des infos ....

Alshock: sinon je suis toujours dans l'incapacité de dire comment et dans quel contexte mon A* arrive à me décaler dans les inputs

Alshock: mais ça tient du génie

BigUP: Ca tient surtout du moment ou tu ne balance pas un input ou bien que tu balance 2 inputs

BigUP: ou que t'es pas la ou ton A* croit que tu es ;)

Alshock: nan nan, c'est le fait d'appeler mon A* qui fait ça

Zorg1: ils étaient obligé de mettre le nom complet de ROCK/PAPER/SCISSORS ?

Zorg1: Oui je suis la faignasse du parsing

BigUP: T'as pas copié tes variables pour travailler sinon ?

Boulet: Bienvenue au club Zorg1 :D

Alshock: càd ?

Haashi: ca va Zorg1, c'est pas comme si en Go on pouvait comparer a des strings facilement :p

Zorg1: ;-)

Default avatar.png laveugle: c'est normal si j'ai des timeouts aléatoires m

Alshock: ouais tant que c'est peu

informathemusic: RAAAH mes pacs se coincent les un les autres

Boulet: putain c'est tellement planté que si l'autre m'avais rendu mes droit je ferai une passe de menage de COC

Zorg1: Haashi : genre tu veux m'enlever une occasion de râler toi :p

Boulet: informathemusic: :p

Boulet: laveugle: oui et non

Haashi: Zorg1 rale sur les collisions comme tout le monde, unissons notre combat

Boulet: oui parce que c'est la merde

Boulet: non parce que ça ne devrait pas etre le cas

YannDev: Alshock

YannDev: t'es passé sur A*

YannDev: :thinking:

leojean890: ah ça remarche je suis #109

Zorg1: A* carrément

Zorg1: ça ne rigole plus

Boulet: tiens au fait il est passé ou notre soit disant CM ?

Alshock: @YannDev non je l'ai juste mis à côté pour le cas où je voudrais calculer deux points précis

Default avatar.png laveugle: genre je suis en dessous de 15ms quand ça passe mais en rejouant la même partie 8/10 ne passent pas

Haashi: gg leojean890

leojean890: pour monter dans le top 100 faut que j'arrête de me faire bouffer

RomanceDawn: j'avais refait A* pour ooc, bah c'etait bien de la merde à implémenter

leojean890: thx Haashi je t'ai vu plus haut que ça avant :P

Boulet: bah non pas gg leojean890 :P

Boulet: tu es 80 places trop bas :D

leojean890: car ok mon prgrm a progressé en farm

leojean890: mais pour la défense non

Boulet: laveugle: tu as des messages dans les replays ?

b0n5a1: Pour ceux qui ont un chien qui craint les gens masqués : https://www.facebook.com/790963567689256/photos/a.791425980976348/2885831804869078

YannDev: Alshokc tu peux précalculer tous les plus courts chemins !

YannDev: shock*

leojean890: et la plupart de mes défaites c'est me faire bouffer

Boulet: genre /bin/.../stdbuff

Boulet: ?

VincentBab: leojean890: pas forcement, je suis 53 sans gérer les collisions avec les pac adverse

YannDev: Leo c'était prévisible

Boulet: YannDev: non

YannDev: -_-

Default avatar.png laveugle: @Boulet nan quand ça plante j'ai rien même pas mes messages de débugs

YannDev: si je l'ai fait c'est que ça fonctionne x)

BigUP: Tiens, j'ai explosé le 24eme ! ;)

YannDev: gg !

Boulet: en replay ou en ide laveugle

BigUP: ok, il a explosé tout seul ! ;)

Haashi: oh putain

leojean890: VincentBab genre tu utilises pas leur position ? pour esquiver s'ils ont un type qui tue le tien ?

Haashi: comment on fait une symetrie horizontale

VincentBab: non, pas pour l'instant

leojean890: YannDev de quoi previsible ?

Boulet: YannDev: viens nous rejoindre en top bronze et on recause de ce qui marche ou pas ok :p

Default avatar.png Mastard: perso je suis deja content de ma 300e place xD

Default avatar.png laveugle: je la lance dans l'ide pour analyser Boulet

leojean890: VincentBab tu dois avoir un truc solide à côté alors :P

Boulet: et là tu as des timeout ???

YannDev: Boulet je finis mon code et je submit :)

b0n5a1: t'es en forme Boulet :grinning:

YannDev: Leo prévisible du fait que tu te fasses pvp

dbdr: 1600+ en bronze... ça change de OOC

YannDev: dés le premier jour j'ai dis que c'était une bonne strat

dbdr: j'ai remaequé, CG tend un peu à surcompenser...

leojean890: VincentBab moi j'ai un truc pour les esquiver mais je suis obligé de le pondérer bas pour éviter de prendre cher

VincentBab: bah speed tout le temps et essayé de ramasser le max de pastille ^^

leojean890: pour éviter que mon bot fasse du yoyo à cause des autres bots

VincentBab: et focus les super pastille au debut

leojean890: allers retours incessants

Default avatar.png laveugle: oui, je fais rejouer dans les même conditions et j'ai bcp de timeouts mais pas tout le temps ce qui me fait douter que ça vienne de mon code (je vois pas d'où)

Boulet: laveugle: timeout dans l'ide ????

RomanceDawn: mesure ton temps

leojean890: YannDev me faire pvp ? comment ça ?

YannDev: ça c'est horrible ça le yoyo leo

YannDev: Le fait que des pac fassent les chasseurs

Default avatar.png laveugle: bin il me dit que j'ai pas fourni de réponse dans les temps (quand ça passe je mesure moins de 15ms)

YannDev: et essaient de tuer tout le monde

Boulet: sur les meme parties laveugle

Boulet: *options: manual * ????

informathemusic: Euh le pathfinding par defaut c'est A* ?

Boulet: informathemusic: non sans doute un bfs

Default avatar.png laveugle: options auto mais toujours la meme seed

Boulet: laveugle: non faut passer en manual

informathemusic: Ok

LoganWlv: On ne voit pas quand une super pastille est mangé par l'adversaire ? Elle apparait tjrs dans les visibles ?

Default avatar.png laveugle: on est d'accord que si je log dans la console même si je réponds pas dans les temps je suis censé voir mes logs ?

gregballot: Ca c'est une bonne question

guibayle: time out avec juste un WriteLine Hello... c moi ou?

GiB: Un bon floyd au premier tour pour avoir toutes les distances directement ensuite, non ?

Boulet: laveugle: oui si tu flush

leojean890: YannDev bah le yoyo mon pac a fini de le faire c'est ça le point positif

leojean890: YannDev et ouais la chasse vu ma méthode d'esquive je prends cher

Boulet: discord:

Boulet: [CG]NickToday at 8:10 PM We have repaired the leaderboards cache. (It's still a bit slow but it should be better in few minutes) We are checking for the C# issue

guibayle: Merci Boulet

Boulet: de rien

Boulet: il faut bien que qqun fasse le boulot de l'autre

Default avatar.png laveugle: probablement mon pb également je suis en c# j'aurais du commencé par là :)

R4N4R4M4: Bon ben me voilà en Bronze

R4N4R4M4: Je vais commencer à coder

guibayle: welcome in hell

gregballot: haha exact

R4N4R4M4: Merci :D

QzL: Vous aussi vous avez des timed out alors que le code n'a pas changé ?

R4N4R4M4: Je vais attaquer direct par la simu, ça me fera rattraper mon jour de retard

guibayle: oui ils reglent le probleme

Zorg1: tu fais des simus toi maintenant R4N4R4M4 ?

[CG]Nick: We have found the origin of the C# issue. Sorry for the problem. We are rolling out a fix

Default avatar.png laveugle: Merci Boulet je repasserai plus tard du coup

R4N4R4M4: Quand je suis énervé oui Zorg1 :D

QzL: Il y a un thread pour suivre les soucis ?

R4N4R4M4: Et là ça m'énerve d'avoir raté le début

YannDev: bon je bats le bot

Zorg1: R4N4R4M4 : j'étais là au début, c'était bloqué, rien n'avançait, j'ai commencé cet aprém moi ;-)

R4N4R4M4: Les débuts de challenge c'est les meilleurs moments, tu prends le temps de découvrir le jeu, tu code n'importe comment et t'en profite un peu quoi

R4N4R4M4: Ah bon si c'était bloqué, alors ça me désénerve :D

Zorg1: bah t'avais 400 gars en train de pushé en même temps en Wood2

R4N4R4M4: ah oui, j'ai raté la cohue quoi

dbdr: ya eu un passage massif?

YannT: non y'a juste gavé de monde et ce coup ci passer wood est très facile

dbdr: oui, CG surcompense

dbdr: OOC boss tres dur, PAC on fait l'inverse

YannT: pfff je suis tellement pas inspiré

guibayle: des bugs toutes cette nuit ça fait ralentir et faire de la merdasse..*

R4N4R4M4: Oui, là c'est passé en 4 lignes de code : 2 pour Wood 1 et 2 pour Bronze

YannT: j'ai passé tellement de temps sur OOC, j'crois que ça m'a cramé l'envie pour ce contest :(

RomanceDawn: ca te dit pas une petite firêt de if ? :D

RomanceDawn: forêt *

dbdr: les CP CoC tombent trop vite, maintenant la demi-vie c'est un million d'années :D

guibayle: done Romance

Zorg1: if (isWin(coup)) play(coup);

RomanceDawn: ah

R4N4R4M4: T'as tout donné sur OOC YannT c'est clair :D

YannT: là j'en suis au stade ou je devrais écrire la simu, mais flemme

dbdr: trop d'importance aux vieux contests => decay tres rapide

Zorg1: pas de forêt de ifs chez moi

Magus: YannT flème aussi

Magus: mais je sais pas si c'est à cause du confinement ou si c'est juste le FoW 3 fois de suite :D

dbdr: le FOW de OOC je l'ai trouvé plus clean

RomanceDawn: c'est vrai que ca fait chier le fow

Magus: le FOW de OOC avait un vrai intérêt, le jeu était basé dessus

Zorg1: dans OoC le FoW faisait parti du jeu, là t'as l'impression que c'est rajouté pour éviter la bagarre de minimax/MCTS

dbdr: voila

Magus: tu retires le FOW de OOC y'a plus de jeu en fait

YannDev: comment vous faites vos simus svp ?

Zorg1: oups Magus a été + rapide ;-)

Magus: la le FOW il est juste la pour rajouter des règles chiantes :/

Magus: puis le fait de pas savoir qui tu tues >< sérieux :/

YannT: et les collisions aux règles à géométrie variable

YannDev: en fait quand vous simulez

dbdr: en fait si tu tues qq tu devrait (arreter) de le voir non?

dbdr: pas toujours?

YannDev: c'est juste pour observer le comportement dans la partie ?

Magus: dbdr: tu vois pas les morts

Magus: mais tu les vois pas non quand ils sont dans le fow

RomanceDawn: c'est vrai que les règles là ca fait un peu brouillon

Magus: donc tu peux pas faire la différence

Magus: les autres jeux avec du fow tu vois les autres entités t'as juste un -1 -1 en coordonnées

YannDev: tu peux pê prédire une collision?

Magus: donc tu sais quand y'a un mort

dbdr: mais tu peux les tuer que s'ils étaient pas en FOW. ah non, pas si tu passes un coin

Magus: tu peux pas non plus savoir si quand tu fonces sur un pac dans un coin, s'il est mort ou s'il a fui

dbdr: tu peux le voir parfois, mais pas toujours

Magus: (bon après tu peux supposer qu'il est pas resté sur place à attendre la mort pour ce cas :D )

dbdr: #42, arretez tout!

leojean890: simu déjà faite pour moi mais je simule que depth 2 ;P

MrTimber: concernant la ligne de vision:

leojean890: et ma simu de l'ennemi est buguée

MrTimber: - est-ce qu'un autre pac sur la ligne cache le reste de la ligne ?

dbdr: ben simuler qd tu sais pas ou il est...

MrTimber: est-ce qu'on peut voir de l'autre côté de la map quand on est sur une ligne qui permet de traverser ?

Boulet: [CG]NickToday at 8:19 PM We have found the origin of the C# issue. We are building/releasing a fix

Boulet: pour ceux qui font du C#

leojean890: dbdr je simule l'ennemi seulement quand je sais où il est :P et seulement le plus proche !

Boulet: (quelle erreur :D)

nicola: Le chat ne défile que si je suis sur l’onglet.

leojean890: mais j'ai eu la flemme de corriger un bug à ce sujet, jvais le faire son:P

Boulet: #23

nicola: Si je change d’onglet, il ne défile pas.

Boulet: pas si mal

leojean890: Boulet légende hehe

Boulet: pas nouveau ça nicola si ???

Boulet: silver ce serait déjà bien

nicola: Depuis quelques jours, si.

Default avatar.png ZobZob: Je suis le seul à avoir un problème de timeout à tout les coups alors que ça devrait marcher ?

nicola: Peut-être la mise à jour de Firefox.

Boulet: et puis oui evidement legend

leojean890: silver dans un premier temps, mais après ?:P:P

Boulet: j'ai rage-quit hier soir

nicola: Dans Debian, on a toujours un peu de retard, même avec Sid.

Boulet: et ça c'est un signe

Boulet: demade Stilgart ou dwarfie

Boulet: :D

adriens: Comment trouve-t-on le classement de l'AI svp ?

YannDev: wtf

leojean890: rage quit pour revenir dans le jeu juste après ?:P

YannDev: mes pac ont freeze :thinking:

Boulet: AdrDer: dans leaderboard a gauche

Boulet: leojean890: c'est une tradition

Boulet: quand je rage-quit je fini legend :p

Default avatar.png laveugle: ZobZob si t'es en C# c'est "normal" bug en cours de correction par CG

Boulet: du coup maintenant je le fait tot

leojean890: Boulet en gros le ragequitting c'est juste ne pas coder pendant 24h pour décompresser ?!:P

Default avatar.png ZobZob: Oui je suis en C#, merci laveugle

Zorg1: les ragequit de boulet on connaît

Boulet: leojean890: non c'est une methode pour passer legende

Boulet: voila

Zorg1: génralement il finit légende

leojean890: mdr

Boulet: voila

Boulet: c'est le principe

Boulet: du coup fait hier nuit

leojean890: bah c'est une variation dans la motiv :P

Boulet: pour assurer a legend

leojean890: ou une méthode pour pas se mettre la pression;)

leojean890: ouais OOC t'as fini légend :P

Boulet: non plutot un "c;est de la merde ce constest donc j'arrete apres le prochain commit"

Boulet: suivit de "ok le prochain"

Boulet: suivit de "...."

leojean890: ad vitam eternam

Boulet: suivit de "merde legend"

leojean890: raler quoi :P

Boulet: pas le genre de la maison :rage:

leojean890: xD

Zorg1: ah c'est le coup "un dernier tour et je vais me coucher" dans les jeux à tour par tout ;-)

Koku: c'est mon 5ème dernier tour ce coup ci j'y vais

YannT: je sens qu'il est pas trop pour moi ce contest là, je suis encore en recup après OoC :p

YannT: on verra si je retrouve le feu sacré avant la fin...

leojean890: pareil je préfère largement OOC

informathemusic: Mon algo est vraimet nul...

VincentBab: oui OOC était plus fun

informathemusic: Yes. 5 mins pour 1% des batailles

YannDev: oh non l'erreur 504

YannDev: :'(

leojean890: chacun ses gouts après mais bon on est plusieurs ok pour OOC

VincentBab: en plus tous les bugs/lags n'aide pas

Zorg1: bah OoC c'est issu d'un jeu de plateau, qui a été pas mal testé, ils ont pas changé grand chose pour l'adapter en contest, c'est pour ça qu'il marchait pas mal

Zorg1: au niveau des mécanismes du jeu

VincentBab: yes super jeux de plateau d'ailleurs ^^

leojean890: ouais c'est assez chiant, mais on a plus les timeouts genre /bin/.. non ?

Zorg1: j'ai des networks error -1, je vais arrêter

QzL: C# fonctionne de nouveau :D

Zorg1: et revenir plus tard

BigUP: informathemusic, c'est un bon debut

YannT: pareil, je vais aller me servir un pastis plutot, on verra demain si j'ai le courage d'écrire la simu :D

VincentBab: simu avec une magnifique gestion des collisions ^^

leojean890: ouais sympa le jeu sonar

leojean890: OOC je crois que dans le jeu de société y'avait pas les mines, mais le concept est cool :)

R4N4R4M4: Repush avec SPEED

VincentBab: hum si y a les mine je crois

R4N4R4M4: SPEED, ça accélère pas le push :D

Zorg1: y avait les mines mais je crois qu'elles explosaient quand tu tirais dessus à la torpille

leojean890: R4 les push sont encore lents ?:P

Boulet: C'est beau l'autre qui apparait et disparait de discord sans dire un mot, sans rien rapporter

VincentBab: hum sa je ne sais plus

R4N4R4M4: 1 match en 30 sec

Zorg1: ils en parlaient sur le forum

VincentBab: y avait surtout un système qui t'empechait d'utiliser n'importe quel pouvoir quand tu veux

leojean890: VincentBab ah jcroyais que non :o j'y ai joué 1 seule fois y'a 5 ans donc j'ai ptet oublié

VincentBab: qu'ils ont pas du tout implémenté pour OOC mais tant mieux je pense ^^

leojean890: 1 match en 30 sec effectivement y'a trop de pushers jpense :o

Boulet: [CG]NickToday at 8:50 PM Yes, a final one (I hope :pray: ). Everything should be back to normal in few minutes


poloch0n: yo les geeens

poloch0n: ça s'passe vos strats :D

Boulet: \o poloch0n

leojean890: \o

Boulet: ça va

poloch0n: chalut boulet :D

Boulet: et la tienne

Boulet: ?

leojean890: jcrois que le ranking est figé encore, j'ai pas push mais mon classement ne bouge pas

poloch0n: J'ai traversé le wood avec un truc basique : va vers les grosses pastiles, puis vers la pastille la plus proche .

poloch0n: Maintenant , j'commence à réfléchir combat

Boulet: cool

poloch0n: et toi t'en es ou ?

Boulet: #26

Boulet: donc pour le moment ça va

domak: l'action sur un pac est exclusive? Tu peux pas faire SPEED et MOVE sur le même pac dans le même tour?

poloch0n: effectivement domak

leojean890: domak une action par tour

domak: ok merci

poloch0n: pouaah gg Boulet!

Boulet: bof

Boulet: va falloir s'y mettre maintenant

domak: Boulet c'est son année

Boulet: ou alors je reragequi

Boulet: et la c'est #1 direct :D

domak: il va nous faire legend 2 x en 2 mois

Boulet: domak: non c'est juste que j'ai le temps jusqu'a lundi

Boulet: finirai mid gold

Boulet: pas le temps la semaine prochaine

leojean890: ranking rétabli on dirait

Neabfi: Si on fonce sur un adversaire et au même tour il se transforme en notre faiblesse. Comme les compétences passent avant les déplacements on meurt ou on est juste bloqué ?

joelthelion: est-ce que les autres pacs bloquent la vue?

VincentBab: tu meurt à priori

Mazelcop: on meurt

Mazelcop: les pacs ne bloquent pas la vue

joelthelion: merci

Neabfi: ah oui donc jamais foncer sur un pac avec un abilityCooldown > 0 --‘

Neabfi: enfin = 0 plutot

YannDev: quel plaisir la micro optimisation

Boulet: bon se taper un moteur ou pas ???

Boulet: pas ce soir

joelthelion: le moteur a pas l'air très fun

joelthelion: en plus certains parlent d'ajuster les règles

Boulet: oui mais ça pourra servir en fin de semaine

Boulet: en meme temps pfffff

Neabfi: pour le coup le moteur est bien plus rapide à coder que certain autres contests

Boulet: mouais mais est ce que se sera utile

YannDev: :shrug:

poloch0n: fck j'commence a manquer d'idée

Neabfi: c’est util genre pour éviter les impasses

Neabfi: *utile

k4ng0u: Neabfi, si c'est juste pour eviter les impasses, ca ne serait pas plus rapide/performant de juste faire une heuristique? if (on me poursuit et que c'set une impasse et que j ai pas assez de cd pour retourner la situation) {ne pas prendre l'impasse}

YannDev: tiens mon code fait des trucs bizarres

YannDev: il fait des move hors de la grille :thinking

Neabfi: @k4ng0u je voulais dire en terme de pastilles

poloch0n: Les gens, vous avez un systeme de "radar potentiel" ou pas ?

Neabfi: les impasses il faut faire un retour à vide parfois il vaut mieux juste ignorer les pastilles

Neabfi: *faut

Mazelcop: c'est quoi un "radar potentiel" ?

Samsa: calculer les positions possibles de l'ennemie je croit

Mazelcop: pas pour l'instant

k4ng0u: Neabfi faut voir ce que tu veux faire avec la "simulation", mais si c'est juste compter les pastilles, un bruteforce serait plus simple a coder et plus performant qu'une simulation entiere des etats.

Neabfi: Mais dans ton bruteforce tu dois considérer la position des autres pacs donc ça revient un peu à simuler non ?

Snef: Je viens de voir qu'on ne peut pas faire x%b en c++ si x == -1, on est donc obligé de faire (x+b)%b ?

Default avatar.png JBM: vla aut chose

Default avatar.png JBM: si b != 0, tu peux le faire

Snef: -1%30 me donne 0 et pas 29..

Default avatar.png JBM: que ca donne le resultat que tu attends est un tout autre pb

YannDev: -1%29

Snef: -1 *

YannDev: ;)

Default avatar.png JBM: ben ajoute 30

YannDev: et tu auras 28

Default avatar.png JBM: ou utilise un autre langage

Snef: JBM c'était ma question merci :)

BigUP: ha oui ok, le Speed je ne sais pas le gérer ! ;) ok

BigUP: tiens, une impression de déjà vu... Juste devant Vry ! ;)

Zorg1: bon j'essaie d'implémenter le SPEED

Zorg1: OK le leaderboard toujours au taquet

Neumann: C'est beaucoup mieux qu'en début de journée

Zorg1: oui je dois avouer, vers 16h c'était pas la joie non plus

Zorg1: là ça à l'air d'être plus ou moins ok

Palmipedus: bon faut que je motive, je suis toujours en Wood 2...

Palmipedus: est-ce que je commence propre et implemente au fur at a mesure dans les wood ou fait tout en bronze

Palmipedus: bonne question. :D

Zorg1: moi j'ai commencé à faire un truc assez chiadé avec BFS dès wood 2

Zorg1: mais un truc assez pipo suffit à passer en bronze de ce que j'ai lu ici

b0n5a1: yep ^^

Palmipedus: oui, passer en broze n'est jamais dur, mais c'est parfois utile de rester en wood pour juste focus sur certaines features

Zorg1: hum sur OoC passer en bronze était assez pointu quand même

EricSMSO: Bon le team Thales, on va pas se laisser marcher dessus par Amadeus quand même !

Neumann: ez bronze cette fois-ci

Palmipedus: c'est vrai, le plus dur depuis longtemps, mais ils ont nerfer les boss apres il me semble

Zorg1: bon top 100 on verra si ça tient jusqu'à demain

Zorg1: je serais curieux de savoir combien ils comptent faire passer en silver

Zorg1: on est quasiment 1800 en bronze ...

Zorg1: c'est assez nouveau pour moi ;-)

BlueGhost31: t'inquiètes EricSMSO ;) faut juste le temps de s'y mettre

EricSMSO: On est pas obligé de suivre Chorus ici

BlueGhost31: du coup ça ouvre des possibilités ....

Zorg1: Chorus c'est l'outil de gestion de projet/temps que vous utilisez chez Thalés ?

BlueGhost31: c'est la méthodologie/procédures à suivre

Zorg1: ah ok

BlaiseEbuth: Bon... J'étais parti sur l'idée de faire le contest en perl pour l'achievment tout ça tout ça... Mais le floyd-warshall passe déjà pas en termes de perfs...

RomanceDawn: puis je te conseil le Java ? :D

RomanceDawn: r*

b0n5a1: VB !

**b0n5a1 s'enfuit

Zorg1: M. BlaiseEbuth avez vous dix minutes pour parler de notre Seigneur Java ?

BlaiseEbuth: Vois pas l'intérrêt... Si je veux de la perf je retourne en C++, le perl c'était pour minimiser le nombre de personne utilisant le même langage.

Zorg1: y a pas grand monde sur lua ...

RomanceDawn: Java n'est qu'amour, il te pardonnera, loué soit la jvm :innocent:

Zorg1: a si il est 27eme le seul en Lua en bronze

RomanceDawn: 27

RomanceDawn: c'est pas mal

Gh0stm4chine: quand est ce que les autres divisions seront ouvertes ?

Alshock: Lundi la silver

Default avatar.png Mastard: Il y aurait pas un bug concernant les pacs encore en jeu ? J'en ai encore 1 sur le terrain, mais "Only Défaut still has pacs standing!"

Gh0stm4chine: thx

R4N4R4M4: BlaiseEbuth, viens en ObjectiveC, y a personne :D

Gh0stm4chine: Mastard ça fait quand tu fais une mauvaise action aussi, vérifie

Default avatar.png Mastard: ah oui j'essaye de bouger un pac mort, my bad

Gh0stm4chine: héhé j'ai eu la même cette aprem

Default avatar.png Mastard: du coup ouais le message est un peu trompeur ^^

Zorg1: ah tiens ils ont mis "ligne de mir" dans l'énoncé, comme la station spatiale

b0n5a1: océanique...

Default avatar.png Mastard: Gh0stm4chine yes c'etait bien ca le probleme, merci !

Default avatar.png JBM: comment es ton re

Gh0stm4chine: @Mastard, avec plaisir :)

Default avatar.png Mastard: c'est bizarre parce que si je commande 2 fois le meme pac dans le meme tour, ca me le met bien en message

Gh0stm4chine: tu peux pas faire deux actions sur le même pac dans le même tour

Default avatar.png Mastard: evidemment, mais du coup j'aurais pensé qu'un message pareil serait affiché si je controle un pac mort ^^

Zorg1: b0n5a1 : ah oui elle a été détruite ;-)

b0n5a1: un hurluberlu avait prédit qu'elle tomberait sur Paris pour détruire la ville (Paco Rabanne) :joy:

Gh0stm4chine: oé car le message "Only pacs standing" indique que la partie est terminé et si tu controles un pac mort, le jeu considère que la partie est terminée alors que si tu envoies deux commandes, il l'ignore juste pour ce tour je pense

Zorg1: ah oui Paco Rabanne le couturier métalurgiste

Zorg1: je l'avais oublié celui là

YannDev: quand on timeout, aucun cerr ne peut s'afficher ?

Snef: si

YannDev: Ah

YannDev: bah pourtant ya un cerr au début de ma boucle qui ne s'affiche pas

YannDev: quand je timeout

b0n5a1: timeout, t'es killed...

YannDev: oui mais le cerr est avant que ça timeout je suis certain

YannDev: vu qu'il est au début de la boucle

YannDev: donc je fais rien avec de cerr

egaetan: le coeur est avant le timeout

YannDev: ya un cerr au tout début de la boucle

YannDev: et il ne s'affiche pas au tour où je timeout

Phenix23: blo blo

Benjinis: gel aw

Kevna: skibidip pap pap

Phenix23: pa mandew sa

Zorg1: ?

Benjinis: ay bwè dlo

Phenix23: coco pas kaka si bwal plan

b0n5a1: un sniper svp...

Phenix23: ka ou ka di la

b0n5a1: Magus ?

Zorg1: Bob Recurse ...

Default avatar.png CookieBrains: salut tout le monde ! je viens de commencer et apparemment mon pathfinding est trop long, vous faites comment pour determiner la distance de votre pac a une case ?

b0n5a1: faites vous un chan pointe-à-pitre ou parlez français...

Snef: CookieBrains tu précalcules toutes les distances tour 1

Zorg1: ah ok j'avais pas vu ;-)

YannDev: Cookie je fais un bfs pour ma part

Default avatar.png CookieBrains: de toutes les cases les une par rapport aux autres ?

Snef: oui

YannDev: non

YannDev: je fais un bfs par case

YannDev: je ne fais pas un bfs par paire

Snef: oui mais tu obtiens les distances de toutes cases vers toutes autres cases

YannDev: oui

Default avatar.png CookieBrains: ok merci bcp !

YannDev: de rien ;)

Alshock: et si tu veux faire d'autres calculs tour 1 tu peux utiliser un cache pour ne pas avoir forcément besoin de TOUT calculer et pouvoir les calculer plus tard quand t'en auras besoin. Mais bon le coût est si faible que je doute que ce soit utile

Default avatar.png ologrod: hello

Default avatar.png ologrod: vous vous amusez?

joelthelion: 101ème en 128 lignes de code. Qui dit mieux? :-p

leojean890: tiens siman en force comme dans ooc ;P

YannDev: ah bah gg joel

leojean890: joelthelion j'ai + de lignes que ça et je suis 116

joelthelion: vive python et vive les débuts de challenge :)

Default avatar.png ologrod: baleze dans le coin

leojean890: en même temps je démarre sur des bases de code pas super propre ;O

leojean890: je pourrais largement réduire

leojean890: dans ooc j'ai galéré pour les 100ko à la fin ;p

joelthelion: ooc c'était une autre histoire

leojean890: j'avoue :P

leojean890: 1 mois déjà !

Default avatar.png ologrod: vous fete comment pour activer les boost?

GhostDev: YannDev tu as resolu ton pb de timeout au premier tour pour tes calculs de distances?

Default avatar.png Mastard: SPEED pacID

Default avatar.png ologrod: euh oui je suis tout au debut

YannDev: depuis longtemps ^^'

GhostDev: gg

YannDev: ty x)

Default avatar.png ologrod: SPEED a la place de MOVE?

Default avatar.png Mastard: oui, mais il faut que tu sois en ligue bronze pour avoir le speed, ca n'y est pas avant

Default avatar.png ologrod: j'y suis ^^

Default avatar.png Mastard: alors tu devrais l'avoir

Default avatar.png ologrod: en output j'ai toujours la sortie basique MOVE id x y

Default avatar.png Mastard: la je pense que c'est un probleme de code ^^

leojean890: ah jsuis remonté 104 tiens

leojean890: jpensais que ça ferait que baisser ;P

leojean890: 1816 en bronze

Vry: Bon faut coder des trucs pour améliorer son classement ?

Vry: Pfff ...

leojean890: les leagues bois faciles ça donne envie aux gens de soumettre

leojean890: donc on a déjà bien plus de monde qu'à OOC

Vry: Oui, en effet.

leojean890: 1816 en bronze c'est du gros wtf et normal que ça lag:p

Default avatar.png ologrod: le tchat est en fonction de notre league ou je reve?

leojean890: ologrod non:P

Default avatar.png ologrod: ah j'ai eu peur

egaetan: leojean890 gagne encore 50 places, Thales est devant nous

leojean890: Vry pas besoin de coder masse apparemment

Vry: Ah ouais leojean890, j'avais pas F5 depuis hier ... :p

leojean890: egaetan j'avoue :P

leojean890: bah mon bot farme pas mal mais mes bots se font tuer là:p

Default avatar.png ologrod: du coup pour info vous pourriez m'expliquer le principe de speed. j'ai jamais vraiment joué au jeu pacman

Vry: Déjà #26 egaetan : pas mal

leojean890: enfin mes pacman se font bouffer :P

leojean890: faut que j'ajoute "convert"

Zorg1: ologrod : c'est pas vraiment du pacman

leojean890: ou que j'améliore mes fuites

leojean890: Vry comment ça pas F5 ?

Zorg1: speed ça permet à un pac d'avance de deux cases par tour au lieu d'une seule (pendant 5 tours)

Default avatar.png ologrod: ah bon?:upside_down:

leojean890: mais apparemment à ce stafe du jeu de bonnes heuristiques gag,e,t :P

Vry: leojean890, au bout d'un moment sur le site le bandeau en haut ne se met plus à jour

b0n5a1: le viewer last battle a été désactivé parce que problématique ?

b0n5a1: hmmm ou c'et cg enhancer qui fait ça...

b0n5a1: ha non ça remarche, rien dit

leojean890: Vry ouais je sais, faut reload l'onglet en effet !

BigUP: b0n5a1, memoire faible ?

b0n5a1: toi même ^^

Fangel: salut

b0n5a1: FF bouffe plus d'un Go surtout à cause de CG mais ça va j'ai encore une grosse marge BigUP

Fangel: est ce que la vision traverse les bords gauche et droite ?


leojean890: hello Fangel

Default avatar.png Mastard: normalement non

leojean890: ah ouais bonne question

leojean890: genre au niveau d'un passage

Default avatar.png Mastard: ah pardon j'avais pas compris la question

leojean890: il me semble que oui

jolindien: oui

jolindien: miam miam !

Fangel: ok merci

jolindien: quelqu'un s'est attaqué au fog ?

Default avatar.png BeardedCarnivore_43e1: yo

jolindien: yo

Default avatar.png BeardedCarnivore_43e1: première fois ici :) le concept est super !

jolindien: bienvenue BeardedCarnivore_43e1

Default avatar.png BeardedCarnivore_43e1: mercii !! connaissez vous de bons jeux pour commencer ,

jolindien: Tron, coders strike back ...

jolindien: et plein d'autres

Default avatar.png BeardedCarnivore_43e1: thnks, je vais aller les voir !

Vry: Sinon y'a le Spring Challenge ...

leojean890: sinon participe au contest actuel

jolindien: pas faux

b0n5a1: nan pas CSB jolindien ... y'en a encore un qui va faire un débordement de ligue qui va tout mettre parterre ^^

leojean890: chips Vry :p

Vry: Chips ?

leojean890: on a dit la même chose en même tps hehe

jolindien: débordement de ligue ?

leojean890: bref allez faut que j'amélio mon code :P

Vry: En effet ... mais ça va pas aider mon floodfill à s'améliorer tout ça ...

jolindien: le fog façon ooc ça me parait pas possible non ?

b0n5a1: des dizaines voire centaines de bots CSB poussés en ligue suivante par qqun pendant un contest jolindien...ça fout tout parterre qund ça arrive

jolindien: ah ouais

jolindien: surtout vu le monde sur pacman

leojean890: pacman = bordel :P

Default avatar.png Mastard: coool top200, je vais pouvoir arreter pour aujoud'hui l'esprit leger

joelthelion: bizarre, le speed n'améliore pas vraiment les perfs de mon bot

BigUP: joelthelion, ca c'est bizarre ... ;)

joelthelion: c'est vrai que je ne le simule pas très bien pour l'instant :)

Default avatar.png Mastard: ouais, rien qu'en mettant le speed dès qu'il est dispo j'ai du gagner 150 places

yamo: mon init prend 150 ms sur mon laptop et timeout sur CG. bizarre …

BlaiseEbuth: Bah non... C'est pas le même environement

RomanceDawn: CG c"est des celeron

BigUP: 1ere generation

BlaiseEbuth: On est pas sur cartes perforées ?

BigUP: voyon sce que donne le Speed... utilisé correctement (enfin un minimum)

Default avatar.png Nelimee: Est-ce que par hasard quelqu'un saurait si tout ce qui est gestion du temps en C++ est cassé sur CG ou pas? J'ai affiché le temps pris par mon initialisation (qui fais exactement les mêmes opérations que l'initialisation par défaut), j'obtiens 3000ms (je n'ai pas rajouté de 0 en trop) et ça ne timeout pas...

Default avatar.png Nelimee: J'utilises std::chrono::high_resolution_clock au cas où

BigUP: Nelimee, il n'y a pas trop de raison pour que c ane marche pas

VincentBab: c'est pas 3000us plutot ?

VincentBab: donc 3ms

BlaiseEbuth: Tu dois commencer à mesurer après le premier input, et arréter avant ton output. sinon tu mesures du temps non alloué à ton code

BigUP: Nelimee, moi j'utilise ca pour le tour 0 : (system_clock::now()-start).count() < 990*1000*1000

Default avatar.png Nelimee: Je viens de re-re-vérifier, j'ai du std::chrono::milliseconds donc c'est bien des ms. Je commences à timer juste avant de lire le premier input, et j'arrête juste après la lecture de la dernière ligne du tableau...

BlaiseEbuth: Donc c'est pas bon, tu dois commencer APRES le premier input

Default avatar.png Nelimee: Donc c'est probablement l'input qui met du temps à arriver comme Blaise le dit

Default avatar.png Nelimee: Yes ok je vois, merci :)

Default avatar.png Nelimee: J'avais des mesures un peu suspectes sur mes itérations aussi, ça me rassure

VincentBab: du coup c'est interessant du mesure le lag des servers de CG = 3s xD

BigUP: Hum c'est que je vais taper top 300 quand meme just een gerant le speed a peu pres bien ;)

VincentBab: arreter du push là... je suis sortie du top 100 :(

leojean890: tu prends pas en compte les bots ennemis qui peuvent te tuer tu m'as dit non ?

Neabfi: quand le code bug ça timed out ?

VincentBab: oui ^^

leojean890: Neabfi ouais

leojean890: VincentBab jpense que c'est important à faire ouais..

Neabfi: Toutes mes défaites sont des timed out ça va être compliqué à debug, j’ai jamais eu le bug dans l’ide

BigUP: VincentBab, oui ca dans le Top 100 tu risque de descendre si tu ne gère pas ca... Les codes qui gèrent le SWITCH vont debouler

leojean890: Neabfi clique sur ton replay puis clique de rejouer avec les mêmes paramètres de partie dans l'ide

leojean890: ça reproduit pas forcément mais ça peut si c'est ton code qui crash

leojean890: s'il est déterministe et si l'ennemi aussi

Default avatar.png Nelimee: Ok, 32ms avec l'astuce de mesure après le premier input, merci!

BlaiseEbuth: C'est mieux. ;)

leojean890: et si vrais timeouts.. mets des prints, time ton code ou vois jusqu'à où ça print

Neabfi: ma condition de sortie juste avant les prints est à 32ms, j’ai vu plutôt large normalement ^^

Neabfi: *34ms

Neabfi: mesurée depuis juste après le while(1)

YannT: faut que j'écrive la simu mais j'ai la fleeeemme

Razielwar: idem

BlaiseEbuth: Ca dépends comment tu le gères aussi... Si tu as un truc du genre while(t<34) et que t'as un truc dans ton while qui prends des plombes, ou boucle à l'infini, la condition de ton while sert à rien.

Razielwar: c'est chiant ces collisions

joelthelion: YannT ça va être dur de simuler très loin, non?

YannT: du coup je fais mumuse à mettre des trucs dans mon DFS tout cramé mais ça sert à rien

Razielwar: lol yannt

YannT: dans mon code j'ai un

YannT: // TODO: Rewrite everything under this line...

YannT: et y'a la moitié du bot sous la ligne

YannT: c'est tout ce que je garde pas quand je fais la simu...

Razielwar: moi jai passé du temps à regarder le referee pour les collisions et ça m'a piqué les yeux!

Razielwar: oh putain mais on est hyper nombreux en bronze, je viens de soumettre c'est hallucinant!

YannT: en gros je garde les precalculs et les quelques bouts de truc qui font servir au moteur et tout le reste est bon à jeter :(

YannT: y'a déjà presque 3k participants c'est ouf

YannT: donc 2k en bronze

YannT: en même temps normal wood est très simple à passer ce coup ci

Razielwar: ah ouais! ils ont bien fait la pub c'est cool

leojean890: cool oui et non car un peu bordélique la ligue :P

YannT: mais je trouve ça bien que wood soit pas bloquant comme sur OOC

YannT: ça donne envie aux nouveaux de jouer

YannT: les boss wood de barbare sur OOC ça a du en dégouter plus d'un

leojean890: faut une IA carrée sinon on peut rapidement perdre plein de matchs avec ce monde et pas retrouver son classement :p

Razielwar: oups j'ai fait une boulette dans mon code je vais etre dernier ligue bronze :p

BlaiseEbuth: Bon. Je ragequit pour ce soir. Et demain je recommence tout en C++. Là c'est juste pas possible.

YannT: c'est le principe oui, si ton bot est bon il va plus haut que s'il est pas bon

leojean890: je pense ouais YannT c'est une des raisons pour lesquelles il y a eu plus de submits en plus de la pub plus intensive

PrinceChoco: Moi je la fait plutôt ronde l'IA, c'est plus joli :p

BigUP: YannDev, c'est sur que le debutant qu'a jamais fait de Floodfill, ca devait etre compliqué ! ;)

Default avatar.png MotiColemani: salut, c'est ma premiere participation. je ne comprends pas comment le classement est calculé. y a une formule magique ?

Snef: Seul bémol on se retrouve avec énormement de joueur en bronze avec quasi le même code ducoup avec une amélioration "fine" on peut se retrouver avec un classement moins bon

YannT: c'est un genre d'ELO en fonction de tes victoires et tes défaites dans les matchs

BigUP: MotiColemani, tu peux fouiller le forum... ;) il y a au moins un fil dédié a ca

Fangel: Je me rends compte que tu ne peux même pas savoir si tu as mangé un pacman de l autre... Il peut avoir pris un virage et disparu des radars.

YannT: après la formule magique exacte c'est TrueSkill en fait: https://en.wikipedia.org/wiki/TrueSkill

dwarfie: v5 .... go

YannT: mais bon, le seul truc à comprendre c'est que plus tu gagnes des matchs plus tu vas haut dans le classement :p

leojean890: j'avoue Fangel

leojean890: il se planque, convertit et te tue :P

YannT: Fangel: yep, c'est galère au possible

GhostDev: en C#, un map 30x13, j ai 195 BFS en 13ms....

Default avatar.png MotiColemani: ok je vois. c'est pour ca que quand on soumet on est en bas et ca prends quelques minutes pour remonter

dwarfie: 14 matchs ... 14 victoires , pourvu que ca dure ...

YannT: oui, quand tu sousmet tu vas jouer un paquet de matchs, tu peux suivre sur l'onglet "Last Battle"

Snef: GhostDev pareil en c++ sans optim, avec optim je passe à 4ms

YannT: et voir les replays desdits matchs

leojean890: dwarfie chaud :P vaut mieux vu le monde en vrai

GhostDev: ;) Snef

dwarfie: ah ca ... je prend mon temps entre chaque essai ... c'est que mon 5eme submit ... :D

dwarfie: mais je teste bien avant .... pour une fois

GhostDev: verif de mon bfs

GhostDev: http://chat.codingame.com/pastebin/192fbfad-ca00-4e60-93fb-6e52824bdfc0

YannT: je crois que je visualise mon algo de recherche tiens

YannT: j'ai trouvé l'illumination au fond du verre

YannT: j'ai enfin un genre d'idée

YannT: ça va p'tet me motiver à faire la simu

egaetan: :tropical_drink:

dwarfie: ah bon sang , mais c'est bien sur ... c'est pour ca que j'ai du mal ... tout mon stock d'alcool est passé dans OOC et du coup plus de creativité en réserve ;)

VincentBab: hum c'est quoi l'algo pour générer toutes les combinaisons de X list de move ? xD

Vry: Heap ?

VincentBab: par ce que la j'ai visualisé un truc super degeux dans ma tete avec 10 boucles for imbriqué (vu qu'il y a max 10 pac xD)

Vry: https://en.wikipedia.org/wiki/Heap%27s_algorithm

Vry: Je l'ai utilisé sur OoC pour lister les combinaisons d'actions

VincentBab: merci je vais regarder ^^

YannT: c'est pas ce que tu veux

leojean890: vive les winrate hyper serrés encore une fois ;p

YannT: l'odre des ordres n'a pas (vraiment) d'importance ici (sauf pour les comportements cheloux du referer)

YannT: c'est les combinaisons qu'il faut, pas les permutations

leojean890: j'avoue, ça coute moins cher à simuler !

VincentBab: hum oui c'est ce que je pensait en lisant le wikipediam ais j'était pas sur merci YannT ^^

VincentBab: hum du coup ya un algo pour générer les combinaisons de N list ? xD

YannT: produit cartesien

YannT: regarde dans ton language

GhostDev: pour les combinaisons, conversion entiers en binaire...

Razielwar: ohh je n'avais pas encore remarqué que lorsque l'on avait plus de pellet que l'adversaire on gagnait, je pensais qu'on pouvait encore revenir en tuant tous les pacs de l'autre

YannT: VincentBab: en kotlin ça donne ça

YannT: fun <T, U> cartesianProduct(c1: Collection<T>, c2: Collection): List<Pair<T, U>> {

       return c1.flatMap { e1 -> c2.map { e2 -> e1 to e2 } }
   }

YannT: oups

YannT: http://chat.codingame.com/pastebin/c2241757-a20f-4907-9c34-842383d0a94b

gregballot: Bon la recherche de chemin recursive est finie, maintenant faut en faire quelque chose lol

VincentBab: ok je vais regarder merci ^^

BigUP: gregballot, tu peux la refaire en utilisant une Queue ;)

gregballot: Une queue avec les differents chemins ?

b0n5a1: Vry : https://www.codingame.com/replay/459142234

b0n5a1: ^^

Default avatar.png CookieBrains: je sais pas comment réaliser le calcul de toutes les distances à chaque fois ca me dit que c'est trop long

gregballot: Tfacon il va falloir, ca manque cruellement de synchronisation la, mes pacs se la jouent beaucoup trop perso haha

BigUP: oui, si c'est un BFS que tu as fait, tu vas trouvé le code... ca sera plus rapide

VincentBab: on est d'accord que si j'ai 3 pac avec 4 move possible chacun ca fait 3^4=81 combinaison possible ?

gregballot: Oui c'est un BFS

gregballot: Vincent apres t'as les murs et tout, ca se reduit pas mal

Stilgart: mais tu as les abilities et la possibilité de rester sur place ;)

VincentBab: oui oui je sais mais c'est pour être sur que je fait pas d'erreur "conceptuel"

BigUP: gregballot, t'as besoin du BFS pour aller aux Pellets que tu veux atteindre. L'algo du referee n'est pas assez fiable pour ca

Razielwar: ça fait vite bcp de moves!

Vry: b0n5a1 : on ne se moque pas du code wood2 :p

dwarfie: bon , je peut aller dormir tranquille , j'ai failli finir devant boulet :p

VincentBab: oui en plus avec le SPEED tu as 13 moves possibles max xD

**Stilgart content d'avoir une vraie team

Stilgart: (je crois que c'est limité à 9)

**dwarfie va regarder l'episode 524 ... juste histoire d'entendre dire tortue ;)

Stilgart: héhé

dwarfie: automaton2000 ... tu nous cites luffy s'il te plait ?

Automaton2000: en fait sur le site de cg

b0n5a1: bon je vais en rester là pour aujourd'hui

gregballot: Ah bah apres BigUP, je suis deja en train de faire du case par case, ca a aucun interet sinon de faire le BFS

Stilgart: mais en fait c'est le 523, vers ~10 min.

gregballot: Mais je recalcule le truc a chaque tour, et ca fait un peu de la merde

gregballot: Comment vous faites pour repondre au message de quelqu'un pour qu'il se highlight ?

b0n5a1: tu tape juste son nick gregballot

gregballot: ah habile, du coup ca a du marcher

gregballot: merci :)

dwarfie: oh putain j(avais vraiment oublié la tronche du frankie

Stilgart: ha non, c'est bien le 524...

Stilgart: j'en regarde tellement en ce moment, j'arrive plus à retenir les numéros

dwarfie: 9min23 .... :D

Stilgart: Automaton2000: il dit quoi luffy à 9:23 dans l'épisode 524 ?

Automaton2000: bah tu peux essayer de mettre des murs sur les bords de la map

Stilgart: Automaton2000: t'as vraiment rien suivi encore...

Automaton2000: y'a une différence entre les deux ?

dwarfie: Automaton2000 : une tortue ? non c'est trop petit

Automaton2000: bref je vais faire le test

dwarfie: ah ah ah et brooke qui se fait piquer sa replique , j'avais oublié ca :rofl:

Stilgart: je suis sûr que même AutomatonNN le savait

AutomatonNN: ou alors tu vas te déclarer de ton code ?

Stilgart: AutomatonNN: hum, je veux bien plus de détails là

AutomatonNN: oui j'ai pas compris comment tu fais

**Stilgart aussi se fait piquer ses répliques

poloch0n: Question con : vu que le code source est accessible, on peut reprendre les classes "model" proposé ainsi que leur as*?

egaetan: oui

poloch0n: ty

egaetan: mais tu y perdras sans doute plus de temps qu'à le réécrire à ta sauce

leojean890: yes je passe de #105 à #74 en prenant en compte le type de l'adv

egaetan: tu le manges ou tu le fuis ?

leojean890: je le mange :P

leojean890: je fais convert si j'ai pas le type qui le bouffe et distance bfs < 3

Razielwar: ah bah non arretez de faire ça car moi ils se font tous bouffer les miens avec ma super stratégie SPEED :p

leojean890: et pouvoir

poloch0n: Les gens, vas il y avoir de nouvelle règle ???

egaetan: non

gregballot: je me posais la meme question

poloch0n: en lisant le code source, j'vois la notion de "cherry"

Razielwar: non en bronze tu as toutes les règles

leojean890: et ensuite si distance < 3 je poursuis si les types collent et sinon je fuis si je me fais bouffer

gregballot: les autres ligues serviront juste a decanter la ligue bronze ?

Razielwar: cherry c'est les 10 pts

poloch0n: oki

poloch0n: ty

Razielwar: les autres ligues servent juste à soulager les serveurs lors de submits et à offrir un peu de challenge aussi car ça fait toujours plaisir de passer dans la ligue du dessus

Default avatar.png ologrod: cette commande n'est pas correct : SWITCH 0 PAPER

leojean890: surtout vu le bordel de la bronze :P

Razielwar: clair ya 1milliard de monde!

leojean890: c'est un peu abusay

Default avatar.png ologrod: desole de vous deranger, pourriez vous me debloquer please

Alshock: en vrai ça vaaa

Alshock: ologrod éclaire notre lanterne

Razielwar: ologrod soit ton pac est déjà mort soit il est deja PAPER

Default avatar.png ologrod: c'est possible qu'il soit deja paper

Default avatar.png ologrod: merci je vais checker voir

Razielwar: le nombre de parties que je perds en me faisant cramer tous mes pacs :)

leojean890: Razielwar mon code précédent c'était la même

leojean890: jpense que mon axe d'amélio principal now c'est le farm car parfois il est limite

leojean890: et il va pas chercher les 10 en prio quand il les repère

Razielwar: moi faut que je me lance dans la simu mais j'ai pas encore la motivation

leojean890: j'ai une simu depth 2 mais bon celle de l'ennemi est carrément pas top

Razielwar: la j'ai un truc tout con qui va chercher les 10 puis les 1. je viens juste de debrancher mon manhattan contre un distance bfs pour qu'ils soient un peu moins débiles

leojean890: important ça ouais :p

leojean890: moi il prend un 10 en prio si j'ai 1 et 10 collés

leojean890: mais il prend le plus proche sinon

leojean890: jdevrais changer ça

Razielwar: et encore j'ai juste précalculé toutes les distances sans me préoccuper des autres pour le moment. je le ferai après. et le seul truc qui est pas mal c'est ma mise à jour des expectedPellets en fonction de ma ligne de vue

Default avatar.png ologrod: non c'est pas a cause de mon pac est bien vivant, le probeleme doit venir de commande. la voici : MOVE 0 0 11|SWICHT 1 SCISSORS|MOVE 2 8 5

gregballot: SWICHT -> SWITCH

gregballot: la tres tres bonne et tres classique faute de frappe

leojean890: ouais voir où aller si on en voit pas surtout !

Default avatar.png ologrod: aah merde

Default avatar.png ologrod: bien vu

Razielwar: moi j'ai pas encore calculé mon chemin, j'utilise toujours le a* du referee en fournissant ma destination. je le virefai après

gregballot: toujours copy paste l'énoncé :D

Default avatar.png ologrod: la honte:sweat:

gregballot: haha ca arrive

Alshock: ya pas de honte à avoir

Default avatar.png ologrod: merci du conseil

leojean890: ça arrive à tlm ologrod

Alshock: dernie rchallenge j'ai foutu une virugle entre les arguments

Alshock: je devenais fou

Razielwar: non non moi mon code compile et marche toujours du premier coup :p

Alshock: Evidemment, tester c'est douter

gregballot: haha la base

leojean890: moi j'inverse régulièrement des x et y..

gregballot: moi le one shot BFS j'etais pas pret

Alshock: @leojean890 avec un peu de chance tu inverse deux fois et au final le compte y est

leojean890: dans OOC je me suis trimballé genre 1 semaine un if (y,x) dans islands

Alshock: inverses*

Razielwar: lol j'ai gagné aucune place entre bfs et manhattan ^^

leojean890: if (y,x) in islands au lieu de (x,y)

gregballot: moi pareil pas grand chose, mais la base posée donne beaucoup plus de possibilités d'amelioration

leojean890: Razielwar what ? manhattan ça lose vu les terrains, c bizarre

b0n5a1: ça change que dalle Razielwar si t'as un truc super basique, ça m'a fait le même coup ^^

leojean890: Alshock mdr j'avoue :P

Razielwar: leojean890 oui clair j'avais des pacs qui faisaient des aller retour tout le temps là ils ne le font plus mais pas de changement au classement

Razielwar: oui c'est tellement naze ma strategie c normal pour le moment

Razielwar: demain je finis la simu des collision + un bfs qui me fournira les paths et je pourrai commencer à réfléchir à ma stratégie. genre arreter de me faire bouffer ^^

Alshock: Je... ça y est les gars j'y suis ! Je sais plus ce que je branle avec mon IA de mort !

Alshock: (les filles aussi, pas de sexisme par ici !)

Alshock: pas vrai Automaton2000 ?

Automaton2000: une fois il y a beaucoup de cas

leojean890: Razielwar j'avoue les allers retours avec ma simu.. je les ai gardés jusqu'à 19h:P à cause de seuils en dur sur des distances dans une éval pour prise en compte de variables (à éviter...)

Alshock: dites, quand vous faites vos BFS, vous leur dites à l'avance où s'arrêter ou vous estimez votre marge selon le temps écoulé ?

Snef: bfs au premier tour sur toutes les cases donc pas d'autres bfs par la suite

Alshock: Snef ah oui non, je parlais des moves possibles

Alshock: d'ailleurs si tu le fais sur toutes les cases c'est plus un floodfill qu'un bfs même si c'est fondamentalement la même chose

Razielwar: allez bn

Snef: ah ok, je l'ai pas fait encore mais tu tu te limite à 1 déplacement ou 2 si t'es en spd j'imagine

Alshock: Bah l'idée c'est de voir plus loin pour te demander quel chemin te rapportera plus en moyenne

gregballot: Alshock vu que je decremente la profondeur sur le BFS, elle est fixée a l'avance, je la tire le plus haut que je peux tant que ca timeout pas, apres de toute facon la map est pas assez grande pour vraiment timeout sur ca j'ai l'impression

gregballot: En restant raisonnable, puis de toute maniere, on voit que les pellets dans le champs de vision, ca sert donc pas a grand chose de tirer de trop le truc

gregballot: (Ou pas ? :) )

Alshock: Aaaaah xD "regarde ce que ton trajet donne à 4 cases" et j'ai oublié de l'autoriser à faire demi-tour, alors quand un chemin fait moins de 4 cases il ne peut pas l'observer xD

Alshock: Je croyais avoir géré ça pourtnat

b0n5a1: gregballot bfs sur toute la grille pour une case ça prends max 20 microsecondes...tu vas pas timeout ...je plafonne à 0.1 ms de temps de réponse par tour avec 5 pacmans

leojean890: en python si je veux compute tous les bfs entre toutes les cases en 1 sec ça timeout :P

leojean890: mais du coup now je fais juste 1 bfs par pacman par tour et voil)à ça suffit

Snef: vive le python

leojean890: :p

Snef: tu switchera de langage plus tard ou pas leojean890 ?

leojean890: bah là j'ai pu de pbms de timeout du coup:P

leojean890: Snef je verrai si j'ai besoin

leojean890: dépend des idées d'évols

leojean890: et j'en ai pas tant que ça pour le moment sauf faire mon max pour optim mon farm

Relacks: J'ai une question, est-ce qu'il y a moyen de récupérer le seed d'une run ? Ou alors, comment configurer le random pour qu'il soit idempotent à chaque "rejouer" ?

Relacks: (Faire du random c'est pas beau, mais c'est mieux que de rien faire :poop:)

b0n5a1: vas dans options, tu peux changer le seed

b0n5a1: faut passer d'abord en settings mode expert pour y accéder

b0n5a1: Relacks : https://imgur.com/a/Ka58pjc

b0n5a1: ha ok je viens de piger...initialise ton générateur avec tout le temps la même seed fixe

Relacks: Ahha oui, mais c'est pas grave, j'me suis débrouillé autrement

b0n5a1: je t'ai mp

b0n5a1: bonne nuit

Relacks: Aufaite dans le pacman y a une règle que j'ai pas comprise, quand on active le SPEED sur un Pac, ça veut dire qu'on peut déplacer que le Pac qui est SPEED ?

Relacks: J'ai un message d'erreur bizarre disant ça mais dans les règles y a rien écrit

b0n5a1: (pas encore regardé cette règlen je fais que du move ^^)

b0n5a1: ha...tu vises peut être ensuite une case à un step de ton pacman au lieu de 2 quand il est en mode speed

Relacks: Non, en gros quand le speed est activé tu joues 2 tours

Relacks: Y a 2 rounds au lieu d'un

Relacks: Basé sur les inputs d'avant

Relacks: Bref en gros c'pas un message d'erreur c'est une information

Relacks: #panic

b0n5a1: hmmm à l'affichage y'a une arnaque comme ça oui, on le voit...mais on joue qu'un tour

b0n5a1: sur ce, bonne nuit ^^

Relacks: Tu joues qu'1 tour mais y a 2 rounds oui

Default avatar.png WalidHamat: cherche un bon coding game pour entretien technique svp langage java

Valbou: Bien le bonjour ! :)

Valbou: de Bonne heure et de bonne humeur ;)