Chat:Fr/2020-05-15
AzBeen: J'ai pas touché à mon code Pac Man depis hier
AzBeen: j'ai gagné 600 places
AzBeen: wow
gregballot: Tu peux mesurer des timestamps Valkilaen
gregballot: Et interrompre des boucles selon ces timestamps
gregballot: Le fais pas a chaque tour par contre sinon ca va plus lourd que ton operation elle meme lol
YannDev: opmg
YannDev: 12ème silver
YannDev: on m'a poussé dans la nuit :o
YannDev: Merci à tous les pousseurs
YannDev: bon bah je vais pas resubmit je me laisse pousser
tblancbeyne: À partir de quand on peut se laisser pousser ?
YannDev: hier soir j'étais #90... :')
leojean890: YannDev j'avoue, bientôt gold !
tblancbeyne: Ok bah je vais laisser faire aussi :grin:
Vry: gg YannDev ...
Vry: Si j'ai le temps de bosser sur mon bot ujourd'hui ... j'essaie de te pousser ! :)
Vry: tblancbeyne : oui pour l'instant c'est mieux d'attendre ...
sgalasso: Salut, est-ce possible de choper le nombres de tours réels qui se sont écoulé depuis le début de la partie ?
Mazelcop: salut
Mazelcop: tu peux faire un compteur que tu incrémentes au début de ta main loop
sgalasso: Oui mais ça ne peut pas fonctionner sachant que j'entre dans la loop à des tours différents selon si tous les pacs sont boosted ou pas
BigUP: mince, il est haut le Boss Silver... je me disais avec quelques bon pousseur ca pourrait le faire, mais je suis loin !
BigUP: presque 3 points d'ecart
Mazelcop: un pac boosté prend deux frames, mais un seul tour. C'est les frames qui sont affichés dans le viewer
Mazelcop: et comme tu ne peux pas savoir si les pacs adverses sont boostés ou pas, tu ne peux pas devinés le nombre de frames
Mazelcop: *deviner
sgalasso: Mais par défaut 1 tour vaut 2 frames donc ?
Mazelcop: si tous les pacs sont "lents", un tour vaut une frame
sgalasso: Quelle horreur x) Ok merci bon je m'y remet !
Mazelcop: bon courage :)
sgalasso: il vas m'en falloir, légende c'est ce soir et le niveau commence à être intéressant !
Vry: Bouton jaune du matin ...
AzBeen: Le classement est complétement pété sur le coders strike back. Je battais pas l'IA, j'étais 8e, là je la bas je suis 6761e
AzBeen: je suis dans la même ligue pourtant
Yaeger: battre l'IA et les joueurs c'est très différent :/
AzBeen: Bah si je bas l'IA alors que j'y arrivais pas avant, c'est que mon code est plus efficace
Haashi: Non
AzBeen: what
AzBeen: et là je suis 1er
Haashi: Juste que ta stratégie fonctionne mieux contre la sienne
AzBeen: je comprend pas
Haashi: mais ca veut pas dire que ta stratégie est meilleur globalement
Yaeger: L'IA n'a pas le même comportement que les joueurs
Yaeger: la win/loss c'est une histoire de matching de stratégies des 2 bots qui s affrontent
Yaeger: donc si A bat B et B bat C, ça veut pas forcément dire que A bat C aussi
AzBeen: je sais mais je peux pas passer de 8e à 6760 en changeant deux lignes. En sachant qu'ensuite sans y retoucher je passe e
AzBeen: e
AzBeen: 1e*
Yaeger: il y a un peu de random aussi ^^
Haashi: Non mais Azbeen, le 6760 c'était le début de ton run
Haashi: faut attendre un certain temps avant que ca update
AzBeen: Ah ok je savais pas ^^'
Yaeger: oui quand tu resoumet tu commences toujours à la fin de ta ligue ^^
Fangel: en fait c'est plus compliqué que A bat B, la réalité c'est plutôt A bat B 70 % des matchs, B bat C 80 % des matchs, etc
BigUP: 2,5 du boss ... 16eme .... sur un gros malentendu ...
Yaeger: oui Fangel j'ai simplifié pour pas écrire une page non plus ^^
Fangel: En fait, on remarque même que certains bots sont meilleurs dans certaines situations. Le mien par example est très bon pour les matchs à 2 pacs chacun et relativement mauvais pour les matchs à 5 pacs.
YannDev: je suis redescendu #21
YannDev: je vais re submit je pense
Fangel: le jeu est effectivement très différent suivant le nombre de pacs. Pas seulement pour la gestion groupe/individu. Mais surtout parce qu'à beaucoup, il y a plus de rencontre, et plus vite une situation où on cherche les dernière pillules.
YannDev: ouais
YannDev: sur les combats à 2 pacs en général les bots qui attaquent gagnent
YannDev: oof mon run qui commence #600
Fangel: qu entends tu par "qui attaquent" ? Qui chassent ?
YannDev: oui
Haashi: logique, tu doubles ton output en tuant quelqu'un a 2 joueurs
Fangel: chasser marche très mal globalement je trouve... Sauf si tu coinces l autre dans un cul de sac
YannDev: bon j'aurai pê pas du re submit lol
YannDev: non
Fangel: mais quand tu chasses, le lapin ramasses toutes les pilules devant toi
YannDev: j'étais top 10 silver ce matin
ernestvw: oui j'ai vu, c'est pour ca que je demande
Fangel: arrête de re-submit, améliore ton code plutôt !
YannDev: Oui fangel mais en 2vs2 si tu tues un pac c'est mortel pour l'autre
Yaeger: j'étais monté jusqu'en argent hier en une aprem, mais là si je veux continuer à monter il faut que je reprenne tout mon code de 0 --' quand j'ai commencé hier je pensais pas le challenge aussi complexe x)
Fangel: oui mais chasser c est super dur parce que tu ne sais pas où il va tourner. Et a priori, il y a aucune raison de l attraper un jour.
ernestvw: surtout en chassant on gagne aucun point puisqu'on passe toujours sur une case vide, c'est ca le vrai probleme
Fangel: ernestvw +1
YannDev: je vais tenter le 0,9^d*value
Yaeger: chasser tu perds un tour à te transformer si besoin en plus, donc pas rentable je pense
Haashi: YannDev, ca suffit pas
Haashi: ;(
BigUP: Fangel, il faut tenter de mangre, mais ne pas insister si ca echoue
BigUP: manger
BigUP: Saud cas particulier... l'adversaire dans un cul de sac
BigUP: sauf
Fangel: BigUP, déjà il y a le risque que l autre puisse muter si tu le coinces dans un cul-de-sac. Pour moi, il faut juste se concentrer sur les pastilles !
BigUP: Fangel, ca se calcul ca
BigUP: Fangel sur une map 2vs2 si tu bouffe un Pac, c'est gagné
Haashi: je suis d'accord, full pastilles
Yaeger: oui mais le code devient inbuvable pour pas grand chose si tu veux coder la chasse efficacement je pense
Yaeger: @BigUp seulement si tu le fais dès le début
Yaeger: sinon j'ai déjà perdu des games en mangeant un pac dans le mid game ^^
BigUP: en fait, la chasse marchait bien contre le Top, mais en silver, c'est moins evident
BigUP: du coup mon IA galère parce que ma chasse à la pastille n'est pas optimale
Fangel: Oui Yaeger a raison, imagine tu coinces un pac dans un cul de sac très long (10 cases). Ben l autre prends 10 pastilles et toi 0, et tu perds 20 tours pour le manger.
Yaeger: sachant que le manger ne te rapporte pas de points directement
Yaeger: pas en silver en tout cas
Fangel: j ai réfléchi comment calculer la valeur d un pac.
Fangel: en gros on peut supposer que tous les pacs ramasseront autant de pastilles parmi celles qui restent
Fangel: donc s il reste 100 pastilles à 2v2, ça fait 25 par pac donc 50 par joueur
Yaeger: la supposition initial me semble déjà pas aussi simple
Yaeger: surtout en milieu/fin de partie
Fangel: si tu en manges 1, il reste 33 pastille par pac donc 66 pour toi
Fangel: on peut donc dire que la valeur du pac, est environ de 33 pastilles.
Fangel: ben en milieu/fin de partie, il reste moins de pastilles donc la valeur du pac diminue
Yaeger: je parlais du fait de partager équitablement les pastilles restantes entre les pacs en vie pour calculer leur valeur
BigUP: 15eme, 2 point sdu boss ... j'y crois
BigUP: 10eme, 1,7...
Zanbez: go, go, go BigUP
YannDev: #138...
YannDev: j'aurai jamais du re submit
YannDev: je te pousse bigup :)
BigUP: merci !! j'ai besoin de vous !
YannDev: j'ai tapé sur Clyde
Yaeger: bonne chance BigUpP !!
BigUP: mince cocohe est passé sans faire de match contre moi ! :( et il a à peine fait baisser le boss
BigUP: il reste Banamixer... je mise tout suis lui ! ;)
YannDev: t'as changé ton bot ou pas?
YannDev: moi j'ai repush comme un con alors que j'étais top10...
BigUP: YannDev, j'ai ressorti les codes que j'avais en stock, mais je ne sais plus exactement ceui que j'ai
BigUP: il est pas tres loin de mon tout dernier code
YannDev: ah
YannDev: c'est quoi ta strat magique ?
BigUP: juste j'ai passé la zone de marrais et je sais que mon IA peut tirer son epingle du jeux avec ceux qui ont le niveau pour la gold
BigUP: ca va etre une grosse partie de patience avec un resultat plus qu'incertain au bout
tblancbeyne: Personnellement, la patience a payé ;)
YannDev: je suis trop co
YannDev: j'aurai jamais du repush
YannDev: ...
YannDev: j'ai poussé Vry :D
BigUP: BananaMixer a l'air de galérer a remonter dans le Top 10
YannDev: :/
YannDev: idem pour moi
BigUP: il vient de passer le Top 200, c'est bon, on va peut-etre avoir quelques matchs
YannDev: bon je spam submit
YannDev: ça me fera pê remonter top10
BigUP: YannDev, déjà tu m'as gagné un match ...
YannDev: ah
YannDev: merde
YannDev: ...
YannDev: je voulais te pousser :(
BigUP: tu me bouffe un PAc au bout de 4 tours environs
BigUP: apres je t'en bouffe 2 au milieu et fin de match, mais c'est trop tard
BigUP: punaise, pourtant je te bouffe une superpac...
YannDev: :/
BigUP: ok, mon IA a bien déconné apres pour aller chercher de la pastillefraiche
BigUP: ok, tu trouve les pastilles restantes avant moi ... c'etait serré
BigUP: ha merde Ramzel qui me met 3 loose d'affilé ! ;(
OverFocus: Qui le fait en cpp ? j'aurais besoin de petits conseil je suis au début encore :/
YannDev: bon bah j'ai besoin d'une upgrade de mon code
ernestvw: tu veux des conseils sur quoi overfocus ?
moize: quelqu'un a power of thor ep 2 ?
moize: svp ?
YannDev: je veux bien ernest :p
moize: en C++
BigUP: oui en algo genetic :) (pour de vrai)
moize: en algo je veux bien
Gh0stm4chine: 30 en silver.. allez plus qu'un petit pas
BigUP: moize, le principe c'est de faire les exos soit meme sur codingame, sinon ca n' apas d'intéret
moize: bigup viens pv
Ulrahid: Bonjour, en java je timeout. J'ai des listes pour les pellet/superpellet et des listes pour les pacs, et à chaque tour je les vides puis les remplis avec les nouvelles inputs. Ca pourrait être ça le pb ?
domak: je ne pense pas
domak: c'est pas un clear() qui va te pénaliser
tblancbeyne: Normalement non
domak: en tout cas pas à ce point
OverFocus: comment vous estimez une distance en prenant en compte les murs ? parce que je fait une simple dist de coordonées, c'est pas terrible
domak: BFS
Yaeger: je suis arrivé jusqu'en silver sans faire de bfs, mais pour continuer pas le choix ^^
Dadouche: Hello ! on est limité en nombre de thread ? j'ai l'impression que mes traitements que je souhaite parrallelisés, ne le sont pas vraiment (en java)
Fangel: moi je fais un Floyd Warshall au début
domak: Dadouche oublie le multithreading sur codingame
domak: considère que tu n'en n'as qu'un
R4N4R4M4: Bonjour tout le monde
R4N4R4M4: Hello Dadouche, je me suis mis dans ton équipe, j'étais tout seul chez e.SNCF
YannDev: tortue à tous
domak: j'ai fait une R4N4R4M4rade
domak: j'ai pété toute mon IA
domak: mais elle décolle plus...
domak: n'est pas R4N4R4M4 qui veut
R4N4R4M4: Haha domak, bienvenu au club, c'est pas donné à tout le monde
domak: non... j'ai fait mon Bob au début du contest jusqu'à Gold
domak: mais ça suffisait pas alors j'ai décidé de tout réécrire...
YannDev: R4, le 0,9^d*value c'est une arnaque ou pas stp :')
YannDev: on m'a dit ça comme un troll hier mais ça a l'air de fonctionner
Dadouche: tu nous tires vers le haut ^^
domak: ça a pas l'air déconnant
R4N4R4M4: Quand l'IA monte haut et puis ne le fait plus, c'est que tu as des bonnes features, mais plein de bug. Avec du bol tu déclenches pas tes bugs et tu montes haut...
domak: par contre moi le d c'est plutôt l'age du capitaine
YannDev: ah
YannDev: c'est pour ça que j'étais top 10 silver ce matin
Haashi: c'est débile
YannDev: j'ai resubmit parce que j'avais la flemme d'attendre
Haashi: un submit je suis 150
Haashi: l'autre je suis 6
YannDev: Lol
YannDev: idem :')
YannDev: je retente un submit là
R4N4R4M4: YannDev, le 0.9 ^ dist c'est la formule de Neumann, la mienne est dist ^0.9 :D
YannDev: Et la formule de neumann fonctionne ?
domak: tu prends pas l'age?
YannDev: non
YannDev: value dépend de l'âge
R4N4R4M4: C'est le même principe, sauf qu'il faut la maximiser
Haashi: Vous faites du backtracking ?
YannDev: mais ça peut vraiment avoir un effet significatif ?
R4N4R4M4: J'ai l'âge aussi, mais impossible de résumer ma formule maintenant, c'est un sac de noeuds :D
Haashi: genre vous voyez un pac tour 2, vous voyez le meme pac tour 12, et vous mettez le chemin de sa pos tour 2 a sa pos tour 12 en cleanant les pellets ?
YannDev: moi je fais pas ça
YannDev: c'est trop hasardeux
Haashi: bah justement dans certains cas il y a qu'un seul chemin
YannDev: si jamais tu te trompes sur le chemin tu risques de rater plein de pellets
R4N4R4M4: Pour aller chercher 2 grosses pastilles avec 2 pacs, tu minimise la somme des distances ^ 0.9 et tu as l'affectation optimale
YannDev: okok je vois le truc
YannDev: je tenterai ça en dernier recours
Haashi: minimiser la somme des distances ans le coef ca revient au meme ?
R4N4R4M4: Je fais ça sur tous les jeux multi agents
YannDev: j'ai confiance en ma nouvelle idée lol
R4N4R4M4: Haashi si tu dois choisir entre 2, 4 ou 1, 5, ou 3, 3 la somme des distances ne suffit pas
R4N4R4M4: si tu mets les distances puissance P avec P < 1, tu choisiras 3, 3 et si P > 1 tu choisiras 5, 1
R4N4R4M4: Si tu as un PAC qui prend la pilule à 1 de distance et l'autre qui prend la pilule à 5 de distance, alors l'ennemi qui prend 3,3 a pris ses 2 pilules avant toi, il a 2 coups d'avance sur toi pour te prendre un pilule si les siennes et les tiennes sont à moins de 2 de distance :D
Haashi: ah pardon
Haashi: j'ai mal lu
Haashi: j'ai lu somme des distances, le tout ^0.9
Haashi: mais merci de l'explication
R4N4R4M4: de rien ;)
Ulrahid: vous utilisez quoi en java pour stocker les pellets, la grille de jeu, les pacs etc? des listes, des map, des int, des string.. ?
R4N4R4M4: Ulrahid tu peux ne pas stocker les pellets
R4N4R4M4: mais les cellules avec une valeur
RomanceDawn: j'ai une liste d'entier
RomanceDawn: chaque entier étant un position
RomanceDawn: e*
Ulrahid: par exemple 1203 pour x = 12 et y = 03 ?
thoip: https://www.codingame.com/replay/464323797 personne ne veut de la super pellette
RomanceDawn: non
RomanceDawn: par exemple
RomanceDawn: si la map fait 10 de hauteur et 5 de largeur
RomanceDawn: ca fait 10*5 = 50 case
RomanceDawn: ensuite tu numérote les des cases de 0 à 49
RomanceDawn: et avec des % et des/ tu peut repasser en x Y
RomanceDawn: (bon c'est mal expliquer mais l'idée est là )
Ulrahid: et ça économise du temps de faire ça ?
Ulrahid: par rapport à avoir deux entier int x int y
RomanceDawn: en gros oui
RomanceDawn: et c'est plus clair dans le code de se trimbaler un seul entier
RomanceDawn: entre les fonctions
thoip: il faut mieux stocker les pellettes dans une structure temporaire le temps de verifier que les cellules en visibilité des pacs ont une pastille ou non.
RomanceDawn: et y a moins de potentiels bug, comme par exemple confondre X et Y
Valro: yo, je vais poser une question chelou mais est-ce que vous avez l'impression que le jeu buggerai paau niveau de la detection de la SPEED ability ?
thoip: valro tu as deux compteurs celui d'abilité et celui de speed. tant que le cool down n'est pas à 0 tu ne peux pas lancer d'abilité.
R4N4R4M4: J'adore le defense switch :D https://prntscr.com/sharhj
R4N4R4M4: Avec la fuite de départ, c'est mieux :D https://prntscr.com/shax5s
R4N4R4M4: Bon, je crois que j'ai bien debuggé cette nuit, je pusherai ce soir...
Gh0stm4chine: c'est beau
R4N4R4M4: L'évaluation de fuite était pas évidente, mais c'est mieux qu'avant avec 4 critères (distance ennemi, valeur de case de fuite, evaluation de la meilleure pastille, flood de liberté) :D
R4N4R4M4: ah et le plus important, mémoriser la position de l'ennemi qui te poursuit... ha ha
R4N4R4M4: Allez, la partie complète en bonus, il faut que je traite le cas de l'enfermement en 23 : https://www.codingame.com/share-replay/464336681
R4N4R4M4: Ca sert à rien d'avoir une super éval de fuite, si tu t'es enfermé juste avant :D
YannDev: yes ma nouvelle idée c'était de la grosse merde
Gh0stm4chine: ah lala, je passe 6eme puis j'enchaine 6 défaites.. la lose :(
Gh0stm4chine: j'y croyais fort à la promotion
YannDev: idem pour moi ce mati
YannDev: :/
YannDev: Du coup ne tentez pas daller vers la plus grosse composante connexe de pellets
YannDev: ça ne fonctionne pas :')
YannDev: maintenant ça pourrait pê permettre de spread les pacs
Gh0stm4chine: :v:
Sissiimperatice: pareil #3 et maintenant 10 ..
Gh0stm4chine: 15 parties, #20
Gh0stm4chine: cette fois c'est la bonne jespère
Sissiimperatice: :thumbsup:
BigUP: Sissiimperatice, repush ... Mon IA aime bien la tienne ! ;)
Sissiimperatice: j'ai vu ça oui ^^ si je repush je me retrouve en #200
BigUP: arf ! ;) on a tous le meme probleme du passage des #200 en fait
thoip: tu as plus de 1 points d'écart avec le boss.
AzBeen: 'visible_Pac_Count' contient bien tout les pacs visibles par mes pacs au début du tour ?
AzBeen: merxi
AzBeen: merci*
Haashi: + les pacs morts
ernestvw: les pacs qui viennent de mourir ou les pacs morts depuis le debut ?
Haashi: depuis le début
thoip: depuis le début mais c'est à partir de silver
AzBeen: Ils meurent à partir de Bronze non ?
[CG]Maxime: Je viens de livrer une optimisation du leaderboard. Il devrait se mettre à jour plus rapidement maintenant.
BigUP: [CG]Maxime, excellente nouvelle
thoip: le run en silver est de combien?
BigUP: [CG]Maxime, t'as fais les tests avant de submit ?
BigUP: ;)
[CG]Maxime: tu veux dire, avant la prod ?
egaetan: cool [CG]Maxime, bravo
BigUP: [CG]Maxime, je te troll, tester c'est douter !
Neumann: ..
Sissiimperatice: ton IA n'aime pas la mienne gh0stm4chine
BigUP: ca donnerait presque envie de resubmit ... mais non ;)
QzL: Hello [CG]Maxime, serail-il possible d'avoir une option brouillard de guerre sur la carte ? :D
Neumann: C'est un peu tard pour ça :D
[CG]Maxime: j'ai malheureusement d'autres projets sur lesquels je dois travailler :)
BigUP: Effectivement, un petit voile sur la Map aurait été le bienvenue
[CG]Maxime: c'est opensource les gars
Neumann: Et les filles
QzL: :)
[CG]Maxime: et les filles
BigUP: tin zettes 3 en cours de submit dans le top 20 et je choppe pas un match !
QzL: En effet, faudrait créer une issue pour voir si du monde est motivé :)
Vry: lol 198 / 891 touchez plus à rien ! :p
Gh0stm4chine: ahh je termine 6eme :(
Gh0stm4chine: la double défaite contre Maxime qui enfonce
thoip: pas de chance j'a fini 15 eme. C'est surtout qu'il en a trop qui perde face au bosse.
Gh0stm4chine: 4 défaites d'aff contre Maxime :'( dur
[CG]Maxime: je voulais juste voir si c'était plus rapide le submit :D
BigUP: finalement j'ai bien fait de ne pas avoir de match ! :)
Alshock: C'est moi qu isuis down ou cplusplus.com ?
P.Greze: toi
Alshock: Ah bah ça a l'air d'être moi
Gh0stm4chine: [CG]Maxime tu veux pas passer en gold ? mon ia te kiffe pas du tout haha
thoip: tu y etais presque ghost tu es passé premier 5 secondes
Gh0stm4chine: ouais j'ai vu en live :(
Vry: Gh0stm4chine, tu passeras de toute façon !
[CG]Maxime: Gh0stm4chine submit plusieurs fois pour me pousser au dessus du boss ;)
[CG]Maxime: ah mais ça va, t'es 1er
Alshock: ah tiens les messages sont partis 10 minutes plus tard xD
thoip: je passe gold je pense j'en suis à la moitié de mon run
YannDev: je suis repassé #90 :/
Sissiimperatice: vous me donnez envie de repush ^^
YannDev: ne fais pas ça si tu es bien classé
YannDev: j'étais #10 ce matin..
thoip: repush tu as trop d'écart là pour passer.
Gh0stm4chine: coucou thoip
Sissiimperatice: #12
[CG]Maxime: vous allez me laisser là ?
thoip: yes passé devant le boss :)
YannDev: ggwp
YannDev: t'as fais ce que j'ai suggéré hier ?
YannDev: pour améliorer ton système
BigUP: ou la ! le Boss prend chère !
BigUP: A 3 dessus ! :) punaise et je ne choppe aucun match ...
Gh0stm4chine: il suffit de passer une fois devant le boss ou c'est quand c'est stable que ca compte ?
Gh0stm4chine: ah le boss nous défonce là
BigUP: Gh0stm4chine, quand c'est stable, passer devant, ca ne compte pas
thoip: je bats le boss 2 fois sur 3 là
BigUP: thoip, tu peux resubmit avant la fin ?
Gh0stm4chine: le niveau de stess là.. 91%
domak: je crois que ça dépend si on te pousse ou pas. Si t'es dans le run faut être stable au dessus
BigUP: plusieurs fois, enfin jusqu'a ce qu'il passe derriere moi ? :)
thoip: il a pris severe la le boss
domak: mais je crois que si tu fais baisser le boss et que quelqu'un passe dessus hors run, il est qualifié
BigUP: Gh0stm4chine, plus de 0,5 au dessus, si c'est pas ce run, ce sera celui d'apres
Gh0stm4chine: yes, ça passe ! :D
[CG]Maxime: gg
Sissiimperatice: gg
domak: gg
[CG]Maxime: merci les gars, vous me laissez à 0.4 sous le boss :D
domak: cool
Stilgart: [CG]Maxime: hacke le système, ça ira plus vite ;)
Alshock: Ah bah attendez je code de la merde et j'arrive alors
Gh0stm4chine: gg thoip, merci ! :)
Gh0stm4chine: très satisfait de mon premier contest de ce genre :) objectif atteint :D
AzBeen: Cette erreur sur une liste c'est possible ?? TypeError: 'str' object does not support item assignment
towzeur: x = "abc" et x[1]='d'
YannDev: bon je vais péter un câble
YannDev: #70
YannDev: ...
AzBeen: Ah c'est bon j'ai compris. Les lignes de la map sont en longue chaine de caractère, et pas en liste ^^"
BigUP: YannDev, faut trouver un truc qui fait que tu vas passer le marais sans probleme... mais j'ai pas trop d'idée
YannDev: ouais :/
YannDev: mon ia se démerde bien contre des niveaux gold
YannDev: mais là c'est les embouteillages
YannDev: je perds des games à 5pellets près...
BigUP: YannDev, pareille, en emem temps, si j'ai bien compris, on a des algos assez similaires
YannDev: oui
YannDev: le point fort de mon algo c'est l'assignement des cibles
YannDev: mais le point faible c'est que je passe trop de temps dans des couloirs vides
BlaiseEbuth: Yo tout l'monde ! Automaton2000, AutomatonNN !
Automaton2000: je pense pas que c'est pas facile à faire
AutomatonNN: ben tu peux pas le dire
YannDev: AutomatonNN et Automaton2000 vous auriez pas une idée svp ?
Automaton2000: oui, c'est ce qui se passe
AutomatonNN: on est pas content de mon cote de la batterie de la chaine de caractere
YannDev: ..
Alshock: ouais pareil !
Alshock: à bas la chaîne, remontons la pile !
YannDev: waw
Alshock: j'espère que t'en prends de la graine YannDev
YannDev: bien sûr
Alshock: c'est pas du conseil à deux ronds que tu trouverais dans une boîte de conseil, ça c'est du conseil de gars sûrs
YannDev: Automaton2000 et AutomatonNN vous feriez quoi pour être meilleurs en endgame svp ?
Automaton2000: c'est quoi la différence entre les deux
YannDev: ...
AutomatonNN: ok c'est pas trop compliqué de faire un truc de toute façon je suis pas sur que tu parles de ça :)
YannDev: Automaton2000 La différence c'est que je suis bon en early game et je lead souvent mais en endgame je me fais défoncer
Automaton2000: moi j'y crois pas trop
YannDev: Automaton2000 les replays y croient
Automaton2000: de toute façon je pense que c'est le seul multi où je suis en train de nous dire que tu ...
YannDev: Automaton2000 tu sers à rien
Automaton2000: t'as un problème avec le code en python
YannDev: oui
ernestvw: yann fait l'astuce des couloirs dont on a parle
YannDev: c'est quoi l'astuce des couloirs ?
YannDev: ouaip
Haashi: c'est un mur le bot silver
YannDev: :/
YannDev: c'est la ligue le mur :')
YannDev: Oh gg Haashi
YannDev: t'es devant le bot !!
Vry: lol Pourtant je le bats régulièrement même si je reste mid silver sur un bon submit
YannDev: merde t'es re dessous
Haashi: OH
Haashi: j'y croyais plus
YannDev: J'ai le seum pour toi
Haashi: mais non
YannDev: tu étais vraiment devant pendant 2secondes
YannDev: et là t'es retombé 2ème
Haashi: je suis a 91%
YannDev: 0,4 du boss
YannDev: on va tous te pousser :D
Haashi: attend je suis a 4 victoire d'affilées la
towzeur: Haashi tu vois ou le winrate ?
Vry: Tu passeras Haashi, gg !
YannDev: Allez Haashi
Haashi: non c'est pas mon winrate, c'est avant mon run
YannDev: 0,8
YannDev: 0,08
YannDev: OUI
Haashi: je viens de battre le bos
YannDev: TU ES DEVANT
Haashi: OUI
Haashi: GO
YannDev: GG
Haashi: niec
YannDev: GGG
Vry: Et en plus tu es passé en mode flash ...
Haashi: enfaite j'ai jsute ajouté la prise en compte de l'adversaire pour pas foncé dessus
YannDev: ...
YannDev: j'avais ça depuis longtemps xD
Vry: +1 :p
Haashi: bah pas moi
Haashi: c'était pellet la plus proche
Haashi: quoi qu'il en coute
YannDev: mais ton ia c'est un monstre
Vry: Faut regarder du côté des impasses pour moi ...
Haashi: et je supposais qu'il allait faire demi tour
YannDev: Mais comment tu faisais des top6
YannDev: t'as une formule chelou toi :')
Haashi: j'ai pas de formule
Haashi: j'ai repoussé mon code de samedi matin
YannDev: ah x
YannDev: D
YannDev: moi j'ai repoussé le code de dimanche
Vry: Ah ouais quand même ...
Haashi: en ajoutant juste un if distance(pos, ennemi) <= 2, then dont go
dwarfie: moi j'ai bricoler comme un sal les impasse et surtout pensé que 'si je vois plus les grosses gum , c'est qu'elles sont plus la' :) ... 100 place des mieux hier
YannDev: ça aussi je l'ai fait
YannDev: mais j'ai pas fait les impasses
Alshock: les enfants, vous préconisez plutôt le DFS sur les moves prometteurs ou le BFS pour opti à courte distance ?
YannDev: je dirai dfs
YannDev: ça explore toutes les possibilités
Alshock: je qsuis toujours pas décidé là dessus
Dadouche: j'ai fait un DFS jusque la et la je tente en BFS
Vry: dfs ... mais avec un depth max sinon c'est mouru
dwarfie: moi , c'est B F F S
Dadouche: tu arrives à faire cb de depth max ?
YannDev: avant j'avais un dfs je passais avec 15depth
Haashi: en vrai je comprend pas trop la dfs comment faire pour bien gérer l'état du noeud pour savoir si la pellet a été ramassé ou non
Dadouche: pas mal.. je depasse pas 10..
YannDev: Bah après ça dépend du reste du code
YannDev: moi j'ai abandonné le dfs
YannDev: ça faisait le yoyo..
ernestvw: mais pourquoi pas un BFS de profondeur max ?
YannDev: Un bfs c'est un plus court chemin only
YannDev: parfois t'as un chemin plus long et plus rentable
ernestvw: mais tu peux presque toujours le couper en 2, non ?
ernestvw: en deux plus courts chemins
YannDev: ouais peut être
ernestvw: ca garantit pas que tu auras le chemin optimal
ernestvw: mais la proba de pas le trouver est faible
R4N4R4M4: J'aurais besoin d'un rn pour régler mes magic numbers....
Vry: 42
R4N4R4M4: Bonne idée Vry
Vry: C'est mon âge ... :p
WhatTrickeryIsThis: c'est plustôt jeune pour un dino
YannDev: x)
Alshock: WhatTrickeryIsThis oh tu sais tous les pigeons ne vivent pas jusqu'à 42 ans
WhatTrickeryIsThis: :thinking:
YannDev: les pigeons descendent des dinosaures
YannDev: c'est bien connu
YannDev: tout comme les tortues descendent des requins baleines
Alshock: ils n'en descendent pas, ils en sont
WhatTrickeryIsThis: faut reconnaître qu'ils sont tenaces
YannDev: j'ai l'impression qu'avec le confinement les pigeons ont perdu leurs réflexes
YannDev: J'ai failli marcher sur un pigeon
WhatTrickeryIsThis: avec les tortues, ça doit être les seuls dinos qui existent encore
YannDev: et il a pas bougé
Alshock: les pigeons je sais pas mais moi clairement, je suis tellement en manque affectif que le gros pigeon bien gras qu'a fait son nid en face de ma fenêtre depuis 15j je commence à le trouver mignon :P
WhatTrickeryIsThis: à l'époque des dinos, les pigeons faisaient bien 3-4m de haut
WhatTrickeryIsThis: mais les humains leur ont donné de la mal bouffe et ils sont tombés malade
Alshock: je te raconte pas l'état des façades
WhatTrickeryIsThis: y à une theorie sur la disparition des dinos à cause des bombardements incessants des pigeons
WhatTrickeryIsThis: les tortues y auraient suvecu grâce à leur protection naturelle
Alshock: je rappelle que les pigeons sont des dinos
Magus: vendredi 15h36 je fais un test en live sur une prod
Magus: tout va bien
Alshock: donc c'est du niveau de pearl harbor ta théorie
Alshock: Magus: il faut savoir s'amuser dans la vie
Magus: j'ai un client en chine s'il le regarde à ce moment la, il a un scanner qui fait des choses bizarres :D
Magus: enfin chez eux il fait nuit
Magus: doit pas y avoir grand chose dans l'usine
Alshock: ah parce qu'elle ferme la nuit leur usine ? Bande de faibles ! :P
Magus: ça dépend des clients
domak: [CG]Thibaud gg pour la gold et merci pour le LB ça remarche comme avant
Alshock: le LB ?
Magus: en chine on a pas mal de clients qui ferment pas la nuit, ils ont une équipe jour et une équipe nuit
Haashi: pas de rerun en gold on est d'accord ?
Alshock: on fait des Loser Brackets ?
domak: leader board
WhatTrickeryIsThis: qu'est ce que ta foyoté domak? skoi le LB
Alshock: ah
Magus: parce qu'en chine le travail de nuit ... bon bah voila quoi :D
WhatTrickeryIsThis: ho
BigUP: les chinois, c'est plus ce que c'etait... obligé de faire fabriquer ailleurs !
Alshock: @Magus on a les 3-8, ils ont les 2-12
YannDev: bigup t'es passé gold ?
Fksg: la lecture du code est prise en compte dans le temps de calcul ?
Alshock: du code, tu veux dire la lecture de l'input? La compilation ?
Alshock: le referee ?
Alshock: ton temps de calcul commence à partir du moment où le referee t'envoie la première ligne sur stdin. Le temps de calcul se termine quan il reçoit quelque chose sur stdout, son temps de calcul à lui n'intervient pas là-dedans (normalement il est même frozen pendant ton tour pour pas risquer de te bouffer du CPU)
Alshock: Est-ce qu'on peut transformer sans crainte une base class en dérivée quand la dérivée ne fait qu'overload des méthodes ?
Alshock: oui je sais, c'est crade, mais est-ce que c'est risqué ?
Fksg: en python par exemple, la lecture d'une ligne est prise en compte j'imagine
BlaiseEbuth: Interprrèteeee ? Interprètee !? Couillère !
Alshock: la lecture d'une ligne, par l'interpréteur ?
Alshock: ah bah ça oui bien sûr
Alshock: ça fait partie intégrante de l'éxecution de ton code
AzBeen: pour éviter de croiser un adversaire, j'ai 'scanné' les cases autour pour dire si un adversaire y est (de vue).
AzBeen: for x in environ:
if x[0]=='X': test=True
BlaiseEbuth: Alshock fix ta question
AzBeen: ceci devrait passer à la prochaine pastille non ?
AzBeen: fail le code*
AzBeen: for x in environ: http://chat.codingame.com/pastebin/4d29fbff-fe9a-40fd-b7c0-dbe021da26b4
Alshock: @BlaiseEbuth j'ai déjà fix ma connerie, ça fait beaucoup pour aujourd'hui
Alshock: (tiens un nouveau bug de mon cerveau)
AzBeen: fail encore pour l'indentation: http://chat.codingame.com/pastebin/255c3940-11d9-40ca-8883-76aedeb809a9
dwarfie: ah , y'avait longtemps ... hier en fait ...
Alshock: test = any(x[0]=='X' for x in environ) @AzBeen
Alshock: je sais pas ce que sont tes 'X' et consors, mais ça fait la même chose que ton code en plus "pythonic" (à moins que j'ai bugué quelque chose évidemment)
AzBeen: en fait 'environ' contient les informations que j'ai sur les cases autour de la pastille cible
BlaiseEbuth: AzBeen on connait pas ton code nous... On sait pas à quoi correspondent tes varibales ou même leur type...
AzBeen: 'X' correspond à un pac adverse
AzBeen: je teste si autour de la case il y a un pac adverse, pour cette parti là je pense être bon
AzBeen: for j in range(1,pastillesVisibles): http://chat.codingame.com/pastebin/da38688d-408e-4b19-91d4-bf73535bbbbb
AzBeen: en théorie, si le test est True, je passe à la pastille suivante ?
Alshock: bah la raison pour laquelle je t'ai proposé le any c'est que je comprends pas ce que font tes continue
Alshock: aaaah je viens de comprendre
Alshock: ok continue c'est pas ça
Alshock: une boucle for itère sur tous ses éléments de base, sans que tu fasse rien
Alshock: continue çça veut dire "passe tout de suite à l'élément suivant, en ignorant le reste du code pour l'élément en cours"
AzBeen: Oui en fait je veux passer à la prochaine pastille donc changer de valeur pour j
Alshock: genre for nombre in my_list:
if nombre == 0: continue # Fais des trucs
Alshock: ça change automatiquement de j quand tu arrive au bout du code dans le for
Alshock: le continue c'est pour ignorer un élément de la boucle, en gros
Alshock: là dans mon code au-dessus le code qui remplacera # fais des trucs sera appliqué sur tous les nombres, SAUF ceux qui valent 0
AzBeen: en fait je l'ai pas copié collé car je pensais inutile de vous encombrer avec mais il y a bien du code
AzBeen: genre
AzBeen: for j in range(1,pastillesVisibles): http://chat.codingame.com/pastebin/d541ddfa-b383-4806-a44b-33c2b15de045
WhatTrickeryIsThis: y à pas de continue en python
WhatTrickeryIsThis: si ?
WhatTrickeryIsThis: ah
WhatTrickeryIsThis: en fait y à pas de continue outerloop
WhatTrickeryIsThis: ni même qu'on peut pas modif des variables globales dans une fonction ou loop interne
Alshock: j'ai vérifié mais si si
Alshock: même si soyons honnêtes c'est pas un keyword qu'on aime bcp
Alshock: bon là j'écris dans le vent donc je le précise quand ça partira dans 10 minutes, ignorez ça
WhatTrickeryIsThis: outerlopp for i :
WhatTrickeryIsThis: loop for j
WhatTrickeryIsThis: if nope : continue outerloop
WhatTrickeryIsThis: ta pas en python
WhatTrickeryIsThis: xD
Alshock: AzBeen du coup ton code semble correct, tu veux tester les distances pour nouvellePastille seulement si elle n'est pas à côté d'un ennemi c'est ça ?
WhatTrickeryIsThis: y à des limitations de scope
AzBeen: Oui tout à fait
Alshock: bah, et ça marche ?
AzBeen: seulement ça ne semble pas marcher puisque mon pac se dispute avec un autre pac une pastille en face à face
Alshock: AzBeen t'as vérifié qu'il allait bien sur cette pastille, et pas sur une autre plus loin, mais qui passe par là ?
Alshock: si c'est effectivement un bug il va falloir que tu nous parles un peu de la fonction autour et de ces fameuses listes x qu'elle renvoie
Alshock: oh sinon au fait :
nouvellePastilleX,nouvellePastilleY, nouvellePastilleValeur = listePastilles[j]
En python a, b, c = [x, y, z] s'unpack automatiquement
AzBeen: oui j'ai vérifié il se bat pour la pastille en question
AzBeen: https://www.codingame.com/replay/464459936
AzBeen: dès les premieres frame
AzBeen: la pastille 15/7
AzBeen: Oh merci de l'info
R4N4R4M4: Hou la la, je pense que cette situation va pas être facile à debugger... :D https://prntscr.com/shee2z
WhatTrickeryIsThis: fait morph ciseaux
R4N4R4M4: Faut déjà que je trouve dans mon code où il prend la décision de reculer
R4N4R4M4: dans mes logs, il détecte pas la menace derrière, donc y a un bug
WhatTrickeryIsThis: même en ciseaux t'es foutu c'est terrible
YannDev: https://www.codingame.com/share-replay/464462874
YannDev: quelqu'un saurait pourquoi je perds là svp
YannDev: c'est un #700 le mec dont ce genre de loose ça me nique mon run :/
YannDev: (je me suis fait beaucoup bouffer mais je vois pas d'où ça peut venir :/)
WhatTrickeryIsThis: tu perds parceque t'as moins de pastilles
WhatTrickeryIsThis: cqfd
YannDev: Très intéressant :')
YannDev: je savais pas du tout
Haashi: YannDev
Haashi: sur tes 5 gugusses
R4N4R4M4: le premier pac que tu perds, c'est parce que tu n'as pas mémorisé la présence du mangeur
Haashi: y a 1 mec qui chase dans un couloir
Haashi: ca c'est ok
Haashi: pour le pac en haut a droite c'est dommage mais tu peux a priori l'estimer
YannDev: comment ça ?
WhatTrickeryIsThis: YannDev tu met pas bien à jour la map
Haashi: par contre les 3 autres, ils font demi tour alors qu'ils peuvent continuer
R4N4R4M4: Le 2ème pac tu t'enfermes mais je sais pas encore traiter ce cas
Haashi: et perdre 4-5 tour chacun
WhatTrickeryIsThis: ton cailloux en haut à gauche au debut il fait nimp pour rien
YannDev: ah oui il est très con
Haashi: ton pac id 3 il chope 2 pellets en 20 tour
Haashi: ouais voila
R4N4R4M4: Le 3ème pac t'y peux rien sauf si t'as un tracking parfait
YannDev: le pac id 3 c'est parce qu'il voit un ennemi
YannDev: du coup il a peur
WhatTrickeryIsThis: il serait moins con si il savait que les pastilles sont plus là, ou qu'un mechant papier y traine
YannDev: il sait que les pastilles sont plus là
YannDev: mais je propage toutes les positions possibles de l'ennemi
YannDev: du coup aucun chemin est valide
WhatTrickeryIsThis: qu'il ai peur c'est une chose, mais qu'il ait rien à manger c'est pire
YannDev: maintenant que j'y pense
YannDev: pourquoi il prend pas le tunnel
YannDev: ce con
WhatTrickeryIsThis: même sans simuler l'enemies tu savais très bien depuis 3-4 tours que y avait plus la bouffe à gauche
WhatTrickeryIsThis: frame 12 -> 18
YannDev: en fait le pac veut le super pellet
YannDev: mais il peut pa s l'avoir
QzL: Vous aussi vous ne disposez plus de la carte ?
YannDev: du coup il revient en arrière sur un autre pellet
WhatTrickeryIsThis: si tu vois plus l'enemy, essaye de considérer qu'il est dans le chemin sur place
YannDev: pendant combien de tours ?
YannDev: 1 ou 2 ?
WhatTrickeryIsThis: au moins ton bfs n'ira pas dedans
YannDev: 1 tour ?
WhatTrickeryIsThis: faut cut le chemin où il y plus la bouffe
YannDev: je vais à la pellet lap lus proche
WhatTrickeryIsThis: jusqu'à ce que tu revois le mechant papier
WhatTrickeryIsThis: en premiere approximation
YannDev: mais du coup concrètement je fix quoi ?
YannDev: je garde la pos de l'ennemi sur un tour
YannDev: et après ?
WhatTrickeryIsThis: bhen tu fixe l'etat de la map en debut de tour
YannDev: non mais l'état de la map je l'ai
WhatTrickeryIsThis: après ton bfs ne passera pas la dedans en principe
YannDev: je sais exactement où ya des pellets
WhatTrickeryIsThis: donc le chemin pour aller chercher le super pellet est incorrect
thoip: rajouter la presence de l'ennemie dessus.
YannDev: j'ai déjà ça
WhatTrickeryIsThis: oui voilà
YannDev: mais faudrait que je garde la position de l'ennemi sur un tour
YannDev: c'est ça ?
WhatTrickeryIsThis: debug
WhatTrickeryIsThis: tu verra
YannDev: non mais mon truc fonctionne
YannDev: je suis juste à cours d'idées
WhatTrickeryIsThis: ton bfs rentre dans le papier et dans des case où ça mange pas
YannDev: parce que je vois pas le papier
YannDev: je suis en speed
YannDev: le move était décidé avant que je tourne
thoip: le plus simple c'est de montre le nombre de round ou c'est apparu.
YannDev: mais là j'ai pas d'idées pour améliorer mon farm
Vry: Pfff ... rien que pour calculer les voisins je suis passer en mode debug unitaire ... ça promets ... :upside_down:
YannDev: x)
Vry: *impasses
YannDev: je comprendrai jamais pk vous chercher les impasses
YannDev: cherchez*
BigUP: des experts en ffmpeg ?
BigUP: YannDev, un ennemi dans une impasse est un ennemi mort
YannDev: tout ça pour ça :')
BigUP: c'est toujours ca de gagné ;)
YannDev: ouais
YannDev: je vais essayer ça en dernier recours...
BigUP: si c'etait le truc qui permet de traverser le marais .... chez moi ca n'aide pas trop
YannDev: :/
YannDev: il me reste un dernier espoir
YannDev: 0,9^d*value
YannDev: :')
R4N4R4M4: :thumbsup:
BigUP: YannDev, le -3vel doit marcher aussi ! ;)
YannDev: c'est quoi ça ?
Alshock: ce que Bob m'a fait aller coder sur CSB hier soir
R4N4R4M4: la formule magique pour CSB :D
Alshock: black magic
YannDev: pas pour pac :(
Alshock: Si tu mets ton pacman dans un pod tout peut s'arranger
leojean890: 319, bah dis donc elle va pas fort mon IA ;o
YannDev: rip
leojean890: elle s'est fait tabasser
R4N4R4M4: mixer Spring et CSB ça peut être cool
YannDev: en vrai j'aurai pu passer gold pendant le nuit
R4N4R4M4: avec une vue en 3D
YannDev: j'étais #12 en me réveillant
Vry: Moi c'est encore pire ... et en Silver en plus
YannDev: puis j'ai eu la fabuleuse idée de re submit
YannDev: et de passer #140
leojean890: 12eme tu peux espérer si t'es à moins de 2pts du boss
R4N4R4M4: Le legend va cut où à votre avis ? Je pense #40 ou #50 ?
YannDev: j'étais à 0,9 leo
YannDev: ...
leojean890: bah tu peux laisser
YannDev: bah j'ai resubmit
YannDev: x)
leojean890: si ça se reproduit
YannDev: oui ok
BigUP: YannDev, 0,9² on a dit !
Alshock: Euh, quelqu'un saurait me rappeler où est la FAQ où on a toutes les infos sur les langages ? Notamment la version de C++ utilisée ?
YannDev: En effet BigUp
leojean890: R4N4R4M4 OOC c'était #10
YannDev: faut qu'on sorte de ce marais de merde
YannDev: parce que là trop c'est trop :')
leojean890: et PAC mon IA est treees loin ;o
leojean890: R4N4R4M4 mais ce sera plus haut vu que plus de participants
BlaiseEbuth: https://www.codingame.com/faq
YannDev: j'ai pas pensé à acheter des bottes :/
R4N4R4M4: https://www.codingame.com/faq
R4N4R4M4: Dans le menu principal FAQ :D
BigUP: moi je suis toujour sa plus de 2 points du boss
BlaiseEbuth: Putain ça marche \o/ J'ai piffé l'url
BigUP: ca va etre long le passage en gold
YannDev: on va y arriver
YannDev: :')
R4N4R4M4: BlaiseEbuth tu exagères, je suis allé chercher dans le menu au moins moi :D
YannDev: faut juste trouver l'heuristique magique
thoip: pas en silver actuellement leo, le boss de silver monte sans arret en ce moment. trop d'adversaire perdent contre lui.
BlaiseEbuth: J'avais pas envie d'ouvrir un onglet
R4N4R4M4: faut faire une fonction win(game) et c'est bon
leojean890: thoip ah ouais chaud
Alshock: ah ouais c'est parce qu'on voit pas le menu dans l'éditeur
Alshock: je me disais bien qu'il manquait un trucs
BigUP: hum.. une fonction wingame()... j'y avais pas pensé !
R4N4R4M4: Faut sortir de l'éditeur et tu as le menu tout en haut à droite
R4N4R4M4: Les 3 petits points verticaux, puis FAQ
BlaiseEbuth: J'avais pas non plus envie de sortir de l'ide
Sissiimperatice: c'est nos 50 tests submit qui l'ont fait monté ...
Sissiimperatice: monter*
YannDev: Thoip il est passé gold avec de la magie noire
R4N4R4M4: Faut toujours une fenêtre CG ouverte en dehors de l'IDE, on sait jamais...
YannDev: il a compté les murs et pouf
BigUP: ca compte la magie noir !??
YannDev: oui
R4N4R4M4: mémoriser la racine de l'arbre :D
thoip: j'ai surtout optimisé pour avoir le max de victoires lors des 20 premiers combats.
BigUP: personne en ffmpeg pour m'aider a streamer une image en video sans que l'ouverture du flux prenne 30 secondes ?
BlaiseEbuth: fix ton flux
FDA44: est-ce que l'on voit aussi les pastilles dans l'alignement des ennemis ?
Alshock: dans l'alignement, tu veux dire derrière eux ?
Haashi: moi je suis passé a 0.02 :p
Alshock: si c'est ça oui
Haashi: apres je fini 245/400 derriere c'est un vrai mur le boss silver
R4N4R4M4: Allez, je vais faire des courses... et ça sera la surprise en revenant (chouette je suis toujours en Gold ! :D )
S1L3nCe: FDA44 que les pastilles que tes pacs voient et seuls les murs arrêtent la vision
BigUP: R4N4R4M4, excellent move !
YannDev: bon j'ai fix un premier truc
YannDev: on va voir si ça change quelque chose
Alshock: bon je vais me sortir les doigts
Alshock: on va voir si ça change quelque chose
YannDev: rip les 6 looses au début
FDA44: d'accord, ça veut dire que je vois les pastilles derrière un ennemi, si elles sont encore dans mon alignement,
S1L3nCe: yes
FDA44: mais je ne vois pas ce qui est dans l'alignement des ennemis, si ça n'est pas commun à mon alignement, right ?
S1L3nCe: Ouaip
Alshock: yep, seulement dans l'alignement de tes pacs
FDA44: Merci !
Alshock: si tu voyais ton pov et celui de l'adverasire l'intérêt du brouillard serait très limité
S1L3nCe: Et du coup faire attention aux lignes sans murs, faut détecter ^^
Alshock: +1
thoip: il y a des lignes sans murs?
Alshock: yep horizontalement
Alshock: une ligne qui fait le tour de la map avec un tunnel faut pas boucle infiniser dessus
S1L3nCe: Ça m'est arrivé justement
FDA44: ++
YannDev: vous avez quoi comme heuristique pour éviter d'avoir des pacs qui mangent du vide ?
S1L3nCe: Rien pour l'instant, je vais à la plus proche
S1L3nCe: Faudra changer pour passer gold ^^
YannDev: bah j'étais top10 silver ce matin en regardant la plus proche xD
Haashi: je vais a la plus proche aussi et je suis passé
YannDev: mais c'est quoi ta magie noire :(
sanpas83: assez chaud l'heuristique sur les vides sans spécialement connaitre les pallets manger par l'adversaire sinon il faut un peut de magie :!
YannDev: Là j'ai testé un n-ième truc qui a pas l'air ouf
Haashi: la magie noire qui m'a fait passer gold c'est d'"viter d'aller sur les cases a 2 de distances de l'adversaire (si je le vois)
YannDev: sérieusement ? :')
S1L3nCe: Ouais éviter de mourir c'est une bonne strat
YannDev: c'est du troll ça xD
sanpas83: sérieux en faisant une approche de fuite sa passe ?
Haashi: Bah non xD
YannDev: pff
YannDev: sanpa le croit pas
YannDev: ça passe pas pour moi
YannDev: :')
sanpas83: tout le monde est agressif ici :) :D
sanpas83: a mdr
sanpas83: merci
YannDev: son algo devait être suffisament bon
YannDev: et il lui manquait ça
RomanceDawn: c'est la compétition ! pas de pitié
YannDev: mais pour le coup faut que tu le fasses
RomanceDawn: à la fin du challenge y aura les PM
YannDev: après ça te fera pas passer gold x)
YannDev: moi je vais faire un PM "J'ai ragequit"
sanpas83: j'en suis loin du gold je suis partie sur un algo glouton et sa passe plu du tout faut tout refaire :D
YannDev: rip
thoip: moi je vais en priorité là ou il le plus d'intersection en début de partie.
YannDev: pendant toute la partie non ?.
YannDev: j'avais testé ton truc mais ça a pas bien marché :(
thoip: non je change mes objectifs suivant le scoring.
YannDev: ah
YannDev: malynx
Haashi: je peux vous faire un pseudo code si vous voulez
YannDev: ah mais j'ai un bug depuis le début
YannDev: dans ma fuite
thoip: après c'est de l'ajustement.
YannDev: j'oublie de prendre en compte mon speed/le speed de l'aversaire
YannDev: ...
sanpas83: a :! faut chercher un angle ou virage pour la fuite c'est top parfois l'adversaire il t’oublie du coup :D
YannDev: Bon je pense que je vais déjà gagner des places en fixant ça
thoip: moi c'est ce que je suis en train de retravailler là l'évitement. ma fuite est un peu brutale.
thoip: j'interdis completement la partie après l'adversaire.
YannDev: on est d'accord que si j'ai une distance n à parcourir et que je peux speed tout le long la distance c'est n//2 ?
Mazelcop: ceil(n/2) plutôt non ?
R1FA: si n est impair t'auras un pas a faire en plus non ?
YannDev: ah oui ceill merci
YannDev: parce que je viens de voir
YannDev: que depuis le début
YannDev: je calcule les distances sans prendre en compte le speed
YannDev: ...
YannDev: je sais pas si ça va changer grand chose
YannDev: mais bon
YannDev: on sait jamais
thoip: il y en a combien qui passeront en legendaire ce soir?
Mazelcop: entre 50 et 100 je dirais
YannDev: en c++ c'est float ou double les flottants svp ?
Alshock: le sdeux existent
Mazelcop: les deux, double c'est plus précis
YannDev: ok go pour ça
YannDev: ty
Alshock: mais généralement on prend des doubles sauf si on a nue bonne raison de préférer 32 bits
Alshock: enfin de préférer les float, comme tout ça épend de l'archi
YannDev: std::ceil ça renvoie un entier ?
YannDev: ou un double avec .0
VirtualAtom: c'est du type du paramètre donné en entrée
YannDev: ok merci bcp
VirtualAtom: t'embête peut-être pas avec std::ceil, fait (n + d - 1 ) / d
YannDev: hm
YannDev: je vais essayer merci :p
YannDev: ah bah j'ai cassé mon code avec ems distances pétées
S1L3nCe: Alshock C'est pas plus logique d'utiliser le float par défaut et le double que si il y a un besoin de précision ?
Vry: YannDev ... mon floodfill ne faisait pas ce que je pensais ... :upside_down:
WhatTrickeryIsThis: ok
Vry: ... Il est vraiment tout foireux mon bot ... pimpé
WhatTrickeryIsThis: bob
WhatTrickeryIsThis: bob c'est toi qui fait le boss d'accord?
YannDev: à boit
YannDev: Mon ia <=> l'ia de bob xD
Vry: lol j'ai laissé un exit() de debug ...
YannDev: ...
YannDev: bon bah j'ai l'impression que c'est mieux quand je prends pas en compte le speed dans mon calcul de distances...
leojean890: ça vous est déjà arrivé qu'un print dans stdout plante dans l'ide (ne soit pas pris en compte par le referee) ?
leojean890: je "timeout' alors que j'entoure mon print par 2 dans stderr
leojean890: et que les 2 sont bien affichés
YannDev: oui ça m'est arrivé
YannDev: ^^"
leojean890: t'as fait quoi ?
YannDev: je sais pas
leojean890: pour régler ça ?
leojean890: j'ai bien essayé flush=True
YannDev: ça a refonctionné après
leojean890: ah ouais chelou
YannDev: mais desfois ça fait de la merde quand tu timeout
YannDev: et que le print est dans le tiemout
YannDev: d'ailleurs tu prends en compte si tu as speed ou pas pour calculer les distances ?
leojean890: bah là je fais print("a", file=sys.stderr)
leojean890: print(resultat)
leojean890: print("b", file=sys.stderr)
YannDev: ah non moi je parlais des prints dans le cerr
YannDev: mais en output j'ai jamais eu de pb
leojean890: t'es en cpp ?
YannDev: pê que resultat est vide ? :')
YannDev: oui
leojean890: non pas vide
YannDev: bah franchement je sais pas
YannDev: essaie de print un truc hardcodé pour voir
leojean890: mais d'habitude ça marche, subitement ça marche plus
leojean890: sauf si je fais 2 print par tour
YannDev: ah bah je sais pas :/
YannDev: sry
leojean890: mais les 2 print par tour.. du coup mes pacs restent immobiles le tour suivant
leojean890: normal quoi
leojean890: print(s[:-1], file=sys.stdout, flush=True)
leojean890: même avec ça ça plante
YannDev: ah
YannDev: c'est chelou
YannDev: j'ai jamais eu de pb avec l'outputude cg en python
YannDev: output*
leojean890: moi non plus
YannDev: mais c'est le print qui timeout ? :')
YannDev: sans print tu timeout pas ?
BigUP: t'as du faire 1 print de trop a un moment (ou en moins) ?
YvanTCHOUDIE: Hello everyone
YannDev: :wave:
leojean890: BigUP non justement :s quand j'en mets un en trop là ça envoie bien les 2 et ça pourrit mes pacs du coup :s
leojean890: YannDev bah ça tileout car il reçoit pas mon print
leojean890: timeout
BigUP: leojean890, tu peux ajouter flush=True dans ton print
leojean890: je l'ai fait :s
BigUP: dans le doute
YannDev: Hm
BigUP: il n'y a pas de raison que ca déconne alors
YannDev: c'est chelou ça -_-
YannDev: t'as vraiment juste print Print qui timeout print
YannDev: ou ya des calculs ?
leojean890: print(s[:-1], file=sys.stderr, flush=True)
leojean890: print(("a", s[:-1]), file=sys.stdout, flush=True)
leojean890: euh pardon
leojean890: print(s[:-1], file=sys.stderr, flush=True)
YannDev: c'est print(("a", s[:-1]), file=sys.stdout, flush=True) qui bug ?
leojean890: print(s[:-1], file=sys.stdout, flush=True)
YannDev: okok
leojean890: dans stderr il s'affiche
leojean890: et la ligne suivante ça l'envoie au referee
YannDev: et si s est vide ?
YannDev: au pire
leojean890: et il fait comme si rien reçu
YannDev: essaies sans les slices
leojean890: 'MOVE 0 2 5 |MOVE 1 8 7 '
leojean890: et j'ai bien ça dans mon stderr
YannDev: essaies sans les slices
YannDev: print(machin, end=' | ')
leojean890: je vais tester
leojean890: mais ça marchait jusqu'à ajd
leojean890: c'est wtf
BigUP: perso je fais un print('|'.join(moves))
leojean890: et si t'affiches la même chose dans stderr puis direct stdout y'a pas de raison que le referee le reçoive pas si c'est bien affiché dans mons tderr
leojean890: stderr
leojean890: dans le slice ça plante aussi
leojean890: sans*
YannDev: ah
YannDev: ehmmmm
leojean890: bug CG ?
YannDev: surement
leojean890: ou bug de moi ?;)
YannDev: bah si t'as juste ce print..
YannDev: c'est chelou quand même
leojean890: j'ai qu'un print
leojean890: j'ai jamais modif cette partie du code
YannDev: non mais genre ça marche en cerr
leojean890: bah ouais
YannDev: c'est bizarre
leojean890: par contre si tu pritn 2 fois la même chose ça le prend en compte
leojean890: jsens que jvais créer un autre compte juste pour tester le code pour voir si le bug est associé à ma session
k4ng0u: vous savez a cb de personnes ils ouvrent la legende? j'espere que ca sera plus que le top 10...
YannDev: bien vu
leojean890: sibob autre possibilité, je timeout vraiment
leojean890: mais mon stderr s'affiche après les 100 ms
VirtualAtom: pour vérifier : on ne voit pas qu'une seule ligne dans la sortie d'un tour ? Si c'est le cas et que t'envoies deux lignes puis que tu timeout, tu ne verras toujours que la première ligne de stdin
YannDev: jsp leo
BigUP: leojean890, perso j'affiche un timer a chaque tour pour etre certain
YannDev: BigUP tu prends en compte le speed quand tu calcules tes distances ou pas ?
YannDev: parce que moi non
YannDev: mais quand je le prends en compte c'est pire
BigUP: leojean890, ca m'est arrive de pouvoir sortir le debug juste avant le print et le print s'est fait jeter en timeout
leojean890: YannDev moi non, je calcule 2 fois le tout
YannDev: càd ?
leojean890: quand j'ai speed
YannDev: comment ça deux fois :thinking:
leojean890: je fais 2 calculs de mouvement distincts
YannDev: Ah
BigUP: YannDev, non mais faudrait probablement
leojean890: mais je refactor tout ça en ce moment
YannDev: en gros tu fais le mouvement de un et le mouvement de deux
YannDev: Bah BigUP ça marche pas très bien de mon côté
leojean890: BigUP d'accord, donc c'est possible que je timeout mais qu'ils m'affichent quand même le stderr après les 100 ms
YannDev: oui c'est possible
k4ng0u: leojean890 t'as essaye de printer des timers a different endroit de ton code pour voir si tout est bon?
YannDev: j'ai fait une fonction qui étant donnée un nombre de tours et le temps de speed restant retourne le temps réel
leojean890: k4ng0u ouais je vais ajouter ça
YannDev: http://chat.codingame.com/pastebin/99722f64-6e9c-4d1e-b435-d8b7910868a3
YannDev: c'est très très moche
leojean890: k4ng0u aucune idée pour la légende ils donne t pas l'info en avance
BigUP: moi je suis monté a 66ms au max au timeout
YannDev: mais ça doit pas bien marcher
leojean890: k4ng0u on ne peut que pronostiquer, mon code na pas le level pour le moment
YannDev: moi j'ai pas le level pour gold :')
leojean890: BigUP oauis aprdon je voulais dire 50 ms
k4ng0u: leojean890 c'est un prono qui doit etre valable pour la majorite des gens en gold :P
leojean890: jvais timer pour vérifier
YannDev: wait quand speedTurnsleft = 0
YannDev: on peut encore speed
leojean890: k4ng0ubah souvent ils cut entre 10 et 20 :s
YannDev: genre si c'est le premier tour où il est = à 0
YannDev: je crois qu'on peut re speed
leojean890: speedTurnsleft = 0 on peut speed ?
Alshock: non
Alshock: c'est abilityCooldown ça
YannDev: ah ok
k4ng0u: tu peux speed des que cd=0
leojean890: j'avais vérifié dans des rep^mays
leojean890: j'arrête pas de speederavant les autres
leojean890: normalement
k4ng0u: mais tu peux faire 2 moves que si speedTurnLeft>0 il me semble
YannDev: >= non ?!
k4ng0u: bah le truc c'est que tous les tours suivant ca sera >=0 non? :p
YannDev: oui
YannDev: x)
WhatTrickeryIsThis: bob
WhatTrickeryIsThis: vasy à toi de jouer
dbdr: oh le joli bouton jaune...
dbdr: il fait quoi?
VilBoub: BigUp, tu utilises quoi pour mesurer le temps en Python ?
Spifflejedi: o/
WhatTrickeryIsThis: bob ce sera le boss gold
WhatTrickeryIsThis: il est volontaire
YannDev: x))
R4N4R4M4: retour des courses, juste à temps
Skrakout: @VilBoub import time et time.time() ça fait le boulot
leojean890: import time
Alshock: ils disent d'éviter
leojean890: end_time = time.process_time()
leojean890: VilBoub
jolindien: miam miam tout le monde
leojean890: ça marche ça
VilBoub: time.time c'est trop large comme calcul
leojean890: end_time - start_time > 0.45
Alshock: je croivais qu'il fallait plutôt utiliser perf_counter pour des utilisations comme les nôtres ?
leojean890: time.process_time()
VilBoub: je vais regarder du côté de process_time
leojean890: jfais ça et après j'ajuste entre 0.45 0.46 ..
leojean890: le seuil pour stopper
k4ng0u: c'est quoi le rapport de vitesse de calcul entre c++ et php? XLP est 4eme :O
Zorg1: pê qu'il a une bonne heuristique
leojean890: 0.08228970499999999 ok donc c'est un vrai timeout BigUP ..
YannT: va falloir que je bosse pour passer légende c'est nul :(
YannDev: c'est qui le boss ?
leojean890: pas encore là
YannDev: ah x)
Kh4z: trop de suspense
dbdr: ça sera Romka
Kh4z: halp
Zorg1: faut que Apo se réveille et trouve un nom
sanpas83: Clyde
sanpas83: :D
leojean890: le boss le #1
YannDev: vous feriez comment pour convertir un nombre de tours pour atteindre une case en un temps valide si on peut speed n tours ?
YannDev: j'ai fait un truc mais ça doit bug je pense
Zorg1: clyde c'était l'argent non ?
YannDev: Clyde c'est la muraille
YannDev: ce con***
leojean890: j suis tellement à des années lumoère de la légende de tte façon là
WhatTrickeryIsThis: bobLeBoss
leojean890: OOC j'étais vener de pas passer mais là il faut un miracle pour que j'améliore assez dans les temps
dbdr: mettre le boss argent en boss gold, qu'est -ce que ça me rappelle déjà?
leojean890: cptn lechuck
YannDev: ils vont pas faire ça quand même
leojean890: non non :p
YannDev: si ils foutent le boss silver en gold
leojean890: ils vont prendre le 20eme de gold
leojean890: ou ordre de grandeur equivalent
YannDev: bon j'ai officiellement cassé mon code...
Zorg1: on verra bien
sanpas83: reste t'il un pac man ghost name de dispo ? :D
Zorg1: plus qu'une demi heure max à attendre
Zorg1: Dédé le fantome ?
YannT: c'est pas pareil que sur OOC, sur OOC le 20ème de gold était un bot avec 3 semaines de dev dessus... là ce sera un bot avec 3 fois moins de temps passé dessus à rank équivalent
leojean890: ouais ooc quoi..
YannT: les marges de progressions sont clairement pas les mêmes
BrainSolver: applez le "leymergie" svp
YannT: 20èmùe après 3 semaines, t'es quasi déjà sur un bot "fini"
leojean890: ooc c'était le10eme
leojean890: pas el 20eme
WhatTrickeryIsThis: ah
YannT: ça change pas ce que je dis
leojean890: sinon ie serais passé légende à l'ouverture
leojean890: oui dans l'idée ca change pas
YannT: à rank équivalent un bot après 3 semaines, c'est pas un bot après 1 semaine
sanpas83: oui il n'y as pas le meme temp dessu
leojean890: t'as tout à fait raison
YannDev: Ah mais j'ai cassé autre chose
leojean890: après 3 semaines il est rodé
YannDev: AH MAIS NON JE SUIS TROP CON
YannDev: PUTAIN
YannDev: je travaille sur le mauvais code depuis tout à l'heure
YannDev: mais LOL
YannDev: j'ai réussi à passer une heuristique éclatée en #90
sanpas83: :o il est up
YannDev: mais je suis un génie
leojean890: ça y est il est là le boss
YannDev: #combien ?
R4N4R4M4: Ah le boss est sorti, j'avais pas vu
Haashi: 16
YannDev: wtf
Zorg1: ah "Lord Betrayus"
leojean890: mdr
Zorg1: devait être 15 non ?
leojean890: 15 j'imagine du coup
leojean890: et le 16eme est passé dans la foulée
R4N4R4M4: Bon c'est le moment de pusher mon code de la nuit :D
boumagik: ils ont fait un cut à 10
Zorg1: après la super pillule, le super code
Zorg1: ils sont 16 en légende
leojean890: yep
YannT: bon, je vais ajouter des lignes pour passer légende quand même...
leojean890: karliso va passer soon
leojean890: 0.06
leojean890: lui il a gagné utg
YannT: je veux bien aller jusqu'à 350_400 lignes mais plus hein
Zorg1: vivement dimanche soir que le top 3 débarque :p
leojean890: tu la veux la légende ou tu osef :P:P
R4N4R4M4: J'ai un ratio pas trop mal contre le Boss en IDE 6.5 / 3.5
Zorg1: après faut aller le chercher le boss
Zorg1: y a 100 gus entre moi et lui
Zorg1: et ils ont pas l'intention de me laisser passer les méchants :(
R4N4R4M4: mouais, on va voir j'ai debuggé toute la nuit contre le top 50, et c'est mon premier push, du coup oui le blocage 200 est réel
k4ng0u: au moins ce coup ci le boss a l'air deterministe
Zorg1: il était random sur OoC ? je me souviens plus
domak: il semble pas imprenable le boss...
domak: il fait des collisions
leojean890: R4N4R4M4 parfois ton ia lutte contre les 200 ?
leojean890: ienh va passer aussi
leojean890: bientot wala
leojean890: bientôt 30 personnes
leojean890: ;p
R4N4R4M4: Oui, la lutte est rude mais c'est passé, je lutte dans le top 100 maintenant :D
R4N4R4M4: mais j'aurai plus assez de match pour passer, faut que je cherche un bon push
YannDev: #98 à 40% de run
YannDev: J'espère que ce push va passer gold !
R4N4R4M4: gg YannDev
YannDev: et merde chain loose
YannDev: à chaque fois que j'espère je me prends une chaine loose :')
leojean890: même quand l'ia a un bon level ça arrive de lutter ainsi
R4N4R4M4: au moins je perds pas de place avec mon nouveau code c'est déjà ça
leojean890: ouais c'est décourageant ça
leojean890: :s
YannDev: bon j'ai la haîne
YannDev: #125 à 72%
domak: parce que t'es pas légende?
YannDev: non je suis pas or
YannDev: xD
YannDev: ok dernier recours
YannDev: 0,9^d*value
leojean890: xd la formule miracle:p
R4N4R4M4: bon, c'est le moment de la serial loose de fin de puxh
R4N4R4M4: *s
YannDev: wait la formule a pas l'air si conne mdr
Mazelcop: ben c'est une gaussienne
leojean890: comme dit r4 c'est minimiser une somme de dstances
TidyMaze: pour la 1ere fois en 1 an j'ai la flemme de finir le challenge, normal docteur ?
leojean890: bah ouais c'est pas con
YannDev: tiens j'ai un tle
YannDev: j'ia du bug mon tri...
YannDev: j'ai*
R4N4R4M4: minimiser c'est sum(d^0.9) sinon avec la formule de Neumann faut maximiser sum(0.9^d)
Neumann: C'est pas ma formule hein
R4N4R4M4: c'est toi qui l'a dit :D
YannDev: http://chat.codingame.com/pastebin/d0fffb7d-c5aa-4e53-8d3d-2546c3ec824b
YannDev: quelqu'un pourrait m'aider svp :/
Neumann: C'est juste un terme de "patience" que pas mal de monde utilise depuis un moment
Neumann: Perso à la base j'ai découvert ça sur STC (pb4)
YannDev: ya un moment où je tle
YannDev: et ça vient du tri je pense
R4N4R4M4: ah ok
YannDev: avec mon ancien comparateur j'avais aucun soucis
k4ng0u: vous utilisez value*0.9^d avec un bruteforce de depth fixe? perso mon pb c'est qu'en bfs j'ai des paths qui ne font pas la meme longueur, du coup des paths plus longs ont l'air plus interessants alors qu'en fait non...
towzeur: oui mais c'est pck tu prends pas en compte les rewards sur le chemin
Daher: pk tout le monde utilise python sur ce site
Frankich: LeL
YannDev: bon ça m'énerve la formule magique timeout
WhatTrickeryIsThis: Wut?
YannDev: :')
Nagrarok: précalcule la puissance pour toutes les distances possibles
YannDev: Je pense que ça vient pas du calcul des puissances
YannDev: au deuxième tour j'ai plus de cibles qu'au 14ème
YannDev: pourtant je reste sur du 5ms
Nagrarok: si ça vient pas de la puissance, alors c'est pas cette formule qui timeout :p
YannDev: bah j'ai juste changé le comparateur
YannDev: x)
R4N4R4M4: https://prntscr.com/shh2ln Mince, je me suis fait piégé :(
R4N4R4M4: *er
R4N4R4M4: J'avais pas tout enregistré : https://prntscr.com/shh4k4
leojean890: 24 en leg deja:p
R4N4R4M4: Mince mon enregistreur de gif bug... :(
R4N4R4M4: Ah voilà, c'est mieux https://prnt.sc/shh5un
R4N4R4M4: Ca fait drôle de retrouver le calcul du rank en temps réels, on avait perdu l'habitude
YannDev: OMG
YannDev: R4 CE GENIE
YannDev: ta formule me fait gagner une game que j'ai loose
R4N4R4M4: c'est bien parti alors
YannT: quelle formule?
YannDev: 0,9^d*value
YannDev: je vais submit
YannDev: si je passe gold avec ça ...
YannDev: tiens j'ai des pacs afk avec cette formule
k4ng0u: peudoki a 22.23 exactement comme le boss ca passe en legende ca ou pas? :D
k4ng0u: 25.23*
leojean890: j'avoue c'est balo ça
domak: faut croire que non
domak: tu vois leojean890, ça aurait pu t'arriver ça aussi
Spifflejedi: ca va cut à cb legend?
k4ng0u: ca a cut a 15 maintenant il "suffit" de le battre en terme d'elo
Spifflejedi: ah ben c'est ouvert ^^
Mazelcop: pour l'instant on est 27 en légende
domak: j'aime pas trop le "on"... ;-)
domak: gg à toi
Spifflejedi: 80e gold ca va etre juste pr monter...
Mazelcop: :D
Sissiimperatice: #5 en silver ... je push ou j'attends ?
domak: combien d'écart?
Sissiimperatice: 2.00
domak: ah quand même...
domak: après moi je suis pas patient et ça m'a déjà perdu...
Sissiimperatice: pareil ^^
YannDev: ne push pas
YannDev: j'étais top 10 ce matin
YannDev: et j'ai re push
YannDev: puis j'ai eu le seum
YannDev: x)
Sissiimperatice: ben moi aussi depuis ce matin entre 3 et 12 sans push
Sissiimperatice: mais y'a trop d'écart je pense
R4N4R4M4: #36, faudra que je code encore un peu... ,(
Zorg1: ou virer des lignes paraît que ça marche aussi
R4N4R4M4: Je vais tenter ça aussi :D
YannDev: R4 je suis #79 avec ta formule...
YannDev: et en plus j'ai des timeouts à cause de mes cerr
YannDev: :')
yamo: les messages de debug favorisent le timeout ?
YannDev: j'ai l'impression
YannDev: du moins dans l'ide
YannDev: je suis #62..
YannDev: et le code que j'ai submit a un bug
YannDev: que j'ai fix dans la nouvelle version
YannDev: #51...
YannDev: j'éteins à la fin du submit
YannDev: je resubmit là
jolindien: j'en ai poussé 3 en légende d'un coup
YannDev: gg
jolindien: gg Fangel
Gafagarion: pas loin :/
YannDev: les gens qui poussent les autres méritent d'être poussés
Vry: Ou pas ... :p
YannDev: :p
domak: gg jolindien. Au moins maintenant on sait qu'il y a au mois un MCTS en légende ;-)
jolindien: je suis pas passé moi
jolindien: et pas de mcts :)
domak: ah bon? je te vois au dessus
WhatTrickeryIsThis: hop ^^
domak: ah bein c'est pour ça aloors
domak: ah derm t'es repassé en dessous
domak: ah non
jolindien: tendu
k4ng0u: suspens
domak: oh putain l'ovni
k4ng0u: ya rprades qui fait l'arbitre :D
jolindien: e.t rentrer legende
domak: à 8% il est au dessus du boss
R4N4R4M4: gg jolindien
R4N4R4M4: bon je crois qu'il faut que je pousse tout le top50 en légend avant de pouvoir passer :D
WhatTrickeryIsThis: sympa le R4 :D
domak: R4N4R4M4 tu veux pas pousser le top 100 plutôt?
R4N4R4M4: je le fais un peu, mais j'ai besoin de m'appuyer un peu dessus pour pousser le top50
leojean890: domak de quoi qui aurait pu m'arriver ? même score et ne pas passer ?
WhatTrickeryIsThis: ouais, pousse jusqu'à domak au moins il est gentil lui
domak: et en plus j'ai pas de main ;-)
domak: leojean890 parce que est maudit sur CG
domak: * tu est maudit
jolindien: bretzel de merle
leojean890: domak je sais:P mais pour OOC certains sont paqssés plus près que ça du boss que moi
k4ng0u: jolindien ca passe la non?
leojean890: j'étais à 0.7 de lui et Stilgart et luffy plus proches que ça
jolindien: ouf yess
leojean890: j'ai juste dépassé son min par chance à un moment quand il n'était pas à son min
Falkor: J'ai un petit soucis la fénétre de sync de mon code avec mon editeur c'est barré hors écran, comment je la récupére ?
YannDev: #24 silver
YannDev: poussez moi :')
YannDev: R4 merci beaucoup ta formule est magique
R4N4R4M4: de rien
YannDev: après reste à me faire pousser
Zakaoai: Tu peut le faire ;)
YannDev: je suis à 3 points du boss :/
YannDev: mais ça devrait se faire si on me pousse
YannDev: en tout cas c'est assez drôle qu'un simple 0,9^d*value ait amélioré mon code à ce point
Zakaoai: moi c'est justement ce que je suis entrain de tweak
YannDev: clairement fais le
YannDev: ça m'a boosté comme jamais
Zakaoai: je suis en value/d mais il prend pas en compte le speed du coup la 2em case compte moins alors qu'elle devrait avoir la meme valeur
YannDev: Ah dommage Merci à Unbelievabob qui me pousse
towzeur: value/d c'est pas ouf pck 2case avec 2 pellets ca fait 1
Gafagarion: Tiens je me suis fait poussé !
YannDev: Franchement le 0,9^d*value il fonctionne tel quel
Gafagarion: Merci
k4ng0u: YannDev 3pts du boss qu'on faut pousse vraiment tres fort (particulierement les tops de la league sinon ca rapporte pas bcp de points)
Mazelcop: J'ai une petite question à propos de CGBenchamrk
YannDev: ah
YannDev: sinon je spam submit
YannDev: jusqu'à avoir un win streak chanceux
Mazelcop: On peut l'utiliser à foison, ou il faut faire un peu attention histoire de ne pas surcharger les serveurs CG ?
R4N4R4M4: Mazelcop au bout d'un moment t'es bloqué dans tes push donc tu peux te lâcher
Mazelcop: ok merci
YannDev: J'ai aussi une question svp
YannDev: est ce que spam submit c'est utile ? :')
k4ng0u: si t'es meilleur que le boss oui
R4N4R4M4: Ca dépend ce que tu cherches à faire
R4N4R4M4: Si tu es moins bon que le Boss et meilleur que tes copains et que tu veux pas que tes copains passent, tu spames pour faire monter le boss et descendre les copains :D
YannDev: à passer gold
YannDev: je suis meilleur que le boss
k4ng0u: (et suffisamment bon pour etre match up avec le boss)*
YannDev: mais je me fais battre par mes copains
Zakaoai: ;) non chez moi la case a 2 de distance est divide par sa depth donc chez moi ça fait 1.5 si tu as 2 palet devant toi. Mais devrait faire 2 si je compte le speed
YannDev: si je submit en étant top 20 je peux être match contre le boss ?
R4N4R4M4: Si tu es meilleur que le boss, et que tu peux l'atteindre, le spam va le faire descendre
VilBoub: lol R4N4R4M4
YannDev: Et je vais beaucoup monter aussi non ?
VilBoub: j'aime bien l'idée de faire monter le boss et descendre les copains
Zakaoai: si tu es meilleur que lui il y a des chances
YannDev: je vais calculer mon winrate
YannDev: parce que là le boss est super haut...
YannDev: (silver)
k4ng0u: si t'es meilleur que le boss et assez bon pour le combattre, tu vas le baisser, et par l'occasion faire passer les copains qui te battent dans la league superieur. Du coup avec plusieurs submit; il n'yaura plus de copains meilleurs que toi et tu pourras juste descendre le boss :p
YannDev: :(
YannDev: mais là je sais pas si je peux me faire pousser
b0n5a1: o/
b0n5a1: YannDev : http://cgstats.magusgeek.com/app/spring-challenge-2020/YannDev
thoip: moi cet apres amidi j'ai submit 4 ou 5 fois avant que cela soit bon
TidyMaze: un expert dans le coin saurait comment mesurer le temps restant en JS/TS ? mon new Date().getTime() - startTime n'est pas fiable
YannDev: 7 wins sur 9
YannDev: contre le boss
YannDev: 8 sur 10
YannDev: je pense que je le bats
WhatTrickeryIsThis: getTime est en secound?
TidyMaze: selon les sources getTime est en ms
YannDev: bon du coup je sais pas si je resubmit mon code :/
WhatTrickeryIsThis: prends 45 ms
WhatTrickeryIsThis: garde 2-3 ms pour les I/O
TidyMaze: actuellement il me donne une mesure à 3 ms et timeout
WhatTrickeryIsThis: le start c'est la fin de lecture 1er input en theorie
TidyMaze: et oui le start je le fais while (true) {
let inputsScore: string[] = readline().split(' ') let startTime = new Date().getTime()
TidyMaze: je loggue plusieurs steps dans une boucle, à aucune step il ne depasse les 5 ms
YannDev: bon je vais prier pour être poussé
R4N4R4M4: #8 à 24% ça part bien :D
YannDev: gg!
YannDev: bon je retente de submit
R4N4R4M4: mais ça va pas tenir
YannDev: j'ai changé un chiffre
R4N4R4M4: ça descend déjà
YannDev: je vais jouer un peu avec mes coefficients je pense
R4N4R4M4: bon, le top 20 veut pas de moi, je me fais éjecter
R4N4R4M4: j'ai plus qu'à le pousser
YannDev: x)
Zorg1: mon bot est 60 je ne sais pas comment on va laisser comme ça :D
b0n5a1: t'es en silver R4 ?
YannDev: R4 est gold je crois
R4N4R4M4: Gold b0n5a1
b0n5a1: ok
b0n5a1: silver j'avais laissé à 10e place et suis aller me coucher, pousser peandant la nuit ^^
R4N4R4M4: Allez, je rattaque le top 20 #16 45%
R4N4R4M4: faut que j'atteigne le Boss, j'ai un bon ratio, et après je spamme push
Zorg1: go legend R4 !
R4N4R4M4: Ca patine...
b0n5a1: ha oui c'est vrai y'a legend qui est sorti ^^
Zorg1: met du sable
R4N4R4M4: LOL, c'est ce qu'il faudrait faire
YannDev: bon en changeant un 3 en 4 je gagne des games que je perds
YannDev: mais j'en perds des nouvelles
domak: il est hatu maintenant le boss
YannDev: du coup je sais pas ce que je fais :')
domak: go go R4N4R4M4
YannDev: R4 ne peut que passer
YannDev: il a la formule ultime
R4N4R4M4: C'est laborieux
YannDev: R4 tu pourrais me donner ton avis sur des valeurs stp
WhatTrickeryIsThis: c'est le moment où tout le monde va faire monter le boss dans cieux eternelles inateignable :angel:
R4N4R4M4: Justement What, j'ai un ratio de 6.5/3.5 contre le Boss, mais faudrait déjà que je joue contre lui
YannDev: faut être top cb pour jouer contre le boss ?
R4N4R4M4: Pour être sûr faut être #11
YannDev: ah
R4N4R4M4: tu joues à -10 +10
R4N4R4M4: je crois
Zorg1: même top tu ne lui tape pas dessus tout le temps
WhatTrickeryIsThis: faut lui faire mal
WhatTrickeryIsThis: pas de pitié
R4N4R4M4: Oui, c'est souvent quand ça t'arrange pas qu'il te sort plein de parties avec le boss
R4N4R4M4: fini #30, faut que j'analyse les parties là
R4N4R4M4: après la pause clope
Zorg1: la fameuse pause clope
YannDev: #165 à 7% de run
YannDev: ça commence bien
YannDev: pùg
YannDev: omg*
YannDev: #102
bouajajais: salut c'est 50ms par pac ou pour tous les pacs par tour?
YannDev: par tour
YannDev: donc c'est ton tour en entier
YannDev: de rien :)
egaetan: Oo, j'ai tiré ma carte chance
YannDev: #7 silver :/
Zorg1: je vois ça
YannDev: j'ai été match que deux fois contre le boss
Zorg1: àa grimpe
YannDev: c'est dommage
YannDev: je vais me laisser pousser mtn
YannDev: je ssuis j'ai 27,06
YannDev: le bot a 29,12
[SG]Bisou: ne montes pas trop egaetan, tu vas finir par me doubler
egaetan: ça va pas durer ...
egaetan: c'était un coup de chance
thoip: https://www.codingame.com/share-replay/464659386 suicide des pacs
egaetan: bah je suis redescendu aussi vite que j'etais monté
[SG]Bisou: tu pourrais au moins me pousser un peu vers le gaut
[SG]Bisou: le haut
egaetan: je comprends pas ce submit
YannDev: A 2 points du boss ça vaut le coup de se laisser pousser ou pas svp ?
egaetan: c'est loin quand même
egaetan: le boss silver ?
YannDev: oui
YannDev: :/
YannDev: je suis #6 x)
YannDev: je pourrai essayer de re submit peut être mais je sais pas
YannDev: c'est risqué
egaetan: je suis à peu près pareil, et c'est vrai que je ne me sens pas de resubmit maintenant
egaetan: 1.6 du boss #7
YannDev: surtout que je me suis fait avoir ce matin
YannDev: j'étais #12 silver
YannDev: et j'ai resubmit
egaetan: mais c'est loin quand meme
YannDev: alors que j'aurai large pu être poussé
egaetan: désolé [SG]Bisou
[SG]Bisou: tu as fait monter le boss surtout egaetan
egaetan: je comprend pas vraiment ce qui s'est passé
[SG]Bisou: je vais devoir préparer la version suivante de mon algo
egaetan: pas beaucoup j'ai fait 1/2 contre lui
YannDev: en fait le soucis
egaetan: c'est pas catastrophique
YannDev: c'est que je sais pas quoi améliorer sur mon algo
YannDev: j'ai une idée mais je sais pas si ça va vraiment changer la donne
YannDev: et j'ai peur que ça me déserve
bouajajais: les input pour du jeu qui nous passent les données de chaque sont prises en compte dans le timing?
YannDev: non
egaetan: c'est Marimout qui lui a concédé 6-0
[SG]Bisou: Marimout, c'est pas en perdant face au boss que tu monteras
BigUP: qui a monté le Boss a 29,12 !??
YannDev: je sais pas
YannDev: moi je l'ai un peu baissé
WhatTrickeryIsThis: arrête de faire ton timide geatan
YannDev: mais là ça va être chaud BigUp :/
BigUP: 6, t'es pas mal
[SG]Bisou: Bon, je pars coder un peu. On verra bien quand j'aurais une nouvelle version
YannDev: ouais
YannDev: mais j'ai 2 points d'écarts
YannDev: En vrai j'ai le seum sur 50 matchs
YannDev: j'ai tapé le boss que deux fois
YannDev: 50 match top 11
BigUP: si tu l'as baissé pas mal et que tu passe le marais des #200, tu peux spamm submit, tu devrais avoir le boss a l'usure
egaetan: [SG]Bisou pas besoin d'une nouvelle version pour submit
YannDev: BigUp j'ai peur de resubmit xD
[SG]Bisou: et ça aiderait vraiement?
YannDev: qui sait
egaetan: ça peut pas faire de mal, si ? et tu avais un bon winrate contre le boss
YannDev: si AlexNvn n'existait pas je serai passé gold
YannDev: 95% de mes looses top10 c'est contre lui lol
egaetan: resubmit, i lpassera et tuseras tranquille
YannDev: bah j'ai peur de resubmit xD
[SG]Bisou: bon allez, je suis faible, je resubmit
YannDev: fais gaffe
BigUP: c'est tellement pas simple de faire la différence sur ce contest, que resubmit c'est toujours hazardeux
YannDev: oui c'est ça
BigUP: faut que je me fasse un bout de code pour killer ceux qui se transforment en meme temps que moi... c ava etre plaisant a voir
YannDev: faut que qq tape le boss
thoip: iplus vous attendrez plus le boss montera
YannDev: oui :/
YannDev: mais après j'ai peur se submit ^^"
YannDev: et ça se comprend je pense
BlaiseEbuth: On le saura
thoip: faut pas avoir peur. la le boss est trop haut pour etre poussé. désormais en silver le boss va continuer de monter.
egaetan: ça monte moins [SG]Bisou ?
[SG]Bisou: c'est tout pourri
[SG]Bisou: mon code c'est de la :poop:
egaetan: on dirait le mien alors
[SG]Bisou: :lol:
[SG]Bisou: :joy:
egaetan: gg ameler
ameler: merci :)
egaetan: [SG]Bisou c'est le meme code qui s'est arreté ?
[SG]Bisou: oui
[SG]Bisou: le même
[SG]Bisou: je pourrai commencer à coder ce soir dés que les enfants seront couchés
YannDev: oh je me suis fait pousser
YannDev: +1 place :o
Zorg1: l'escalator de la gloire ...
Alshock: reuh
Alshock: ah ouais mais jamais vous passez, même en montant 2ème
Alshock: ah les gars, le 0.9**i sur la value
Alshock: je tente un move, je propose (0.1**0.1)**i à la place
WhatTrickeryIsThis: :clap: les nouveaux legendes ça chôme pas
n1c0de: Salut ! Je bloque sur le puzzle "Chevaux de course" en JS. Faut-il utiliser une autre méthode que array.sort() pour gagner en efficacité ?
Alshock: ah meeerde la ligue est déjà ouverte ?
Kh4z: oui
Alshock: yep
Alshock: quoique je croyais me souvenir que même avec un sort crade ça passait ?
Zorg1: bah faut que ton tri soit un minimum plus efficace que n^2 non ?
Alshock: non il est 5ème
n1c0de: probablement mais pour éviter de faire trop de comparaison, je compare uniquement avec les éléments adjacents du tableau.
R4N4R4M4: n1c0de je crois que sur ce puzzle, la performance est vraiment sur le tri, en effet
Alshock: Zorg1 le sort de base de JS c'est pas un quicksort?
Zorg1: je pense que si
Alshock: C'est pas O(n*log(n)) ?
Zorg1: ouaip
BlaiseEbuth: En js ça passe sans problème de mémoire, t'es sûr de ton code ?
n1c0de: Bah vous me faites douter du coup :)
Zorg1: ou alors une bande de troll a codé un buble sort dans JS pour le fun
R4N4R4M4: le sort de php passe très bien
Alshock: un gnome sort
BlaiseEbuth: Les sort de tous les langages en fait... Vérifie ton code ;)
Zorg1: mais normalement les sort des libs sont efficaces
Zorg1: en Pascal t'as pê pas de tri standard
R4N4R4M4: Le sort de JS aussi
BlaiseEbuth: Tu vas nous faire la liste R4 ?
Zorg1: bah c'est pê son truc pour trouver une idée pour son bot
Zorg1: #astuceDeChampion
YannDev: non thoip :/
YannDev: ya un coréen vnr qui tape le boss !
YannDev: c'est ma chance je pense
Zorg1: sonorise la ligue avec de la K-Pop pour lui donner du coeur à l'ouvrage
S1L3nCe: C'est le Japon le rond rouge sur fond blanc ^^'
YannDev: je vais pê resubmit
YannDev: ah
YannDev: je suis nul en drapeaux
YannDev: :')
Alshock: "tant que t'es pas gold je te passe du Girl's Generation en boucle !"
BlaiseEbuth: Sérieux....
S1L3nCe: T'as un tooltip avec le nom si tu hover le drapeau sinon
YannDev: ah super ty
YannDev: tiens il est passé devant le boss
Alshock: oh la corée c'est un rond rouge sur fond bland aussi hein, avec du bleu et des symboles compliqués autour :P
Alshock: bien joué à lui ! Sacré vietnamien
Zorg1: c'est pas les 4 points cardinaux de émoire ?
BlaiseEbuth: Ouai ouai, c'est raciste. Genre "C'est tous des bridés, on s'en fout.".
Alshock: self facepalm
YannDev: 1,44 du boss !
YannDev: est ce que je submit ou pas ?!
YannDev: parce que quand on submit on redescend à la fin de la ligue non ?
Alshock: @BlaiseEbuth ouais c'est comme les hongrois
n1c0de: En gros mon code : http://chat.codingame.com/pastebin/85212bb5-195d-466c-8e4a-9d6159a60af5
Zorg1: hongrois que ça marche ?
BlaiseEbuth: Keskizon les hongrois ?
Spifflejedi: alsho
Alshock: j'ai mis 3h à comprendre en plus
YannDev: bon grosse hésitation
YannDev: je sais pas si je resubmit
YannDev: parce que 1,44 du boss je peux me faire pousser
Zorg1: tire un dé
Alshock: attends n1c0de, tu fais n tris ?!
Kh4z: 1,44 c'est beaucou quand meme :no_mouth:
YannDev: ah
Kh4z: *p
Spifflejedi: fautr pas compter que sur les pousseurs ^^
YannDev: je resubmit le même code du coup?
Alshock: C'est pas comme ça qu'il faut faire n1c0de, fais bcp plus simple
BlaiseEbuth: Il fait des triages, c'pas pareil
Spifflejedi: t'as fix les bugs?
n1c0de: C'est dans le cas où les valeurs ne sont pas déjà triées à l'insertion
Zorg1: une fois que t'as trié c'est bon
Alshock: n1c0de: fais bcp plus simple, récupères toutes les données dans un tableau, trie-le, et ensuite seulement cherche les deux plus proches
Zorg1: ah ok tu tri au fur et à mesure que t'ajoutes des éléments ? :fearful:
Alshock: Maxime à 0.02 du boss
Alshock: comment le boss a perdu 1 de score en 3 minutes sans aucune raison ?
n1c0de: Je pensais que c'était plus efficace de trier à la volet xD
Zorg1: y a des gens qu'ont essayé de comprendre le ranking CG ...
Alshock: tri à chaque élément puis recherche dans le tableau de l'élément ajouté
Zorg1: n1c0de : non tu tri tout le tableau en une fois
Alshock: c'est lourd pour le PC, il traverse plein de fois le tableau
Zorg1: voilà
R4N4R4M4: 1er match contre le boss gagné
Zorg1: nice
Alshock: marseille
n1c0de: D'accord merci ! Je vous dis dès que j'ai un résultat
Zorg1: toulon
Alshock: Orange
R4N4R4M4: tant que je reste dans le top10, y a un espoir de faire baisser le boss, allez on y crois là
Alshock: il s'appelle comment le boss ?
R4N4R4M4: Lord Betrayus
R4N4R4M4: Faut pas lui faire confiance :D
YannDev: ce traître
Alshock: égalité clyde/amxime la tension est à son paroxysme
Zorg1: c'est quoi la référence ?
YannDev: c'est une traître
R4N4R4M4: je sais pas si il y en a une
YannDev: to betray = trahir
Colios13: qui commence le contest
YannDev: sérieux?!
YannDev: cachez vous !
Colios13: uil est bronze y a une h il y était pas
Alshock: https://pacman.fandom.com/wiki/Betrayus
R4N4R4M4: https://villains.fandom.com/wiki/Lord_Betrayus
Alshock: feurste
Kh4z: sympa la ref
Zorg1: ah ok ça vient de tout le bazar qu'ils ont brodé autour de PacMan
R4N4R4M4: Match 2 won vs Boss :D
Zorg1: PacMan univers étendu et univers canonique je suppose :p
Alshock: c'est de la balle
R4N4R4M4: J'en profite pour faire passer ceux qui me gènent
Zorg1: moi je ne connaissais que les 4 fantômes
R4N4R4M4: match 3 lost vs Boss
Alshock: moi je connaissais keud
Alshock: Bon vous savez quoi ? Je vais assumer d'être une merde en C++ et retourner à mes prototypes python
Zorg1: t'as pas un truc qui transpile du python en C++ ?
R4N4R4M4: 4e match perdu 2/2 contre le Boss
Zorg1: (si un tel truc existe j'ai pas envie de voir le code généré)
Alshock: je pense pas puisque python permet du métaprogramming
Zorg1: dès que j'entends le mot "méta" je sors mon révolver
Alshock: dégaine coyot à foie jaune
Alshock: pourquoi "à foie jaune" d'ailleurs ?
Zorg1: ouin ouin ouin ouin <= musique d'harmonica
R4N4R4M4: 3/2
R4N4R4M4: Bon, j'ai bien aidé à faire passer Roolmo en Legend
R4N4R4M4: Je repushe
Zorg1: y a la gaufre lua qui est au dessus du boss ausi
Alshock: ah putain ce bon vieux waffle, il est australien non ? J'sais plus, mais il joue à Osu! en lvie de temps en temps
Zorg1: c'est le drapeau ricain qu'il a
Alshock: oh tu sais les USA, l'Australie hein... Je crois que je commence à trop me répéter là non ?
Alshock: Ah, Maxime est gold
Zorg1: ils parlent anglais c'est tous pareil ?
Alshock: Ah c'est moi ! je confonds Waffle3z et ceilingWaffle
BlaiseEbuth: Bof c'est des gauffres...
Alshock: qui est visiblement passé 3 fois sur le site dans sa vie ^^
BlaiseEbuth: Genre on peut quitter CG ?! Oo
Alshock: je me sens quand même très con d'écrire ça: queue.remove(queue[-1])
Alshock: il est temps de rajouter pop() à cette SortedCollection de mort
YannDev: 1,15 du boss!
n1c0de: Merci beaucoup pour votre aide, j'ai réussi !
n1c0de: En faisant beaucoup plus simple comme vous me disiez xD
WhatTrickeryIsThis: c'est combien le malus pour une case en cul de sac?
Zorg1: ça dépend du modèle de ta bagnole
BlaiseEbuth: Demande à Bilbo
WhatTrickeryIsThis: xD j'ai compris la blague
WhatTrickeryIsThis: merde alors, je pensais pas qu'un démon ça serait rigolo tiens
Zorg1: tkt on t'enverra un mail explicatif
WhatTrickeryIsThis: je juste devant toi la chouette
WhatTrickeryIsThis: bientôt on va être legende sans rien demander
Zorg1: ezpz
Zorg1: pourquoi se casser le cul à coder des algos tordus alors qu'il suffit d'attendre ?
WhatTrickeryIsThis: raison de plus pour ne pas pusher ma nouvelle feature qui devrait me faire perdre pire que maintenant
Zorg1: ah toi aussi t'as une nouvelle feature en réserve
Alshock: je vais de feature en déconfeature perso
WhatTrickeryIsThis: je viens de la révélée en plus
WhatTrickeryIsThis: c'est un concept génialissime
WhatTrickeryIsThis: faut pas trop aller dans les culs de sacs
thoip: #222 de gold encore un abime à franchir.
YannDev: le marais v2
Alshock: C'est pas parce qu'ils sont nombreux qu'ils sont forcément homos
Alshock: la savonette
BigUP: Zorg1, oui mais pour attendre, il n'y a pas de WAIT !
YannDev: bon je suis #4
YannDev: je vais pas submit je pense
Alshock: au pire tu t'endors dessus et tu submit demain au besoin
BigUP: #31 eme ... je m'enfonce lentement et vois s'eloigner au loin la gold ...
Zorg1: bigup : ouaip quand tout mes pacs veulent pas bouger bah ça fait timeout
Alshock: contente-ti d'avancer sur ton code
Nagrarok: il me semble que tu peux juste envoyer un \n pour rien faire
Alshock: enfin déjà rien envoyer sur un pac
Alshock: tu veux pas forcément toujours wait * n
Zorg1: sur un oui, mais sur tous
Zorg1: mais pê que '\n' marche ;-)
Alshock: normalement ça devrait
Zorg1: 'normalement' en informatique ...
Alshock: mais je vois mal un cas dans lequel tu veux faire ça
YannDev: Alshock ouais mais là le boss a un peu baissé
YannDev: donc c'est pê le moment de submit
Zorg1: traditionnellement sur CG le WAIT gagne
Zorg1: c'est bien connu
Alshock: @Zorg1 la syntaxe du retour invite à penser que oui, d'un point de vue théorique
Zorg1: (mais quand j'avais le cas en fait j'avais un vrai bug)
Alshock: TypeError: '<' not supported between instances of 'dict' and 'dict'
Alshock: ma vie sur un radeau, ça fait des chokobos
Alshock: aaaaaaaaaaaah
Alshock: la bande d'enflures
Alshock: class SortedCollection(object): http://chat.codingame.com/pastebin/b540ce83-0dc1-4bd9-9696-0b2490211571
Alshock: du coup tu fais un SortedCollection tranquille pépouze, tu t'imagines qu'avec ça tu peux trier selon un critère, mais si le critère est égal on se met à trier par ton objet passé en param >_<
YannDev: je sais toujours pas si je soumets ::
YannDev: :/
Kh4z: :smiling_imp:
YannDev: les pousseurs sont trops lents
YannDev: je suis à 26,76
YannDev: le boss à 28,13
Alshock: le gens devant sont trop lourds
YannDev: oh le boss se fait taper dessus !
YannDev: bon je porte mes couilles
Kh4z: rip
YannDev: ça va passer je le sens
YannDev: c'est maintenant ou jamais
YannDev: le bot s'est fait péter la gueule
YannT: vas y autre yann fait honeur au prénom
YannDev: Je fais de mon mieux
YannDev: #148 à 14% ça commence très bien
YannT: tiens la frequence de refresh du leaderboard est revenu à unniveeau repestable
YannT: respectable*
Kh4z: oui cette aprem ca a ete patche
YannT: ils ont ajouté un indexen base, c'est bien!
YannT: maintenant la même sur le chat
Kh4z: Trop de suspense @YannDev
YannDev: oui xD
taleboy: Je viens de dépasser le boss silver o.O
YannDev: gg!
Kh4z: gratz
Fushy: :stuck_out_tongue:
YannDev: tu as resubmit?
taleboy: Reste 30% par contre...
YannDev: ou c'était les pousseurs
taleboy: J'ai submit un nouveau code
YannDev: ça va t'as un point d'avance
Alshock: serre les fesses et croise les dents
YannDev: ah en fait sers bien les fesses
YannDev: t'as plus que 0,7 d'avance
taleboy: C'est passé :)
YannDev: gg :)
Alshock: Je... je n'ai aucune idée de ce que mon bot vient de faire, c'est du génie ou de la connerie pure ? https://www.codingame.com/share-replay/464798768
Kh4z: felicitations!
Alshock: il a décidé de fuir un type qu'il mange mais en fait c'était une feinte
towzeur: mdr pas mal l'emoji viande
YannDev: ton bot est trop intelligent pour toi
YannDev: :')
BrainSolver: Je croise les doigts..
BrainSolver: ben non.
BigUP: Alshock, le genie ca aurait ete de se planquer pour se transformer
Zorg1: dans une cabine téléphonique comme superman ?
BigUP: la ca aurait ete top
Alshock: la version où il mange son grain de beauté ?
Zorg1: (bon va trouver une cabine téléphonique maintenant ...)
Alshock: n'est pas superman qui veut
R4N4R4M4: Pas mal les smiley dans les messages :D https://www.codingame.com/share-replay/464824923
Alshock: ouais j'ai copié l'idée éhontément sur le chat quand elle y a été évoquée genre avant-hier
Alshock: parce que c'est vrai que bordel on a genre 6 caractères
BrainSolver: R4N4R4M4, j'ai mis une horloge quand je manque de temps : https://www.codingame.com/share-replay/464829739
R4N4R4M4: cool
YannDev: bon c'était pas ma meilleure idée de repush
YannDev: mais au moins j'ai porté mes couilles
Alshock: 10 kg dans chaque main
YannDev: du lourd
Nagrarok: quitte à repush, il paraît qu'on peut passer dans la ligue suivante en améliorant son code
YannDev: il est amélioré
YannDev: j'étais top 4 ^^"
YannDev: mais le boss avait 1point d'avance
YannDev: donc je me suis dit go push
egaetan: Oh le gros passage
egaetan: mataranga et nmahoude qui tape fort
YannDev: fonce
egaetan: gg nmahoude fonce !
nmahoude: jepedale aussi vite que je peux :)
nmahoude: il y a un bus qui passe la
Razielwar: si vous pouviez arreter de passer ça me fait baisser en légende :p
Tryum: https://www.codingame.com/share-replay/464838637 Mon pac voit à travers les murs ! (frame 13)
egaetan: oui
YannDev: bon je tente le push de l'infini vers gold
YannDev: 0;89^d*value
Tryum: nvm, je suis fatigué il y a un autre pac visible en dessous 😅
YannDev: grosse amélioration
nmahoude: legend, yeah
YannDev: gggggggg
BrainSolver: gg
YannDev: tu pédales vite !
egaetan: gg nmahoude
nmahoude: merci
nmahoude: j'avais oublié de finir les pacman adverse quand je les coinçais dans un coin :shame:
egaetan: mmm je fais pas ça non plus
YannDev: :shame:
nmahoude: si tu sais bien ne pas perdre ce genre de shifumi, ca m'a fait passé de 40/gold à Legend :)
YannDev: déjà 40gold c'est chaud non ? :')
egaetan: je geres tres mal le shifumi
egaetan: :(
Nagrarok: je gère très mal tout, ce jeu est trop dur :weary:
YannDev: le gros pb de ce jeu
YannDev: c'est que les games se jouent à rien
Nagrarok: mouais
Nagrarok: mon pb c'est plutôt que mon bot est idiot
bananaMixer: Bonsoir. Je code en Rust et je cherche à faire une addition sans vérification d'overflow en mode debug (y a vraiment que sur CG qu'on se retrouve à essayer d'otpimiser le mode debug...). Quelqu'un a une idée de la marche à suivre ?
YannDev: OMG 7ème à 25%
YannDev: gooo
thoip: c'était plus rapide de resubmit
YannDev: merde je suis retombé 35
YannDev: :(
_Cosima: ah ah le boss bronze qui fait un timed out
Zorg1: gg
Colios13: _Cosima tkt le boss silver aussi ^^
JBM: Quoi de neuf par ici automaton2000
_Cosima: j'avais jamais vu ça !
Automaton2000: ça fait tout le temps
JBM: T'aurais du le voir alors
BigUP: ha... mon IA modifié bat systématiquement mon IA en arene... resubmit or not resubmit ....
Bluepioupiou: pas mal comme cas de conscience ^^
Bluepioupiou: hey les gars, si je veux mesurer le temps que je passe pour éviter le timeout et trancher dans le gras si il faut. les 50ms elle sont décomptées à partir de quand ? la derniere lecture d'input ou des la premiere ?
BlaiseEbuth: après la première
Bluepioupiou: ah ouais, ok merci
Bluepioupiou: bizarre parce que je dépasse systématiquement avec les lectures d'input (genre jen suis souvent à 100ms)
BlaiseEbuth: T'es sûr de start ton chrono APRES le premier input ?
Bluepioupiou: mais en effet, si je start juste APRES le premier input ça change tout
Bluepioupiou: ah benh voilà ^^
BigUP: argh, et je suis remonté a la 16eme place... 1,5 points environ du boss... la vraiement je ne sais pas si je dois resubmit
Bluepioupiou: t'es quelle league ? T'as genre un git avec ton commit de derniere submission ?
BigUP: Bluepioupiou, silver
BigUP: mais ca fait depuis Dimanche que mon code galère
BigUP: je vais tester contre des parties de loose
Gonny: BigUp 16ème c'est possible mais pas gagné surtout ça fait un bout de temps que t'as submit et que tu t'es déjà fait push, si t'as une nouvelle IA légèrement plus forte je resubmitterais
Gonny: surtout si*
BigUP: elle est plus forte contre elle
BigUP: mais contre le reste, aucune idee
Gonny: fais des testes contre le boss
sanpas83: realise des test contre des top aléatoire
BigUP: la sur 4/5 match perdu avec l'IA de l'arene, j'en gagne 1
BigUP: et des matchs que je gagnais, maintenant je les perd
thoip: mais les autres ont ameliores leurs ia
Fangel: bon la bonne nouvelle c est que le boss ne s améliorera pas :)
egaetan: je ne suis pas sûr qu'on s'améliore
Bluepioupiou: bon benhmoi j'ai perdu 100 place apres une soirée a améliorer mon IA, je fatigue ça marche plus. Bonne nuit tout le monde
BlaiseEbuth: o/
leojean890: egaetan bientôt légende !:p
leojean890: moi 221 gold c'est plutôt mal parti ;p
Fangel: leojean890, l'éternel annonciateur de légende :)
leojean890: :p
leojean890: Fangel bah dans OOC j'étais aux premières loges mais là absolument pas xD
Fangel: ah ça peut venir
leojean890: je galère désormais à entrer dans le top 200 des gold :P
Fangel: mais tu étais vers 100 ce matin ?
leojean890: non il y a 2 jours :p
leojean890: mercredi vers 13 avant que la gold n'ouvre j'ai fait 120 au mieux
leojean890: vers 13h
leojean890: après bah mes pushs étaient des améliorations moyennes ou des regressions
leojean890: j'ai encore 2 3 idées
leojean890: en cours
leojean890: pour ce week-end
Fangel: t es sure que c est bien débuggué le reste ?
leojean890: ouais mais c'est pas assez solide
leojean890: enfin pas assez compétitif
leojean890: disons
leojean890: déjà le shifumi...
leojean890: à part me faire manger mes pacs..
leojean890: mon early est assez bon
Fangel: n essaye pas de chasser
leojean890: mon late est bcp moins bon
leojean890: t'inquiète mon bot chasse pas
YannT: #243 gold = t'as des bugs partout en vrai
leojean890: bah j'me fais trop manger
Fangel: moins bon, parce que tes pacs ne trouvent pas les pastilles ?
leojean890: sans chasser
YannT: t'as pas sur des subtilités là :)
YannT: c'est un erreur que je faisais bcp au début
leojean890: si, mais moins vite que l'adversaire
YannT: chercher les petits détails
leojean890: il faut pas ?:P
YannT: mais sur un contest de 10 jours, si t'es pas bien ranké c'est que t'es buggué
YannT: genre pas des petits détails, des gros bugs
YannT: (en fin de contest de 4 semaines, ou si t'es dans le top, c'est différent après)
leojean890: d'ailleurs wtf j'ai perdu 40 places en 5min mdr
YannT: grosse variance dans le ranking = indicateur de bug aussi
leojean890: ah oui 11 défaites en 5 min:P
leojean890: je comprends xd
YannT: (t'as un truc qui te fait perdre des games)
YannT: avec un algo *très* simple je suis mieux ranké que toi, et j'ai encore trouvé des bugs là
YannT: (du genre je switchais pas, jamais)
Razielwar: ya pas mal d'aléatoire dans le jeu, ya certains plateaux qu'il faudrait virer car aucune stratégie n'est gagnante et du coup il faut adopter celle de la majorité pour perdre le moins de parties
leojean890: quand je regarde mes loses je vois que mon bot se fait souvent manger
leojean890: YannT
YannT: la vérité c'est que si t'as pas de bug, ton ranking va être beaucoup plus stable que si t'en a
Razielwar: genre les partie ou on commence collé
leojean890: et souvent en fin de partie je truve moins vite
BigUP: je ne sais pas si de nouveaux plateaux sont apparau en cours de route ?
YannT: donc la variance, c'est indicateur de bug si ça dépasse une amplitude acceptable
leojean890: c'est ptet ma stratégie qui est limite
leojean890: aussi
Razielwar: moi il me semble qu'il y en a eu de nouveaux en tout cas il y en a sacrément
leojean890: genre si mes solutions face aux problèmes ne sont pas très bonnes par ex
leojean890: YannT ouais t'as expliqué ta strat elle est assez simplemais semble efficace je devrais essayer:p
leojean890: Razielwar gg pour légende !
BigUP: J'ai ete supe rregulier a chaque push jusqu'au dimanche apres midi ou mon IA s'est mise a avoir des classements totalement instables
Razielwar: après yannt a raison, un bug ça a vite fait de te faire baisser dans le classement et de rendre ton classement aleatoire selon si t'as la chance de pas trop le rencontrer sur un run ou pas
leojean890: ouais
YannT: franchement, si t'es pas (grand) minimum dans le top100, t'es pas sur des histoires de strat
YannT: t'es sur des bases
YannT: tu fais pas bien ce que tu cherches à faire
leojean890: bah honnêtement ma fonction d'éval contient pas mal de magic numbers
Fangel: ça YannT c est relatif et appplicable à tous les niveaux :)
Razielwar: merci leojean ^^
leojean890: mis à l'arrache
leojean890: YannT toné val est compliquée ?
leojean890: ton éval
YannT: non du tout
leojean890: le score ?:P
leojean890: genre tu fais des BFS
leojean890: tu as dit
leojean890: premier pac, BFS, tu optimises
YannT: j'ai pas de simu, j'ai une eval basique, je suis mieux classé que toi, et j'ai pris 50 places en corrigeant un vieux bug :)
leojean890: puis second
leojean890: mais ça semble mieux que mes heuristiques et ma pseudo simu en réflexe sur 1 tour
Razielwar: la pseudo simu sur 1 tour ça marche bien :p
leojean890: tu évalues sur quoi YannT ?
leojean890: juste le sore ?
leojean890: score
leojean890: la distance entre les pacs ?
leojean890: la distance aux proches pellets ?
leojean890: moi c'est un peu ça
leojean890: et gestion de l'adv
YannT: tu prend un replay, tu regardes si tu vois un comportement qui te plait pas, et tu deep dive pour chercher pourquoi il le fait, et tu vas trouver des bugs ;)
leojean890: tenter de deviner sa position
Fangel: moi je traite les pac dans l ordre betement. J évalue le score, la trajectoire, le danger et la distance au plus proche pour départager
leojean890: j'ai changé 50 fous mes magic numbers
leojean890: pour 50 submits sur les 4 derniers jours:p
YannT: leojean890 au risque de me repeter à ton niveau de ranking t'es pas sur du tuning de magic numbers là
YannT: ça c'est valable dans le top
Fangel: là je suis d accord avec YannT
Fangel: t as des bugs à corriger avant ou alors des features à rajouter
leojean890: score, trajectiore, danger, distance
YannT: non, cherche les bugs :)
Fangel: yes sir. trajectoire sur 10 tours en python je suis assez fier :)
leojean890: moi je suis pas sur 10 tours mais reflexe déjà :s
Fangel: ah ben ça c est score :)
leojean890: et distance
Fangel: c est pas trajectoire
leojean890: ouais
leojean890: des trucs du genre
leojean890: mais déjà question numéro 1, ais-je bien réfléchi au pbm ?
YannT: t'es un humain malin, si tu regardes un replay tu vas voir quand ton bot "joue mal"
Zorg1: ouaip pareil j'ai vraiment des bugs idiots ...
YannT: à partir de là, analyse pourquoi ton bot prend la mauvaise décision
YannT: et corrige le bug :p
YannT: et sii tu vois que ton bot "pouvait pas savoir", ça indique une feature à implémenter
leojean890: ouais je vois
savitar: hello qqn peut me dire comment marche le batch run? (s'il marche)
leojean890: surtout en late game il va aux "unseenPlaces"
leojean890: mais le tableau reste grand
leojean890: il va oùest déjà allé l'ennemi
leojean890: et l'ennemi me double
leojean890: très très fréquent
leojean890: 2eme cas : l'ennemi me mange, très très fréquent
leojean890: mais dans l'idée t'as raison YannT:P
leojean890: soit un bug soit une feature
leojean890: mais parfois je sais pas cmt faire aussi:P
leojean890: j'utilise pas switch du tout au fait
YannT: je t'ai dis :) regarde ce que toi tu jouerais en tant que player humain intelligent, et regarde pourquoi ton bot joue un truc idiot à la place
leojean890: je fuis si nécessaire, je tente de localiser l'ennemi
YannT: sur un replay sur un cas précis, deep dive
leojean890: imagine le cas où l'ennemi me tue dans un coin
Fangel: écoute YannT, moi ça fait 3h que je regarde le même coup de la même partie :)
leojean890: ma stratégie c'était de le localiser via du spreading
leojean890: e, gros N positions avec N croissant avec les tours
leojean890: j'élague mon champs de vision vu que je le vos pas
leojean890: vois
leojean890: mais je le dis honnêtement, mes trucs sont pas assez carrés
leojean890: Fangel ouais regarder pendant lgtps j'approuve que c bien
leojean890: pour comprendre
leojean890: je l'ai pas mak fait
n1c0de: Je termine le puzzle défibrillateurs à 75%, le "Complete file 2" ne passe pas pouvez-vous m'aider à comprendre svp ?
n1c0de: Mon code : http://chat.codingame.com/pastebin/d8161a15-6194-48fe-9da9-8df4a0230618
leojean890: après y'a un cas sympa aussi :
leojean890: mon mec est en speed
leojean890: il arrive sur un croisement
leojean890: au deuxieme coup
leojean890: pas de pellets devant donc il tourne
Razielwar: n1c0de en plein challenge c chaud là d'aider sur autre chose :)
leojean890: il y avait des pellets un côté sur 2
leojean890: mais il ne savait pas car ne voyait pas
leojean890: donc tourne du mauvais
leojean890: ça fait des tours de perdus
leojean890: impossible d'anticiper ca
Zorg1: n1code : tu transforme des degrés en radian en multipliant par pi ?
n1c0de: Merci quand même Razielwar
towzeur: 360deg = 2pi rad
n1c0de: @Zorg1 ah non c'est en divisant par pi
BigUP: pas vu de convertion en radian ...
YannT: il donne la formule dans l'enoncé non?
YannT: de mémoire
leojean890: n1c0de tu veux pas faire le contest ?:p
Fangel: Zorg1 tu fais *pi/180
Zorg1: fangel : moi je sais, mais pas n1c0de
Zorg1: je voulais qu'il réflechisse
Zorg1: puisque son problème vient de là (je pense)
n1c0de: Zorg1 je tournais à la dérision mais en effet c'était ça le problème
n1c0de: leojean890 c'est quoi le contest ?
leojean890: spring-challenge-2020
leojean890: on est 4800 qui avons soumis un code
leojean890: viens participer:)
leojean890: c'est de la bataille de pacman
leojean890: récupérer des pellets le plus vite possible
leojean890: et bastons de pacman qui peuvent se manger !
n1c0de: Merci pour l'invitation :)
leojean890: ur welcome, a+ dans l'arène :P
leojean890: et si t'aimes bien y'a plein de sujets du genre
thoip: C'est un peu juste il reste un peu plus de 2 jours.
leojean890: dans la section mltiplaayer du site
leojean890: multiplayer
leojean890: thoip le jeu sera encore dispo après en multi
leojean890: ils l'ont dit
leojean890: que les jeux qui sont d'eux seront dispo
leojean890: quand c'est un challenge créé par d'autes c moins évident
leojean890: et nos IAs sont directement mises dans l'arène
n1c0de: Ah d'accord, c'est la première fois que je participe, c'est juste pour le fun et ça me fera progresser comme ça. :)
leojean890: ouais c fun:)
leojean890: genre UTC c'est amadeus et il a fallu des mois pour qu'il soit dispo
leojean890: n1c0de si t'aimes bien tu continues à l'améliorer en multi !
n1c0de: et comme ça on le balance sur un serveur pour s'amuser tous ensemble ? c'est ton idée ?
n1c0de: et comme ça on le balance sur un serveur pour s'amuser tous ensemble ? c'est ton idée ?
leojean890: exact tu envoies ta solution perso dans l'arène
leojean890: t'as des replays
n1c0de: ah d'accord j'avais mal comprsi
egaetan: et on s'amuse
leojean890: et tu px debuguer
Grillaume: UTC ?
egaetan: et pleurer
leojean890: UTG pardon
leojean890: pleurer si légende non-ateinte:p
leojean890: atteinte
Grillaume: Ah!
Escdemon: Yo ! Comment on affiche un message sur nos pac ?
egaetan: entre la finde la commande et le |
Escdemon: avec des quotes j'imangine ?
egaetan: MOVE 1 1 1 Miam|MOVE 2 1 1 Boum
Escdemon: Merci :)
egaetan: sans quotes
Escdemon: Même pas dac
Razielwar: Miam boum très bon egaetan ^^
leojean890: faudrait que j'autorise mon mec à ne bouger que d'un tour quand speed
Escdemon: C'est quoi la start pour gagner des places ? (je suis à la bourre sur le challenge ^^)
leojean890: car là il sait pas faire
leojean890: bouger que d'une case
Razielwar: aller chopper les super pellets
egaetan: Escdemon tu en es où ?
Escdemon: Mes pac foncent vers le big pellet le plus proche ou le pellet s'il n'y a plus de gros
Escdemon: Et ils savent utilier le speed ! maintenant !
Escdemon: :D
Razielwar: t'es quelle league Escdemon?
Escdemon: Bronze
Escdemon: Je vais essayer de faire monter l'INSA dans le classement Razielwar !
Razielwar: si tu utilises speed à fond ça devrait atteindre argent si tu gères tous les pellets
Razielwar: yes Escdemon INSA power! :p
Escdemon: Non ça bloc parce que soit ils se font kill soit ils mongolise sur le meme pellet
Razielwar: tous les pacs pardon
Escdemon: Ils faut pas qu'ils aillent sur les mêmes pellet deja je pense
Razielwar: ah oui il te faut une petite eval de séparation pour gérer ça
Escdemon: J'ai pas mal d'idée mais je sais pas ce qui sera efficace rapidement
egaetan: un bfs par pacman
Razielwar: rapidement t'as un bfs
egaetan: ça marche bien
egaetan: et tu geres les collisions à pas cher
Escdemon: pour trouver un chemin ou tu récoltes le plus de points ?
Razielwar: exactement
Escdemon: okay
Escdemon: merci
Razielwar: là tu devrais vite monter
Escdemon: je m'y mets
Escdemon: Je pusherai ça demain !
Escdemon: et les start aggressive ça peut marcher ?
Escdemon: strat*
egaetan: i lfaut tracker les pacmans de l'adversaire
egaetan: ça prend plus de temps à coder
leojean890: faudrait que n'élague sur le score aussi;p
leojean890: j'élague
Razielwar: ouais le tracking c assez chaud, moi je suis pas trop satisfait...
Razielwar: ooc ct plus simple
Escdemon: Je vais voir, pas sur que j'ai le temps de deviner ou peuvent etre les ennemis
leojean890: genre les incohérences, élaguer si différences entre théorie et pratique
Razielwar: franchement c pas ce qui fait gagner le plus
Razielwar: je suis passé légende et j'ai vu que j'avais débranché par erreur mon tracking :p
leojean890: si pellet non-présent sûr et il gagne un point j'élague !
Escdemon: xD okay
Escdemon: Ya pas besoin de tracking pour passer légende donc
Escdemon: Je le fais pas ^^
Razielwar: bah non ^^
Escdemon: Thales est en tête !
Razielwar: déjà si tu répartis bien tes pacs et que tu mets bien à jour ta maps de pellets qui restent c'est bien parti
Escdemon: bien ouej Razielwar
Razielwar: ouais on va essayer de gagner, peut être que je pourrai retourner au boulot comme ça :)
Escdemon: Je vais coder ça d'ici demain soir
Escdemon: lol
Razielwar: d'ailleurs si vous pouviez tous reprendre l'avion pour vous déplacer ce serait cool xD
Escdemon: En ce moment il faut une bonne raison pour prendre l'avion dsl ^^
leojean890: autre mauvais cas dans mes replays : mon mec va vers un bigpellet, il voit un adversaire plus proche donc change de cible
leojean890: puis ne voit plus 'adversaire donc revient
leojean890: perd des tours en somme
leojean890: détection ?!;P
leojean890: tracking
leojean890: important
egaetan: reste concentré sur le big pellet ?
leojean890: il change de cible vu que l'adversaire y va
leojean890: et est entre le pellet et moi
leojean890: toi tu restes dessus quand mêm ?
leojean890: ou tu bouges
leojean890: mais si tu décides de bouger il faut rester dans son idée
S1L3nCe: Si t'es sur qu'il est perdu ignore le juste dans les tours d'après sinon
leojean890: ouais
leojean890: bah ça c'est un manque de subtilité de mon code actuel, vu qu'il voit plus l'adversaire il revient vers le pellet
S1L3nCe: Idem, faudrait que j'ajoute un malus sur les demi tour histoire qu'ils le fassent que si c'est vraiment nécessaire
BigUP: leojean890, garde la position de l'adversaire au moins 3 tours
leojean890: je devrais la garder avec une heuristique
leojean890: guider
BigUP: (ou un systeme du genre)
leojean890: bah j'ai déjà un truc par spread
leojean890: + elagage selon la vision
leojean890: mais je le considère pas avec les big pell
leojean890: c'est l'occas de modifier ça
leojean890: le boss c'est Npi2Loup ?:P
leojean890: ou wala ?
Npi2Loup: Heu ? comment ?
leojean890: le bss gold
leojean890: boss
leojean890: est en java
leojean890: et c'est qqn qui étai 15eme
leojean890: était
leojean890: à 18h
Npi2Loup: C'est pas un code de CodinGame ?
leojean890: non
leojean890: ils prennent une ia et la dupliquent
Npi2Loup: ah ca c'est rigolo :)
leojean890: c'est peut être toi
leojean890: :p
Zorg1: c'est plus simple pour eux aussi ;-)
leojean890: ouais sympa le concept
Npi2Loup: Je confirme, c'est bien mon IA :) le boss a exactement le même comportement
leojean890: ah nice:P t'auras appris un truc sympa today :P
Zorg1: aller je push, normalement je reviens à la 200e place :(
leojean890: t'étais vers 88 global toi non ?:P
Zorg1: ouaip
Zorg1: voire 40 en début de soirée
leojean890: push avec correction?;P
leojean890: 40 global c good
Zorg1: avec une nouvelle feature
Zorg1: à débu
leojean890: pk ça baisserait ?:P
leojean890: ah oui ok
leojean890: donc risques de bugs
leojean890: autres morts connes, je lance speed au lieu de sauver ma peau mdr
leojean890: if speed available, launch it
yamo: bon. Je suis coincé au milieu de gold.
Razielwar: ça c'est pas toujours évident car parfois ça retarde que d'un coup la mort en fait, ou alors faut te transformer enplus fort que l'autre comme ça il se fait bouffer en te sautant dessus. je l'avais fait mais débranché car justement à un certain niveau personne prend le risque de te sauter dessus si t'as ton abilité
leojean890: yamo same:p
BlitzProg: Si notre ability cooldown est de 1, ça veut dire qu'on peut lancer une compétence? vu l'ordre des actions pour un tour de jeu
Razielwar: non 0
Razielwar: elle va de 9 à 0
leojean890: ouais je vois
leojean890: j'ai pas de switch
leojean890: jsais pas si je vais en remettre:p
Razielwar: moi je l'ai quand meme pour me proteger dans certain cas ou sortir de blocage
leojean890: ouais je viens justemetn de voir un cas om je me fais enfermer dans un cul de sac et manger mdr
leojean890: où*
leojean890: dans une map avec des pellets au centre-bas
leojean890: sinon ma répartition des pac n'est pas opti non plus
leojean890: l'un d'entre eux va préférer aller où il n'y a pas de pellet car l'autre est trop proche dans l'autre sens
leojean890: alors qu'ils auraient pu prendre 2 chemins diff même si je me rapproche bcp de lui
leojean890: mes pbms restants sont durs à tackle :P
leojean890: hop insufficient passe légende, manifestement il n'a pas été comme son nom l'indique :P
BlitzProg: J'ai été trop occupé cette semaine donc je commence à peine. Un conseil du coup pour grimper gold au moins?
leojean890: optimiser le farm :P
leojean890: et la défense
BlitzProg: un simulateur a-t-il un intérêt dans ce jeu
leojean890: ne pas mourir !
leojean890: certains en font ou non et peuvent être bien classés quand même
BlitzProg: (bfs/bs
leojean890: certains font que des dfs sur leurs pacs indépendamment
Razielwar: BlitzProg franchement le simulateur tu peux t'en passer
leojean890: ou des simus aléatoires
Razielwar: moi j'en ai fait un, je l'utilise mais bon pas possible de faire en profondeur donc peu d'intéret
thoip: tu as 2 jours. alors un simulateur tu n'auras pas le temps.
leojean890: par contre faire des bfs ou dfs c'est important :P
BlitzProg: "pas le temps", mais c'est relativement simple à construire pour ce jeu
Razielwar: la base ^^
leojean890: c'est pas le pire en effet:p
BlitzProg: bon, je vais tester un beam search alors
Razielwar: la simu est pas compliqué quoique les collisions ça m'a pas mal piqué les yeux un moment :)
leojean890: fais gaffe le beam search avec le facteur de branchement + fog of war
Razielwar: le fog of war ça tue toutes les simu, ils en mettent à chaque fois en ce moment
Razielwar: après ça permet de laisser sa chance à tout le monde avec en plus une disparité de langage
leojean890: bonne nuit :P
Razielwar: bn
Zakaoai: ça y est mon code remonte les rang :D
n1c0de: j'ai posté mon premier code qui est en train de monter les rangs :)
Zakaoai: première soumission du challenge ?
Razielwar: gg n1c0de
Zakaoai: Tu va vite up le rang un algo random passe bronze sans soucis
n1c0de: Génial j'ai terminé 1er :)
R4N4R4M4: gg n1c0de
n1c0de: Merci à vous de m'avoir invité, je n'ausais pas démarrer le challenge
Razielwar: oui le rang bronze est simple à atteindre
R4N4R4M4: faut se lancer, et c'est en codant qu'on avance
Zakaoai: bon passé de 300 a 67 gold c'est pas mal
R4N4R4M4: c'est un bel exploit même
Zakaoai: Maintenant c'est passé les autre pour devenir une légende :D
R4N4R4M4: Le top 100 est vraiment difficile à atteindre en Gold, les 270 derniers ont des stratégies différentes et bloquent la montée
Zakaoai: Bah franchement j'ai réussi ma soumission est partie de 370 jusqu'à 70 donc bon ma stratégie doit bien s'adapter
R4N4R4M4: Oui, mais ne relance surtout pas
R4N4R4M4: Mon code top 20 de ce matin, je l'ai relancé toute l'après midi, il bloquait entre 100 et 200. J'ai rejoint ma place ce soir
Zakaoai: Bah là c'est ce que je pense oaip laissé tournée jusqu'à demain en début d'aprés midi mais tout en préparant le code suivant
R4N4R4M4: une fois dans le top 100 c'est plus facile, les bots sont plus "propres" :D
R4N4R4M4: en fait ils font attention aux collisions
Zakaoai: Moi faut juste que je gère quelques cas de suicide
R4N4R4M4: oui voilà faut pas se précipiter et attendre d'avoir une version meilleure
R4N4R4M4: C'est fou le nombre de cas qu'il y a dans ce jeu
R4N4R4M4: Ca vaudrait le coup de simuler...
Zakaoai: Bah j'ai 2 choses, corriger les comportements qui me semble dérangeant car pas pris en compte comme utilisé un buff a 2 case d'un énemie plus fort que moi
Zakaoai: Soit implém la simulation sur un ou 2 tours selons le temps que ça peut prendre
R4N4R4M4: La simu ça peut être pas mal mais faut une bonne éval derrière
Zakaoai: Pour le moment j'intègre pas trop la prédiction énemie quand je les voit je me dit juste que c'est un danger ou une jolie cible mais je me dit pas qu'ils ont prit certaines palet
R4N4R4M4: si tu mémorises leur dernière position, c'est pas grand chose de les faire bouger dans certains cas
R4N4R4M4: je regarde si j'avais connaissance de sa dernière position, et si c'est le cas, je regarde si il a un meilleur move à faire : il peut power alors speed, il peut prendre 1 seul chemin de pastille alors il le prend
R4N4R4M4: et si je trouve pas d'action certaine, je le laisse dans la position mémorisée
R4N4R4M4: et ça me sert de spread pour calculer les zones d'influence
Zakaoai: Pour le moment je les stock juste quand je les voit et j'en fait rien
Zakaoai: enfin si il entre dans le calcul du score mais sans plus
R4N4R4M4: c'est pas évident de les suivre les ennemis, je serais curieux de voir jusqu'où est allé le top sur ce point
Zakaoai: Si je met en place la simulation je vais certainements rajouter un algo qui va voir les différentes possibilité
Zakaoai: Mais pour la zone d'influence je sais pas trop comment m'en servir avec les enemies justements vu qu'on ne sais pas ou ils sont on ne peut imaginer que des scenarios
R4N4R4M4: Tu peux imaginer qu'ils font speed à chaque cooldown et avec ça tu peux avoir la distance qu'ils ont pu parcourir
BlitzProg: Mon objectif est d'au moins arriver en gold. Est ce qu'un simulateur avec une eval simple fera l'affaire?
Zakaoai: Il y a quand meme un truc qu'il faut que j'essaye de mettre en place c'est de check entre 2 fois ou je voit le même énemie si le chemin qu'il a prit est unique et si par conséquent je suis sur que les palet ont déjà été prise
R4N4R4M4: Pas besoin de simu pour Gold BlitzProg
R4N4R4M4: Si t'as un bon ramassage de pastille c'est suffisant
R4N4R4M4: et traiter les cas de collisions courants
Zakaoai: Justement oaip traiter le speed et tout ça. Il y a un truc que j'ai pas encore mémorisé et qui pourtant est tout le temps vrai c'est la position initial énemie
BlitzProg: Mmh je formule ma question autrement, est ce qu'avec un simulateur ça suffira? ou faut vraiment une bonne eval pour battre le boss silver?
R4N4R4M4: au départ tu as toutes les infos par symétrie
Zakaoai: Oaip c'est ça juste la symétrie a appliquer
R4N4R4M4: Si t'as pas d'éval, ton simulateur va pas t'être très utile BlitzProg
BlitzProg: ben point, distance avec pastille, voronoi, etc
R4N4R4M4: Oui, l'éval est à mon avis plus importante que la simu
R4N4R4M4: que tu évalues à 1 tour ou N tours, si ton éval est pas bonne ça ira pas
BlitzProg: C'est un peu pour ça que je demande. J'y arriverai pas en procédural. J'ai passé déjà mes soirées, je n'arrive pas à battre le boss bronze malgré mon usine à gaz.
Zakaoai: Ce que tu appel eval c'est tout les paramètres que tu souhaite prendre en compte pour comparer toute les situations ?
R4N4R4M4: l'éval sur pastille est suffisante pour passer le Boss Silver (c'est ce que j'ai)
R4N4R4M4: Par contre le boss Gold, je pense qu'il faut une eval sur chemin
R4N4R4M4: enfin je me comprends :D
Zakaoai: ;) c'est l'essentiel
R4N4R4M4: oui, tu notes les 4 directions et tu prends la meilleure note
R4N4R4M4: ou tu notes toutes les cases et tu vas vers la meilleure
BlitzProg: Ouaip, ok
R4N4R4M4: enfin tu fais comme tu veux, mais tu note quoi
R4N4R4M4: après t'as plein de constantes à régler, mais bon c'est le game :D
BlitzProg: si seulement c'était aussi prévisible que csc ce truc :')
R4N4R4M4: C'est vrai que c'est tordu comme jeu
Zakaoai: ah oui non moi je fait sur un chemin mais je pensais peu être rajouter plus de paramètre justement en simulant quel est la liste de mouvement de tout les pacs qui fera gagner le plus en termes de couvertures / points à gagner tout ça
R4N4R4M4: BlitzProg, en 9 faut pas lâcher l'affaire, il faut la prendre la pastille :D https://www.codingame.com/share-replay/464971635
R4N4R4M4: tu attends le cooldown et tu morphes
R4N4R4M4: y a d'autres stratégies en gold mais pour silver tu vas bouffer tout le monde avec ça
R4N4R4M4: tu vois l'adversaire donc facile de savoir en quoi tu mutes
AntiP0w: Salut à tous, à tout hasard, est-ce que vous savez comment on restaure la version du code soumise dans l'IDE ? :)
R4N4R4M4: oui, il y a un bouton en haut à droite
R4N4R4M4: une flèche qui tourne dans le sens des aiguilles d'une montre
R4N4R4M4: au-dessus du code
R4N4R4M4: enfin, si j'ai bien compris la question
AntiP0w: C'est le code d'exemple :p
BlitzProg: R4N4R4M4 j'ai l'impression que ce sont des centaines de ligne de code qu'il faut rajouter à chaque fois pour gérer tous les cas de figure en procédural, pour ça que j'ai remis à 0
AntiP0w: Mais merci quand même :)
R4N4R4M4: AntiP0w, si tu veux restaurer un code que tu as soumis (dans l'arène) tu peux
R4N4R4M4: Tu vas dans Historique
BlitzProg: ^
BlitzProg: L'historique contient tout ce que t'as push
R4N4R4M4: tu choisis l'une des versions (il les garde toutes)
R4N4R4M4: et tu cliques sur "ENVOYER VERS L'IDE"
R4N4R4M4: mais c'était pas ta question
AntiP0w: J'avais pas vu !! Merci à vous ^
AntiP0w: Si c'est ce que je voulais dire, je msuis peut-être mal exprimé
BlitzProg: ué moi j'avais compris restaurer à partir d'un "lancer mon code" antérieur :')
AntiP0w: Oui, autant pour moi :sweat_smile:
R4N4R4M4: ah c'est moi qui ai mal compris, j'aurais dû lire "récupérer dans l'IDE", et j'avais compris "soumise dans l'IDE"
BlitzProg: c'est la faute à 3h du mat
R4N4R4M4: ah déjà ?
R4N4R4M4: je suis décalé, me suis couché à 5h ce matin (enfin hier)
R4N4R4M4: c'est la bonne heure pour coder :D
BlitzProg: yes
BlitzProg: c'est le week end
R4N4R4M4: ça va j'étais en congés toutes la semaine
R4N4R4M4: par contre lundi matin ça va être chaud la reprise
BlitzProg: bah moi non, pour ça que je suis super en retard
BlitzProg: mais d'habitude j'arrive bien à sortir de bronze avec une IA en carton fait à la vavite, là je suis un peu inquiet
R4N4R4M4: Y a du monde
R4N4R4M4: J'ai regardé mon code de passage Silver
R4N4R4M4: Il faut gérer le SPEED
R4N4R4M4: Il faut gérer les SWITCH
R4N4R4M4: Il faut bien ramasser les pastilles
Zakaoai: J'ai commencer à gerer le switch j'était déjà silver :p
R4N4R4M4: Je crois que dans le top, ils ont même pas besoin du switch, ils zigzaguent sur la map :D
R4N4R4M4: donc soit t'as un bon ramassage de type Floyd Warshall, soit tu prends l'avantage sur d'autres trucs, le switch en est un
R4N4R4M4: demain j'attaque floyd warshall d'ailleuers
R4N4R4M4: mais j'ai aucune idée de comment je vais intégrer ça dans mon code
BlitzProg: C'est pour ça que je fais une "simu", au moins pour avoir un truc qui sait bien track le status du jeu
Zakaoai: euh floyd était trop lent chez moi
R4N4R4M4: ah oui ça dépend des langages
R4N4R4M4: Chez moi c'est rarement lent en C :D
R4N4R4M4: je me tate pour simplifier le graphe ou si je garde toutes les cases
Zakaoai: j'ai simplifié au cases ou tu peut bouger
R4N4R4M4: et du coup tu choisis quelle branche est la meilleure c'est ça ?
Zakaoai: Nope pour le coup c'est au premier qui fait le chemin
Zakaoai: Faudrait peut être que je fasse ça. Que je compare les 2 pour garder le meilleur
R4N4R4M4: Floyd ça sert à ça normalement, à choisir le meilleur
Zakaoai: ça te permet surtout d'avoir le plus court non ?
R4N4R4M4: ou le plus long
R4N4R4M4: Je l'ai pas encore fait donc je sais pas trop comment ça marche
R4N4R4M4: J'ai vu que ça calcule toutes les distances entre tous les points
R4N4R4M4: et que ça optimise le caldul
R4N4R4M4: *c
Zakaoai: ^^' Oui c'est ce que j'ai compris après moi en JS quand j'ai voulu le tenté tours 0 ça dépassé la secondes du coup j'ai fait autrement
R4N4R4M4: Je m'y mettrai demain. Le time complexity est de N^3 c'est pour ça que c'est long
R4N4R4M4: J'ai intérêt à simplifier le graphe du cou
bouajajais: est-ce que les règles changent dans les ligues silver et + ?
R4N4R4M4: A partir de silver il y a juste un petit changement dans les inputs
R4N4R4M4: on voit les adversaires morts avec un type = "DEAD"
R4N4R4M4: avant on ne les recevait pas