Aller au contenu

Rechercher dans la communauté

Affichage des résultats pour « challenge » dans sujets.

  • Rechercher par étiquettes

    Saisir les étiquettes en les séparant par une virgule.
  • Rechercher par auteur

Type du contenu


Forums

  • Fonctionnement de ce site
    • Nouvelle règle pour les invités : plus d'écriture possible sans inscription
    • CADxp, comment ça marche?
    • CADxp, vos souhaits
    • Forum test
  • Emploi
    • Emploi, monde du travail
  • AutoCAD
    • AutoCAD 3D
    • AutoCAD 2020-2024
    • AutoCAD LT 2024
    • AutoCAD LT 2020-2023
    • AutoCAD 2019
    • AutoCAD LT 2019
    • AutoCAD 2018
    • AutoCAD LT 2018
    • AutoCAD 2017
    • AutoCAD LT 2017
    • AutoCAD avant 2017
    • AutoCAD LT avant 2017
    • Tutoriaux AutoCAD
    • AutoCAD, liste de souhaits
  • Autres logiciels de CAO
    • Microstation
    • IntelliPlus, IntelliCAD, CadIdesk
    • ZWCAD
  • Architecture, Bâtiment
    • Revit
    • AutoCAD Architecture
    • AutoCAD MEP
    • BIM
  • Mécanique
    • Inventor
    • SolidWorks
    • Creo (ex. Pro/Engineer)
    • Catia
  • SIG, Génie civil, Cartographie, VRD
    • Autodesk Map
    • VRD
    • Covadis
    • Infraworks 360
    • Mensura
    • AutoCAD Civil
    • Autopiste
    • SIG internet
  • Imagerie, animation, PAO, modélisation 3D
    • 3DSMAX
    • Création et retouche d'images
    • Sketchup
    • Autres logiciels d'infographie
    • Lumion 3D
  • Programmation
    • LISP et Visual LISP
    • VBA et VB
    • Personnalisation, macros, DIESEL
    • ObjectARX/DBX, C++, .NET, RealDWG
    • Programmer en s'amusant
    • Suggestions de développements
  • Trucs et astuces
    • AutoCAD trucs et astuces
    • Windows trucs et astuces
  • Matériel CAO
    • Ordinateurs
    • Périphériques d'entrée
    • Périphériques de sortie, impression
  • Divers
    • CAO, généralités
    • Echanges de fichiers
    • Organisation du travail
    • Visualisateurs, annotation
    • Pause café
    • Bibliothèques de composants
    • Formation
  • Logiciels connexes
    • Devis, métré, estimation, quantitatif
    • Calculs et simulation
  • Forums métier
    • Bâtiment
    • Infrastructures

Calendriers

Il n’y a aucun résultat à afficher.

Blogs

Il n’y a aucun résultat à afficher.


Rechercher les résultats dans…

Rechercher les résultats qui contiennent…


Date de création

  • Début

    Fin


Dernière mise à jour

  • Début

    Fin


Filtrer par nombre de…

Inscription

  • Début

    Fin


