From 031ecd5a16fcc1154824d0389f5a61bc1ffc8fc4 Mon Sep 17 00:00:00 2001 From: Rrr <83889502+WolfGamer2@users.noreply.github.com> Date: Wed, 6 Nov 2024 11:00:46 -0800 Subject: [PATCH] Add files via upload --- art/DressersandPans-RushilChopra/index.js | 101 ++++++++++++++++++ .../snapshots/snapshot1.png | Bin 0 -> 1651 bytes .../snapshots/snapshot2.png | Bin 0 -> 1651 bytes .../snapshots/snapshot3.png | Bin 0 -> 1474 bytes 4 files changed, 101 insertions(+) create mode 100644 art/DressersandPans-RushilChopra/index.js create mode 100644 art/DressersandPans-RushilChopra/snapshots/snapshot1.png create mode 100644 art/DressersandPans-RushilChopra/snapshots/snapshot2.png create mode 100644 art/DressersandPans-RushilChopra/snapshots/snapshot3.png diff --git a/art/DressersandPans-RushilChopra/index.js b/art/DressersandPans-RushilChopra/index.js new file mode 100644 index 000000000..99a55ea2b --- /dev/null +++ b/art/DressersandPans-RushilChopra/index.js @@ -0,0 +1,101 @@ +/* +@title: DressersandPans +@author: Rushil Chopra +@snapshot: 0.png +*/ + +// Constants +const WIDTH = 50; +const HEIGHT = 50; +const DRAWER_WIDTH = 35; +const DRAWER_HEIGHT = 8; +const HANDLE_SIZE = 2; + +// Set document dimensions +setDocDimensions(WIDTH, HEIGHT); + +// Initialize shapes array +const shapes = []; + +/** + * Creates the dresser base. + * @returns {bt.Turtle} The turtle object representing the dresser base. + */ +function createDresserBase() { + const t = new bt.Turtle(); + t.forward(40); + t.right(90); + t.forward(30); + t.right(90); + t.forward(40); + t.right(90); + t.forward(30); + return t; +} + +/** + * Creates a single tiny drawer with a handle. + * @param {number} index The index of the drawer. + * @returns {bt.Turtle} The turtle object representing the drawer. + */ +function createDrawer(index) { + const t = new bt.Turtle(); + const handleType = Math.floor(Math.random() * 2); + + // Create the drawer + t.forward(DRAWER_WIDTH); + t.right(90); + t.forward(DRAWER_HEIGHT); + t.right(90); + t.forward(DRAWER_WIDTH); + t.right(90); + t.forward(DRAWER_HEIGHT); + + // Move to the handle position + t.left(90); + t.forward(DRAWER_WIDTH / 2 - HANDLE_SIZE / 2); + t.right(90); + t.forward(DRAWER_HEIGHT / 2 - HANDLE_SIZE / 2); + + // Create the handle + if (handleType === 0) { + // Square handle + for (let i = 0; i < 4; i++) { + t.forward(HANDLE_SIZE); + t.right(90); + } + } else if (handleType === 1) { + // Triangular handle + for (let i = 0; i < 3; i++) { + t.forward(HANDLE_SIZE); + t.right(120); + } + } + + return t; +} + +/** + * Creates the tiny dresser with a specified number of tiny drawers. + * @param {number} numDrawers The number of drawers. + */ +function createDresser(numDrawers) { + const dresserBase = createDresserBase(); + // Move the dresser base higher + bt.translate(dresserBase.path, [WIDTH / 2 - 20, HEIGHT / 2 + 10]); + bt.join(shapes, dresserBase.path); + + for (let i = 0; i < numDrawers; i++) { + const drawer = createDrawer(i); + // Move each drawer higher + bt.translate(drawer.path, [WIDTH / 2 - DRAWER_WIDTH / 2, HEIGHT / 2 + 10 - (i * (DRAWER_HEIGHT + 2))]); + bt.join(shapes, drawer.path); + } +} + +// Randomly choose between 1 and 4 drawers +const numDrawers = Math.floor(Math.random() * 4) + 1; +createDresser(numDrawers); + +// Draw the shapes +drawLines(shapes); diff --git a/art/DressersandPans-RushilChopra/snapshots/snapshot1.png b/art/DressersandPans-RushilChopra/snapshots/snapshot1.png new file mode 100644 index 0000000000000000000000000000000000000000..f29d25c405b2cb4b199852d1a664e7b7e3b4ef66 GIT binary patch literal 1651 zcmeAS@N?(olHy`uVBq!ia0vp^dqJ3k4M;w_USj~H7>k44ofy`glX=O&z^3cz;uum9 z_x5gX-W@j)m%!{)zp!T&sh#1^Rxln_;3&SMcHiLhuD*Y>YToQBUHh})!ryNv`I!<~ z?j8En)qOzy(qx4`hL?}E#Akew=}>m~wc`}4nl1YyjtO?_iW)u7H(D?)>0cd_aH)7W zDwDhPpOKk~m*Y?H)?<o)zpqMsrtl$!DgOTR|D|6gm+bet@V8t@V*lI!dww}widTK{ zZ#QSmKN%~wn7W-6_1#}mr`PP^d0TJy-p;<~|JM8O)Sgx9yC%FoJCVOS-)qVG1sndx z6nqgf`B$9l+&6vYCVq8M#WOpm9{9oZ^!-`k{(I~Dv$w@>oAB@2ESoix7+z{;&br#f z@G|;J%EYNG9`T-+*NCxr++U>Dy++01m)ESctqKmm#7rYoR2eUYUou(E%6Mt}ijzv( zoD=p<S{A9xF=3ypuUMpK!<VThXR{m|zUXFcI^o5%Wc`xNFm9$L`GJ#N!-N!SRed){ z2`JQd&(hgMft4;^@thad{9{onvv?gpnPn==v?+D}i^4e10L6gJD@JC8vb!(*a!l|} z;Hcj+GygSj%+;O)l1xkNozL2?1-iJjR;<45K=6|FcAZB!mD5+9-S>QAv;V|<FPm;2 z+Uxae@#IX8|606}?v{<w`!{`=y>E{_v%kQO&|h7`hqtq*^?v_iZyj48vuRuHwZ-q# z{0)k|jhPO&zCBpI-7Eg!sh3TnBAe4({vDjDY`R(H{&LmYvi}obddf#umt|Z^|1Ljs z-j|76)7#bPDQp*1Wj)7r*FWWwCw%EQr+V*K7udLV{w={9LJ>h#%eg205p0b9zI^?P zq%`L1ALn!h`)ggxK9(&gVI6B7`(dlq###R-9tieRT6x0w_w0R-BGXa?6>7uoU)m?X z?XSqo?aMpnEZt*&_Q{LCH*fxY7d`#J_Wlg_`QPU$?KNJ0O>|Z8rs(~96>HT^uf@Jz zd;jv}y4Z<Us=Gsh_Lc=D&)w?w?`?1MwQGVud?uaPze(k<Wazb>?O$G(Xr5GIyyV|h zbkmB(W53_@Nj^dfe^oT5uXS!1G?E=t>T(`GQ=fj|`S;82+jhUcyK8Mc>$jQClE=c% z#B0f=9h(GnddgZSTcr(4zW9l&{8eVkXaE0WinFBFsu`8lpYIpXF^F)inJd}vCnlpg zeL~&bT`D`98D73$@J3SKwc(3?X#3GSjtg49Ft=Q0eSbmmvE=W`MSXT3{4VdXdGOft z+}c@g?+$gd=vh}+9&m5?>wV#9OrHCL<t%;sPXE`93BA-meZk*@k^8p_h%0~KW_qmq zdBVR>(a*JBnzlJe12bjt)YdRyM2dPA-vVaJ*{gK6bTPbK?J?_e8^g=nA*l;Pf#rbf zr8#E6a$uPj_gW=~Us{u%ZBcaiWfmHlAqp%9CYmhg1(pLVPdTjy764sKEOUXBZ>U%l w(CwirXET9OmAh)w1ubAXpp@w+&GesX(#p+uSblKM1J)u8p00i_>zopr0P|83EC2ui literal 0 HcmV?d00001 diff --git a/art/DressersandPans-RushilChopra/snapshots/snapshot2.png b/art/DressersandPans-RushilChopra/snapshots/snapshot2.png new file mode 100644 index 0000000000000000000000000000000000000000..f29d25c405b2cb4b199852d1a664e7b7e3b4ef66 GIT binary patch literal 1651 zcmeAS@N?(olHy`uVBq!ia0vp^dqJ3k4M;w_USj~H7>k44ofy`glX=O&z^3cz;uum9 z_x5gX-W@j)m%!{)zp!T&sh#1^Rxln_;3&SMcHiLhuD*Y>YToQBUHh})!ryNv`I!<~ z?j8En)qOzy(qx4`hL?}E#Akew=}>m~wc`}4nl1YyjtO?_iW)u7H(D?)>0cd_aH)7W zDwDhPpOKk~m*Y?H)?<o)zpqMsrtl$!DgOTR|D|6gm+bet@V8t@V*lI!dww}widTK{ zZ#QSmKN%~wn7W-6_1#}mr`PP^d0TJy-p;<~|JM8O)Sgx9yC%FoJCVOS-)qVG1sndx z6nqgf`B$9l+&6vYCVq8M#WOpm9{9oZ^!-`k{(I~Dv$w@>oAB@2ESoix7+z{;&br#f z@G|;J%EYNG9`T-+*NCxr++U>Dy++01m)ESctqKmm#7rYoR2eUYUou(E%6Mt}ijzv( zoD=p<S{A9xF=3ypuUMpK!<VThXR{m|zUXFcI^o5%Wc`xNFm9$L`GJ#N!-N!SRed){ z2`JQd&(hgMft4;^@thad{9{onvv?gpnPn==v?+D}i^4e10L6gJD@JC8vb!(*a!l|} z;Hcj+GygSj%+;O)l1xkNozL2?1-iJjR;<45K=6|FcAZB!mD5+9-S>QAv;V|<FPm;2 z+Uxae@#IX8|606}?v{<w`!{`=y>E{_v%kQO&|h7`hqtq*^?v_iZyj48vuRuHwZ-q# z{0)k|jhPO&zCBpI-7Eg!sh3TnBAe4({vDjDY`R(H{&LmYvi}obddf#umt|Z^|1Ljs z-j|76)7#bPDQp*1Wj)7r*FWWwCw%EQr+V*K7udLV{w={9LJ>h#%eg205p0b9zI^?P zq%`L1ALn!h`)ggxK9(&gVI6B7`(dlq###R-9tieRT6x0w_w0R-BGXa?6>7uoU)m?X z?XSqo?aMpnEZt*&_Q{LCH*fxY7d`#J_Wlg_`QPU$?KNJ0O>|Z8rs(~96>HT^uf@Jz zd;jv}y4Z<Us=Gsh_Lc=D&)w?w?`?1MwQGVud?uaPze(k<Wazb>?O$G(Xr5GIyyV|h zbkmB(W53_@Nj^dfe^oT5uXS!1G?E=t>T(`GQ=fj|`S;82+jhUcyK8Mc>$jQClE=c% z#B0f=9h(GnddgZSTcr(4zW9l&{8eVkXaE0WinFBFsu`8lpYIpXF^F)inJd}vCnlpg zeL~&bT`D`98D73$@J3SKwc(3?X#3GSjtg49Ft=Q0eSbmmvE=W`MSXT3{4VdXdGOft z+}c@g?+$gd=vh}+9&m5?>wV#9OrHCL<t%;sPXE`93BA-meZk*@k^8p_h%0~KW_qmq zdBVR>(a*JBnzlJe12bjt)YdRyM2dPA-vVaJ*{gK6bTPbK?J?_e8^g=nA*l;Pf#rbf zr8#E6a$uPj_gW=~Us{u%ZBcaiWfmHlAqp%9CYmhg1(pLVPdTjy764sKEOUXBZ>U%l w(CwirXET9OmAh)w1ubAXpp@w+&GesX(#p+uSblKM1J)u8p00i_>zopr0P|83EC2ui literal 0 HcmV?d00001 diff --git a/art/DressersandPans-RushilChopra/snapshots/snapshot3.png b/art/DressersandPans-RushilChopra/snapshots/snapshot3.png new file mode 100644 index 0000000000000000000000000000000000000000..73f03c717cf45460ac5c33633a0dbe1802fd4604 GIT binary patch literal 1474 zcmeAS@N?(olHy`uVBq!ia0vp^dqJ3k4M;w_USj~H7>k44ofy`glX=O&z*^(!;uum9 z_x5gL-t9C2*NZ8szTwkSQgg$v&2k73a7tBq6!G<k9P`g~zUOz#b3NS-y#K5o&vAsK zrthh!c%%Okb;mx2m&H@LeX97La7?fZ-+5rkbBAFs)cz$t!6AXM(SCWE&65AsSu-p- z_82z4*Z;gfb}#$O^+F|ojX7oZzpdY2<$Nh#^~JAr;T?Z0zep7PeER6A?xpLqpBz7Z z;qCQ&^ZD|9^Kb2+=X>VwJ<-O^=HF{}d`)xt#mV*jJnQ$krat*~#U~!8X1zIl(uKo# zp4WpP%%|j+Ti>hRUsrSfXTR=}`Yhi(GtY)ElTFS>IW~OJ&f4@uh4GUAC6jDc#!Ks0 zoSZb7#lzn7@)}VVkNu0(y#0g}{;K$H4iixL+citaasV_cX#Q1k*!)e{!{%X5y|0ju z(2oh1?(du9%VeBw-^j1|H}LdFf$NVox9k(J5VmO9|J~sJRsModW2Szfla;T;Y@WsN zGW>e_Pj`+zonJ1iPqavUGBNA+^*zrX%=UO+a&TM0d)2>tCue&6kCWPT+@f*$zmu2p ze|`MNQ`2xDc<Fo#!#_0%*FMhsx8G0PhA-0k{_Cy#&)OY0qk5V{MsE)Pz3Nq8gxAc` zvvAyKs{B*_oXpCblm3|LzP$Zc{qkhH$ZBho0br^x{ob;9$?N}Zes&Mn#P0mEokghs zYp^v_I+J`*)pG7he@vPDYwiBJh}wT<xc=Bqc=<e^H`&L2D;3zhy!Eo_{c7RcfBISO zJyDs|X=DF;cHN`6v@IMH_Fdh+MZZ0F@;o+6rX}Y?^$cEGPEdCE74wv7@;v6jE%brw zW&f;qbN{VzVyT;YVESxsyZ^5mZol7e^WgY_&ks+AmlxSGtry(!=FL+^`)#{xIfJB` z@*N-iK7AoSoZa8Eeh-W6|9x?>C%$srQ7qV#YPV$npKFy~RlbTF+8AD54@teK$+Tp? zQsy}+rX}&gQ(c#HOsMNxVwnx3d_%?NDmnbpob+ssqQfuK(8!W5hL_7dW^E>4;{kiA XNQXP!Lch#_g))PutDnm{r-UW|ofWb{ literal 0 HcmV?d00001