Chat:Fr/2020-05-08
ggjulio: ah
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
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
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 ?
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
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
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
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 ^^'
Psio: Merci Thibaud et à l'équipe !
Merome: /usr/bin/stdbuf: Resource temporarily unavailable.
Merome: C'est ma faute ?
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=
Psio: de rien Valbou on le pense tous ! :D ^^
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:
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
VRx42: hellooo tt le monde! je viens de commencer
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
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
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...
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 ?
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
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
Boulet: Haashi: il semblerait qu'il y ai eu une tres grosse pub
Bob: normal dans le sens de problème connu
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 ?
MrBib: je comprenais pas pourquoi mes pac bougeaint pas
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
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
BenLvre: c'est souvent le plus simple qui s'en sort le mieux pour commencer ^^
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
BenLvre: t'es en quelle ligue ?
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
BenLvre: si dois avoir le même poids pour 2 pastilles, ils se retrouve à vouloir aller sur les deux surement
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
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
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
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 ?
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
Colios13: yep comme tout le monde ^^
YannDev: et donc toutes les pastilles ne seront pas remplies ?
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
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?
Crocmagnon: non
YannDev: Hm
YannDev: et on a plusieurs pac
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
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ù ! "
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: :')
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
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é
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 :/
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
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
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
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
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
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"
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
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é
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)
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
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 ???
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
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:
Colios13: ouais y a des cases plus comppiqué à voir que d'autre ^^
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
Colios13: Bob au début tu fait une liste de tout les pellet présent sur la map non?
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 ?
thoip: non, le cooldown reste à 0.
Bob: Colios13: au début toute ma map est en "peut-être, jamais vu"
Colios13: yep est comment tu détermine une case à vu
egaetan: sans doute quand il la voit
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
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
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 !
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
BenLvre: mais une fois SPEED j'ai une erreur dans les log qui bloque ma commande MOVE
thoip: ca te mets quoi comme message?
WhatTrickeryIsThis: ah, j'avais planqué de la bouffe dans les murs, le sale bug
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 ?
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 !
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
fixme: en speed on peut pas choisir la case intermédiaire ?
egaetan: ça ne change rien fixme
fixme: des fois mon algo veut manger une case et revenir direct en arrière
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
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
BenLvre: en mode speed on peut pas récupérer la pastille a coté de nous ?
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
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?
BenLvre: @thoip bizarre je lance la commande que quand le cooldown est à 0
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
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
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
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 ?
Sassayan: Mars lander - episode 1
leojean890: c pas forcément simple d'avoir une bonne perf Sassayan
leojean890: ah ok :p
Samsa: C'est pas math c'est physique
Sassayan: encore pire Samsa :neutral_face:
nicola: Sassayan, essaie d’autres puzzles.
Sassayan: ça me rassure merci, je me suis sentie con sur le coup
thoip: sassayan, finis tous les puzzles en facile avant.
nicola: Il me reste quelques puzzles faciles.
YannT: il est chelou celui là oui
Valbou: oups boulette @thoip
Sassayan: c'est pour ça que ça m'a laissé perplexe
nicola: Tente les puzzles faciles de la communauté.
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 ...
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
Sassayan: thoip, quelle est ta méthode si tu sais pas faire les calculs de base ?
timoru: Sassayan
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 ;)
Sassayan: @nicola je suis pas du tout matheuse justement haha
Valbou: avec une petite marge d'erreur genre à 38 le max
nicola: Ha OK.
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à.
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 ;)
Sassayan: merci je vais essayer
nicola: https://www.codingame.com/training/easy/self-driving-car-testing
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
Sassayan: sauf que j'ai jamais codé comme ça
nicola: Tu utilises quel langage ?
Sassayan: mon expérience se résume à faire des applis sur react et des blueprints sur ue4
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
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
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
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 !
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
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
thoip: oui et il faut faire attention les abilites ne sont plus actives
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
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
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
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*
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
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]
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
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
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é >_<
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
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
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
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
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é ;) )
Mastard: ya un truc que j'ai pas compris, il n'y a rien au dessus de bronze ?
Boulet: Mastard: pour le moment non
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
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
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
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 :'(
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
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
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
Stilgart: c'est la manière la plus simple de gérer la situation
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
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
Boulet: apres vous coder en quoi tout les deux ?
Maulkin: c#
Boulet: #flemmedefouillerleleaderboard
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
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
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
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 ?
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
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: ;-)
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
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: -_-
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
Mastard: perso je suis deja content de ma 300e place xD
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
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
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
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 ?
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
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
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.
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
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
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 ?
JBM: si b != 0, tu peux le faire
Snef: -1%30 me donne 0 et pas 29..
JBM: que ca donne le resultat que tu attends est un tout autre pb
YannDev: -1%29
Snef: -1 *
YannDev: ;)
YannDev: et tu auras 28
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
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
Mastard: ah oui j'essaye de bouger un pac mort, my bad
Gh0stm4chine: héhé j'ai eu la même cette aprem
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...
Mastard: Gh0stm4chine yes c'etait bien ca le probleme, merci !
Gh0stm4chine: @Mastard, avec plaisir :)
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
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 ...
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
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
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
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 :)
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à !
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?
ologrod: euh oui je suis tout au debut
YannDev: depuis longtemps ^^'
GhostDev: gg
YannDev: ty x)
ologrod: SPEED a la place de MOVE?
Mastard: oui, mais il faut que tu sois en ligue bronze pour avoir le speed, ca n'y est pas avant
Mastard: alors tu devrais l'avoir
ologrod: en output j'ai toujours la sortie basique MOVE id x y
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
ologrod: le tchat est en fonction de notre league ou je reve?
leojean890: ologrod non:P
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
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)
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
leojean890: ah ouais bonne question
leojean890: genre au niveau d'un passage
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 ?
jolindien: yo
BeardedCarnivore_43e1: première fois ici :) le concept est super !
jolindien: bienvenue BeardedCarnivore_43e1
BeardedCarnivore_43e1: mercii !! connaissez vous de bons jeux pour commencer ,
jolindien: Tron, coders strike back ...
jolindien: et plein d'autres
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
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 :)
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)
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...
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
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
Nelimee: Donc c'est probablement l'input qui met du temps à arriver comme Blaise le dit
Nelimee: Yes ok je vois, merci :)
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
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é ! ;)
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....
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: ^^
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
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
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
ologrod: c'est possible qu'il soit deja paper
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
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 !
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
gregballot: haha ca arrive
Alshock: ya pas de honte à avoir
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
WalidHamat: cherche un bon coding game pour entretien technique svp langage java
Valbou: Bien le bonjour ! :)
Valbou: de Bonne heure et de bonne humeur ;)