Groupe


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

  1. Désolé... Mais tu peux lancer ce challenge en VBA...
  2. Salut Curlygoth. Non, désolé, pas de VBA, et pour l'itération ou la boucle, c'est toi qui vois, il faut un minimum de ligne de code... C'est le challenge. ;)
  3. Le Yeti sport Tour Challenge 2004 est arrivé. Allez voir ici [Edité le 9/8/2004 par Oli553] [Edité le 9/8/2004 par Oli553]
  4. Hors challenge, dans l'esprit de ce qu'a donné bonuscad : (defun doublon (l) (or (vl-some '(lambda (x) (member x (cdr (member x l)))) l)) ) L'utilisation de (or ...) sert juste à renvoyer T au lieu de la première occurrence de (member x (cdr (member x l))). C'est uniquement pour respecter une règle du challenge, et ça serait inutile dans un autre cadre : pour les conditionnelles LISP tout ce qui n'est pas nil est considéré comme vrai.
  5. Bonjour, Je me lance dans différents "challenge" pour la programmation de modules sur autocad (en VBA car je sais que vous n'aimez pas ça XD). J'ai réussi à calculer les longueurs de certains réseaux dans un polygone, et extraire les longueurs qui sont à l’intérieur dans un tableur (oui un peu comme pour les IC-OL)... Mais, il m'arrive parfois de travailler sur des dessin dwg très (trop) grand et plûtot que de mettre en reference mes fonds de plan et de les délimiter (rassurez vous c'est ce que je fais mais bon là : c'est pour le jeu). Les règles : Créer une forme : Tous les objets en contact avec cette polyligne seront coupées ! Tout ce qui est à l'extérieur de cette forme sera effacer ! Avancement : 1°) Détecter les objets dans une polyligne 2°) Couper les intersections 3°) Supprimer les objets à l'exterieur 4°) PRET ! 5°) J'ai aperçu un petit problème ! vous pouvez le télécharger pour voir où est le bug si le coeur vous en dit ! A appeler : SUPP_EXT_FEN.dvb!SUPP_EXT_FEN.SUPP_EXT_FEN SUPP_EXT_FEN.zip
  6. Hello Franchement cela va être un challenge très difficile ! LA SANTE, Bye, lecrabe ... Retraite J27 ...
  7. Bonjour la communauté! ;) Je suis à la recherche d’un coéquipier! PROJETEUR BUREAU D'ETUDES ELECTRICITE CFO-CFA POSTE A POURVOIR RAPIDEMENT- CDI - MOUANS SARTOUX (06) Vous intégrez une entreprise spécialisée dans l’électricité secteur Industriel et tertiaire, rayonnant en région PACA, filiale d’un grand groupe du BTP. Rattaché au responsable du bureau d'études, et en lien avec les chargés d'affaires et conducteurs de travaux, vous aurez en charge les études d’exécution des opérations qui vous seront confiées. Vous savez appréhender un cahier des charges et intégrer les contraintes normatives et réglementaires d’un projet. Vous êtes capable de participer, voire d’animer un réunion de synthèse. Au quotidien, vous aurez à réaliser les relevés sur sites, concevoir les plans d'implantation, schémas unifilaires et multifilaires, réaliser les notes de calculs de câbles et protections, définir et spécifier les matériels électriques à mettre en œuvre, proposer des solutions techniques économiques. Vous avez une expérience de 3 ans minimum sur un poste similaire (domaine électricité BT courants forts/faibles) avec une connaissance idéalement dans l'automatisme, la HTA, industrie et/ou tertiaire. Vous avez une bonne connaissance technique des normes C15-100, C15-211, C14-100, C13-100, C13-200, C17-100, C17-200, règlement ERP, NFS etc... Vous maitrisez AUTOCAD, CANECO BT et Dialux. SEE ELECTRICAL, REVIT et CANECO EP serait un plus. Vous avez le sens de l'engagement et le goût du challenge, rejoignez une équipe dynamique dans un espace de travail privilégié. Horaires flexibles en journée du lundi au vendredi. Le boss est super cool :D :D Rémunération selon profil et expérience + avantages. https://fes-career.talent-soft.com/offre-de-emploi/emploi-projeteur-electricite-tertiaire-_368.aspx Adressez-moi un CV avec vos prétentions, j'étudie toutes les candidatures, et encore plus celles qui viennent du Forum. l.raillard@satelec.fayat.com
  8. Salut, Une réponse basée sur quelques challenges LISP. Pour dénombrer le nombre d'éléments identiques dans une liste : Challenge 3 On avait noté le fonctionnement bizarre de vl-sort dans le challenge 13 et bien joué avec des routines de tri qui ne suppriment pas les doublons dans le challenge 20. Pour répondre au problème en utilisant la routine test3 du challenge 3 (modifiée pour inverser l'ordre des paires pointées) et la routine tri d'Evgeniy Elpanov dans le challenge 20 ;; tri (Evgeniy Elpanov) ;; comme vl-sort mais sans supprimer les doublons (defun tri (lst fun) (mapcar (function (lambda (x) (nth x lst))) (vl-sort-i lst fun) ) ) (defun Tri&Comp (lst / sub) (defun sub (lst n) (if (cadr lst) (if (equal (car lst) (cadr lst)) (sub (cdr lst) (1+ n)) (cons (cons n (car lst)) (sub (cdr lst) 1)) ) (list (cons n (car lst))) ) ) (sub (tri lst ') PS : pour les smileys, il suffit de cocher la case "Désactiver les smileys?"
  9. Bonjour, je relance la discussion sur le triangle impossible, sous la forme d'un challenge à réaliser avec le logiciel Fusion 360 (disponible depuis peu en français).
  10. Coucou ce sujet a été résolu par des "grands" de la programmation, je ne suis pas certain que débuter avec ce genre de challenge soit une vraie bonne idée un exemple de liste contenant des listes, pas le meilleur exemple mais un exemple : (setq a '( 10 20 30 40)) (setq nom "contour1") (cons (list (list a nom)) (list (list a nom))) renvoie ((((10 20 30 40) "contour1")) ((10 20 30 40) "contour1"))
  11. Coucou Il est possible que tu sois irrité, sache que ce n'est pas une volonté de nuire ou de se moquer L'important c'est la progression régulière Est-ce que ton souci est résolu ? Si oui -> passons au prochain challenge Si non -> reviens poser des questions pour qu'on te guide. Amicalement
  12. Hello à tous !!!! Voila je me présente, Jérémy, 26 ans dessinateur en menuiserie aluminium / Façade et Métallerie / Serrurerie. J'ai le projet de devenir dessinateur indépendant d'ici 1 ans / 1 ans et demie et je voulais avoir votre avis la dessus. J'ai 4 ans d'expérience dans une entreprise de métallerie et 1 ans dans une société de menuiserie aluminium / façade. Je doit admettre que j'ai de plus en plus de mal de travailler dans un bureau d'étude dans une entreprise : Toujours critiqué, toujours des bons à rien (travail super facile soit disant), peux de reconnaissance de la part de la direction etc etc ... Actuellement je touche 2500€ Brut ce qui donne environs 1900€ net avec la prise en charge de la mutuelle. J'aimerai devenir mon propre patron afin de travailler pour moi et non pour quelqu'un d'autre, c'est un challenge qui me motivent bien (chercher des clients, dessiner etc etc...). En sachant que je sais que si je démissionne avec ce type de projet je peux toucher le chômage. Je resterai encore je pense une bonne année dans mon entreprise actuelle pour acquérir un max de connaissance. J'aimerai avoir des avis de personne qui se sont lancé comme j'aimerai le faire. Est-ce difficile ? Bonne idée ? Cordialement. Jérémy !
  13. Même si je trouve curieux de trier une liste avec des formats différents, le challenge est intéressant. Une version polyvalente : (defun sort-list (lst fun ignoreCase) (mapcar '(lambda (i) (nth i lst)) (vl-sort-i (mapcar '(lambda (s / m) (if (setq m (RegExpExecute s "(^.+\\D)?(\\d+$)" nil nil)) (cond ((caddar m)) ; "A1" -> ("A" "1") (T (list "" (caar m))) ; "12" -> ("" "12") ) (list s "") ; "AB" -> ("AB" "") ) ) (if ignoreCase (mapcar 'strcase lst) lst ) ) '(lambda (a B) (if (= (car a) (car B)) (apply fun (list (atoi (cadr a)) (atoi (cadr B)))) (apply fun (list (car a) (car B))) ) ) ) ) ) Exemple : _$ (setq lst '("0_M8" "12" "A" "0_M12" "bar" "85" "2" "0_M6" "foo" "P")) ("0_M8" "12" "A" "0_M12" "bar" "85" "2" "0_M6" "foo" "P") _$ (sort-list lst '< T) ("2" "12" "85" "0_M6" "0_M8" "0_M12" "A" "bar" "foo" "P") _$ (sort-list lst '> nil) ("foo" "bar" "P" "A" "0_M12" "0_M8" "0_M6" "85" "12" "2")
  14. VDH-Bruno

    ???

    Re, Même si l’intérêt de tout ceci n’est pas fondamental, j’espérais réussir à enrichir un peu ce fil.. Mais par manque de disponibilité, je ne pense pas développer plus ma réponse, malgré tout je propose en vrac quelques réflexions que je m’étais déjà fait sur cette question: Parfois la possibilité de définir des fonctions sous forme de liste autre qu’avec defun, defun-q et lambda permet de façon ludique, d’écrire un code plus concis (et pas que plus crypté). A titre d’exemple la revisite d’un ancien challenge, sur TheSwamp où des solutions pour porter la fonction let dans AutoLISP sont proposées. Code que l’on pourrait facilement réécrire comme ceci (defun let (bindings body) (apply '(list (mapcar 'car bindings) body) (mapcar 'cadr bindings))) _$ (let '((x 3) (y 10)) '(+ x 10 (* x y))) 43 On peut noter la possibilité d’étendre la fonction vl-propagate aux fonctions, en les définissant en setq. _$ (vl-propagate 'let) ;Fonction définie avec defun ou defun-q ; erreur: Visual LISP: Objet d'importation/exportation entre documents non conforme #<USUBR @14c23d48 LET> _$ (setq let '((bindings body) (apply '(list (mapcar 'car bindings) body) (mapcar 'cadr bindings)))) ((BINDINGS BODY) (APPLY (QUOTE (LIST (MAPCAR (QUOTE CAR) BINDINGS) BODY)) (MAPCAR (QUOTE CADR) BINDINGS))) _$ (vl-propagate 'let) ((BINDINGS BODY) (APPLY (QUOTE (LIST (MAPCAR (QUOTE CAR) BINDINGS) BODY)) (MAPCAR (QUOTE CADR) BINDINGS))) A+
  15. Invité

    Vous prétendez connaitre Revit?

    L'idée de faire un challenge sur un bloc paramétrique sur AutoCAD est dans l'air, mais peut être pas avec ce bloc.
  16. Lili, La P3 c'est la piste 3 d'Orly dont la reconstruction totale a commencé fin juillet et sera rendu à l'exploitation civile le 2 décembre. C'est un gros chantier : 75 millions d'euros, 700 personnes de chez COLAS mobilisées pour réussir le challenge en 19 semaines. J'interviens en tant que contrôle externe pour ADP afin de vérifier toute la géométrie (pente/altimétrie/épaisseur) de chaque couche + tous les marquages et toutes les implantations de luminaire de balisage... Ça fait un peu de boulot quand même. Olivier
  17. Hello DONC si maximum 6 contours voisins d'un quelconque contour alors il te faut 7 couleurs !? As tu une idee de ce nombre fatidique ?? Cela me parait etre un challenge interessant pour Gilles / Bruno / Patrick et autres "PROs" de la programmation !? Cela a peut etre ete deja publie sur TheSwamp !? Bye, lecrabe
  18. Revenons à nos moutons. Tout d'abord un grand bravo à ceux qui s'accrochent en LISP. Je pense que challenge est difficile mais très intéressant. De mon côté j'ai un peu avancé, ça fonctionne désormais avec les droites, les demi-droites, les lignes et les segments droits de polyligne (toujours dans le plan XY du SCG). J'ai aussi essayé de rendre le code plus robuste pour pouvoir gérer tout éventualité et préparer le terrain pour les arcs (même s'il n'est pas sûr que je le fasse). Plutôt que de déterminer l'arc généré en fonction des points de sélection des segments (comme semble le faire Microstation) j'ai préféré proposer la possibilité de parcourir les différentes solutions (uniquement 2 pour les segments droits) en validant l'option par défaut : "arc Suivant". Pour ceux qui veulent tester, télécharger et installer ArcExtensionSetup.msi. (Nouvelle version compatible avec AutoCAD 2025+)
  19. Coucou Je suis parti dans les mêmes directions que Zebulon_ Je n'ai pas encore terminé mais je viendrai proposer ma solution terminée Merci du challenge, merci du partage Ça m'a donné l'idée de faire un menu spécifique aux "arcs" sur da-code.fr car il y a de la matière à creuser... Amicalement
  20. bonuscad

    2048

    Bonjour, Je pense que tout le monde connait 2048 Pour le fun, j'ai tenté de le réécrire en lisp. Par rapport à l'original il présente certainement un comportement un peu différent; j'ai développé mon propre algorithme, mais il est jouable. Il y a certainement mieux, donc le challenge est lancé, pour ma part j'avais pensé que ce serait assez simple mais je me suis trompé, je suis passé par un phase de test assez fastidieuse pour la mise au point. Vos avis? Vos propositions?! ;; C:GAME2048 ;; Un clone en AutoLisp inspiré de https://gabrielecirulli.github.io/2048/ ;; par Bruno VALSECCHI Decembre 2017 ;; ;; Joindre les nombres de même valeur jusqu'à obtenir la tuile 2048! ;; ;; Utiliser les touches 2 4 6 8 du pavé numérique pour déplacer les tuiles vers le bas, gauche, droite, haut ;; (defun randomize (v1 v2 / ) (if (not v_sd) (setq v_sd (getvar "DATE")) ) (setq v_sd (rem (+ (* 25173 v_sd) 13849) 65536)) (+ (* (/ v_sd 65536) (- (max v1 v2) (min v1 v2))) (min v1 v2)) ) (defun vl-position-multi (el l / n l_id l_n) (setq n 0 l_id (mapcar '(lambda (x) (equal x el)) l) ) (repeat (length l_id) (if (car l_id) (setq l_n (cons n l_n))) (setq n (1+ n) l_id (cdr l_id)) ) (reverse l_n) ) (defun draw_map (statut_map / lm_col lt_col tmp lx ly dxf_m dxf_t x y) (setq lm_col '((0 . 252) (2 . 255) (4 . 53) (8 . 31) (16 . 30) (32 . 20) (64 . 22) (128 . 42) (256 . 52) (512 . 40) (1024 . 32) (2048 . 2))) (setq lt_col '((0 . 252) (2 . 250) (4 . 250) (8 . 255) (16 . 255) (32 . 255) (64 . 255) (128 . 255) (256 . 255) (512 . 255) (1024 . 255) (2048 . 1))) (setq tmp map) (setq lx (mapcar 'car tmp) ly (mapcar 'cdr tmp)) (foreach dxf_mask lst_mask (setq dxf_m (entget (cdr dxf_mask))) (mapcar '(lambda (xi yi / x y) (setq x xi y yi) (entmod (subst (cons 10 (list (cdr x) (car x) 0)) (assoc 10 dxf_m) dxf_m ) ) (entmod (subst (cons 11 (list (1+ (cdr x)) (car x) 0)) (assoc 11 dxf_m) dxf_m ) ) (entmod (subst (cons 12 (list (cdr x) (1+ (car x)) 0)) (assoc 12 dxf_m) dxf_m ) ) (entmod (subst (cons 13 (list (1+ (cdr x)) (1+ (car x)) 0)) (assoc 13 dxf_m) dxf_m ) ) (entmod (subst (cons 62 (cdr (assoc y lm_col))) (assoc 62 dxf_m) dxf_m ) ) ) (list (car lx)) (list (car ly)) ) (setq lx (cdr lx) ly (cdr ly)) ) (setq lx (mapcar 'car tmp) ly (mapcar 'cdr tmp)) (foreach dxf_text lst_text (setq dxf_t (entget (cdr dxf_text))) (mapcar '(lambda (x y / x y) (entmod (subst (cons 11 (list (+ 0.5 (cdr x)) (+ 0.5 (car x)) 0)) (assoc 11 dxf_t) dxf_t ) ) (entmod (subst (cons 1 (itoa y)) (assoc 1 dxf_t) (subst (cons 62 (cdr (assoc y lt_col))) (assoc 62 dxf_t) dxf_t ) ) ) ) (list (car lx)) (list (car ly)) ) (setq lx (cdr lx) ly (cdr ly)) ) (command "_.TEXTTOFRONT" "_Text") ) (defun evaluate_push (l count / l) (setq l (reverse (vl-remove 0 l))) (if (cdr l) (cond ((and (eq (car l) (cadr l)) (<= (+ (car l) (cadr l)) count)) (evaluate_push (reverse (cons (+ (car l) (cadr l)) (cddr l))) count) ) (T (evaluate_push (reverse (cdr l)) count) (setq nwl (cons (car l) nwl)) ) ) (setq nwl (cons (car l) nwl)) ) (reverse (if (car nwl) nwl '(0))) ) (defun push (k / lst tmp nwl) (setq map-n map) (cond ((eq k 50) (setq lst '("C-U3" "C-U2" "C-U1" "C-U0")) ) ((eq k 52) (setq lst '("R-R0" "R-R1" "R-R2" "R-R3")) ) ((eq k 54) (setq lst '("R-L3" "R-L2" "R-L1" "R-L0")) ) ((eq k 56) (setq lst '("C-D0" "C-D1" "C-D2" "C-D3")) ) ) (foreach n lst (setq tmp (mapcar 'cdr (mapcar '(lambda (x) (assoc x map)) (eval (read n)))) nwl nil) (setq nwl (evaluate_push tmp (* (if (member (apply 'max tmp) (cdr (member (apply 'max tmp) tmp))) 2 1) (apply 'max tmp)))) (if (not (eq (length (vl-remove 0 nwl)) 4)) (progn (repeat (- (length tmp) (length (setq nwl (vl-remove 0 nwl)))) (setq nwl (cons 0 nwl)) ) nwl ) nwl ) (setq tmp (mapcar '(lambda (x) (assoc x map)) (eval (read n)))) (foreach n (mapcar '(lambda (x y) (cons x y)) (mapcar 'car (mapcar '(lambda (x) (assoc x map)) (eval (read n)))) nwl) (setq map (subst n (assoc (car n) map) map)) ) ) ) (defun c:Game2048 ( / v_sd mat_game map lst_mask lst_text nw_pos key before after win loose) (foreach n '("R-L0" "R-L1" "R-L2" "R-L3" "R-R0" "R-R1" "R-R2" "R-R3") (set (read n) nil)) (foreach n '("C-U0" "C-U1" "C-U2" "C-U3" "C-D0" "C-D1" "C-D2" "C-D3") (set (read n) nil)) (setq mat_game '( (3 . 0) (3 . 1) (3 . 2) (3 . 3) (2 . 0) (2 . 1) (2 . 2) (2 . 3) (1 . 0) (1 . 1) (1 . 2) (1 . 3) (0 . 0) (0 . 1) (0 . 2) (0 . 3) ) ) (mapcar '(lambda (x y) (set (read (strcat "R-R" (itoa y))) (reverse x) ) ) (mapcar '(lambda (x y) (foreach n x (set (read (strcat "R-L" (itoa y))) (cons (nth n mat_game) (eval (read (strcat "R-L" (itoa y)))) ) ) ) ) (mapcar '(lambda (x) (vl-position-multi x (mapcar 'car mat_game)) ) '(0 1 2 3) ) '(0 1 2 3) ) '(0 1 2 3) ) (mapcar '(lambda (x y) (set (read (strcat "C-D" (itoa y))) (reverse x) ) ) (mapcar '(lambda (x y) (foreach n x (set (read (strcat "C-U" (itoa y))) (cons (nth n mat_game) (eval (read (strcat "C-U" (itoa y)))) ) ) ) ) (mapcar '(lambda (x) (vl-position-multi x (mapcar 'cdr mat_game)) ) '(0 1 2 3) ) '(0 1 2 3) ) '(0 1 2 3) ) (setq map (mapcar '(lambda (n / ) (cons n 0)) mat_game)) (entmake '( (0 . "STYLE") (100 . "AcDbSymbolTableRecord") (100 . "AcDbTextStyleTableRecord") (2 . "2048") (70 . 0) (40 . 0.0) (41 . 1.0) (50 . 0.0) (71 . 0) (42 . 0.5) (3 . "arial.ttf") (4 . "") ) ) (setvar "TEXTSTYLE" "2048") (setvar "CMDECHO" 0) (command "_.zoom" "_window" "_none" '(0 0) "_none" '(4 4)) (foreach n map (entmake (list '(0 . "SOLID") '(100 . "AcDbEntity") '(67 . 0) '(410 . "Model") '(8 . "0") '(62 . 252) '(100 . "AcDbTrace") (cons 10 (list (cdar n) (caar n) 0)) (cons 11 (list (1+ (cdar n)) (caar n) 0)) (cons 12 (list (cdar n) (1+ (caar n)) 0)) (cons 13 (list (1+ (cdar n)) (1+ (caar n)) 0)) '(39 . 0.0) '(210 0.0 0.0 1.0) ) ) (setq lst_mask (cons (assoc -1 (entget (entlast))) lst_mask)) (entmake (list '(0 . "TEXT") '(100 . "AcDbEntity") '(67 . 0) '(410 . "Model") '(8 . "0") '(62 . 252) '(100 . "AcDbText") (cons 10 (list (+ (cdar n) 0.19423602) (+ (caar n) 0.25) 0)) '(40 . 0.5) '(1 . "0") '(50 . 0.0) '(41 . 0.65) '(51 . 0.0) '(7 . "2048") '(71 . 0) '(72 . 1) (cons 11 (list (+ (cdar n) 0.5) (+ (caar n) 0.5) 0)) '(210 0.0 0.0 1.0) '(100 . "AcDbText") '(73 . 2) ) ) (setq lst_text (cons (assoc -1 (entget (entlast))) lst_text)) ) (setq nw_pos (cons (cons (read (rtos (randomize 0 3) 2 0)) (read (rtos (randomize 0 3) 2 0)) ) (* 2 (read (rtos (randomize 1 2) 2 0))) ) ) (if (or (zerop (cdr (assoc (car nw_pos) map))) (eq (cdr (assoc (car nw_pos) map)) (cdr nw_pos)) ) (setq map (subst (cons (car nw_pos) (+ (cdr nw_pos) (cdr (assoc (car nw_pos) map)))) (assoc (car nw_pos) map) map)) ) (draw_map map) (print) (while (and (setq key (grread T 4 0)) (not loose)) (if (member (cadr key) '(50 52 54 56)) (progn (setq before (mapcar 'cdr map)) (push (cadr key)) (if (member 2048 (mapcar 'cdr map)) (progn (setq win T) (alert "GAGNE"))) (setq after (mapcar 'cdr map)) (cond ((not (equal before after)) (while (not (zerop (cdr (assoc (car (setq nw_pos (cons (cons (read (rtos (randomize 0 3) 2 0)) (read (rtos (randomize 0 3) 2 0)) ) (* 2 (read (rtos (randomize 1 2) 2 0))) ) ) ) map ) ) ) ) ) (if (or (zerop (cdr (assoc (car nw_pos) map))) (eq (cdr (assoc (car nw_pos) map)) (cdr nw_pos)) ) (setq map (subst (cons (car nw_pos) (+ (cdr nw_pos) (cdr (assoc (car nw_pos) map)))) (assoc (car nw_pos) map) map)) ) (draw_map map) ) (T (if (not (member 0 (mapcar 'cdr map))) (setq loose T))) ) ) ) ) (if (not win) (alert "PERDU")) (command "_.ERASE" "_All" "") (setvar "TEXTSTYLE" "Standard") (setvar "CMDECHO" 1) (foreach n '("R-L0" "R-L1" "R-L2" "R-L3" "R-R0" "R-R1" "R-R2" "R-R3") (set (read n) nil)) (foreach n '("C-U0" "C-U1" "C-U2" "C-U3" "C-D0" "C-D1" "C-D2" "C-D3") (set (read n) nil)) (prin1) ) Bien sur, à tester/utiliser dans un dessin vierge (hors session de travail, des bugs bloquants restent possibles)
  21. Voici un challenge pour débutants. Ici, les habitués du lisp peuvent répondre en 10 secondes... Mais là n'est pas le but de ce challenge. Pour l'instant la plupart des challenges proposés sont relevés par les habitués et qq débutants. Personne ne se lance, et c'est pourtant le but de ces challenges ! Donc voilà. test avec un challenge simple. Le but est de progresser donc n'hésitez pas ! Voici donc : Créer une routine qui affiche le nom du calque d'une entité sélectionnée. Bon pour l'instant on se contente de faire une routine sans argument. Voilà. PS : Lovecraft, tu comprendras qu'il n'est pas nécessaire pour toi de répondre à ce challenge, tu n'est pas un débutant ! :) Tu peux par contre te pencher sur une routine avec argument ! Voilà ! Bon courage.
  22. Comme annoncé dans une actualité du 3 mars 2014, l'entreprise Fab21 a organisé le 1er week-end du design industriel sur son site de Fumay les 14 15 et 16 mars 2014. Organisé en partenariat avec Visiativ et Lynkoa, ce week-end a rassemblé 40 étudiants designers, 4 designers professionnels et de nombreuses personnalités. http://ftp.lynkoa.com/images/challenge_fab21_lynkoa.png Nous avons également retenu trois esquisses pour les présenter à la communauté Lynkoa sous forme de challenge. A cette occasion, Fab21 met en jeu 1 000 € par challenge pour récompenser les meilleurs dessins, et garantit des royalties au concepteur de chaque modèle CAO débouchant sur une industrialisation et une commercialisation. Tous les détails ici
  23. Bonjour, Sur ce challenge la porte du récursif ayant été verrouillé par les précédents intervenants. On peut s'autoriser une petite optimisation (si on est pas trop attaché au style) sur "la solution hors sujet" en économisant des parcours sur la liste du au 2ème member dans (member x (cdr (member x l))). vl-some comme mapcar étant des fonctions d'ordre supérieur, a l'appel de ces fonctions l'argument liste est chargé en mémoire, on peut donc à chaque itération "muter" son état dans la fonction argument en écrivant ceci: (defun doublon (l) (or (vl-some '(lambda (x) (member x (setq l (cdr l)))) l)) ) A+ Bruno
  24. Bonjour, Très rapidement, juste pour le plaisir de proposer une autre écriture récursive sur la façon de parcourir une arborescence, si on ne veut pas passer par des solutions écrites avec mapcar (très en retard sur le challenge, des versions sont déjà proposé par Patrick_35 & (gile)). (defun GetFolders (dir / directory files) (defun directory (dir) (cons dir (files (vl-remove "." (vl-remove ".." (vl-directory-files dir nil -1))))) ) (defun files (rep) (if rep (append (directory (strcat dir "\\" (car rep))) (files (cdr rep))) ) ) (directory dir) ) A+ Bruno
  25. Merci, Gile, je commence à comprendre mon erreur, je vais refaire des essais en le plaçant différemment et peux etre 2 fois comme le cddr. Car si cette dernière fonctionne, c'est pour moi une pirouette (suis habitué :(rires forts): ). Dans le sens que c'est grâce au placement de l’élément dans la liste, mais pas grâce à son contenu. Si on ne voulais pas un dossier contenant temp par exemple, la on est pas bien... Je suis loin d’être un perfectionniste, mais ce genre de challenge sont de bon prétexte didactique. A plus tard pour une nouvelle version. (si je m'en sort, vais pas passé l'été la dessus non plus...)
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité