Chat:Fr/2020-06-17
Thyl: Hello !
Thyl: Je vous et pondu un Clash
Thyl: Allez voir svp vu que c'est mon premier...:grinning:
[CG]Thibaud: me paraît trop compliqué à trouver ce reverse.
[CG]Thibaud: selon toi, qu'est-ce qui devrait mettre sur la piste de la solution dans tes tests ?
Thyl: Le premier.
Thyl: Ou alors reverse c'est pas bon
Thyl: peu-être taille?
Thyl: Mais en rapide aussi ça peu passer...
Alshock: aqueux coucou zatousse ici
Alshock: et tortue à Automaton2000 et AutomatonNN
Automaton2000: et j'ai un autre truc du genre ?
AutomatonNN: vous parlez de quel puzzle ?
Alshock: oui ya la licorne aussi Automaton2000 et on parle du CoC de Thyl AutomatonNN
Automaton2000: sachant que je suis une bille
AutomatonNN: oui je suis d'accord avec toi :(
Alshock: @Thyl le fait de ne prendre en compte que la première et la dernière lettre du texte ça me semble purement arbitraire
Alshock: quand on fait un reverse, la convention minimum entre le sujet et le clasheur c'est que l'input sert à quelque chose, puisque c'est tout ce qu'il a
Bon[]Crayon: Peut-être un truc du genre: aez 25 asz 25
Alshock: oui mais je parle pas de pourquoi c'est quasi-impossible à deviner avec les test cases, je parle de pourquoi ce design me dérange profondément
Thyl: voilà
Thyl: petit changement
Thyl: C'est mieux ?
Thyl: :thinking:
Malterin: Qq joue à Crystal Rush ?
Malterin: C'est un des jeux de combat de bots
pardouin: J'ai vu ton CoC Thyl, c'est vrai que ça aurait plus de sens de mettre le max de ord sur toute la chaine et le min de ord sur toute la chaine
Thyl: ça serait plus comprehensible
Thyl: :grinning:
Alshock: d'ailleurs ton écriture à induit en erreur Edjy et peut-être d'autres reviewers je pense
Alshock: actuellement ton code serait moins ambigu si tu écrivais directement s = input() print(abs(ord(s[-1])-ord(s[0])))
Zaap38: pygame c'est cassé :x
Alshock: et comme je l'ai déjà dit c'est une grave erreur de design. Même si, et je suis désolé de le dire, même au-delà de ça j'ai du mal à trouver le concept derrière intéressant, même en reverse
Alshock: (après ça, vu ce qui existe en reverse c'est visiblement pas un avis très partagé
Thyl: Qu'est ce que tu à fais à Pygame @Zaap38
Zaap38: un ptit jeu pour le fun, mais j'ai un bug étrange (comme 90% des bugs :'D), en gros j'ai créé des armes, et elles marchent très bien, mais quand j'ai voulua jouter un shotgun (qui dans ses param tir 15 balles au lieu de 1), bah je sais pas pourquoi mais la vitesse de ses balles est énormement augmentée (graphiquement) alors que le framerate/la vitesse de ma boucle ne change pas (toujours 17ms)
Zaap38: tiens si tu veux y jeter un coup d'oeil https://openclassrooms.com/forum/sujet/vitesse-projectile-change-sans-raison-pygame
Thyl: J'apprend à me servire de pygame
Thyl: Mais vraiment c'est lourd.
Zaap38: en vrai ça va c'est plutôt facile
Alshock: hum tu as une gestion des collisions ?
Thyl: le coté graphique me soul
Zaap38: pas encore alshock mais je devrais y arriver sans problèmes
Thyl: j'aime codinGame
Zaap38: moi aussi Thyl ^^ mais bon faut bien passer par là
Alshock: la virgule après self.pid = pid elle fout la merde non ?
Thyl: Tout et déjà dessiner:grinning:
Alshock: je sais pas comment ça marche sans crash vu qu'une affectation est pas une expression dans python, mais du coup je sais pas ce qu'il se passe
Zaap38: ? tu parles de quoi Alshock ?
Zaap38: ah mb
Zaap38: j'avais pas vu ton message au-dessus
Alshock: def __init__(self, pid, wid, speed, vector, position):
self.pid = pid, self.wid = wid
Alshock: je sais pas ce que python fait de ça
Zaap38: alors c'est un mystère cette virgule, je vais check si c'est un fail de c/c ou si elle est bien dans le code original
Zaap38: dans tous les cas je me sers pas encore de self.pid donc ça devrait pas changer grand-chose
Bon[]Crayon: la virgule doit donner un tuple
Zaap38: j'ai viré la virgule, mais bon le bug de base reste présent
Zaap38: (merci pour cette typo)
VirtualAtom: tu valides la vitesse d'une balle avec l'affichage de la traînée ?
Zaap38: nan la trainée c'est juste du graphique, c'est ça qui m'a fait dire que les balles allaient trop vite car là elles sortait de l'écran en un seul tick, mais même au niveau des valeurs de position ça merde
Zaap38: de ce que j'ai pu tester, le problème n'est pas d'origine graphique, ya bien une couille dans mes données
VirtualAtom: je n'ai pas encore bien compris le code, mais j'ai l'impression que tu peux faire une erreur dans le phénomène en te basant seulement sur le côté graphique.
VirtualAtom: je commencerais par afficher les valeurs dans la console, en faisant une arme qui ne diffère que d'un seul paramètre à une arme qui me paraît fonctionner
Zaap38: quand je passe le nombre de balles à 1 pour le shotgun, il marche bien
Zaap38: et j'ai print les positions (in-game, pas graphique) et je confirme la vitesse abusive des balles du shotgun
VirtualAtom: tu as 7 paramètres dans ton arme, même si tu mets le nombre de balle à 1, les 6 autres paramètres restent différents
Zaap38: j'ai testé avec le fusil (qui marchant) en augmentant le nombre de balles, ça bug aussi
VirtualAtom: quand tu parles de vitesse, tu parles de différences entre deux positions successives, c'est ça ?
pardouin: c'est normal si ta fonction show bullet est dans ta fonction show bullets?
Zaap38: oui, show_bullet (sans s) affiche une seule balle, show_bullets (avec s) appelle la précédente sur chaque balle
Zaap38: ah mb mal compris
Zaap38: c'est juste un problème d'indent sur openclassroom
Zaap38: le premier def devrait avoir une indent de plus
pardouin: je voudrais faire tourner pour voir le pb mais il doit manquer des trucs
Thyl: Re
pardouin: j'ai import ça :
pardouin: import pygame, math, copy, sys import numpy as np
Thyl: Est-ce que vous savez où trouvé un dictionaire format texte en ligne
Thyl: c'est pour entrainer mon algorithmes
pardouin: j'ai ajouté random as rd
Thyl: :grinning:
Zaap38: oui pardouin j'ai pas c/c tout le code, mais il va te manquer pas mal d'import et d'autres classes
Zaap38: et les sprites aussi
VirtualAtom: rien ne me saute aux yeux dans le code donné. Reste à voir comment est traité le retour de la fonction shoot(), car ce paramètre change simplement la taille du tableau retourné
Zaap38: ça fait un vieux np.append, la taille du tableau est bonne à chaque fois
VirtualAtom: tu peux hardcoder le time_ms dans update_position et comparer avec deux armes ? Là je ne vois plus rien d'autre
Zaap38: je peux, mais bon je l'ai print et c'est la même valeur
VirtualAtom: donc si on résume, t'as le même time_ms dans les deux cas, self.speed est bons dans les deux cas, position c'est l'origin donc c'est pareil, le vector c'est sur le cercle unité donc pas de soucis
VirtualAtom: mais dans un cas l'incrément de position est plus grand. Coton ^^
Zaap38: (j'ai tenté le hardcode mais comme pr&vu rien ne change)
Zaap38: quand je print j'ai exactement la même valeur pour : speed * time * cos(angle) x')
Zaap38: et le truc loop bien une fois entre chaque appel
Zaap38: et bien à 17ms d'intervalle
VirtualAtom: c'est à rendre fou ^^
Zaap38: oui.
Zaap38: xD
VirtualAtom: t'es bon pour éplucher tout le code du coup ^^. Le nombre de fois où je râle que l'ordi fait n'imp alors que bien caché quelque part, j'ai fait une connerie dans un code annexe
Zaap38: j'ai cherché sur chaque fichier les modifs faites sur la pos de la balle ou sa vitesse, et j'ai rien trouvé ^^
VirtualAtom: tu nous tiendras au courant quand t'auras la solution, ça risque d'être marrant :}
Zaap38: yep
Zaap38: bon j'ai exam dans 1h, mais après je reprendrais mon code
Zaap38: problem solved
Zaap38: une variable était copiée par référence (après avoir été copiée en non-réf) du coup chaque "lot" de balles incrémentait la même position
Zaap38: @VirtualAtom
pardouin: ouais le pb de deepcopy c'est c'est un peu la boîte noir, tu sais pas exactement ce que ça fait sur des class custom
pardouin: noire*
Zaap38: merci pour l'aide btw
VirtualAtom: aaaah. Nice ! Je note ça dans ma liste de usual suspects en python
Alshock: ah bah oui deepcopy copie tous les containers, mais pas les objets
Alshock: enfin, tous les containers standards au moins
tekki: AutomatonNN tjs au poste?
AutomatonNN: on va se faire un truc genre tu peux pas te dire que tu as perdu ton code et tu mets un char dans le
tekki: Automaton2000?
Automaton2000: et si le mec en face
Kayd33n: Bonjour, j'ai un DM à faire en VBA mais je ne comprend rien, quelqu'un pourrait-il m'apporter de l'aide je vous prie ?
pardouin: c'est quoi le soucis, tu maîtrises bien le langage au moins ?
Kayd33n: non et la est le problème. J'ai beau lire et relire le cours ça me dépasse
Kayd33n: bon merci quand m^me ..
pardouin: en gros tu voudrais qu'on le fasse pour toi ? :/
pardouin: on peut répondre à des questions sur des points spécifiques mais te faire ton truc bof
Kayd33n: Non j'aimerai comprendre, je ne trouve pas ça constructif de copier bêtement, d'où ma venue ici plutôt que demander les réponses à mes collègues de classes
pardouin: eh bien pose des questions spécifiques :)
Kayd33n: il se passe des choses bizarres quand j'écrit :/
Kayd33n: Un échange par mail serai possible ? c'est plus facile d'expliquer avec des screen ..
pardouin: je suis en train de bosser perso
pardouin: tu peux copier des screens et des scripts ici sans pb
Alshock: Kayd33n par mail pas tellement, tu peux envoyer des liens d'images si besoin mais a priori les problèmes s'expliquent assez bien en textuel
Alshock: là on ne sait ni ce que tu dois faire, ni ce que tu as essayé, ni ce sur quoi tu bloques
Kayd33n: très bien je vais essayer dans ce cas
Alshock: pour t'aider c'est complexe
Kayd33n: Le but est de créer un gantt avec des macros. Ce que je souhaite faire dans un premier temps c'est :
Kayd33n: A1 : Nombres de tâches B1: on rentre la valeur et en fonction du nombre entré les 5 cellules qui suivent ( nom, description, date de début, durée, ..) se dupliquent
Kayd33n: le dans n'a rien à faire la
Kayd33n: je ne sais pas si je suis clair ?
Alshock: pour l'instant ça a l'air compréhensible
Alshock: pas bien compris à quoi servait la valeur de B1 cela dit
Kayd33n: http://chat.codingame.com/pastebin/2df95bac-ab7f-4d57-8020-6666ca2510a2
Kayd33n: peut être en écrivant cela ?
Kayd33n: x = Sheets("Feuil1").Range("B2").Value
Alshock: donc là tu as su faire une écriture de tes cellules A3->A9 et tu veux les dupliquer sur B3->B7 à X3->X7 ?
Kayd33n: Si je rentre 5 en B1, je veux que ca se duplique 5 fois en gros
Alshock: Donc, quelle serait ton approche, où ta piste par défaut ?
Alshock: -où+ou* pardon
257832: Yo tout l'monde ! Automaton2000, AutomatonNN !
AutomatonNN: oui
Automaton2000: mais bon, si ça se trouve pas dans le cas où je suis pas fan
Alshock: Yo BlaiseEbuth ! Kayd33n Ce que je veux savoir c'est comment tu comprends ton problème, vu que de l'extérieur il semble trivial
Alshock: Pour moi il y a deux possibilités principales, soit tu n'as pas bien compris comment boucler sur une série d'instructions, soit tu ne sais pas utiliser la fonction Cells
Alshock: Cela dit, j'ai pas utilisé VBA depuis un sacré temps moi-même, donc peut-être que ton blocage est ailleurs et que c'est moi qui projette trop
Alshock: Je crois que je l'ai fait fuir :(
Alshock: @BlaiseEbuth je suis si effrayant que ça ? J'ai même limé mes canines pour quelles ressemblent à celles des humains
257832: Mais non, t'es mignon comme tout. Mais il y'a des gens qui ont peur des clowns...
BlaiseEbuth: Diantre ! [CG]Thibaud me suit ! :o
[CG]Thibaud: je te suivais déjà en fait. J'ai unfollow puis follow
[CG]Thibaud: en vrai, je voulais voir le label en fr du boutton follow et comme j'étais sur ton profil...
BlaiseEbuth: Que faisais tu sur mon profil ? :innocent:
[CG]Thibaud: :smirk:
Thyl: Hello !
Thyl: Est-ce que vous conaissez
Thyl: un dictionaire format txt
Thyl: ?
dbdr: http://chat.codingame.com/pastebin/5f774050-e9d4-48b5-a0c1-540fac21c0bf
Thyl: Qu'est ce ?
dbdr: un dictionaire format txt
Thyl: euhhh
Thyl: quel langue ?
Thyl: Par ce que je voudrai faire en truc en FR
dbdr: ça existe en français aussi
dbdr: tu as essayé google?
Thyl: tu peux télécharger des dicos google?
dbdr: sur linux: wfrench/xenial,xenial 1.2.3-10 all
French dictionary words for /usr/share/dict
Thyl: Je suis Un Widowsien
Thyl: le prochai PC c'est Linux...
Thyl: au passage
Thyl: dbdr
Thyl: merci quand même?
Thyl: @[CG]Thibaud
dbdr: https://salsa.debian.org/gpernot/wfrench/-/raw/master/french
Thyl: Il y a pas des puzzles machine learning sur CG
BlaiseEbuth: Non Thyl, y'en avait un avec tensorflow y'a longtemps, mais il n'existe plus. Sinon tu en as un où il faut créer un réseau de neurones basique.
Thyl: Lequel?
BlaiseEbuth: En fait deux, c'est une suite : https://www.codingame.com/training/hard/binary-neural-network---part-1
Thyl: Ma questin va s'embler très bête mais quel et la fonction pour avoir la valeur négative d'un nombre en python ?
Thyl: :grinning:
BlaiseEbuth: *-1 ? :grinning:
Thyl: C'est une blaque?
Thyl: Où c'est vraiment ça...
nicola: Donne un exemple.
Thyl: genre 12
BlaiseEbuth: 12*-1 = -12
nicola: Ou -a.
Thyl: a.........
Thyl: pardon
Thyl: je n'est pas un bagage mathématique conséquent.
Thyl: l'école c'est fait pour ça?
Thyl: en tout cas merci!
BlaiseEbuth: T'es en quelle classe ? Et sinon nicola a raison tu peux directement écrire -tavariable
nicola: C’est la base (collège).
Thyl: 6ème
Thyl: Blaise
nicola: OK.
Thyl: quoi OK?
BlaiseEbuth: Vu, bah tu devrais les voir bientôt alors ^^ tu seras en avance
nicola: OK, si tu es en sixième, c’est normal que tu ne saches pas.
Thyl: merci...
nicola: Tu verras ça l’an prochain.
Thyl: C'est du programme?
Thyl: scolaire...
BlaiseEbuth: Oui oui
Thyl: en plus je l'avais vu...
Thyl: les trous de mémoire c'est assez énervant.
BlaiseEbuth: Alzeihmer à ton âge c'est triste... :(
Thyl: c'est pas parce que je suis jeune que je suis bête Blaise...
BlaiseEbuth: Ca va alors, ça va s'arranger. :grin:
Thyl: :grin:
Thyl: A question
Thyl: je voudrais appeler une fonction dans une fonction
Thyl: sauf qu'a la def ça va pas passer
Thyl: je fais un except
Thyl: ???
BlaiseEbuth: Pourquoi ça passerait pas ?
Thyl: c'est des fonctions qui se font appelle
Thyl: a appel b
Thyl: et b appelle a
Zorg1: c'est possible, ça s'appelle la récursivité :D
Zorg1: o/ à tous et aux bots Automaton2000 & AutomatonNN
Automaton2000: le truc, en le pompant tu passes direct #15 :p mais j'vais pas faire ça en java
AutomatonNN: vous pouvez pas le determiner ce que tu as fait avec ton code ?
BlaiseEbuth: \o
Thyl: Oui mais à la def
Thyl: il connait pas b
Thyl: quand a se def
Snef: Automaton2000 c'est du leoJean ça je reconnais
Automaton2000: tu viens de perdre contre toi
Thyl: A pardon...
Thyl: sa passe
Thyl: désolé:grinning:
BlaiseEbuth: En python ça passe...
Thyl: Une autre question bête
Zorg1: en python tout passe :p
Thyl: mais c'est defois un peu dégeulasse
BlaiseEbuth: Ce petit ira loin
Zorg1: t'as jamais vu du code en production ...
Zorg1: :D
Thyl: Par contre j'aime pas qu'on m'appelle petit
Zorg1: le truc qu'il ne fallait pas dire
Thyl: je sais
Thyl: mais j'avais envie de le dire
Zorg1: bon c'est pas tout ça, on s'amuse on rigole mais moi faut que je pense à faire ma simu à deux balles sur CotC
Zorg1: Automaton2000 une idée de génie, une indication, une piste ?
Automaton2000: vu que je suis passé au dessus du boss
Zorg1: oui mais maintenant t'es de nouveau en dessous d'un nouveau boss à moins d'être en légende, Automaton2000
Automaton2000: je vais faire la même chose
Zorg1: nice Automaton2000 t'as tout compris
Automaton2000: c'est un truc pour faire du random
Thyl: help()
Thyl: j'ai une méthode de classe
Thyl: qui en appelle une autre
Thyl: j'écris Nord()
Thyl: sa marche pas
Thyl: j'écris self.Nord()
Thyl: sa marche pas
Thyl: ça marche
Thyl: pardon
Thyl: C bon
Thyl: problème d'indentation
Thyl: je comprends pas pourquoi il font pas comme en Java
Thyl: tout bien délimité
Zorg1: bah la structuration par indentation c'est un peu une idée de base de Python
Zorg1: après on aime on aime pas
Zorg1: je pense que vu que python initialement pensé comme un langage de débutant, c'était pour forcer à indenter son code et à en visualiser la structure
Thyl: pas bête
Thyl: mais quand tu dois tout décaler à l'aide de la bar espace
Thyl: quand tu colle
Thyl: c
Thyl: lonnnng
Zorg1: un IDE un peu malin il ne fait pas ce genre de boulot pour toi ?
Thyl: Je bosse dans l'IDE de base
Thyl: Notebook
Thyl: Spyder
Thyl: après je sais peut-être pas m'en servir...
Thyl: :grimacing:
dbdr: if a: b c
dbdr: l'IDE il peut pas deviner si c est au niveau de b ou du if
Zorg1: a ifTrue: b ifFalse: c
Zorg1: faut faire du SmallTalk :p
dbdr: :)
Zorg1: sinon dans un IDE t'as une fonction qui permet de décaler un bloc de texte, c'est assez pratique
dbdr: c'est la vraie syntaxe?
dbdr: oui, faudra juste une touche pour indenter, ni + ni -
Zorg1: c'est plutôt x=y ifTrue : [faire unTruc]
dbdr: apres avec des tabs c'est une touche aussi, IDE ou pas
Zorg1: (je suis en train de faire mumuse avec Pharo. ça me rappelle quand j'en avais fait à l'école. c'était marrant. lent. mais amusant)
dbdr: j'avais interprété école primaire, mais créé en 2008, donc je suppose pas :)
dbdr: j'ai fait du logo en primaire :)
Zorg1: pas Pharo, du smalltalk, je ne sais plus lequel
Zorg1: c'est assez marrant ils ont poussé à fond la logique "tout est objet"
dbdr: smalltalk c'est là ou tu as une image persistante, non?
Zorg1: oui comme en Logo, dans certain Lisp, et certains Forth ;-)
dbdr: c'est utile
dbdr: ? manquant
Zorg1: (bon à la base Logo c'est un dialecte de Lisp plus "user friendly" on va dire)
dbdr: ça me paraissait un peu mystèrieux qd on m'en a parlé
Zorg1: de quoi ? le logo ?
dbdr: les images persistantes
Zorg1: après ça s'oppose à l'approche plus classique qu'a pas trop changé depuis les batchs de cartes perforées ;-)
dbdr: a priori j'aime bien l'idée que je peux inspecter tout le code source, pas hériter d'une images black box
dbdr: apres j'ai pas pratiqué
Zorg1: pas trop non plus
BigUP: tiens, les IA de conversion de code arrivent...
Zorg1: pour convertir mon code Java dégueulasse en code C++ de référence ?
BigUP: Zorg1, pour convertir du Java en C++, ca va le truc a l'air de ne pas avoir trop de mal... score environ a 95%
BigUP: Java --> Python c'est plutot 65%
BigUP: https://arxiv.org/pdf/2006.03511.pdf
Zorg1: enfin ça me fait marrer, quand tu vois comment le client il flippe quand tu rajoute une fonctionnalité séparé de tout le reste, alors là les gars ils se pointent "pas de problème mon IA réécrit tout votre COBOL en Java !!! ezpz !!"
Zorg1: tu me diras avec la poudre de ML tu fais tout passer, même si t'as vingt indiens qui bossent en cachette pour tout mettre d'équerre ...
Zorg1: en plus le gros problème de porter tout ces vieux trucs, c'est que généralement on a quasiment pas de cahier de tests A JOUR pour valider que le nouveau système marche comme l'ancien ^^
Zorg1: donc si tu fais confiance à l'IA, qui paie la casse ? ;-)
BigUP: l'idée, c'est pas de faire confiance a l'IA pour le moment
Zorg1: je ne suis pas sûr que le plus gros coût d'un portage ça soit vraiment le codage
BigUP: a bien regarder, le truc fait des choses pas degeux en exploitant bien les spécificités du langage
dbdr: a bien regarder les examples choisis par les auteurs?
dbdr: ping
Zorg1: pong
leojean890: 55/4031 COTR en ajoutant les loops + hardcode ;P
leojean890: beeurk;p
Zorg1: bon BigUp on s'associe pour faire du ML pour porter du COBOL en Java/C# pour se faire les couilles en or en plumant les banques ?
Zorg1: :D
leojean890: 3523 instructions..
leojean890: bon je passe sur quel jeu ;)
leojean890: ais-je la foi de faire une simu COTC
leojean890: ou de coder le "truc de tourist" dans a*c
Zorg1: ouaip parfois c'est énormément de boulot pour pas faire mieux que ton heuristique à deux francs six sous
Zorg1: le "truc de tourist" ça a l'air efficace
leojean890: hehe cotc clairement ça va être un peu chaud comme csb
leojean890: a*c ouais clair vu que Vry a fait la même et est 10eme:p
Zorg1: t'as FB & MM qui me reste à simuler
leojean890: fb du coup tu m'as envoyé le lien de bob
leojean890: qui m'a dit qu'il fait en heuristique
leojean890: légende
leojean890: ;)
leojean890: j'ai pas encore tt lu
Zorg1: oui en fait actuellement FB je l'ai fait comme bob. mais je ne suis pas légend :D
leojean890: ah :P il l'a bien faite son heuristique !
leojean890: j'pourrais tester fb
leojean890: dans ma todo list à faire sous peu..
leojean890: y'a "tester fb, tester MM"
leojean890: "peut être tester WW si je me mets à comprendre le jeu"
MPSI_LIV_INITIAL_D: Saluté les gens
leojean890: car là non
MPSI_LIV_INITIAL_D: Il y aurait-il de spersonnes qui code en Ocaml ici ?
leojean890: et sinon simuler CSB COTC
leojean890: passer légende HS car je suis 20eme gold
leojean890: je ne code pas en Ocaml
MPSI_LIV_INITIAL_D: (jsp si c'est le bon endroit pour demander des conseils, dites le moi si je me plante ^^)
leojean890: tu peux en demander ici
leojean890: Boulet code en Ocaml
MPSI_LIV_INITIAL_D: Ouais mais c'est dans mon programme scolaire :'(
leojean890: mais il n'est sûrement pas à
leojean890: t'es en MP ?
MPSI_LIV_INITIAL_D: oui
MPSI_LIV_INITIAL_D: x)
leojean890: j'ai fait MP mais avec l'option SI..
MPSI_LIV_INITIAL_D: enfin j'vais passer en MP du coup
MPSI_LIV_INITIAL_D: MP avec info :D
leojean890: donc pas fait ocaml
leojean890: oauis je sais !
leojean890: y'avait pas dans ma prépa sinon j'aurais fait ;P
leojean890: lycée corot, savigny sur orge
MPSI_LIV_INITIAL_D: aie
leojean890: ça m'aurait + tenté que SI
MPSI_LIV_CronierDamiano: bonsoir
MPSI_LIV_INITIAL_D: Lycée de Valbonnes, Alpes-Maritimes
MPSI_LIV_INITIAL_D: Coucou toi
MPSI_LIV_CronierDamiano: ça va initial D ?
MPSI_LIV_INITIAL_D: Trkl et toi CronierDamiano ?
MPSI_LIV_CronierDamiano: ouais ça va
MPSI_LIV_CronierDamiano: je contemple mon code nul qui a pas avancé depuis 3 mois
MPSI_LIV_INITIAL_D: Aie aie aie
MPSI_LIV_CronierDamiano: et toi ?
MPSI_LIV_CronierDamiano: tu t'en sors ?
leojean890: on vous conseille de faire du CG dans votre prépa ?:P
MPSI_LIV_INITIAL_D: Disons que je suis en train de faire un "comptage" plus avancé que le number one (enfin je crois x))) )
MPSI_LIV_INITIAL_D: Yep
MPSI_LIV_INITIAL_D: En plus c'est noté
leojean890: ils vous conseillent quels sujets sur CG ?
leojean890: sérieux ?
MPSI_LIV_INITIAL_D: Mais comment tu peux noter un code
leojean890: "passer légende => 18/20"
MPSI_LIV_CronierDamiano: en fonction de ton classement je crois
leojean890: premier légende => 20/20
MPSI_LIV_INITIAL_D: Bah en vrai, on ne connait pas ces critère
leojean890: ils vous font faire ça sur quelx jeux ?
leojean890: quels*
MPSI_LIV_INITIAL_D: tronbattle
leojean890: ah ouais
leojean890: sympa lui
leojean890: au moins c'est fun
leojean890: en ocaml donc ?
MPSI_LIV_INITIAL_D: Il y a le Classement + présentation du code + si c'est propre / bien fait + utilisation de technique + utilisation d'outils etc...
MPSI_LIV_CronierDamiano: ouais donc relou quoi
MPSI_LIV_CronierDamiano: car perso j'ai du mal à avancer
MPSI_LIV_INITIAL_D: bref, c'est le bordel, le conseil de classe c'est Vendredi prochain, il doit tous nous prendre 1 par 1 pour pouvoir évaluer
leojean890: https://www.a1k0n.net/2010/03/04/google-ai-postmortem.html
leojean890: lisez ça;)
MPSI_LIV_CronierDamiano: au fait initial D tu es qui mdrrr
MPSI_LIV_INITIAL_D: je me demande comment il va fair
leojean890: le gagnant du concours
leojean890: de tron
leojean890: appliquez ça;)
MPSI_LIV_INITIAL_D: Je suis le seul couillon en vocal sur le groupe de la classe
MPSI_LIV_CronierDamiano: ah mais ko
Zorg1: ça bosse tard les prépas dis donc
leojean890: présentation du code + si c'est propre / bien fait + utilisation de technique + utilisation d'outils
MPSI_LIV_CronierDamiano: tu coco
leojean890: wow moi je code salement sur CG mdr
MPSI_LIV_CronierDamiano: et leo merci pour ton truc
leojean890: donc j'aurais pas bcp de points
leojean890: de rien, lire des post mortems c'est toujours bien pour avoir des idées de stratégies
Zorg1: ils auraient pu avoir MK comme prof d'info. Si t'es pas legende sur CSB, c'est la bulle ^^
leojean890: utilisation d'outils => IDE avec CG-sync ?
leojean890: mdr
MPSI_LIV_INITIAL_D: Le
leojean890: bah copier coller IA inory dans ce cas ;)
MPSI_LIV_INITIAL_D: Leo, j'ai eu exactement la même idée :OO
leojean890: le prof va dire "wow, bonnes méthodes !"
Zorg1: oui enfin il est connu le starter d'Irony
leojean890: tiens d'autres articles sur tron que j'ai pas encore lus
leojean890: https://people.montefiore.uliege.be/dlstpierre/publications/tron2012.pdf
leojean890: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.704.9457&rep=rep1&type=pdf
leojean890: connu dans le sens si tu le push en direct ça se verra j'imagine au style de jeu :P
leojean890: et puis le mec qui note va voir que c'est pompé
MPSI_LIV_CronierDamiano: le souci c'est que une fois que t'as la stratégie faut réussir à le coder
Zorg1: tu dois même trouver du code pour tron en googlant
leojean890: ouais les 2 papers que j'ai envoyés en derniers c'est plus chaud à coder et long je pense
leojean890: l'article du gagnant de 2010 à la limite vous pouvez prendre qq idées mais pas tout coder si c'est trop long
leojean890: https://www.codingame.com/forum/t/tron-battle-multiplayer-challenge-discussion/49/41
leojean890: https://vks.ai/2016-09-07-ai-challenge-in-78-lines
leojean890: allez ça fait assez de liens XD
leojean890: ces 2 là sont + accessibles
leojean890: alors Zorg1, simu COTC ?:P
k4ng0u: c'est fou qu'en prepa on vous lance sur codingame. en mode addictif qui te distrait des revisions t'as pas mieux :D
Ratchef: ce site est beaucoup trop bien
Ratchef: Vous me conseillez de faire quoi pour consolider mes bases en algorithmique?
Ratchef: Et apprendre Java / Python au passage
k4ng0u: ultimate tic tac toe si tu veux essayer de la simu et apprendre le mcts
k4ng0u: tron pour du voronoi
k4ng0u: apres dans les puzzle il y a pas mal de trucs interessants aussi. il y a un algorithem que tu veux apprendre en particulier?
leojean890: ouais codingame ça entraine bien mais ça peut facilement devenir addictif et distraire du reste ;)
leojean890: sinon coders of the carribean pour les grilles hexagonales, smash the code ou coders strikes back pour les algos génétiques, A*craft pour le recuit simulé, etc
leojean890: wow wood2 to bronze dans FB ça prend 1 min de reflexion et 2 min de codage
leojean890: c'est pas comme cotc qui fait galérer
leojean890: les ligues d'après seront + compliquées avec les collisions etc ;P
pardouin: honnêtement si tu veux progresser en algorithmique commence par faire tous les niveaux 3 à 6 sur France IOI
pardouin: sur codingame c'est beaucoup d'algos empiriques, A*, réseaux de neuronnes, minimax
pardouin: c'est très axé jeu vidéo, c'est très cool mais il te manquera plein de classiques, c'est plutôt à faire dans un second temps à mon avis
pardouin: france IOI 3-6 ça couvre : http://chat.codingame.com/pastebin/db64c1d5-1e13-46bc-9e27-261cbc1c4b44
MPSI_LIV_INITIAL_D: Bah notre prof pense qu'avec le confinement, on taff pas autant que normalement
MPSI_LIV_INITIAL_D: mais ça reste très interessant de pratiquer
pardouin: mais en tout cas c'est beaucoup plus efficace de résoudre des problèmes que de lire des solutions
pardouin: tu retiens beaucoup mieux les trucs si tu as un peu galéré à ls trouver
leojean890: bah après ça reste à vous de décider si vous comptez taffer autant que d'habitude ou pas ;)
leojean890: pas au prof, genre en prépa tu bosses chez toi la quantité que tu veux
leojean890: vu la densité du programme
MPSI_LIV_INITIAL_D: Bah tkt, on a eu tout nos cours durant le confinement x)
leojean890: autant préparer
MPSI_LIV_INITIAL_D: quand j'apprend que certaines écoles, ils étaient en "pseudo vacance"
leojean890: ouais vaut mieux :p
MPSI_LIV_INITIAL_D: Je ne vais pas me plaindre, ça nous fait monter dans le classement x)
leojean890: bah même s'il y avait pas cours il y a le travail perso
leojean890: la prépa c'est surtout du travail perso
MPSI_LIV_INITIAL_D: Bref, je pense que je vais aller me coucher, demain debout pour 8h
leojean890: bonne nuit
pardouin: mais à mon avis il vaut mieux faire des problèmes plus axés algorithmique déterministe qui te feront découvrir au passage tous les classiques que de passer des heures à relancer des simus de bots en changeant quelques paramètres pour voir si tu bats plus d'ennemis
pardouin: ça te servira plus pour plus tard :)
MPSI_LIV_INITIAL_D: Ouais, le codingame, on le fait en parallèle des cours / TP d'algo qu'on fait
pardouin: cherche "competitive programming" il y a des tonnes de sites
leojean890: je crois que pardouin parlait à Ratchef qui demandait des conseils aussi :P
MPSI_LIV_INITIAL_D: Aaaaaah x)
pardouin: prends en priorité un site où les pbs sont regroupés par thème, ça t'évitera de partir dans tous les sens
leojean890: à 23h
MPSI_LIV_INITIAL_D: Allez, sur ceux je vous dis
leojean890: ouais vaut mieux que ce soit en parallèle histoire de voir le tout :)
pardouin: MDR
pardouin: je pensais que tu étais le gars de 23h !
leojean890: ça vous donne un côté pratique à l'info
pardouin: bonne nuit !
MPSI_LIV_INITIAL_D: Printf.printf("Bonne nuit tout le monde"
MPSI_LIV_INITIAL_D: zut, j'ai oublier la parenthèse
MPSI_LIV_INITIAL_D: ça à tout planté, tempis
pardouin: ^^
leojean890: mais c sympa d'avoir à bosser tron
leojean890: la rigueur de simuler et de faire du code sans bug :P
leojean890: (sans bug = chaud :P)
pardouin: j'ai pas trop regardé la partie combats de bots du site pour l'instant
pardouin: j'ai juste essayé un peu CSB
pardouin: ça a l'air rigolo mais j'ai pas trop le temps pour le moment
leojean890: tu préfères les coc, right ?:P
leojean890: j'aime bien les optims aussi
leojean890: tu joues pas contre qqn, tu cherches à minimiser ou maximiser un score
leojean890: donc faut faire l'algo de recherche le plus adéquat
pardouin: oui je pense que j'y jeterai un oeil
pardouin: les CoC c'est surtout que c'est rapide, tu peux en faire 3-4 quand tu as un quart d'heure devant toi, c'est ça qui me plaît
pardouin: mais je m'éclate plus à réfléchir sur des problèmes plus longs
leojean890: comme il y a plein de sujets que ce soit golf, optim, multi.. tu peux lire les énoncés et choisir ce qui te tente le plus aussi
leojean890: ouais je comprends
leojean890: les coc tu peux facilement les faire et les enchainer
pardouin: et mine de rien j'ai appris pas mal de trucs
pardouin: pas seulement du golf inutilisable
leojean890: pareil ça m'intéresse + de réfléchir à des problèmes plus longs
pardouin: ça m'a motivé à bossé un peu le regex par exemple
pardouin: bosser*
leojean890: ouais en effet tu peux apprendre des choses sur les langages qui peuvent resservir ailleurs
leojean890: dont les regexp
leojean890: les problèmes plus longs tu peux y réfléchir en tâche de fond quand tu te douches ou autre :P
pardouin: pareil les fstrings de python j'avais jamais bossé ça car je bosse à 50% sur des vieilles versions de Python genre la 3.4 -_-
leojean890: c'est intéressant de considérer plusieurs approches
leojean890: de les tester
pardouin: oui j'aime bien garder tjrs un pb dans un coin de ma tete
leojean890: souvent il y a plein de stratégies possibles / d'algos possibles, ce qui permet de faire plein de tests
leojean890: ocean of code notamment
leojean890: mais pas que
leojean890: ah ouais pareil moi j'ai pas bossé sur du python avec du typage strict par ex
leojean890: (dispo en 3.6)
leojean890: pas encore trop avec numpy ni pandas
leojean890: 1er bronze FB grr
pardouin: numpy je l'utilise de temps en temps pour faire un produit de matrices par ex mais j'ai jamais exploré à fond les possibilités
pardouin: pandas j'ai un peu joué avec mais jamais eu l'utilité dans un vrai script
pardouin: mais c'est marrant de charger genre toutes les villes de france et de faire des recherches de palindromes etv
pardouin: etc*
leojean890: pareil je l'ai un tout petit peu utilisé
leojean890: quand j'ai essayé scikit_learn
leojean890: et lu la doc aussi
leojean890: histoire de tester + someday
leojean890: et j'utilise des fcts de numpy pour aller plus vite (random generation, random shuffle..)
BigUP: leojean890, c'est pas toujours plus rapide numpy
leojean890: pour la random generation ça l'est
leojean890: parfois moins rapide, tu avais donné des exemples
BigUP: faudrait que je bench
leojean890: random gen numpy est optimisé pour générer plein de nbs d'un coup
leojean890: donc je genere direct un tableau de grosse taille
leojean890: j'avais pas benché mais lu des trucs sur le web qui comparent diverses approches
BigUP: oui, numpy est probablement plus rapide pour gérer des tableaux entiers
leojean890: ouais tableau de 100000 elements par ex
leojean890: avant de faire plein de simus alatoires
leojean890: aléatoires
BigUP: mais s'il faut gérer les trucs element par element, numpy semble généralement plus lent
leojean890: ouais possible, j'ai pas tenté du coup
BigUP: Tiens, ca me fait penser qu'hier j'etais en train d'essayer d'améliorer une fonction de conversion d'image 360 vers un panorama. J'avais bon espoir d'améliorer avec numpy, mais je ne vois pas comment utiliser les particularités de numpy pour ca et pas certain que numpy puisse améliorer quoi que ce soit, vu qu'il faut recopier les points en fonction des x et y avec du cosinus et sinus
Zorg1: mais avec numpy tu peux pas faire plusieurs simus en même temps ?
BigUP: aucune idée, je ne maitrise vraiement pas les concepts et fonctions de numpy
Zorg1: tu peux faire des multiplications de matrices, de vecteurs ... avec ?
BigUP: Zorg1, normalement oui
Zorg1: ok
pardouin: https://numpy.org/doc/1.18/reference/generated/numpy.vectorize.html
pardouin: jette un oeil à ça
pardouin: sinon rien à voir mais j'ai encore appris un truc à CoC : en C++ on peut faire ce genre de truc : c += (a//=b) (ça ne marche pas du tout en python)
Zorg1: euh //= ? /= je vois mais // c'est le commentaire ?
pardouin: oui pardon en C++ c'est c += (a/=b)
pardouin: j'ai copié collé celui que je venais de tester dans python
Zorg1: ah c'est comme en lua, // c'est la division entière ?
BigUP: Zorg1, oui division entiere
leojean890: tiens silver à FB :P
BigUP: leojean890, GG ;) Legende en heuristic ;) avec une pseudo simu sur le shoot a base de flipendo
leojean890: gg xD
BigUP: leojean890, Magus etait 1er au contest avec un AG
leojean890: moi j'ai commencé il y a 2h
leojean890: wood2 to bronze était bidon
leojean890: bronze => silver moins
BigUP: en heuristic ?
leojean890: fallait un peu réfléchir qd même
leojean890: ouais
leojean890: pas eu le temps de faire une simu en 2h :P
leojean890: wood2 2 bronze c'est genre 2 min de code
leojean890: un peu comme pacman
leojean890: mais pour silver fallait qq trucs en plus avec les sorts
leojean890: j'pense que c'est chaud de simuler totalement
BigUP: leojean890, les points importants a FB, les passes entre bots, la précision du shoot avec flipendo et tirer le + droit au but posible
leojean890: ouais j'ai commencé un truc pour flipendo que j'ai pas fini dans ce code
BigUP: leojean890, pour la simu le truc chiant ce sont les rebond élastic, mais les formules doivent trainer sur l eforum
leojean890: genre calculer la ligne entre moi et les balles pour voir si le flipendo amene au but
leojean890: mais faut aussi regarder si ca amene assez loin
leojean890: donc j'ai que du accio avec qq if pour etre sur qu'il faut le faire
BigUP: leojean890, fonction affine pour ca ;)
leojean890: faut regarder avec MIN( 6000 / ( Dist / 1000 )2, 1000 )
BigUP: oui pour la distance
leojean890: ouais
leojean890: non voir si ça va dans le but c'est simple
leojean890: enfin truc que j'ai fait récemment dans cvz
leojean890: ligne entre 2 entités
leojean890: donc toi t'es légende sans simu comme bob :P
BigUP: oui, normalement pas vraiement de simu, au mieux j edois calculer ma position pour le tour d'apres ou les 3 prochains tours
leojean890: ouais pas exhaustive
leojean890: pour le moment mon heuristique pour appliquer accio est un truc bidon comme ça if dist((x,y),my_wizards[i]) < minDist and dist((x,y),my_wizards[i]) > 1000 and dist((x,y),my_wizards[i]) < abs(advX-x):
leojean890: et je fais pas encore les autres
leojean890: flipendo ne saurait tarder du coup
BigUP: ACCIO, il faut bien gérer la distance de déclenchement, voir l'angle. ca peut permettre de bien pousser les balles vers l'avant (voir dans le but)
leojean890: ouais
leojean890: pour le moment je le lance que si pas trop proche de moi et si elle est pas trop proche des buts (parfois avant je le lancais et ca l'empechait de rentrer dans les buts)
leojean890: du coup c'est un peu nul :P
leojean890: pousser direct dans le but avec accio c'est pas mal j'avoue
BigUP: leojean890, une partie contre Magus : https://www.codingame.com/share-replay/473337909
BigUP: ca va vite ! ;)
leojean890: ah ouais chaud mdr tu veux pas faire AG toi ?:P
leojean890: 300 personnes en légende et 475 en gold, c'est pas le pire
BigUP: leojean890, je suis en python comme d'hab ;). L'AG doit etre copieux a coder
leojean890: faut des perfs j'pense ouais
leojean890: et pas rapide à faire bien
BigUP: et meme si je codais en C++, je le ferais en STL avec les conteneurs qui ne sont pas des plus rapides, donc je n esai spas si j'arriverais a atteindre les perfs de mon algo actuel
leojean890: je vois
leojean890: sinon fais en cpp avec des tableaux ?:P
BigUP: oui, mais j'ai pas envie ;) du vector sinon rien ;)
leojean890: je comprends :P
leojean890: galère hehe
leojean890: quand on a pas l'habitude ça prend bcp de temps
BigUP: leojean890, les tableaux, j'ai un lourd passé en C, j'ai plus envie ;)
leojean890: hehe moi c'était principalement en école
leojean890: et ouais belle galère
leojean890: alors comment mon truc rank en silver..
BigUP: bon moi j'ai bien pourri mon Tron en cherchant a améliorer
leojean890: ça m'arrive aussi hehe
BigUP: je ne trouve pas de fitness convenable, en meme temps, je n esimule pas l'adversaire
leojean890: surtout quand je suis en gold qqpart
leojean890: mes idées souvent font régresser :P
leojean890: avant gold y'a trop de trucs "évidents" mais qq fails aussi
BigUP: arf ! tiens ce game est bon : https://www.codingame.com/share-replay/473338018
leojean890: j'avoue tu te fais coincer :P
BigUP: pourtant je ne donnais pas chere du bleu ! ;)
leojean890: tu fais pas de voronoi toi ;)
leojean890: pas envie ?
BigUP: non, jamais codé le voronoi, il faut que je passe du temps a comprendre comment l'utiliser
leojean890: tu fais juste un bfs
leojean890: tu calcules pour chaque case qui est le plus rapide à l'atteindre
leojean890: tu sum pour chacun son nb de cases
leojean890: tu maximises le tien
BigUP: voila, déjà la, je suis largué ;)
leojean890: ah ?:P
leojean890: ptet que j'explique mal
leojean890: ;)
BigUP: non, mais il faut que je regarde des implémentation sur des cas concret pour comprendre comment je peux l'utiliser
BigUP: je vais me coucher, je suis mort ! ;) bonne nuit
leojean890: bon ça va tomber versd 200/700 silver
leojean890: bonne nuit:)
leojean890: cas concret : tron :P