{"id":621,"date":"2018-06-19T14:18:37","date_gmt":"2018-06-19T12:18:37","guid":{"rendered":"http:\/\/www.joanillo.org\/?p=621"},"modified":"2020-09-29T14:19:13","modified_gmt":"2020-09-29T12:19:13","slug":"proyecto-cnc-script-para-un-juego-de-mesa-abalone","status":"publish","type":"post","link":"https:\/\/www.joanillo.org\/?p=621&lang=es","title":{"rendered":"Proyecto CNC: script para un juego de mesa Abalone"},"content":{"rendered":"<p><a href=\"http:\/\/www.joanillo.org\/wp-content\/uploads\/2018\/06\/abalone_bee_grid.png\"><img loading=\"lazy\" src=\"http:\/\/www.joanillo.org\/wp-content\/uploads\/2018\/06\/abalone_bee_grid.png\" alt=\"Abalone Bord Game and hexagonal grid\" title=\"abalone_bee_grid\" width=\"240\" height=\"400\" class=\"alignright size-full wp-image-1787\"><\/a><strong>Abalone<\/strong> Es un juego de mesa dise\u00f1ado por Michel Lalet y Laurent L\u00e9vi en 1987. Es un tablero con agujeros donde colocamos 14 canicas por jugador, y se trata de hacer fuerta seis canicas del contrincante. De hecho nunca he jugado a este juego, pero de momento construiremos un tablero.<\/p>\n<p>El problema consiste b\u00e1sicamente en hacer una red en formato de colmena de abejas, que de hecho son hex\u00e1gonos y tri\u00e1ngulos equil\u00e1teros. Para dibujar los puntos sobre un programa de CAD (yo utilizo <strong>LibreCAD<\/strong>), enseguida necesitamos el <em>cos(60)<\/em> y el <em>sin(60)<\/em>. Partiendo de una parrilla ortogonal no es f\u00e1cil hacer esta parrilla. Lo mejor es crear un script y generar los puntos de forma autom\u00e1tica.<\/p>\n<p>Partimos de un fichero vac\u00edo de LibreCAD, creamos la capa <em>puntos<\/em>, y meto tres puntos de prueba. Abrimos con un editor de texto (los ficheros de CAD tienen un formato de texto plano) y localizamos los puntos de referencia. Ahora ya sabemos el formato que han de tener los puntos que queremos generar program\u00e1ticamente.<\/p>\n<p>Mostramos el trozo de c\u00f3digo m\u00e1s representativo que genera la geometr\u00eda de mi parrilla, script <strong>bee_grid.cpp<\/strong>:<br \/>\n<code><br \/>\n...<br \/>\n\\tfor (j=0; j<n; j++)=\"\" {=\"\" files=\"\" \\t\\tstd::cout=\"\" <<=\"\" \"fila=\"\" \"=\"\" j-par=\"\" std::endl;=\"\" \\t\\t=\"\" \\t\\tfloat=\"\" posx;=\"\" \\t\\tif=\"\" ((n-abs(j-par))%2=\"=\" 0)=\"\" parell=\"\" \\t\\t\\tposx=\"(n-abs(j-par))\/2-.5;\" \\t\\t}=\"\" else=\"\" senar=\"\" \\t\\tfor=\"\" (i=\"0;\" i<n-abs(j-par);=\"\" i++)=\"\" columnes=\"\" \\t\\t\\tstd::cout=\"\" (i-posx)*2*dcos=\"\" -=\"\" posy_inicial-j*dsin=\"\" \\t}=\"\" ...=\"\" <=\"\" code=\"\"><br \/>\nEl script genera un fichero de texto con las l\u00edneas que podemos inserir en nuestro fichero original, y el resultado lo podemos ver en la foto. Es una parrilla de puntos para el juego del Abalone. La otra foto, la del juego del Abalone, no es m\u00eda (la he encontrado por Internet), pero este es mi objetivo: construir un tablero de Abalone. Para hacerlo ya tengo el fichero de CAD, despu\u00e9s tendr\u00e9 que generar el G-Code, y finalmente fresar todos los puntos sobre una madera. Ya ense\u00f1ar\u00e9 el resultado cuando lo tenga acabado.<\/n;><\/code><\/p>\n<p><code>Enlaces:<\/p>\n<ul>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Abalone_(board_game)\" title=\"Abalone board game\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/en.wikipedia.org\/wiki\/Abalone_(board_game)<\/a><\/li>\n<li><a href=\"http:\/\/wiki.joanillo.org\/index.php\/Fitxer:Abalone.zip\" title=\"Download script\" target=\"_blank\" rel=\"noopener noreferrer\">Descarga script<\/a><\/li>\n<\/ul>\n<p><strong>update 21\/06\/2018<\/strong>: Este es el resultado final. He aprovechado una madera de cocina, que estaba muy marcada, pero el resultado final me gusta.<br \/>\n<a href=\"http:\/\/www.joanillo.org\/wp-content\/uploads\/2018\/06\/abalone.jpg\"><img loading=\"lazy\" src=\"http:\/\/www.joanillo.org\/wp-content\/uploads\/2018\/06\/abalone-300x222.jpg\" alt=\"\" title=\"abalone\" width=\"300\" height=\"222\" class=\"aligncenter size-medium wp-image-1801\"><\/a><\/p>\n<p><\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Abalone Es un juego de mesa dise\u00f1ado por Michel Lalet y Laurent L\u00e9vi en 1987. Es un tablero con agujeros donde colocamos 14 canicas por jugador, y se trata de hacer fuerta seis canicas del contrincante. De hecho nunca he jugado a este juego, pero de momento construiremos un tablero. El problema consiste b\u00e1sicamente en [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[302,324,320,192],"tags":[],"_links":{"self":[{"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/posts\/621"}],"collection":[{"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=621"}],"version-history":[{"count":1,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/posts\/621\/revisions"}],"predecessor-version":[{"id":622,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/posts\/621\/revisions\/622"}],"wp:attachment":[{"href":"https:\/\/www.joanillo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=621"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=621"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=621"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}