Chat:Fr/2020-06-04
257832: Yo tout l'monde ! Automaton2000, AutomatonNN !
AutomatonNN: mig bannarmon
Automaton2000: java je maitrise à peu près la même chose
257832: o/
BlaiseEbuth: Comme un jeudi
VirtualAtom: Salut ! AutomatonNN et Automaton2000
AutomatonNN: oui je suis tout seul avec mon marcher :p
Automaton2000: tant que je suis passé de silver à legend
VirtualAtom: content pour toi, Automaton2000
Automaton2000: en vrai c'est un peu galère
VirtualAtom: je n'en doute pas, Automaton2000
Automaton2000: c'est la même que celle de la classe
ReborN: Bonjour à vous
BlaiseEbuth: o/
leojean890: JBM ouais c'est ces critères puis une optim de magic numbers :P
BlaiseEbuth: Fix ta je réponds 7h plus tard.
leojean890: BigUP ouais pour l'AG dans csb moi qui suis débutant dans ces sujets je vais re-jeter un cop d'oeil aux PMs :P
leojean890: et ouais t'as vu blaise xD
leojean890: d'ailleurs gg pour ton #6 dans tvc xd
BlaiseEbuth: T'as plus qu'à espérer qu'ils iront lire les logs quand ils se connecteront... C'est plutôt aléatoire comme moyen de communication.
leojean890: ouais ça l'est en même tps:P
BlaiseEbuth: Je suis juste le sixième à avoir pris en compte les nouveaux inputs... Pour mon print(2) qui fait 6ème... :grin:
leojean890: ah ouais j'ai pas pris en compte ça moi xD
BlaiseEbuth: Il me faut des logs de ce sur quoi je clique... J'ai pas souvenir d'avoir lancé ce morceau, mais la lecture auto est désactivée... Je veux une preuve que c'est moi qui ai fait ça ! :rage:
leojean890: pris en compte les nouveaux inputs => ah ouais ils sont pas mentionnés ici mais dans le référée only xD
BlaiseEbuth: Bah non, l'énoncé est à jour.
leojean890: ah non dans le code d'exemple
leojean890: Just read the sample code. You can figure this out.
leojean890: faut que je le recharge alors :P
BlaiseEbuth: Ouai aussi...
BlaiseEbuth: Tu m'es passé devant au général tiens, gg. Ca m'apprendra à sauter deux contests... Faut que je remonte maintenant...
leojean890: t'étais classé combien au mieux ?
BlaiseEbuth: ~200
leojean890: ouais t'avais ptet pas la motiv pour ces contests
leojean890: moi j'aimais bien ces sujets
BlaiseEbuth: Moi aussi, mais c'était pas le bon moment... Je vais me rattraper sur les multis ^^
leojean890: bah tu peux le récup ton 200 :P
leojean890: après faut choisir des topics qui te plaisent sur le site quoi
leojean890: ah ouais t'avais pas le temps
BlaiseEbuth: Et là je suis sur tvc qui va me rapporter 0 points... :D
leojean890: moi j'avoue je me suis pas mal investi ces temps ci
leojean890: j'ai alterné entre plein de sujets
BlaiseEbuth: Fais gaffe, t'es là tellemnt souvent que les gens vont commencer à te prendre pour un bot...
leojean890: genre imagine j'étais #700 avant d'avoir les points d'ooc et là je suis 181 :P
leojean890: je suis trop bavard pour un bot xD
leojean890: bah là je suis chez mes parents sans ma copine mais je faisais un peu moins de CG le mois dernier :P
leojean890: donc 500 places en moins de 2 mois :P
BlaiseEbuth: :clap:
leojean890: mais bon ça va ralentir voir se stopper à un moment car les dernières sont hard à avoir :P
leojean890: genre faut faire des top etc :P
leojean890: moi mes classements unitaires sont pas ouf ouf
Alshock: coucou les enfants
BlaiseEbuth: Non plus, à part tron...
BlaiseEbuth: o/
Alshock: \o levé avant l'aurore, j'me sens tout chose :P
leojean890: faut tryhard encore plus pour les fire monter :P
leojean890: Alshock hello
BlaiseEbuth: Aurore c'est ta copine ?
leojean890: genre par ex essayer de passer légende dans les multis
leojean890: vu que là j'ai plein de gold et silver..
Alshock: @BlaiseEbuth ma némésis. Je suis un amant de la belle pénombre
Alshock: @leojean890 Tu sais quoi ? j'ai pas fait un seul putain de légende ! Serait temps que je me focus
leojean890: Alshock pareil
BlaiseEbuth: Ouai faudrait que je me replonge dedans... Genre HS je suis deuxième silver depuis genre un an avec un gros bug de suicide...
leojean890: comme quoi on peut être #181 au général sans légende
Alshock: avant ça j'adopte ta technique, pas mettre tous mes oeufs dans le même panier
leojean890: ça ferait gagner pas mal de CP et d'xp
leojean890: bah je fais qu'alterner les sujets au lieu de focus xD
leojean890: mais les dernières marches sont plus hard
leojean890: pour passer légende
leojean890: sera temps de m'y mettre quand même !:P
leojean890: en optim je suis passé 116eme c pas mal
Alshock: tiens, leojean890 puisque je t'ai sous la main... (et que ça va donner de l'urticaire à Blaise) En python une ligne ultra-redondante comme ça : min(a for a, b in (a, b for a, b in tuple_lst if condition(a, b))) c'est juste mal fait ou c'est comme ça qu'il faut faire et c'est moche ?
leojean890: et j'ai jamais fait de sujets avec physique avant hier soir (ML, SR, PCR, BR, MM..) et enfin commencé csb et il s'avère que c'est bidon de passer silver
Alshock: avec des parenthès pour le tuple retourné par le for intérieur
leojean890: sans -3vel pour silver
Alshock: oh tu t'y es mis hier soir ? GG WP
leojean890: ouais silver c'est genre 5 lignes de code hors input et print
Alshock: Moi j'ai réussi mars lander après l'avoir laissé traîner pendant des mois, et j'ai une physique buguée pour CSB, mais je sais pas où
Alshock: c'est même 2 lignes pour passer gold quand tu as joué avant qu'ils ne fassent passer tout le monde par erreur :P
leojean890: des mini heuristiques
leojean890: faut que j'ajoute un -3vel pour gold :P
leojean890: bah là je suis 16k/22k silver en 5 lignes simples d'hier soir
Alshock: 22k silver
leojean890: pour tryhard y'a le -3vel et les PM à implémenter
Alshock: mais bordel ce multi qui n'a aucun sens
leojean890: ouais énorme hein mdr
leojean890: aucun sens car simple le début
leojean890: mais c'estt le tuto c pour ça
Alshock: yep
leojean890: donc tu me demandes min(a for a, b in (a, b for a, b in tuple_lst if condition(a, b)))
Alshock: mais c'est un peu dommage aussi
leojean890: j'ai jamais codé avec des imbrications comme ça
leojean890: faudraitque je teste
Alshock: ouais genre y a pas une formulation a base de min(a for a, b in [...] if cond(a, b)) vraiment c'est impossible ?
BlaiseEbuth: map(min,list)
Alshock: ah l'imbrication c'est ma grande passion, si je te retrouve la ligne de PAC qui fait 15 lignes avec une foultitudes de for if imbriqués je te la sors xD
leojean890: mdr
leojean890: moi j'ai pas un super code style je pense
leojean890: bon, j'retourne à mon TT:s
BlaiseEbuth: Alshock: fix ta lis ma réponse
leojean890: j'pense que blause a raison
leojean890: Blaise
leojean890: pour le map
leojean890: moi je suis pas une référence en python même si je fais que ça quasimet ici
Alshock: mais c'est interdit map maintenant non ?
leojean890: niveau style je veux dire
BlaiseEbuth: Ah ? Par qui ?
Alshock: je croyais que Guido avait dit "faites ça avec mes magnifiques list comprehensions bande de sales mortels
Alshock: et après ça je ferme les guillemets"
Alshock: https://stackoverflow.com/questions/1247486/list-comprehension-vs-map
leojean890: en vrai faudrait que je me relise la doc pour improve mon style de code
Alshock: fuck les pythoneux, map sera très bien
BlaiseEbuth: Bah je sais pas qui est guido, mais personne l'a écouté parce que map est bien présent dans la doc de la dernière version...
Alshock: https://en.wikipedia.org/wiki/Guido_van_Rossum
Alshock: Ah tiens il a démissionné de son titre de dictateur bienveillant à vie en 2018 alors qu'il est même pas mort
leojean890: par ex je devrais + souvent utiliser map ouais
BlaiseEbuth: C'est donc lui le coupable...
pardouin: map c'est bien quand la fonction est buildin genre int, str, etc
VirtualAtom: c'est dingue qu'on en vienne à se prendre la tête pour savoir quelle manière de faire est plus belle ^^. J'utilise plutôt map, je trouve ça plus simple à comprendre que lire la comprehension list
pardouin: map + lambda c'est bof, on fera souvent plutôt une liste en compréhension
Alshock: @VirtualAtom c'est pas la raison d'existence de python ça ?
VirtualAtom: plus je bosse avec, plus j'en ai l'impression
BlaiseEbuth: Python c'est l'équivalent des voitures sans permi pour la prog...
pardouin: c'est surtout filter qu'il faut remplacer par de la compréhension, map est encore très utilisé
VirtualAtom: LOL
Alshock: @BlaiseEbuth et JS c'est des voitures sans permis avec un réacteur d'avion ?
pardouin: guido avait posté un message pour expliquer qu'il voulait se débarasser de lambda, map, filter et reduce, et finalement ils n'ont dégagé que reduce (qui est encore dans itertools) car le reste était plus utile qu'il ne pensait
Alshock: labmda aussi ? .o.
BlaiseEbuth: Nan. Js c'est plus une multipla, ça aurait juste jamais dû exister...
pardouin: oui lambda il voulait s'en débarasser mais pour tout ce qui est clé de tri etc c'st tellement pratique
Alshock: autant les autres je comprends vite fait, la comprehension peut le faire en étant plus générale, mais lambda ?
Alshock: enfin sauf reduce, là la boucle for doit être explicite
VirtualAtom: sans lambda, le code python du boulot exploserait. Plutôt content que ça soit resté ^^
pardouin: reduce ça peut encore servir pour des produits sur des listes ou pour faire des réunions/intersections de plus de deux ensembles mais bon bof, avec un for ça se fait en 2 sec
Alshock: C'est la preuve que vous avez un code IMMOOOOOONDE :P :lenny_face:
BlaiseEbuth: C'est du python, y'avait besoin d'une preuve ? :grin:
Alshock: on mérite tout ce qui nous arrive ! :D
VirtualAtom: je ne dirais pas le contraire ^^. J'en encore jamais vu du code python pour de la GUI + Script + code 3D qui soit propre
pardouin: le gros avantage de python c'est que c'est limite du pseudo code donc très bien pour prototyper et accessible pour du travail en équipe avec des niveaux variés dans l'équipe
Alshock: retire python de la phrase et je plussoie tristement ton message VirtualAtom
Alshock: @pardouin généralement je copie/colle les pseudo-codes de wikipédia et ça run presque
VirtualAtom: en C++ c'est plutôt propre le code pour cette même fonction. Tant que tu sépares bien tes concepts, ça reste gérable
BlaiseEbuth: python+wikipedia...
Alshock: @VirtualAtom oui mais mon C++ est dégueulasse, y a qu'à voir mes suites infinies de #ifdef
VirtualAtom: @Alshock, dans tes headers publics ou dans le header principal inclut partout et jamais vu par le client ?
pardouin: python c'est bien aussi pour les clash of code où on doit faire le plus court possible
pardouin: js est bien aussi pour ça
BlaiseEbuth: ca vaut pas bash, perl ou ruby
Alshock: @VirtualAtom nan dans mes codes C++ de CG, personne n'a eu la chance d'avoir affaire à mes horreur en prod :P
Alshock: Bash c'est horrible, Perl je connais pas... Auriez-vous quelques instants à m'accorder pour parler de notre seigneur Ruby ?
BlaiseEbuth: Alshock son code C++ c'est: string prog="/*du code python*/"; system("python"+prog);
VirtualAtom: @Alshock, les codes CG c'est une terre de non droit, je t'absous des atrocités que tu y commets
VirtualAtom: j'en ai quelque uns de ifdef, mais ils sont planqués dans des modules réutilisables en haut de fichier, je ne les vois jamais
Alshock: @VirtualAtom ah moi c'est toutes mes fonctions graphiques, mes outputs verboses, mes modes auto_play en local, je crois 60% de mon code est en ifdef xD
VirtualAtom: ah ouais... pour cette fonctionnalité, je n'ai qu'un ifdef LOG_INPUT. Ainsi je récupère les données d'un replay avec un code python, qui va me faire l'analyse et les graphiques
VirtualAtom: avec ce symbol, je log tout ce que je reçois en entrée
JBM: l'autre jour je vous demandais comment acceder a un champ de l'outer class
JBM: maintenant je voudrais la meme, mais depuis une classe tierce
dbdr: JBM: pareil?
JBM: j'ai des erreurs de l'espace
dbdr: tu peux paster un exemple?
JBM: des que j'ai remis un code qui compile
dbdr: si c'est une classe tierce, en quoi c'est outer?
JBM: partie utile des classes imbriquees: http://chat.codingame.com/pastebin/1ecfb737-c59b-4828-b703-aec8465367a9
JBM: tentative de "pareil" depuis la classe d'a cote: http://chat.codingame.com/pastebin/a01c35eb-46b7-4e5b-a5df-5ce779b82d8d
JBM: erreur: cannot find symbol // symbol: variable Model // location: variable model of type com.codingame.game.Model.Player
dbdr: dans pareil yavait pas un this?
JBM: j'ai essaye d'en saupoudrer a divers endroits
JBM: y'en a trois legitimes: avant/apres model et Model
dbdr: OuterClassName.this
JBM: c'est le premier que j'avais essaye,mais jme souviens plus de l'erreur
dbdr: Model.random ce serait pour un champ statique
JBM: en plus c'est le 2d lexico, parfait
dbdr: apres oui je suis pas sur
JBM: int nReserved = model.Model.this.random.nextInt(5); -> package model does not exist
dbdr: c'est possible que tu puisses le faire que depuis la classe
dbdr: au pire tu peux definir une methode
JBM: c'est ce que j'etais en train de faire quand t'es arrive
JBM: y'a des ambiguites levables avec des espaces pour les ns resolution?
JBM: http://chat.codingame.com/pastebin/e494a2bc-1111-4870-959c-484a561478e6
dbdr: model.this ça n'a pas de sens
JBM: pas tellement moins que Model.this
JBM: ou qu'accepter un identifiant de type en lieu d'un identifiant de champ
dbdr: en fais, this n'a de sens que dans l'implementation d'une méthode non-statique, et c'est le receiver
dbdr: et oui, Outer.this c'est pas le meme this ;)
JBM: mais j'ai pas de souci a envisager this comme un champ virtuel referencant l'instance
dbdr: c'est un champ implicite
dbdr: model == this, conceptuellement
dbdr: faut voir this comme le parameter implicite d'une fonction (pas méthode)
dbdr: c'est pas un champ
dbdr: le single-dispatch, c'est pas propre conceptuellement
JBM: enfin bon, dtm java en veut pas ca regle le debat
JBM: vivement que je reecrive tout ca dans [langage JVM impopulaire du jours]
dbdr: c'est pas du tout un champ
dbdr: c'est un argument
dbdr: model.m(x) => m(model, x)
JBM: un argument qui peut etre considere comme ayant toutes lesp roprietes d'un champ
JBM: tu veux m'apprendre la POO?
dbdr: non, c'est une reference vers la struct, qui elle contient des champs
dbdr: apparament :D
JBM: de ce que j'en ai parcouru sur SO, Outer.this est mangled par le commpilo en this$0 (en general), accessible par reflexion
JBM: mais je vais pas aller jusque la
dbdr: oui, les inner classes c'est juste du sucre
JBM: pour une fois que j'en utilisais une non statique et que ca avait du sens
JBM: bon jvais juste me declarer un RNG de plus
JBM: et tant pis pour vous si vous etes sensibles au protocole au point que ca fait diverger la reproductibilite
dbdr: tu peux toujours écrire une inner class comme sibling, elle a une reférence vers l'outer, tu lui donnes le nom que tu veux
JBM: sibling dans ce contexte?
dbdr: au meme niveau que l'outer
JBM: j'en fais une inner pour pas avoir a multiplier les fichiers ^^'
dbdr: oui, le lien class/fichier est pas génial non plus
dbdr: ça peut etre une classe statique aussi
dbdr: en fait, tu peux pas avoir un seul RNG, statique?
JBM: un pour le modele, qui gere la reproductibilite des matches et tout ca
JBM: un pour la vue, qui deplace les montagnes entre 2 runs
dbdr: ben deux alors
JBM: ce qui, foncierement, n'empeche effectivement pas d'avoir celui du modele statique
JBM: pour l'instant il est juste champ de Model
JBM: mais la je me retrouve a en avoir besoin d'un pour le protocole
JBM: qui pourrait etre classe un peu n'importe ou
JBM: mais c'est pribablement un peu mieux cote model vu qu'il y a interaction avec le joueur
dbdr: tiens, je fais un mv vers /tmp, et immediatement locate me renvoye plus ce fichier dans les résultats
dbdr: je croyais que c'était tout du cache
dbdr: pe qu'il vérifie l'existence maintenant
Adebureaux: Hello, je suis nouveau et j'ai un soucis avec l'exo "Temperatures". Je ne vois pas comment je peux stocker toutes les valeurs de 't' dans un tableau?
Heliferepo: en C serait par exemple : for(int i = 0; i <= tailledutableau; i++) {
montableau[i] = t;
}
Adebureaux: yes je fais en c aussi, enfaite dans la boucle for il y a un scanf("%d", &t); et quand j'ajoute ma ligne montableau[i] = t; le scanf ne fonctionne pas correctement
Adebureaux: donc les inputs sont plus bonnes
Heliferepo: huuuum attend
Heliferepo: @Adebureaux
Adebureaux: je vais t'envoyer un pastebin de mon exemple
Alshock: si tu copies/colles du code ici ça fera un pastebin automatiquement
VirtualAtom: @Heliferepo, tu as une erreur dans ta condition d'arrêt de la boucle
Alshock: (si le code fait plus de trois lignes environ)
Heliferepo: @VirtualAtom effectivement
Heliferepo: --'
Adebureaux: ça donne ça quand je met str[i] = t; dans ma boucle
Adebureaux: http://chat.codingame.com/pastebin/cb82221f-e294-431e-9db9-196c852ed440
Adebureaux: si je met pas ça le scanf fonctionne bien, par contre quand j'ajoute cette ligne ça stop le scanf j'ai l'impression
Heliferepo: parce que tu dois mettre apres scanf nan?
Adebureaux: j'ai essayé dans les deux cas ça interromp le scanf
Heliferepo: au moment ou tu recupere la valeur 't' est vide
VirtualAtom: remplaces tes trois lignes de boucle par scanf("%i", str + i )
Heliferepo: Déja tu devrais avoir une sorte de truc comme ceci
Heliferepo: http://chat.codingame.com/pastebin/c97dfa8c-5830-4036-b929-fc915501b3f0
VirtualAtom: ou comme Heliferepo vient de poster, ça fait la même chose mais c'est plus simple à comprendre lorsqu'on débute
Heliferepo: et après si tu t'ennuie tu fais des cc avec putchar (je suis maso je crois xD)
VirtualAtom: j'avais pas vu dans ton code posté @Adebureaux, tu alloues un tableau sur la stack de taille n, alors que n n'as pas été initialisé, donc ton tableau est de taille nulle
Adebureaux: ça marche avec scanf("%i", str + i);
Heliferepo: Bien vu @VirtualAtom
Heliferepo: Effectivement ton tableau est censé etre vide :/
Adebureaux: @VitrualAtom effectivement
Adebureaux: je doit init le tableau après avoir donné sa valeur a' n' c'est ça ?
Heliferepo: met ton initialisation de tableau apres le scanf
Adebureaux: okok effectivement
Heliferepo: comme cela il aura recup la valeur de n
Adebureaux: erreur de débutant
Heliferepo: tkt
Heliferepo: tout le monde a deja fait cette erreur x)
VirtualAtom: l'astuce : tu as toujours une taille maximum écrites dans l'énoncée, tu peux t'en servir pour allouer un tableau de taille max sur la stack et ne jamais faire d'allocation
VirtualAtom: *allocation dynamique
Adebureaux: ça marche parfaitement, maintenant que j'ai un tableau avec les valeurs c'est les doigts dans le nez
Adebureaux: @VirtualAtom ouai entre 0 et 9999 donc j'alloue 9999 places ??
Heliferepo: @VirtualAtom Et si t'as pas comme dans les propositions de contribution tu commence a pleurer et utiliser malloc avec de la RNG en priant que ça passe :joy: :clown:
Alshock: tu peux faire ça
Alshock: mais bon la perf sur temperatures c'est un peu overkill
Adebureaux: niveau très basique
Alshock: BTW tu fais du C Adebureaux ?
Alshock: Juste pour être sûr que tu ne sois pas en train de scanf en C++, auquel cas cin est plus approprié
Alshock: oki doki :D Bienvenue au club bdsm de CG alors <3
Heliferepo: Perso je trouve ce serait cool d'avoir de l'asm
Heliferepo: Juste pour le fun pour pouvoir train
Alshock: dites question con, c'est normal qu'un clavier soit bombé ? Gnere si j'appuie sur le milieu ça fait boing boing
Adebureaux: @Amshock merci beaucoup, j'espère progresser avec ce site, ça à l'air vraiment sympa
Zorg1: ok pour de l'asm du 6502
Heliferepo: @Alshock t'as de la chance à être a 42 moi j'ai pas vu venir pour passer la piscine cette année :(
Heliferepo: (J'habite loin de la France)
Adebureaux: je suis inscrit pour la picsine d'aout :)
Adebureaux: c'est pour ça que je train en c
Heliferepo: Je crois que tu n'auras pas le droit a scanf() printf() etc..
Adebureaux: oui j'ai jeté un coup d'oeil à la norme
Heliferepo: Tu passeras pas les méthodes plus arcaiques de unistd
Heliferepo: Genre : size_t ft_strlen(int nb)
Alshock: Je sais pas si je suis sûr pour la chance ^^ En tout cas bonne chance à vous pour réussir à faire ce que vous voulez. Et désolé pour les conditions spéciales de cette année. La piscine est un foyer d'infections en temps normal, alors vous imaginez bien que c'est sacrément compliqué
Adebureaux: tu penses que ça va être compliqué pour nous cette année ?
Heliferepo: Moi je pourrais pas venir
Heliferepo: Sad
Alshock: bah ça va être chiant de pas pouvoir dormir sur place dans paris déjà
Alshock: en plus certains peuvent juste pas venir et certaines piscines ont juste pas été possibles
Heliferepo: En tout cas bonne chance @Adebureaux
Adebureaux: Pour le logement je met de côté pour pouvoir me payer 1 mois en colloque ou autre
Adebureaux: mais je comprend que c'est une galère, ça risque d'être une picsine pas comme les autres
Pacem: ban je bug pas mal pour le puzzle Blood type des conseil ???
Alshock: quel genre de bug ? L'approche théorique ? (je connais pas ce puzzle)
BlaiseEbuth: JBM are you here ?
JBM: t'as trouve un bug dans temperatures?
BlaiseEbuth: :cry:
BlaiseEbuth: Pourquoi j'ai ça en input de début de jeu sur tvc ? 14 50 -2377651667653377000 1 0 0 0
JBM: parce que t'as pas mis a jour ton stub
BlaiseEbuth: Je prends la seed en compte, mais les 4 chiffres apprès ?
BlaiseEbuth: Bah c'est mignon, mais c'est pas indiqué. Même pas dans le stub
JBM: ce serait une erreur, mais elle me surprendrait
BlaiseEbuth: Bah tu vas être surpris du coup
Alshock: on peut changer le stub par langauge ou c'est uniquement avec le stub CG qu'on joue ?
BlaiseEbuth: Ah ? Je suis en c++ et en faisant "remettre à zéro" j'ai pas d'indications
JBM: mais as-tu besoin d'indication
JBM: t'es meme pas cense t'en servir
BlaiseEbuth: Ouai sauf qu'il les lit tes 1 0 0 0...
BlaiseEbuth: c++
Alshock: bah s'il veut rejouer une map avec un autre adversaire ?
Alshock: ah non l'inverse mb
BlaiseEbuth: J'utilises pas le stub tel quel, mais même types (int,int,long long) lu avec un flux.
JBM: mmm en java ca foire aussi
JBM: bon, je crois qu'il va falloir que je sois plus gentil avec les codeurs :(
Alshock: yes ! on va enfin avoir du sexe avec le troll
Alshock: désolé, gentillesse, amour 1968... J'ai glissé chef :P
Zorg1: gentillesse=p0rn ? bizarre ...
Zorg1: j'ai du louper un morceau de la conversation, mais j'ai pas scroll ce coup ci :thinking:
Alshock: ah non je crois que t'as tout
Zorg1: ok je charge ça dans un NN que je vais faire mouliner cette nuit, j'aurais le fin mot de cette affaire
Alshock: tu vas créer skynet overnight
Zorg1: la dernière fois que j'ai essayé il savait que faire des chatons mignons en ASCII art
Zorg1: après aimer les chats c'est pas sain en effet
Alshock: je veux voir ces résultats, à des fins purement scientifiques et analytiques bien entendu
Zorg1: malheureusement j'ai signé un NDA avec un gouvernement quisouhaite conserver l'anonymat
Alshock: "Nettoie Des Androïds" ?
Alshock: j'ai vu pire comme agent de surface
JBM: et hop, un push pour BlaiseEbuth
BlaiseEbuth: Wé \o/
Alshock: "chaud devant"
Alshock: TypeError: '>' not supported between instances of 'function' and 'generator'
Alshock: alors là, je me suis surpassé
Zorg1: c'est du python ?
BlaiseEbuth: La question se pose t'elle...
Alshock: ouais, c'est pas genre un peu à côté du type que je pensais
BlaiseEbuth: Et du coup ? La fonction est plus grande ?
Alshock: ça dépend de l'imbrication du générateur
Zorg1: bah il fait aussi du ruby je crois
Zorg1: tu dois avec les mêmes trucs bizarres
Zorg1: vu que ruby c'est une tentative de merger perl & python :p
Alshock: hum, disons que Ruby te chie plus clairement à la gueule
Alshock: @Zorg1 j'aurais plutôt dit que Ruby c'est une tentative assez réussi de dire "ah t'as un pseudo code écrit en anglais ? Attends passe moi ça je vais l'interpréter pour toi"
Zorg1: vous me faites marrer avec votre pseudo code, quand j'étudiais le pseudo code c'était du pascal plus ou moins bricolé ;-)
Alshock: Ah ouais en DUT on avait du quasi-pascal en pseudo-code aussi
BlaiseEbuth: Moi aussi je vais créer un langage à la con avec un concept à la con et un nom un peu classe... Z'allez voir
Zorg1: un jour le pseudo code ça sera de l'Haskell ou du Lisp pour être au top du top
Alshock: Appelle-ça le Script#-Javaskell
JBM: haskell est deja plus ou moins un pseudo-code valide pour les calculs purs types
BlaiseEbuth: j'ai dis classe le nom
Alshock: en vrai Javaskell c'est presque classe :P
Snef: JBM, l'ai par défaut timeout je sais pas si tu es au courant
Alshock: et l'acronyme du langage ce serait JK, ce qui serait pas pour me déplaire
BlaiseEbuth: Genre le turtleScript
Alshock: ça existe déjà ça
BlaiseEbuth: Merde...
Alshock: c'est le langage de kturtle
BlaiseEbuth: k qui ?
pfevrety: est ce que vous connaissez un bon cour pour apprendre vue js ?
Alshock: https://edu.kde.org/kturtle/
JBM: maiheu, elle a pas de bonne raison evidente pour timeouter la :(
JBM: in.nextLine() au lieu de juste nextLine()
Alshock: aucune idée pfevrety, t'as tenté les classiques ? Entre khancademy, open classroom et consorts doit bien y en avoir un de potable ?
JBM: forcement avec leur systeme, y'a pas de moyen pratique de lancer les boss en test
Alshock: S'ils avaient ça CSB ne serait pas ce qu'il est
BlaiseEbuth: Le bon cours de js c'est celui qui n'existe pas
Alshock: c'est vrai, le JS c'est instinctif qu'est-ce qu'il pourrait y avoir à apprendre ?
JBM: j'ose plus imaginer a combien de push j'en suis sur ce package
Alshock: (surtout n'allez jamais voir le TS, c'est une perte de temps :P )
JBM: je connais des codeurs qu'en sont trop fans
pfevrety: ok je vais regarder alshock
Alshock: JBM tu parles de ton package, du mode pervert sur ton troll, ou du JS ?
Alshock: en vrai je le connais mal, parce que j'ai pas fait de JS depuis un moment. Mais vu la surcouche que c'est j'ai du mal à voir des raisons de ne pas l'utiliser.
Alshock: Même si faut être prêt à voir les Any partout des collègues qui n'ont pas bien compris le concept
romc: en plus c'est en anglais
Alshock: dis-nous tout, que l'on comprenne ton incompréhension
JBM: Snef: voila ca devrait etre bon, merci!
BlaiseEbuth: C'est vrai y'a trop d'anglais en tech ! Vive le prolog et le minitel !
romc: la chui en clash of code
Snef: JBM yep c'est réglé :)
romc: mais j'arrive pas a comprendre car c'est en anglais
JBM: git : 'compile' n'est pas une commande git. Voir 'git --help'. hum...
Alshock: ah ouais je pense pas que les énoncé de CoC soient traduits
pfevrety: c'est quoi le meilleur mode pour apprendre de codin game ?
romc: je veux apprendre a coder le python mais j'arrive pas
Alshock: en tant que dev c'est une bonne occasion de bosser l'anglais des énoncés (il est facile en général)
BlaiseEbuth: Coding game n'est pas un site d'apprentissage, si tu n'as pas les bases tu vas galérer.
Alshock: @pfevrety Codingame est pas très approprié pour l'apprentissage "brut". Il est plutôt pour tenter des algos sur des puzzles, voir comment ça marche ou non en pratique
Alshock: BlaiseEbuth: "Vous n'avez pas les bases"
romc: du coup faut que j'aille ou pour apprendre le python
BlaiseEbuth: Et l'anglais en info c'est un peu incontournable. Donc tu devrais apprendre l'anglais aussi
romc: vous avez appris les bases ou
BlaiseEbuth: Dans un obscure grimmoire...
Alshock: Perso j'ai appris mes premières bases avec un énorme bouquin de C++
Alshock: je suis pas trop fan de commencer par un langage faiblement typé
Alshock: c'est un coup à ce que ton code t'échappe assez vite
BlaiseEbuth: Et ça cours vite du code...
Alshock: mais bon en même temps ça donne des résultats assez clair assez vite, tant que ça bug pas
Alshock: Sinon comme tutos bah en vrais tutos python basic sur Google devrait te donner des choix plus pertinents et à jour que nous
BlaiseEbuth: Le site de python ? Au pif
Alshock: (ou duckduckgo, ou lilo, ou qwant, ou, euh j'en oublie pas mal)
Alshock: il a des tutos ?
BlaiseEbuth: Pleins. Mais en anglais...
Alshock: Sinon lié à CodinGame t'as tech.io qui peut t'aider : https://tech.io/explore/search?searchQuery=python
Zorg1: Automaton2000 une idée pour éviter de mettre un coup de pelle à un manager à deux balles quand j'apprends qu'il faut que je bosse tard pour réparer ses conneries ?
Automaton2000: je suis d'accord avec toi
Zorg1: merci Automaton2000 mais on fait comment pour éviter que ça dégénère ?
leojean890: pk il les répare pas lui même ?;P
Automaton2000: ben c'est pas mal non ?
leojean890: vu que c'est les siennes :P
Zorg1: leojean890 : "manager"
Zorg1: tu sais ce que ça veut dire ?
leojean890: ah il a demandé des trucs mais c'est pas lui qui les a codés ?:P
leojean890: il a dit "fais ça" "ah en fait change"
Zorg1: tu sais les mecs tu dis d'attendre car le bazar n'est pas prêt mais ça force quand même
Zorg1: genre il sait mieux que toi
leojean890: donc il te fait faire
leojean890: ensuite ca marche pas
leojean890: et il te fait defaire
leojean890: moi j'ai tjr bossé avec des jiras à choisir
leojean890: enfin sur les 4 dernieres années
leojean890: donc pas même process
leojean890: a thales j'existais pas pour le chef de service xD
leojean890: genre il osef, tu es resta et tu prends des jiras dans le backlog
leojean890: presta*
leojean890: et à côté le scrum master voulait faire respecter l'agilité au maximum
Zorg1: il fait faire par d'autres sinon c'est pas marrant
VirtualAtom: ça existe vraiment ce titre, scrum master ? (je suis épargné par ces pratiques, on choisit chacun ce qu'on fait et comment on le fait, donc j'y connais rien)
Zorg1: oui
VirtualAtom: j'entends seulement ce titre sous forme de blague dans mon domaine
Zorg1: bah c'est une blague pas que dans ton domaine ...
VirtualAtom: lol
leojean890: bah dans ma situ il faisait respecter l'agilité mais prenait aussi des jiras:p
leojean890: et il avait plus d'interactions avec l'extérieur que les autres de l'équipe du coup:p
Zorg1: normalement tu ne fais pas "que" scrum master
leojean890: bah il faisait pas que ça je confirme :p
BlaiseEbuth: Le dernier scrum master dont j'ai voulu vérifier l'agilité s'est mal remis de sa chute du troisième étage, étrangement...
leojean890: alors que les membres standards de l'équipe faisaient que des tickets :P
Zorg1: c'est une équipe agile avec que des devs ?
JBM: ouais les non-devs etaient pas assez agiles alors on les a sortis
leojean890: mdr blaise
leojean890: a thales c'était une équipe agile avec que des devs ouais
leojean890: et à côté une équipe agile "système"
Alshock: @BlaiseEbuth: maintenant il est moins agile, mais il est parfaitement modulaire, on peut changer chacun de ses membres à tout moment
leojean890: systeme+validation
Zorg1: ah ok plisieurs équipe agiles forment un projet agile
Zorg1: ça me semble legit
leojean890: avec plusieurs Po
leojean890: PO
leojean890: plusieurs WPM
leojean890: un PM
VirtualAtom: c'est ton tirage de scrabble ou ça a un sens ces lettres ?
leojean890: work package manager
Zorg1: Prout Obligatoire ?
leojean890: project manager
leojean890: product owner
leojean890: xD
Alshock: Words per Minute ? On est sur 10Fastfingers ?
VirtualAtom: potin de merle, je suis complètement largué. Faut pas que je postule dans une boîte où on utilise ces termes ^^
Zorg1: tkt on apprend avec une technique innovante
Zorg1: l'immersion
Zorg1: en espérant ne pas se noyer
leojean890: la ligue argent de CSB c'est un record niveau mollesse, largement pire que la gold de pacman et de ooc xD :P
leojean890: 22k personnes déjà
Alshock: mollesse ?
leojean890: j'viens de tenter un -3vel mdr
VirtualAtom: concrètement, le dev lambda, sans titre compliqué, il ne choisit pas ce qu'il fait, ni comment il le fait ? o_O
leojean890: bah le random des matchs :P
Alshock: ah ouais j'ose même pas imaginer
Zorg1: quand t'as pas moins 3vel tu rames pour sortir de silver
Alshock: en plus t'as vraiment que tes 100 matches à toi
leojean890: VirtualAtom ça dépend des boites je pense et de d'autres critères
BlaiseEbuth: Stoi le dev lambda, je suis le dev alpha
leojean890: j'ai un -3vel mais ça sort pas de silver là xD
Alshock: non toi tu es le risque alpha
Alshock: fix ta -3vel
Zorg1: le patient zéro ?
leojean890: j'ai fait 7000/22000 au mieux en qq submits:p
Alshock: ah ouais, mais ils font des trucs horribles tes bots ou ... ?
Zorg1: -3vel ça traverse silver
Zorg1: t'as un bug
Alshock: s'ils se rentrent dedans, dis au deuxième d'aller taper de l'adversaire
leojean890: bah j'avais une heuristique de merde en 5 lignes qui m'a monté bronze direct
leojean890: silver*
leojean890: j'ai un peu improve
leojean890: et j'ai ajouté le )3vel pour le choix du checkpoint
leojean890: -3*
leojean890: le choix de où aller
Alshock: )3vel on dirait level écrit en H4x0r
leojean890: cad viser un peu avant le checkpoint grace au -3vel
leojean890: mais j'pense que mon choix de thrust est pourri
leojean890: ce qui n'est pas corrélé au -3vel
Zorg1: bah oui ça marche
Zorg1: va falloir t'envoyer en stage chez MK
leojean890: donc si mon choix de thrust est mauvais
leojean890: même avec un -3vel ça peut pas marcher :P
Zorg1: à fond
leojean890: j'essaye plusieurs submits du même code j'arrive à des places complêtement diff xD
leojean890: en gros mon IA est mauvaise malgré le -3vel :P
leojean890: faut que je trouve mieux pour gérer le thrust now
leojean890: maybe déjà une simu en silver ??
Alshock: nan too soon
leojean890: là j'ai un
leojean890: if angle > seuil1 ou angle < -seuil1
leojean890: thrust = val1
leojean890: elif angle > seuil2 or angle < -seuil2
leojean890: thrust = val2
leojean890: etc;p
leojean890: ensuite calcul du -3vel en fonction de ce thrust
Alshock: oh nan bordel même en wood les promotion c'est super long
leojean890: ça dépend du multi ça
Alshock: c'est basé sur quoi ? La fréquentation ?
Alshock: ah non ok
leojean890: je ne sais même pas
Alshock: une fois que je finis mon run il me mets un créneau juste pour moi en fait
Snef: leojean890 le -3vel tu fais biens cpX - 3*vx cpY - 3*vy ?
leojean890: Snef non, c'est ça u'l faut faire ?:P
Alshock: ou cp - 3*vel s'il a surchargé les opérateurs
Snef: leojean890 oui ^^
leojean890: moi je prends la droite entre le CP et ma pos
leojean890: je prends un point dessus à une distance de 3 vel
leojean890: 3*thrust
Snef: ah mais ça te fais pas tourner ça
Snef: ah ouais non x)
Alshock: ah ouais non, enfin si mais à une distance 3 vel du cp vers toi
leojean890: oui je fais ça
Alshock: bah c'est pareil alors
Snef: Alshock non c'est pas vers toi
leojean890: je prends un point à une distance de 3 vel du cp, dans ma direction
Snef: c'est à l'opposé de ton vecteur de spd
leojean890: ah faut faire dans l'autre sens ?
Alshock: ah oui non bien sûr
Snef: "dans ma direction" c'est ça qui est pas bon
Alshock: je vois le problème
Zorg1: "-" 3vel
leojean890: donc 3 vel mais en s'éloignant de moi
Snef: non plus
leojean890: ok je teste ça:p
Alshock: non 3 vel en s'éloignant de ta speed
Zorg1: bah non cpx - 3vx
leojean890: ah oui de mon vecteur vitesse
Alshock: si t uvas à droite, 3 vel vers la gauche
Zorg1: et cpy-3vy
Snef: la direction depend de ta spd
Zorg1: faut calculer la vitesse
leojean890: ah ok^^
Zorg1: c'est ça le truc
Snef: je te l'avais dis que t'avais besoin de la calculer hier :p
leojean890: par contre j'ai pas les infos qu'il faut non ?
Snef: tu as ton X et Y :p
Zorg1: il devait être trop occupé à tirer la langue :p
leojean890: x, y, nextCheckpointX, nextCheckpointY, nextCheckpointDist, nextCheckpointAngle = [int(j) for j in input().split()]
Alshock: je crois qu'il te donne ta speed en entrée non ?
Snef: non Alshock
Zorg1: non
leojean890: j'ai que ça :p
Snef: mais comment calculer un spd leojean890 ?
Alshock: ah, mais il le fait en gold porutant
Snef: Alshock oui ça change en gold les input
leojean890: vitesse = distance / temps xD
Snef: yes
Snef: donc comment avoir la distance parcouru
Alshock: vitesse = xnew - xprev, ynew - yprev
Snef: Alshock stop spoil :(
Alshock: ah, je euh pardon
leojean890: ah ouais c'est la distance ça :P
Alshock: bah ta distance sur un intervalle de temps 1 c'est quoi ? :P
Zorg1: une unité :D
leojean890: ouais ok :P
leojean890: compris le principe xD
Zorg1: on voit que MK s'occupe plus des noobs CSB
Zorg1: le niveau baisse :p
Alshock: il slack le bougre
Alshock: c'est scandaleux
leojean890: ah il faisait ça lui ?:P
leojean890: bah moi j'ignorais volontairement les sujets avec physique xD
leojean890: jusqu'à now :P
Zorg1: oui enfin "s'occuper"="harceler"
leojean890: mdr
Alshock: xD c'est un peu vrai
Alshock: mais il est quand même super sympa
Zorg1: oui il avait juste une idée fixe
leojean890: mais le thrust je cherchais à le corréler à la vraie vitesse :P
leojean890: mais en vrai c'est une accélération
Alshock: ah merde mon bot est devenu con
leojean890: dérivée de la vitesse sur le temps si j'ai gardé mes souvenirs d'il y a plus de 10 ans
leojean890: n'empêche le -3vel peut ne pas suffir je pense si tu as une gestion du thrust mauvaise ?;P
Snef: oui mais il faut qu'elle soit vraiment mauvaise
Alshock: le -3vel la gestion du thust c'est 100 non ?
leojean890: j'vois
Zorg1: oui
leojean890: ça va elle est pas trop dégueu
Zorg1: à fond
Zorg1: après tu peux ruser mais bon
leojean890: je suis mid slver avec mon truc actuel
Zorg1: ça sert à rien
BlaiseEbuth: t'es nul
leojean890: mais loin loin d'être optim
Alshock: micheline, remets du charbon dans le moteur, on décolle pour saturne
BlaiseEbuth: micheline c'est l'anglais pour baguette ?
Zorg1: une miche en ligne une baguette ?
Zorg1: ya de l'idée
Zorg1: Automaton2000 tu veux bien relire mon code j'ai ub bug bizarrre ?
Automaton2000: mais ça ne marche pas et que tu vois un coup gagnant
Zorg1: :thinking:
Stilgart: clair, cherche plutôt un coup perdant Zorg1
Zorg1: "perdre pour gagner et non gagner pour perdre" ....
Zorg1: y a de la grosse philo là
leojean890: allez je teste le -3vel xD
leojean890: j'viens de le submit
leojean890: 1 match vs le boss ça a gagné xD
leojean890: 3 défaites sur 20 matchs
leojean890: 3 défaites sur 26 matchs
leojean890: sur 28
leojean890: pas mal
leojean890: je suis direct 2eme silver
leojean890: en 34 matchs
Alshock: ah mince tu vas bientôt affronter mon -3vel nul en gold :P
leojean890: 4 défaites en 38 matchs
leojean890: xD
leojean890: premier à 7%
leojean890: bon j'avoue votre heuristique déchire la silver mdr
BlaiseEbuth: L'homme qui prenait le chat pour un fichier de logs...
Alshock: faut savoir toucher du bois
leojean890: je suis 2 pts au dessus du boss à 10%
leojean890: mdrr
leojean890: 3 pts au dessus du boss
Alshock: bah c'est un peu normal ^^ C'est même assez étonnant que t'aies 3 défaites
leojean890: Alshock alors qui va gagner :P:P ah mince tu vas bientôt affronter mon -3vel nul en gold
leojean890: ah 5 points au dessus du boss
leojean890: bon ok
Zorg1: bas en général tu débarques dans le cimetière gold
leojean890: ouais xD
leojean890: après faut faire une simu pour légende
Zorg1: des gens qui lisent toujours les inputs silver ^^
leojean890: correction des inputs, application du -3vel sur les news
leojean890: 7 points sur le boss qd même
leojean890: à à peine 35%
Alshock: @Zorg1 c'étaient aussi les inputs gold à la sortie si je ne m'abuse
leojean890: bon faut que j'fasse une simu now
Zorg1: on appelle ça des outputs :p
Alshock: hein ?
BlaiseEbuth: lel
Alshock: ah oui
Zorg1: niark niark
BlaiseEbuth: Bon mon vieux code csb se maintien bien...
Zorg1: quelle ligue ?
BlaiseEbuth: 543 gold avec trois ifs...
leojean890: mdr
leojean890: sympa
leojean890: avec un -3vel ?:P
BlaiseEbuth: sans doute
leojean890: le -3vel met 10 points au boss lol
Alshock: on... on a compris c'est la 3ème fois que tu le dis ^^'
leojean890: non je disais 9 pts la derniere fois
leojean890: la fois d'avant je disais 8
Alshock: ah oui pardon :P
Zorg1: quand on te dis que c'est de l'heuristique qu'elle est bonne
leojean890: celle d'avant 7 xD
Alshock: oh tiens 11 points au boss
leojean890: :P:P
Zorg1: ça va on commente le match ?
leojean890: match cimetière gold
Alshock: Et oui mon cher michel l'arbitre laisse jouer ! Une décision qui sera certainement contestée ce soir par les fervents défenseurs du PSG
Zorg1: tout à fait Alshock
leojean890: 1h15 minutes avant le passage gold :P
BlaiseEbuth: C'quoi comme algo ça pasg ?
leojean890: j'ai le temps :P
leojean890: si on submit pendant la période d'attente il se passe quoi ?
leojean890: c'est le nouveau code qui sera lâché ?
Alshock: la période d'attente ?
leojean890: bah Passage en Ligue Or dans : 01H 14MN 50SC
Alshock: ah euh, sûrement, je sais pas trop
leojean890: histoire que je parse bien les new inputs
leojean890: direct
Alshock: mais, tu les connais pas encore
leojean890: :p
leojean890: j'crois savoir ce que c'est :P
leojean890: laps, puis checkpoint_count, puistous les checkpoints
Alshock: http://chat.codingame.com/pastebin/da1d87a6-9f2b-441c-84a7-f269ae383ac3
leojean890: 1 ligne par pod perso puis 1 par pod adverse ?
Alshock: ouaip
Zorg1: Alshock le mec serviable
leojean890: thx :P
leojean890: en fait contrairement à totue attente... ce n'est pas mon premier CSB!!!
leojean890: j'ai fait le contest il y a 4 ans et j'ai pas eu de temps du tout:P
leojean890: donc je suis arrivé dans les derniers xD
leojean890: et j'ai les inputs qqpart:p
Alshock: y avait pas du tout les mêmes inputs pendant le contest
leojean890: bah j'ai un fichier avec ceux de gold que tu me décris :P
Alshock: genre on n'avait que notre position et le prochain checkpoint
leojean890: j'crois j'ai passé 2h un samedi sur ce contest
leojean890: mais j'ai gardé mon code foireux sur mon ordi
BlaiseEbuth: Alshock qu'a pas passé bronze pendant le contest, spoted
Alshock: ah ah c'est complètement possible, j'y avais juste fait une boucle pour récupérer la liste des CP
leojean890: ah c'était en bronze en contest le tout donc
BlaiseEbuth: J'ai beau réflechir je ne comprends pas cette phrase...
Alshock: ok, bah si j'aurais su que les inputs étaient moins merdiques plus tard à l'époque, je me serus acharné un peu plus
leojean890: Blaise je voulais dire que t'avais les règles finales en bronze
Alshock: @leojean890 en silver du coup logiquement
leojean890: alors que mtn c gold
Alshock: et encore, ni toi ni moi ne sommes passés légende, ça rechange peut-être encore une fois :P
leojean890: qui a trouvé cette super heuristique en premier ?:P
leojean890: en légende c'est thrust max 200
leojean890: c tout
Alshock: et le boost à 201 ?
leojean890: boost aucune idée
leojean890: il fait 200 en gold ?
Zorg1: 650
leojean890: ah ouais pas mal mdr
Zorg1: le boost
leojean890: ils tracent les pods
Alshock: on parlait de l'ouput pas de la puissance
leojean890: :p
Alshock: ah mais je suis teubé
Alshock: pardon
Alshock: dites dans hypersonic, si je pose une bombe puis que je ramasse de la range
Alshock: mon explosion fait quelle taille ?
Zorg1: c'est les attributs quand tu poses la bombe
Alshock: ok thx
Zorg1: c'est pour ça que c'est indiqué sur l'entrée de la bombe je crois
Alshock: c'est chiant du coup elles doivent les conserver individuellement x.o
Alshock: ah ? Ah merde ça va se voir que je pose des question en lisant les règles
Alshock: "A player may collect an item by moving onto the same cell as an item. Several players make collect the same item if they arrive simultaneously." C'est pas censé être "may" plutôt que "make" là ?
Zorg1: je sais pas j'ai généralement les règles en français moi ;-)
Zorg1: mais "may" semble correct
BlaiseEbuth: mémé toi même
Alshock: toi tu vas finir dans les orties, tu le sais
leojean890: quand je regarde le replay on dirait même que le pod passe pas sur le checkpoint et que ça marche quand même (avec le -3vel)
Alshock: c'est un collision des hitboxes, pas forcément le centre de gravité qui passe sur le cp
BlaiseEbuth: Oui oui c'est magique
Alshock: le pod a une hitbox qu dépasse de quelques millimètres je dirais
leojean890: ah d'accord mdr
Zorg1: heu si c'est le centre du pod qui est dans le cercle du checkpoint
leojean890: effectivement ça fait faire des tours en effleurant le CP
pardouin: je viens de découvrir dans clash of code l'astuce de faire 1/0 à la place de break pour gagner 2 caractères
Zorg1: après pê que les graphiques sont pas gégé
Alshock: ah ? ah ouais merde, c'est pas comme les autres collisions
Zorg1: y a pas de hitbox dans CSB, enfin c'est des cercles
leojean890: 1/0 ça fait un break ?:P
Alshock: xD
pardouin: ça fait une erreur donc dans un script normal tu ferais jamais ça
leojean890: j'connais pas ce 1/0
Alshock: mais bordel, c'est quoi cette manière insane de lancer des exceptions
leojean890: ça crash ou ça fait "break" ?:P
pardouin: dans clash of code ça marche
Alshock: "allez hop c'est tout pour moi ! cher ordinateur résouds-moi << Cette phrase est fausse >>"
leojean890: mdr wtf
BlaiseEbuth: J'aime pas les gens qui lancent des exceptions, c'est pas eux qui ramassent après.
leojean890: l'astuce chelou
Alshock: BlaiseEbuth ouais mais on lance des exceptions en python, ya un gc :P
leojean890: qui a trouvé cette heuristique -3v en premier ?:P
Arigowin: Bonsoir, je suis bloqué sur le puzzle 'Chevaux de course' je ne comprend pas pourquoi les tests 5 et 6 ne passe pas
Alshock: timeout ?
Alshock: si oui tu fais probablement quelque chose de très long pour un grand tableau
Alshock: (mauvais scaling)
Arigowin: j'ai utiliser une liste chainer avec un trie par insertion
pardouin: (ça marche que si il n'y a plus rien à faire après le break hein)
Thyl: 'Soir
Thyl: Demain vous participez au concept
Alshock: ça paraît pas si horrible par défaut, mais si tu le fais à la mano effectivement ça peut poser problème. Tri par insertion sur une liste c'est quoi ? O(n) ?
Alshock: ah bah non O(n²) plutôt
pardouin: un trie? un arbre préfixe? :o
leojean890: les tris c'est entre nlogn et n^2
BlaiseEbuth: Thyl ?
leojean890: Thyl concept ??
Thyl: Demain vous participez au contest
Thyl: non-officiel
leojean890: ah y'avait un event
Thyl: ??
Alshock: @leojean890 ça dépend, le sleep sort est en O(x) :P
Thyl: Oui!
Thyl: sur le discord y
Arigowin: https://fr.wikipedia.org/wiki/Algorithme_de_tri#Comparaison_des_algorithmes
leojean890: sleep sort j'connais pas :P
Thyl: a une explique
BlaiseEbuth: Dinoutou
leojean890: ouais j'ai vu ce contest non officiel
leojean890: ils choisissent un multi
Thyl: C'est contest
Alshock: leojean890 for i in list: sub_process(sleep(i); print(i))
leojean890: c'est pour se forcer à bien roder le multi
Thyl: on s'inscirs sur le site
pardouin: si tu dois implanter le tri toi-même vite fais un tri fusion ou un tri postal si les données sont petites
Thyl: et on sera sur le classement
leojean890: ah oui les sleep(i) ça traine xD pk faire ça ?:P
pardouin: c'est le meilleur rapport vitesse/prise tête
Alshock: parce que c'est très con et donc très drôle
leojean890: ouais c'est un classement basé sur le classement que t'as actuellement dans le multi
leojean890: et celui que t'as à la fin
Arigowin: ces des int de 0 a 10000000 et il y'en a 100000 maximum
Thyl: demain il nous donne le multi
leojean890: j'vais pas faire ça
Thyl: Et c'es
Thyl: Pourquoi?
leojean890: sachant que j'ai déjà pas mal avancé pas mal de multis
Alshock: ça fait beaucoup, c'est un challenge de faire le tri toi-même ou c'est parce que tu ne sais pas le faire faire par ta librairie standard ?
leojean890: et veux pas faire compète sur ceux-ci ;P
BlaiseEbuth: J'ai rien compris. Je vais devoir me connecter à discord.
leojean890: autre que la compète naturelle du multi
leojean890: blaise c sur le forum aussi
Zorg1: +1 BlaiseEbuth
leojean890: posts triés par plus récent
Arigowin: j'ai essayer avec qsort mais ca ne fonctionner pas
leojean890: qqn choisit un multi
leojean890: pendant 1 semaine tu bosses deussus
leojean890: dessus
leojean890: et il voit qui a le mieux avancé
pardouin: si qsort ne marche pas ton tri perso ne marchera pas mieux
leojean890: mais ça me tente pas
pardouin: c'est le pb qui doit être mal posé, ou la clé de tri mal choisie
leojean890: tu px pas comparer qqn qui a déjà avancé sur un multi et qqn qui commence juste
leojean890: wtf
Thyl: Normale...
Thyl: :grinning:
Arigowin: le tri par insertion est plus rapide que qsort car je trie des que je recupere les donnees
leojean890: bah c e principe de ce contest non officiel
leojean890: c'est le*
leojean890: alors que des non officiels tu en as sur de nouveaux sujets comme ooc ou BR
leojean890: mieux déjà
leojean890: par contre entre exclusivement des gens qui n'ont jamais touché au multi ca peut être sympa
leojean890: ce tru
leojean890: c
Arigowin: et le problème aussi ces que je doit comparer les donnes pour trouver le plus petit écart de la liste de nombre
BlaiseEbuth: Ca va le mec il a mit sa photo partout
leojean890: j'suis curieux de savoir quel multi sera choisi anyway
BlaiseEbuth: csb
leojean890: mdr j'avoue
leojean890: comme ça je verrai s'ils font bien bouger mon bot dans le multi en question :P
leojean890: ça va tanguer s'ils sont bcp inscrits
leojean890: j'vais faire des resubmits pour embêter le monde ;P
leojean890: kidding
Alshock: @Arigowin je pense que ton timeout est sur cette deuxième partie, tu fais ça comment ?
Alshock: (sinon tu peux vérifier avec la bonne vieille technique du print, sans oublier de flush stderr)
Arigowin: je boucle sur ma liste et je vérifie les écart entre l'actuel et le suivant
Arigowin: les test qui ne passe pas sont quand je soumet le projet
Alshock: Ok normalement ça devrait aller. quand t'as ça et un quicksort c'est donc pas ça qui timeout
Alshock: ah, bah alors c'est ptêtre pas un timeout, t'as peut-être un cas que tu gère pas ou mal
Alshock: copie ton code dans le chat pour voir ? (ça va faire un pastebin)
Arigowin: http://chat.codingame.com/pastebin/bc9398f9-23aa-46b0-a8ec-22d2d2d11a50
Alshock: oh du C
pardouin: si tu as juste besoin du min tu n'as pas besoin de trier tu peux juste faire un heap
Arigowin: um heap ?
Alshock: il a besoin de la différence la plus petite
Alshock: le plus simple c'est de trier
pardouin: ou une file de proirité si tu préfères
pardouin: oui là tu n'as pas le choix
VirtualAtom: un qsort et c'est réglé
pardouin: sinon un arbre binaire de recherche :)
BlaiseEbuth: Hey c'est horse racing, y'a pas besoin d'un supercalculateur
Alshock: ah ah, j'aime bien ta manière de survérifier que les inputs matchent bien les specs
Alshock: wait wait wait
Alshock:
if (lst->next->pi != lst->pi) {
Alshock: pourquoi ?
Alshock: si la différence est de 0 ça te nique pas ?
leojean890: mdr j'ai submit mon IA version gold pendant que ça charge, ça l'a submit en silver et j'ai masse def:p
Arigowin: j'ai rajouter ca dans mes derniere modif j'ai zap de l'enlever
pardouin: sinon liste chainee (insertion en O(1)), tu gardes trace du min distance, et tu trouves le point d'insertion avec un lower_bound
Alshock: ps : le abs est pas nécessaire puisque next est par définition supérieur au courant
BlaiseEbuth: pis t'façon qsort marche très bien.
leojean890: mais en passant en gold ce sera rêt:p
leojean890: pret
Alshock: oui mais je pense pas que ce soit un problème de timeout les gens, il passe tous les test cases
VirtualAtom: @Arigowin, tu dis vouloir faire un tri par insertion car c'est plus rapide que le qsort, sauf qu'ici tu alloues des tous petits blocs de mémoire, ton gain doit être negatif par rapport au qsort
Alshock: @pardouin l'insertion triée c'est O(n) par contre
BlaiseEbuth: C'est quoi qui passe pas ?
Arigowin: j'ai try avec qsort les test 5 et 6 ne passe tjr pas et j'ai remove if (lst->next->pi != lst->pi) { ca ne change rien non plus
VirtualAtom: je l'ai fait ce matin avec qsort, ça passe
Arigowin: 5 All horses tie 6 Horses in disorder
Arigowin: donc ces pas une erreur qui vient du timeout
Arigowin: ?
BlaiseEbuth: Non, sinon tu passerais pas nombreux chevaux
Arigowin: donc le code avec qsort donne ca
Arigowin: http://chat.codingame.com/pastebin/eb04115b-776c-45b6-b9aa-aeba44a4a72d
VirtualAtom:
int pi[N];
Alshock: Alors @Arigowin dans ton code ce qui fait buguer c'est le test diff > 0
VirtualAtom: allocation sur la pile de taille nulle, non ?
Alshock: du coup tu marches pas pour une diff de 0 et c'est ça qui fait planter ces deux tests
Arigowin: Merci
BlaiseEbuth: VirtualAtom Why ?
VirtualAtom: à la compilation, il ne connait pas la valeur de N
VirtualAtom: donc N vaut zéro
Arigowin: oui ca vient de ce test
Arigowin: diff > 0
Arigowin: Merci tout le monde
Alshock: VirtualAtom tu peux faire des allocations sur pa plie running time
BlaiseEbuth: Bawi
Alshock: "pa plie" bah ouais ça fait pas un pli je sais pas écrire
BlaiseEbuth: C'est moderne le C
VirtualAtom: pinaise, ça fait des années que je passe à côté ^^
Alshock: et j'ai vérifié, même avec N égal à zéro, c'est débile mais ça passe
Alshock: le int test[0]; il est incroyable quand même
Arigowin: vue que la majorite des boucles utilise N comme condition oui
Arigowin: ca fonctionne avec 0
Alshock: oui, enfin dans ce puzzle en particulier c'est impossible
Alshock: le plus petit écrats entre moin sde 2 valeurs ça ne veut plus rien dire
Alshock: bon je vais aller travailler cette synchronisation des mains qui part en vrille moi xD
Arigowin: oui et le sujet precise que N sera au minimum = 1
Alshock: non au minimu 2
Alshock: 1 < N < 100000
Arigowin: heu oui dsl
Alshock: xD aucun souci
BlaiseEbuth: Bon. Me suis inscrit, on verra...
Zorg1: ?
BlaiseEbuth: Contest basé sur la coopération et l'entraide... Tout à fait mon style. :grin:
Zorg1: ah ok
Zorg1: je viens de voir son truc sur discord
BlaiseEbuth: Je vais m'entraider moi même, et hide comme un :pig:
Zorg1: y a rien à gagner
BlaiseEbuth: La gloire d'avoir écrasé des gens qui participaient gentiment pour apprendre. Seul contre tous.
Zorg1: ah ok style la brute
Zorg1: "t'es nul le noob j'ai 10 ans de prog et toi 3 jours et tu sais même pas faire un BFS" :D
BlaiseEbuth: Ce genre de gloire, oui.
Neumann: Vous parlez de quoi
Zorg1: sur le discord / section annoncement
Zorg1: mais bon vu que t'as fait tous les multis toi
Neumann: Il a annoncé le multi ?
Neumann: Oula non
BlaiseEbuth: Avec un peu de chance j'ai déjà un bot pas trop dégueu sur le multi qui sera choisi
Neumann: Y'a 15 multis auxquels j'ai jamais touché
Zorg1: ah ok
BlaiseEbuth: Qui doit s'calmer kate14black ?
Neumann: BlaiseEbuth il est ultra énervé depuis quelques temps
Neumann: Et bim
kate14black: genre chu là devant mon batman et je lis ça quoi
Zorg1: MON DIEU Y A DES GENS QUI TROLLENT SUR LE CHAT ????!!!????
Zorg1: mais que fait la police
Zorg1: c'est un scandale
kate14black: déjà que le joker pose des bombes
BlaiseEbuth: Ouai, période difficile... Alors comme le premier truc à frapper que j'ai sous la main c'est mon clavier et que j'y tiens, je m'en sert pour taper virtuellement des gens.
Neumann: Ouais sale période pour pas mal de monde :/
BlaiseEbuth: Certes... :(
BlaiseEbuth: Mais c'est vrai que j'ai tendance à être agressif sur le chat ces temps-ci... :thinking: Vais p'têt investir dans un punching-ball... :grin:
Neumann: Fais comme tout le monde, va sur Twitter, c'est peuplé de mecs comme toi :D
Zorg1: tu trouves un tweet qui t'énerves t'agresses un peu tout le monde et hop tweetos poulaire
Zorg1: *populaire
Zorg1: tu postes quelques "unpopular opinion" pour montrer que t'es un mec super intelligent
Zorg1: tu retweete deux trois conneries, des photos de chat et zou
BlaiseEbuth: Je suis pas si méchant, vous allez me vexer... :/
Zorg1: à une époque j'étais accro à ce truc là
Zorg1: mais c'est avant que je découvre le chat CG :p
VirtualAtom: j'ai pas encore vu un truc méchant de toi BlaiseEbuth ^^
BlaiseEbuth: Voilà !
leojean890: BlaiseEbuth tu vas faire ce super contest pour troll les participants ?:P
leojean890: tiens mon bête algo est vers 2255 gold..
BlaiseEbuth: Genre c'est moi qui troll, y'a des gurus qui sont inscrits...
leojean890: t'as la liste ?
Neumann: C'est pas destiné à une catégorie de joueurs en particulier non ?
Zorg1: plutôt les débutants si j'ai bien compris
leojean890: bah un concours qui compare des gens sur des multis déjà entamés..:P
Neumann: C'est surtout l'occasion de re-hyper un multi en particulier, quel que soit le niveau des gens c'est toujours cool
Neumann: Après le ranking, c'est un autre problème
leojean890: déjà j'vois pas comment tu peux comparer des gens qui sont légende au début
leojean890: et d'autres qui sont bois 3 au début:p
Neumann: Tu fais un delta sur le nombre de CP gagnés entre le début et la fin du contest
leojean890: mais ouais tu peux le voir ainsi
Zorg1: bah si tu choisis les petits multis qui sont sorti qu'en wood ?
leojean890: ça re-hype un milti
Zorg1: quoique si t'es trop nombreux
Neumann: Je trouve pas la liste des inscrits
Zorg1: même sur son discord ?
leojean890: ça fait revivre ce multi c'est le point positif
BlaiseEbuth: Je sais pas si y'a une liste, je me base sur les gens actifs du discord
leojean890: mais le delta sur le nombre de CP gagnés entre le début et la fin du contest si t'es déjà premier légende aloirs tu ne peux que baisser xD
Zorg1: ah ok t'as illedan et toute la bande
Neumann: C'est un cas très particulier ça quand même
Neumann: Toute la clique
leojean890: ah donc dans ce contest t'as plein de gurus
leojean890: bon ben ça va être une bataille au sein de la légende ;P
leojean890: et une autre en bois 2
Neumann: C'est du racisme anti-guru ce que vous faites
Neumann: C'est pas joli
Zorg1: :D
leojean890: 2 batailles à l'opposé
Zorg1: les gourous qui sont ils, que veulent ils, quels sont leurs réseaux ?
leojean890: et des non-participants vont venir foutre la grouille
Zorg1: je commence à m'organiser
pb4: Où voyez vous les inscrits ?
Neumann: Nulle part, c'est de la spéculation
pb4: -_-
Neumann: C'est assez calme, faut bien s'occuper
pb4: Dat troll
Zorg1: y a pas. on voit seulement les personnes qui postent sur son discord
Neumann: Plot-twist : il va pick CSB
pb4: va faire lancer des cailloux à ton troll
Neumann: Meh
Zorg1: ah c'est un fake de MK le gars ?
BlaiseEbuth: La spéculation c'est le processus de fabrication des spéculos.
Neumann: Mon code TvC est déja bien en place : System.out.println(1+rnd.nextInt(Math.min(stones, 5)));
Zorg1: waouh
Neumann: Il faut ce qu'il faut
Zorg1: j'avais un truc plus compliqué mais je crois que ça marche pas mieux :(
Neumann: Non j'ai retouché à mon CSB hier, j'ai trouvé une amélio, je gagne 10% de winrate contre le sub-top, mais impossible de monter à cause des 4 relous en haut
Neumann: A deux doigts de faire une Daporan et de demander un resubmit synchronisé
Zorg1: ah il avait demandé ça ?
Neumann: Oui, et on s'était éxecuté
Zorg1: ?
Neumann: On l'avait fait quoi
Neumann: Il est passé premier il était content, et voila
Zorg1: de tous push en même temps ?
Neumann: Non juste pb4, moi et lui
Zorg1: ah tu me rassures
leojean890: les 4 NN entre 56 et 59 de ELO t'empêchent de passer ?:P
leojean890: madknight, dernier submit 1/11/19
leojean890: mdr ça fait quand même 7 mois qu'il s'est calmé :P
leojean890: yurkovAS est entrain de submit dans le top 10
leojean890: j'adore mon -3vel qui fait stagner mes mecs à côté du premier CP en gold
Zorg1: t'es une vrai station de radio toi ;-)
leojean890: pourtant son nextCP a bien été incrémenté mais il bouge pas, wtf ?:P
leojean890: de quoi, je parle bcp ?!?:P:P
leojean890: ah et je fais des commentaires sportifs :P
Zorg1: l'Eugene Sacomano de CG (pour ceux qui connaissent c'est super vieux maintenant ça)
leojean890: j'vais google ça tiens hehe
Zorg1: (genre y a t il encore des gens qui écoutent les matchs à la radio)
leojean890: meilleur reporter sportif junior mdr
Zorg1: ah merde il est mort l'année dernière
dbdr: https://www.youtube.com/watch?v=kE5_zAWmIPc
leojean890: la voix inoubliable d'Eugène Saccomano
leojean890: j'avoue il a une voix particulière xD
Zorg1: bah faut imaginer de suivre un match de foot uniquement avec une voix ...
leojean890: wtf en gold une thrust de 0 ça n'a pas le même effet qu'en silver
leojean890: ça bloque mes gars
leojean890: euh ah non c'est l'angle qui n'est pas géré pareil
leojean890: en silver tu reçois l'angle entre le pod et le cp
leojean890: en gold j'ai des angles élevés même étant en face..
Zorg1: oui c'est le heading de ton pod
Zorg1: son orientation
Zorg1: 0 c'est l'est je crois
leojean890: l'orientation vis à vis de l'horizontale je suppose
leojean890: ouais ok
leojean890: donc faut adapter ça
Zorg1: par contre t'as toutes les données pour simuler maintenant
leojean890: ouais
Zorg1: (bon pê pas les détails de leur foutu "choc élastique sans friction" - faut regarder le truc de Magus pour la formule trafiquée)
leojean890: ouais j'ai relu ça hier
leojean890: son pm
leojean890: efffectivement c'est très chaud cette partie sans connaitre:p
leojean890: collisions elastiques entre pods
Zorg1: j'avais calculé le truc (ça se fait, c'est chiant mais bon) et effectivement ils ont bricolé une demi impulsion
leojean890: apparemment c'est Neumann et pb4 qui ont compris ça direct :p
leojean890: d'acc:p
leojean890: tu sembles assez chaud sur ce genre de sujets :P
Zorg1: pb4 avait pas mal retroingénieré le truc si j'ai bien compris
leojean890: moi je ne connaissais pas:P
pb4: "direct"...
pb4: J'en ai perdu quelques cheveux
leojean890: bon mon direct est ptet un eu exégéré xD
leojean890: peu*
Neumann: J'ai rien fait moi
pb4: et sans être malpoli, j'ai un peu (beaucoup) râlé auprès de nonofr à l'époque
Zorg1: nonofr ?
pb4: Les collisions élastiques qui ne sont pas élastiques...
Zorg1: oui ils ajoutent de l'energie ^^
Zorg1: créer de l'énergie grace au chox
leojean890: ah oui t'as ralé car leur truc était pas vraiment ce qui est censé être une collision elastique
leojean890: Neumann Magis écrit dans son pm que vous lui a
pb4: C'est "élastique most of the time"
pb4: ...
leojean890: que sans votre ide il n'aurait pas trouvé
leojean890: aide*
leojean890: Magus
Neumann: J'ai relayé l'info, j'ai rien découvert
leojean890: d'accord:p
leojean890: et pb4 a retro-ing:p
Zorg1: sauf à petite vitesse, je crois qu'ils ont bricolés ça pour avoir un choc qui péte bien un minimum
leojean890: mais ouais sans sonnaitre c'est assez chaud !
leojean890: connaitre
leojean890: à moins de copier colelr le truc
leojean890: coller
leojean890: ou lire de la doc
leojean890: mais en contest t'as pas e temps d'apprendre toute la théorie sur les collisions élas à moins qu'il dure un mois:P
leojean890: en multi tu px:p
leojean890: quand je pense que ça classe 2 263/ 5 324 gold avec un truc avec les angles bugués
leojean890: le cimetière gold est vraiment gigantesque
leojean890: des ias poussées en masse
Alshock: ça veut juste dire que tu bug moins vite que des ias qui crashent au start
leojean890: de silver..
leojean890: oui exxact:p
leojean890: exact
leojean890: j'vais corriger ça dans un premier temps, ensuite je vais voir pour la simu:P
Alshock: on dirait le training de mes NN nuls sans feedback sur Oware
Alshock: c'est à celui qu icrash en dernier
leojean890: tkt j'suis moins bon que toi en NN:P
Alshock: oh que non
leojean890: j'en ai juste fait pendant 6 mois en stage au cea
leojean890: pour associer des textes et des images
Zorg1: je suis ici depuis en gros 2 ans et j'ai pas encore fait de NN :(
Alshock: c'est bon tu m'éclates
leojean890: mais j'ai utilisé qu'un modèle
leojean890: sacs de mots multimédia
leojean890: en gros les autres modèles je suis noob
leojean890: même si j'en ai fait vite fait dans mon temps libre
Alshock: TvC me paraît un bon endroit pour faire son premier, on peut faire un feedback systématique en lu ifaisant prédire la fitness à partir des coups à 0 stones puis en remontant
leojean890: faut que je m'y mette sérieusement :p
leojean890: maybe tvc ouais
leojean890: comment est ton siB
leojean890: Bb
leojean890: es
JBM: faut les soigner ces neerlandais
leojean890: voyons comment je suis classé en gold juste en corrigeant l'angle hmm:p
leojean890: j'vais quand même me faire frire sans simu:P
Alshock: va te faire frire
leojean890: et sans bloqueur, 2 runners
leojean890: les bloqueurs adv me mettent la misère là xD
leojean890: 1237
Alshock: welcome to the 4XX mark xD
leojean890: à 32%
leojean890: bah tu es 400 tu me bats xD
leojean890: moi les 2 run et se gènent l'un l'autre xD
Alshock: bah pareil
leojean890: genre se foncent dedans car ignorent l'existance des autres
leojean890: mais t'es 400?:P
Alshock: t'as pas cru que j'allais rajouter une ligne pour qu'ils ne pensent pas être seuls au monde non plus
leojean890: -3vel sur search race sinon ça win ?? xD
Alshock: bah je crois ouais, 4xx en tout cas au dernières nouvelles
leojean890: ça se fait exploser par les simus j'imagine xD
Alshock: mais y a pas de simus je pense
leojean890: mais ton code a un truc de mieux que le mien manifestement :P
Alshock: ah, sur SR, j'ai fiat un truc comme ça
leojean890: gestion des angles ? simu sans collisions ?
leojean890: (sur csbn)
Alshock: euh non, -3vel pur
leojean890: pourtant t'es loin devant xD
leojean890: k'pense que même en gérant les angles c'est pas optim:P
Alshock: ah
Alshock: j'ai un shield
leojean890: 1105eme là
leojean890: pas de shield mdr
Alshock: et un boost tour 1
SkyDreamer: vous parles du fall challenge?
leojean890: non on parle de csb mdr
Alshock: de https://www.codingame.com/ide/puzzle/coders-strike-back
leojean890: 939eme tiens ça progresse pendant le run
Alshock: ouais moi je pense que tu vas finir vers ma position
leojean890: 875
leojean890: on verra :p
leojean890: ptet pas aussi bien quand même xD
leojean890: pour ma gestion des thrust avec les angles j'ai fait un truc plus qu'approximatif quand même xD
leojean890: c'était mieux ce que j'avais avec un pod
leojean890: 875 63%
Alshock: mets 100
leojean890: juste j'avais pas envie de calculer finement l'angle
Alshock: inconditionnellement
leojean890: donc j'ai mis des intervalles genre 0 et 90
leojean890: if 90 > angle2 > 0 and (nextCheckpointX2 < x2 or nextCheckpointY2 < y2):
leojean890: thrust2=0
leojean890: et voilà 4 conditions comme ça mdr
leojean890: c'est nul:P
Alshock: mets juste 100
leojean890: je mets 100 tlt sauf quand mauvais sens
leojean890: t'as 100 tlt toi ?:P
Alshock: au contraire, si t'es dans le mauvais sens faut mettre plein gaz
Alshock: puisque tu vises de l'autre côté
leojean890: pour qu'il tourne avant de foncer :p
Snef: Alshock je crois pas non
leojean890: avant j'avais un truc mieux en silver
Alshock: ah tu parles de l'angle au CP pas à la target
leojean890: en silver j'avais l'angle au CP donc je faisais un truc pas mal
leojean890: là je pars de mon angle
Alshock: parce que j'allais dire que si t'es à 90° de la target c'est surement que t'es en train d'arriver plein gaz sur le cp et que donc tu vises de l'autre côté
leojean890: vis à vis de l'axe x
Alshock: -90+180
leojean890: et si il n'est pas dans le bon sens par rapport au cp je mets 0
leojean890: en thrust
leojean890: bon après j'ferai une simu
Snef: t'as la fonction de magus pour avoir l'angle avec un point
leojean890: ouais
leojean890: j'ai lu ça hier:p
leojean890: jvais faire une simu avec ça
leojean890: du coup alshock t'es en -3vel sur csb et sr :p
Alshock: mais les deux j'ai globalement rien fait dessus
leojean890: bah là je vais finir bcp moins bien classé que toi :P
Alshock: enfin CSB j'ai une simu, mais elle est buguée
leojean890: 1163 96%
leojean890: ah ok
Alshock: c'est le talent ça (ou la grosse chatte à sa daronne, c'est selon)
Alshock: cela dit, le coup de boost au début est un must-have
leojean890: même la gold est bordélique
Alshock: SURTOUT le gold
Alshock: c'est pas le cimetière pour rien
leojean890: euh t'as pas vu silver et bois xD
leojean890: bois 41000 bots
leojean890: silver 22k
Alshock: bah le silver y a plein d'IA pas très bonnes, mais elles démarrent au premier tour non ?
leojean890: l'autre bois et bronze j'ai oublié
leojean890: ouais :p
leojean890: gold j'avoue ça crashe direct
Alshock: alors qu'en gold...
Alshock: le casse-auto
leojean890: et angle bugué c'est 2300
leojean890: en dessous c'est des crash
leojean890: soit la moitié de la lgue ?:P
leojean890: ligue
leojean890: ça dépend combien sont bugués hors crash
Alshock: je pense même qu'il y a des crashes qui sont au-dessus
leojean890: mais ouais des gens poussés
Alshock: pour de sombres histoires d'update de rank
leojean890: ah ouais xD
leojean890: ce serait bizarre =P
leojean890: mais possible
leojean890: si le matching ne les fait pas jouer
leojean890: des gens poussés qui touchent plus à leur csb depuis 1 an
Alshock: -1+4
leojean890: ou 4 ouais mdr
leojean890: eux crash car n'onbt même pas vu qu'ils ont été poussé
leojean890: ou ont eu la flemme
leojean890: de changer les inputs
leojean890: boss en python mdr
Alshock: en Python 2 surtout
leojean890: j'croyais qu'il fallait des simus rapides ici :P
Alshock: on voit l'âge du challenge
leojean890: le boss qui date du contest il y 4 ans..
leojean890: d'ailleurs parfois mon bot tourne dans le sens le moins rapide en changeant de CP cible là:p
leojean890: il fait une pirouette
leojean890: de 270 au lieu de 90
Alshock: c'est logique
Alshock: à aucun moment dans le calcul il ne prend en comtpe la position du CP d'après
leojean890: j'croyais que quand je donnais une direction il y allait au plus vite :p
leojean890: le moteur de cg
leojean890: vu qu'on lui donne une pos
leojean890: et un thust
leojean890: il compute le path pour ça
Alshock: regarde ce que tu donnes comme position
Snef: En fait avec à cause de -3vel, si tu fais un tout droit vers un cp quand tu est proche de lui, tu vises derrière toi
leojean890: CP-3vel :P
Snef: -avec
Snef: -t
leojean890: ah ouais :P
leojean890: là je croyais qu'il visait le suivant déjà
leojean890: donc étant loin
Snef: donc pour annuler ça tu peux faire genre if(dist<X) vise le suivant
leojean890: mais j'ai ptet mal regardé
leojean890: non en vrai.. c'était un cas om les 2 sens sont environ equivalents
leojean890: juste le mouvement semblait plus naturel dans l'autre sens
Alshock: à cause du CP suivant je pense
Varcanna: Bonsoir, il y a moyen de faire en sorte qu'a chaque reconnexion du chat sa m’enlève pas de l'éditeur pour me mettre sur le chat ? c'est assez frustrant d'écrite et que sa s'écrit au mauvais endroit :(
pb4: Le boss ne date pas du contest, il n'y avait pas de ligues à l'époque
pb4: (CSB)
Zorg1: ah je croyais que les ligues étaient venues avec CSB
Zorg1: ah ok
SupergreenTony: Yop, lorsqu'on a fini un "clash of code", est-il possible de retrouver qq part l'enigme pour pouvoir la retester par hasard?
JBM: onglet contribute, selecteur "accepted"
Zorg1: hop passé un test CG Java
Zorg1: très rapide 15/30 minutes, bcp de QCM et quelques exercices de codes
JBM: il me manque quoi pour y arriver?
**dwarfie se demande si ca merite des felicitations :D
Zorg1: JBM : je pense
Zorg1: que oui
Zorg1: mais ça va le test devient pas trop "chiant" à cause de deux gros exos de test
Zorg1: après j'ai fait l'impasse sur une question idiote, le gros doute, j'ai mélangé go et java ...
Zorg1: il fallait savoir entre float/int/bool lequel était un type primitif java ^^
Zorg1: putain je suis passé en mode poisson rouge
Zorg1: oui je sais après coup :(
Zorg1: en go c'est bool
Alshock: à peu près partout c'est bool
Zorg1: sinon t'avais du bon usage des catch/finally, de synchronized, ...
Alshock: c'est vrai que C a stdbool. Moi je suis resté sur le fait que bool n'existait pas en C, j'ai 40 ans de retard
Zorg1: en Pascal et Ada c'est BOOLEAN mec
Alshock: mais c'est pas des langages ça, c'est des idomes préhistoriques
JBM: j'ai failli ressortir pascal mais je me suis retenu
Zorg1: Alshock : oui mais j'ai le malheur d'avoir fait de l'ADA
Alshock: Ok T-rexer
Zorg1: "J'ai une super mission sur du soft d'il y avingt ans !"
Zorg1: Alshock : honnêtement ADA c'est pas si mal. Bon maintenant la syntaxe dominante c'est la syntaxe "C" avec accolade et tout
Zorg1: donc c'est toujours bizarre de refaire des BEGIN END
Alshock: En Ruby on a les deux :D
Zorg1: JBM : bah des trucs de base pour voir si les notions sont bien comprise et utilisé dans des cas pratiques
Zorg1: après je t'avouerais que la mission pour laquelle je passe ne me tente pas trop mais bon
Alshock:
ZeroDivisionError: float division by zero
Alshock: Yes
Zorg1: peut pas générer un +Inf comme tout le monde ?
Zorg1: ah tu bosses avec des entiers ^^
Alshock: nan, python renvoie une exception en division par zéro pour les float aussi
Alshock: ce qui est quand même vachement plus logique
Alshock: enfin, en vrai l'infini se défend si on dit que 0.0 c'est [0.0, FLOAT_MIN[, mais à ce moment là, FLOAT_MIN / 0.0 ça devrait faire 2
Zorg1: gné ?
Alshock: ou 4
Zorg1: j'arrive pas à comprendre ta logique là
Zorg1: et si tu divises par -0.0 :p
Alshock: bah c'est l'inverse non ?
Alshock: *opposé*
Zorg1: pourquoi FLOAT_MIN/0 devrait faire 2 ?
Alshock: dans le sens où une division par éro c'est pas censé faire l'infini, c'est censé être un NaN
Zorg1: 0/0 c'est un NaN
b0n5a1: o/
Zorg1: 3/0 c'est +Infini
Zorg1: o/ b0n5a1 !
Alshock: ouais mais c'est mathématiquement faux, donc j'essaye de trouver un sens mathématique à cette simplification cheloue
Alshock: du coup forcément c'est tordu
Alshock: \o b0n5a1
Zorg1: define "mathématiquement faux" :D
JBM: c'est quoi ton pb mathematique avec 3/0=inf?
Alshock: ben c'est une forme indéterminée, pour lui donner un sens il nous faut une limite
b0n5a1: tain la soirée de fou..je sortais la chienne, il a commencé a pleuvoir...et elle a fait son premier plongeon dans le canal pour choper un canard...l'eau du canal ça schmoute....shampoing, séchage, la totale...et moi aussi après, on s'est pris des cordes pendant 20 min sur le retour
Zorg1: c'est un canal profond ?
Alshock: et elle l'a eu ?
b0n5a1: 6m
Zorg1: ah oui
b0n5a1: bin non elle l'a pas eu...je l'ai juste vu disparaitre dans un bouillon vaseux pendant que la canne de dépêchait de se barrer
Alshock: ah ah ah j'imagine bien la scène
b0n5a1: elle a bien mis 3 s à remonter
Alshock: c'est super chiant à vivre mais tellement drôle à raconter
b0n5a1: je la voyait plus
b0n5a1: heureusement avec le harnais j'ai pu la hisser facilement
b0n5a1: elle est revenue au bord et a attendu sagement que je la prenne
Zorg1: ça devait être un joli bazar
b0n5a1: clair
b0n5a1: elle regardait l'eau ensuite genre "tain mais c'était quoi ce bordel là...me suis enfoncée" :joy:
Topinambour: quand t'as connu que les flaques d'eau ...
b0n5a1: elle a sautée comme pour descendre une grande marche et plouf
b0n5a1: j'avais même pas vu la canne, je l'ai vu après s'éloigner du bord pour rejoindre un mâle au milieu de l'eau
Zorg1: genre pas stressée ?
BigUP: tiens, numpy 5 fois plus lent que Python sur le calcul du cosinus.... c'est pas la que je vais pouvoir gratter
b0n5a1: la canne, si elle avait le turbo aux pattes ^^
b0n5a1: et la chienne était encore plus fofolle que d(habitude après
Zorg1: BigUp : va falloir utiliser l'exponentielle de matrice :p
BigUP: oui en matrice ou array, numpy est certainement plus rapide, mais la je calcul du cosinus a l'unité
b0n5a1: ça fait 0.54 environ, tu l'as ton optim
b0n5a1: je sors...
Zorg1: :D
Alshock: je l'ai pas
b0n5a1: cosinus à l'unité...
Zorg1: cosinus de l'unité
Alshock: ok je sors avec toi
Alshock: euh, enfin dans ma tête c'était clair et non ambigu
b0n5a1: mais oui ma poule :smiley:
Alshock: eh oh Bridegarde ! On n'a pas gardé les vaches ensemble ! :D
b0n5a1: bon, claqué, bonne nuit !
Zorg1: Automaton2000 : bon une idée pour SR, je suis stuck a 11900 :(
Automaton2000: j'ai un problème que je ne vois pas de problème
Zorg1: bonne nuit b0n5a1
Zorg1: Automaton2000 : houla fais gaffe tu m'as l'air d'être dans une boucle là
Automaton2000: si tu fais les deux en meme temps il y a pas le choix
BlaiseEbuth: Bah ouai Zorg1, c'est logique...
Zorg1: :thinking:
Zorg1: je suis en train de diviser par zéro dans ma tête
BigUP: Zorg1, gaffe, tu risque d'aller loin.... vers l'infini et au dela !
**Zorg1 branche la musique de StarTrek ....
BigUP: Bon dans tout ca, mon AG est moins bon que mon heuristique sur SR ... :pensive:
BigUP: je ne sais pas si c'est juste une question de perfs, j'en doute
Zorg1: t'es sûr de ta simu ?
Zorg1: si elle est foireuse ça va pas aider
Alshock: soit ton heuristique est bonne soit ta simu est foireuse
BigUP: Zorg1, avec python j'ai toujours un doute sur la précision des sinus/cosinus par exemple
Alshock: à mon avis la manière la plus simple de trancher c'est de lancer ta simu avec différents temps de calculs
Alshock: et tu regardes si ça s'améliore avec le temps ou pas
Zorg1: ou simplement de stocker si la position du tour d'après est bien celle que t'avais prévu
Alshock: ouais aussi, mais sur plus de tours
BigUP: Alshock, je vois que ca s'améliore avec le temps, j'ai la fintness du meilleur individu qui progresse a chaque génération
BigUP: mais c'est pas oufs ...
Alshock: et t'es sûr que c'est pas ta fitness qui pose problème ?
Alshock: t'as genre cp * X - dist(next_cp) j'imaigne
Alshock: imaigner c'est un verbe qui signifie, imaginer quand on est fatigué
Alshock: faitgué*
BigUP: Alshock, ca peut etre ca également, je file un gros bon,us a chaque checkpoint et je calcul la distance par rapport au checkpoint d'apres (le dernier checkpoint passé en simu)
Zorg1: t'as combien de simu par tour ?
BigUP: je vais essayer de ne pas retirer la distance a chaque tour
BigUP: j'ai testé de depth 6 a 8 avec une population de 26 a 46, mais ca ne change pas grand chose
Zorg1: moi j'ai depth 6 population de 10 actuellement
BigUP: ok, je la joue bourrin ! :)
Zorg1: dès que j'augmente la depth ça merdouille
BigUP: Zorg1, comme ca, ca n'a pas l'air de changer grand chose pour moi
Zorg1: enfin par merdouiller, je veux dire ça n'arrange pas grand chose
Alshock: pop de 10 ?
Zorg1: oui 10 solutions
Alshock: j'en déduis qu'il y a vraiment aucun maximum local ?
Zorg1: avec la meileure du tour précédent et une calculée de l'heuristique
BigUP: au niveau gènes j'ai mis ca :
BigUP: TPower1=[15,30,45,60,75,90,105,120,135,150,165,180,200] TAngle=[-18,-8,0,8,18]
BigUP: pas trop inspiré ;)
Zorg1: pour les powers actuelle j'ai 0,100,200
Zorg1: j'ai plus d'angle
Zorg1: t'as pas 0 pour les powers ?
Alshock: pourquoi -8/8 plutôt que -9/9 ?
Alshock: y a une raison subtile ?
Zorg1: problème lors de la division par 2 ? :D
BigUP: Alshock, non comme ca, au feeling
Zorg1: moi je considère les 37 angles
Zorg1: dès que je fais moins ça merdouille
Zorg1: mais je crois comprendre mon problème
Alshock: dit comme ça on dirait une position du kamasutra
Zorg1: "les 37 angles"
BlaiseEbuth: Ou un finish move dans un jeu ultra-gore...
BigUP: avec seulement 3 vitesses, c'est pire ;)
Alshock: oui, c'est souvent les mêmes
Zorg1: BigUp : pas tant que ça en fait
BigUP: Zorg1, je parle d emon AG
Zorg1: ah
leojean890: moi je vais la tenter en c++ la simu de CSB :P
JBM: le mec qu'a pas confiance en lui
Zorg1: surtout que t'as des starters ...
Zorg1: ça sent la gruge
leojean890: en c++ j'ai pas trop confiance xD pas fait depuis 4 ans mdr
leojean890: des starters ?
leojean890: où ?
leojean890: que j'y aille :P
Zorg1: mémoire de poisson rouge
Zorg1: on en parlait avec toi hier ou avant-hier
leojean890: tu avais pas dit où non ?
leojean890: jveux juste tenter d'avoir plus de perfs mais clairement ça va être galère sans starter xD
Zorg1: MK est la clé
leojean890: ah oui
leojean890: mais j'connais pas son site :p
Zorg1: j'ai l'impression d'être un perso de quête dans un RPG miteux
leojean890: vous aviez effectivement parlé de lui :P
Zorg1: regarde son compte
leojean890: ah d'acc il mettrait un lien
leojean890: thanks
Alshock: la tricheuh
leojean890: sinon, j'reste sur mon python mais bon ça va être lent :P
leojean890: j'ai fait l'exp récemment de simus en python sur a*craft et cvsz
Alshock: moi j'ai fait buguer ma simu CSB tout seul comme un grand (sauf pour les collisions elastiques avec vitesse minimale, ça j'ai été zieuter le post de magus)
BigUP: Alshock, pour toute la trigo, j'ai été zieuté chez Magus
Alshock: Coma Violently Separated Zipfile
Zorg1: Cosinus et Sinus
Zorg1: rien qu'au nom on sent les gars louches
Alshock: c'est vrai qu'on les verrait bien à serpentard ces deux là, où à têter une louve
Zorg1: et Sinus traça le cercle trigo pour délimiter sa ville, par moquerie Cosinus sauta au dessus du cercle et Sinus le tua puis le démembra
Zorg1: Tite Zorg, historien
leojean890: ils sont en java les starters de MK, ça à la rigueur j'aurais pu tenter sans starter car j'en ai fait récemment contrairement au cpp (et moins chaud comme langage ;P)
Alshock: j'aurais plus de mal à gérer le GC chelou de Java que le C++
leojean890: j'aurais ptet des pbms avec ça
leojean890: mais cpp je suis capable de créer 50 bugs en 100 lignes ;P
leojean890: j'pense
Alshock: moi l'inverse
leojean890: alors que java globalement ça va à part qq trucs comme ça
leojean890: genre le GC
JBM: java sans le GC c'est plus java
leojean890: mais j'veux dire je risque d'avoir des ennuis avec
Alshock: C++ avec des smart pointers
leojean890: car dans le java que j'ai fait j'ai jamais eu à gérer ces problématiques
Alshock: finalement c'est du java :P
Zorg1: y a le smart pointeur et le pointeur pas smart
leojean890: cpp c'est rigide quand même ;P
leojean890: donc sans être habitué les bugs fusent :P
leojean890: j'en ai fait en école puis 6 mois au cea et après vraiment à peine
Zorg1: oui enfin Java c'est pas non plus la prog free style
leojean890: je sais
leojean890: mais ça va
leojean890: je génère moins de bugs
leojean890: et en python encore moins, pourtant ily en a :P
leojean890: cpp j'en ai fait une fois ces 4 dernières années, c'était le google hashcode de l'an dernier (fait pour préparer celui de cette année)
leojean890: en 150 lignes j'avais 30 bugs..
leojean890: et j'ai mis 3h à les virer :P
leojean890: juste des détails de langage
leojean890: bah le hashcode de cette année, je l'ai fait en python du coup xD
Zorg1: après tu peux utiliser Rust, Go, ... si tu veux un truc qui compile en natif et qui soit moins difficile que C++
leojean890: bah ça j'en ai jamais fait du tout mais j'peux apprendre:)
Zorg1: quoique Rust j'ai l'impression que c'est un peu tordu (faudrais que je regarde)
Zorg1: sinon t'as D :p
leojean890: java j'en ai fait en entreprise (gwt et client lourd et un chouia spring)
Zorg1: t1 gwt :(
leojean890: jamais avec des demandes qui m'ont fait faire gaffe au gc particulièrement
Zorg1: bon après vu les vedettes qu'on a j'imagine pas ce qu'ils auraient fait en JS ...
leojean890: gwt c'est à l'ancienne
leojean890: bah j'en ai fait à thales entre 2017 et 2019
leojean890: et du python
Alshock: en vrai quand t'es pas à 20 ms près le GC tu le laisses vivre sa vie dans 90% des cas
Zorg1: tu fais rarement du temps réel en Java d'un autre côté ;-)
leojean890: ouais
Alshock: minecraft :D
leojean890: bah là je risque d'avoir des problèmes avec ce que je maîtrise pas
leojean890: mais ça peut valoir le coup de tenter csb en java
leojean890: ou ouais apprendre go/rust
Zorg1: m'ouais
leojean890: toi tu l'as fait en quoi ?
Zorg1: en go
Zorg1: toute façon depuis le début je suis ici pour bricoler du Go
Zorg1: c'est un peu l'intérêt du site
Alshock: j'veux pas influencer mais rust marche pas dans l'IDE, il a des flags de compil moisis
leojean890: d'apprendre des trucs
Zorg1: ah oui depuis que je suis ici j'en ai codé des BFS ...
leojean890: les intérets c'est d'apprendre des algos/réfléchir à des pbms/des langages je dirais :P
leojean890: pareil mdr
leojean890: bfs dfs minmax en masse
leojean890: AG SA MC genre un chacun only
leojean890: bon allez j'vais tenter java, on verra ce que ça donne:P sinon je mle remet au cpp et je me prépare à galérer
leojean890: ou je fais java en considérant de porter en cpp
leojean890: jme*
Alshock: Includes NumPy 1.16.2, pandas 0.24.2, SciPy 1.2.1