From 03e8c0947dbd7f0d8323ad4e3fd67f669ddc210c Mon Sep 17 00:00:00 2001 From: Jim Calabro Date: Mon, 25 Nov 2024 14:38:55 -0500 Subject: [PATCH] Draw Arrows on SVGs (#137) * draw arrows in svgs * add a test, update tests * update svg and png assets --- example.png | Bin 46057 -> 19661 bytes image/black_example.svg | 20 +- image/example.png | Bin 46057 -> 19661 bytes image/example.svg | 20 +- image/image.go | 291 +++++++++++ image/image_test.go | 65 ++- image/knight_arrows_example.svg | 834 ++++++++++++++++++++++++++++++++ 7 files changed, 1224 insertions(+), 6 deletions(-) create mode 100644 image/knight_arrows_example.svg diff --git a/example.png b/example.png index bea9a16a57bd14a7c0f746f4f31b46b2efcc9f44..94dd073827934b2288cd36910a181d112b8f8804 100644 GIT binary patch literal 19661 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 z z$i~`kpHIw_f<1n{JFXsRm;Ffs>d2p31CGqT$w?x4FvH_zSj1|p$F}>t&Ds9qzau**`zcH59%>0{ezV}cj_tviHqk?O#~ zgcT8KiC**e)FI#_0N=T}I(axt^V{MwSA9yC-l+Vm)!mR~V6_nx8*mz~iY|)6vM2yX zQm47uyXS0Wd30uUwBp^nFDDanhLzaJ*w){E5CAwCe9%!^8l6#EI_H$moZby$i2gUC z0q1^atNzDI521@vAh>4{blupLNJuXzb_7I}FqwMm-_P3My;d^)UahK`p2n!WdxwS~ z1}T_C1fB4yE`JKmsLCN5daJn#V|D2o9#d~f-O>e4rK-0c_hN+7s)Gm*l9%!#zQluD z{Vdwg?CdseR#1Q0zp~qVtu53m$Sh~@SX6a$aF_$^6|9PmJazk&0ljs#F+8_5w!g8l z0ip16iUI%vKwz@TtxnC`crEz4q9acK@!K^g_`m=&;8tMlhaum|^AB5Tx$G=x7$Rh%TrYAoy41z=@eW-QR)}FG_ z&hywFUt6noHMkdUV{f-z^nj;O4_)tleVu&1+YB`gK`3(R)C6>J?T$JU;T)U6_~`OM zAdb@eaabja?w(cqsT1IIDP?yM!9lLu7U^us;iEo#kcs<-r9 zIiA1zn}DETwxCU9vfuq2+0QfZFYBgK%6+vR%nX@0g@)+%(@*C&(;BmLwQr+=M%~Cp zJ`?RFMpi5D^)+S0T$aKW53|g;Y2rndB!~6mD5Jc|c)?!Ls@LquQ&24|2ExZ+9?IM; zU(ANFKdQuJ7|%maFo>WO0vtH6DVJg>;@>M5+>jyFZl95yFOMUsLbl-NvN*>zcqN02nPEO9X_=o(rn`q~oW4d_tqyT0eGuCTTzsUQZ z;*X=t_V>e0g$1)TcE7&kz8Jv@{MK-&G4cL{n*&BT6nDI_@j3yf6bLadFSUL@oE{Rv z<7~^SDv-FhP3RvFpAsATJoxEXg4|8_fNg-E|MNzI?~@EPDd>1mwE3k*X8^dMvK&kM zcoc4PAH*^F&`8`3W<^i8B!a0{;_v6X7CMh5yUg_drbD<_$yDt8*%TRhHvmS|JvYN7 zTO1yYav>9W1l5x27#^s|e%O>j&Wce}LA<^(stg*55hFubvIckPWm+5%pX+A1_Z3$y zpkbUQC6N!>{)KN}c3p0%RXN#`iJ8vkhX(T)QU7pS)TxFirhuu*XCtAx!I>aVmjz;M zRcb2d;76}tzkXwMD~gckN3**E0)oho*{C+D9KKU=Mv$o3yg1a-pNcy_%p;!&9m`6& zp*2a@q$RC0+U5o>%Xyr)AMrOn9v_PFT%^9ac|s2v`Ho9y$tjZ|;RSD>jVaM0v4p(5 zkGM6ak>sJSMwKk>>cLPI$frhTbXqyK2vgtM-*Y<7yAG?Kb%izF?MYByg z3bW}6#RRbAgJTy={rfCmMQOyF`mSVaoEjI_00i*uy6ZnIU5)iBq|HQ`_I&| zq2RZRCqVuKpKDHoy>+eAEjGqzCV}`|+}MHw#^Ivc@>|nmpptOI3X?`I0fEV-rI*yCKN~z1=HHi(WW0`r1Nu6!#Rm_3FT@oIIAt+|G>q}* z&Zz6`LXJe(WMgNc0+d=`y9=U~?#;|7apZA^X3;$}(kC7yE6O9qw$yN@jb|vt80P43 zX`y*kH-Z&!;Z;*R&6kgApxGfB8dKn6rI@RwX37jxYFrgseo>ZKFbUxoP@@6>ctCJ2ovC$-qz!lQ3N41yrPo9ONhqjtjVq_1rjZ znH<7Mj1iBg;(_w*$;7uClBu(Ubt|%s#Q3RB)9{Mb6Lt_Moq-mDh|ZP?1V)QDEU&DL zYbt2I^*v>n4U)V3l7xzml}j%3ILpb0w-tuo_cEN(?p$5H#qS5#uLHxX$I%Ifr{)fl z%J?!Dqx@8yJ%-6?Wxr-zcUI7j&FOia9t8hlHh*vz(y8caXfY=@QtC+R;c>FCK=nIS zMHNhCV7XO@(pBkKz{<)&gDGbWpA4HoJR#N6!G$V4NT+juh z3{w-6Cz^O1sGI6!@rl=xc^{fxK1H&Hy?OIysq1WFm0>nMyh2{)iKAoBb_s2s8RnMx z&EeS5N^n)kRJV+hZO~QTBl+}nj23YvO{iH!hDENNO<)LR(UOjc5?Jg(g+6%Da%$C5k z>k}No4Pq}#9Ut4G=nUTjXCbayRZgcSZf802S60j^ww?sUD@;d67Iakph5g52=x-bO z_)*uB?G+^wGUSHD+xx9`hoD21Qxb))PI7L)XygDx(XIGTQqq5tRZ>NC@3D=RW11HO zFd~EN_x|UHr8oXxCz;-b3>TQFH*4=LP+_)60D&%QD+QA{$Ws>=RDQkQr(b&FUN#m- zld=OaiKo(mvIRlfETH7**V?k3Dsk!WO2oVmmij}3{W*t0H!o=Wrf0$h@bEszg^D~1 zV(fSfuPw2-t3^)4n=dFRNb#iTV;lQDWfoyh#Z*v?`@2K^4~E~rew`{1lp&Se$`G(Z z`~F1jQZpRgCDsrDc;Fa_a*dX8adAoX;ur!iQ2jW;2hVSN{aRrKA{xg{tDP^}mTEg- z@M0%ca|PJ`8!&TWxgHl~cG$HvRJD`~DxX6F28W-s(@FrqPxS);cNaUcQ_xm_Z07#S zY5@&ZpAAISyGF#=Um6tl@}dCsQ}}w8^%AE4MXSWm_mTrY+foZ7tLT2h70C?hEiZ3x z&a0dEf^JS2IEpn><{D^Kzkr6GC6OU^z8x+M_cKioQd2aKVB3CB1na7LlFxAHs(B^F zK#rcFwCgB~bgwcDcJ7Ka%o!wUQm#c8m|99Aj1GyhW&T)`QB}Rpjmd?H<1Bt zRv6VHf^N2hsQBapuUZ}{AFg!7D5#k~so;T!Xoc3=X=p?*HNTY$qSx;)HVH`MGo#7O ztTnrbK|@O!Z`pACmDY)LiR~U)=jAG-0Tw+v@iJ_dw3Ez3#6a%n+7E(9E17%Un4GE`HMfixt+EuA$kcW;!92&Rjm)BZgn-~%R z6@iBrLlq7$!fPwn>D3{ z3GB6?pu(*^fj$+YTYi3d8Gldh{=4QV4@XDNPO_X9duDsR(?{Slk8jyr&|GlrLdFNs z@OBuMZ(ej^M0pHe(Qz4nLxSv22fzzTMIQQ4kVGM*Y;BER@IeKQ4eNBZMOUV{YgyBX zp~Z`cd6t1osxAjTtmD;G=6vl7SIcz>&X$8A7JJL_f9Esv!EKmbx!s^cy*5%da6m7rmg(>u^GC|+jpdDpT05@(^0hEfPhRT zM+cw!x}}rL_kf#QUb4Kb3^Hvg5G@vX-HoQ9D!YLzxH5p(E~*zNHa_f5@+ra}&dWpk_8Y-JH# zcMT>`y5)k2__I~>C&XE+;#n}I0K*;ul5bUe^VNG-RjWa_bQbp3)@TQ0YIO`jSHwmB z{GKDP6~Ujl$cEY5C!Eu&wFw6?DnMLwyIkK@3KG+ZNvVi}SJD#`pE=vaooE^(GmTdJY!eKW13$-*OhNhP`N_KXIaANFw zIZQKRem)MrybHa?vkV!3F;<8WJZdUd2=&~^t>-?*lDqyV`Y$SXfV7#s(czGYfJry+ znuC=Nsfjsk=UiE{Hm+0&tt`oYVahk3$|E|y5=X&QQ9=1?;K?ERjgJy?7QrwYT3~|d zbn`?|*dEscS3LCd!KdcdF3fNDMY^m>Xt!cC>c&m1-c?TBH+>b4E@lRJ&oJ{sHqj4T z%eB_K?_-DtZD;vBT3T*>d2rJ7puz}o0RW&Mq|iH4jd5^?js{XxjMu?K9>bLHTu>G| zn(CCsMHXav-QHY3zcJ?-YKj34J6AV;_-8=1|4I~Qa zL+YVT+pgFBOyGqDrzcOa6rR2#>82AP1=8vUhA}%u*x9km>t+1U;DB8pcJb;J(K`jr z*;o$jdfMa<=X6q%3`KEPR(WLxdG5r6zrJ<3+B@TM2XdwsoR3%8;agpbXd1l|58A6< za$v>c1{1r*aClA&T$S_0+Mg-)s>XN0B$rG`p*V+J0x5$IXi0t1!$+f9d1?tBXiR<@J54$E=(fw@e(VrTnVKul9wwq0UF(?Sso19yC;ytIJ5VDLH2Y@EkIUT|( zn&wO-oO9n$C}~>0Belad3Et0KTryh!!u%uCwNu+nLnSSE-RAjo32A&^fB(K1GGR#Q zHY3tqtBA&`YdRUBPsKA?$;(^jSETtnuK{qVFSHlbYyZx)5P`~Dg*Z8rX$PYdA50d_ zo(X0d@9Frkw@tnxQeZCAmRstE^{tMf_I*B4M4M(wBcsE%8NwK3ADyIm1`?1Md>in& z-KtSM_&8%x2$i-2^I&|^SHTB!{ZW1P92GD^TXDE1JBUZJHw{D6rlLk5B2x1f9!>g4 z9x$r>!-RrC6w(BMWpGU9_=;r53Nco4s14Hm*d#O-g7x;Ww*mZelupX~t&|VQgITpB zbnWmk{sBh~_u%dZhF$k>AikjED=K3~rmmZx+$9)SXi;Q%Bf{@o-EBsVF2rB%-j#<+ zf(V#R9tDfe=S}={3$5oTW|qv?jdc*QX1-GKH2U&72_pa2EfmF|OD`+$}t--B)Vm-FgyVKJg(9oZXjU}}R3bjTlofdrlhZ$#Ex zU*G_#E5EZL`ujxsW|Fl%Ug80m>PMhvr&s=z&$%i6iyF4ZGW(p+`9B0*?^!Gl{mFvh zXlT;>%-b~J0#0NfIa~m;XB6T{_P3edKyr_Jp2#hb)-k{QAj*<2plJ9Y`i5UinL4Em zM?`=sYQhO=5i~ds_Y+~)M}WU^E3h!6Uvo4iu}1((;gM%gGx_Pt!UL3kb{40Ows+-4 zi$EfR*b6IIKM&t`{PeV51bSOSAyHIe1oa%J?=XiBbH`(Pj`960JW<*TR=_D67U;V( zT`1*q7*K&P$A!M~{ruxGD<`gJwmCxu)^GK#1b*%N8JSt%9NOt-0=#{;yZ=VE8(~%|PD9pjn z*>zTA<0UC$2j_xdO<}6dVLV{sQp+KsTybTU%TCogtZN1vFMA0ROL79MJyj=-a2GRE`qu zH5+ZdATZ>XX|!D8?z=LI9JgJ&Cr+U!+{&<$@)!?IqkF^-_vy7?uD`ng#jt!+O&*p9 z2Uda7BP3x2fE3uCb6+}nk-z1)bQ@Zoc*sEHqj)Sc z*71S>h@8eV+^#fFhy)vy7?OeI9kJf=8OX8(GI#GkdJz!t*vu?11#S|J@Wr@y?=OJ0 zdNdN89T1f|J9Ou2SVzTe=IuDZ?PXM6{?e7r zei=bBn5FCdMq;5SKE}U`NUi%Giam`68K?rSTXRrxCnHiKi)`;wAg!C-!<-W>d*Gr~ zG1AsE64aw*!)#%D8zX(SdXpA+Gy@^`C~gY1w_o#x)Y2Xr*e4yv(2;4|7>&F)}y9+5}I|=iaa8!P3)~qh4?Z1D-PiMO>|XVCyAmaZ0k)=LPBiD_bJA)yJd9 zJsMhweoM(5DC^$CN2}%Yev`dCHNfWEXgz;Ci6p`@mArv>kaq3d`a-F z&Ay&3$la=v5n*Yd|Bh$yyEI4rS$er4RC41~?@U$u>2a-q8hd+<)#&xS0W7o3l3G6> z#vJT~9zlfdA6XDf*QC_uCJ1M`woO~|NCklJE7AhAmG0Y<(oneeo3wBlG#w{2gpp9o z$BSp20G_kM!&f%St@~S*b%@h&GLTf>m&W=m5GRf}8FybdgD;3I!TGWJ8vtnAAEfh~wz|emD159beS{?$JfUMjUbl zX2fx9(SX;M4c<4o151V5!x`(Jt8230B6#@?!9bd&D4KH5qa#@>;`Z z?~`3><)!U$nhCz;)XHIp=k(@-2F3^|;z@l>O|gOi(>VCQ!QdY=0`vhaD6q;=+#?3@ zc#1SgiS(vV6}K&%>>s?o5dv|&Mlp^5=*%iX#KDZnpyKgt-jvxg7atdg(FES!u-brA ztozD<8~lq%JVF9yhn|O1QvjuQMAL=!W6)PmuNsc}oLMtM8yYY)P&A6UIjfU~e@QP7 zXLwzO=clH2%FDJ1mRfyUy0(i6#_og-3x?wp_lQBfYBJypIF8Ke^WE*;AD&r-77?c7knuv9dnc8=v1L5C zzX*hKT+7q4?yK1#!; zkNvC0Y@AXibm9hGV9lzri>CC0tvxpNUsshFc{`r^tKmN-s6U*b5kX5?p=HeTL75d&jP zXrBulm?fbaH}=kYYwt`{<~b6_o{7cxjxPHA%}tm_ikrB}@TR@71HBZ0T-iAp6Ui?w zZ+dQMOelW$$ij!$wqXP$ZZs;__4(z^nA>CC#623--*sSGH`L*i^J~##fyUm6CC>#7 zGzZixkk7aGS7FZb@aop*MjUckj_TKz&w0AfAmox=-Yex^2OA>yE}LTC^g4Hb?52l1#L6&z`yrT_o{07*qoM6N<$ Ef}b>RMgRZ+ literal 46057 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 diff --git a/image/black_example.svg b/image/black_example.svg index c6d710f..4360faf 100644 --- a/image/black_example.svg +++ b/image/black_example.svg @@ -531,4 +531,22 @@ a - \ No newline at end of file + + + + + + + + \ No newline at end of file diff --git a/image/example.png b/image/example.png index bea9a16a57bd14a7c0f746f4f31b46b2efcc9f44..94dd073827934b2288cd36910a181d112b8f8804 100644 GIT binary patch literal 19661 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 z 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 Ef}b>RMgRZ+ literal 46057 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 diff --git a/image/example.svg b/image/example.svg index 3314905..c626dda 100644 --- a/image/example.svg +++ b/image/example.svg @@ -531,4 +531,22 @@ h - \ No newline at end of file + + + + + + + + \ No newline at end of file diff --git a/image/image.go b/image/image.go index a42a7e3..72e948a 100755 --- a/image/image.go +++ b/image/image.go @@ -30,6 +30,30 @@ func SquareColors(light, dark color.Color) func(*Encoder) { } } +// Arrow allocates and returns a new arrow with the default color +func Arrow(from, to chess.Square) arrow { + return arrow{ + from: from, + to: to, + color: color.RGBA{247, 181, 75, 1}, // orange + } +} + +// WithColor alters the color of the arrow (the default is a light orange) +func (arrow arrow) WithColor(col color.Color) arrow { + arrow.color = col + return arrow +} + +// MarkArrows is designed to be used as an optional argument +// to the SVG function. It marks an arrow between the given +// squares with the an Arrow of the given color. +func MarkArrows(arrows ...arrow) func(*encoder) { + return func(e *encoder) { + e.arrows = append(e.arrows, arrows...) + } +} + // MarkSquares is designed to be used as an optional argument // to the SVG function. It marks the given squares with the // color. A possible usage includes marking squares of the @@ -58,6 +82,14 @@ type Encoder struct { dark color.Color perspective chess.Color marks map[chess.Square]color.Color + arrows []arrow +} + +// An arrow represents the visualization of a move +type arrow struct { + from chess.Square + to chess.Square + color color.Color } // New returns an encoder that writes to the given writer. @@ -70,6 +102,7 @@ func new(w io.Writer, options []func(*Encoder)) *Encoder { dark: color.RGBA{165, 117, 81, 1}, perspective: chess.White, marks: map[chess.Square]color.Color{}, + arrows: []arrow{}, } for _, op := range options { op(e) @@ -80,8 +113,12 @@ func new(w io.Writer, options []func(*Encoder)) *Encoder { const ( sqWidth = 45 sqHeight = 45 + sqCenter = 22.5 boardWidth = 8 * sqWidth boardHeight = 8 * sqHeight + + arrowWidth = 8 + arrowOpacity = "75%" ) var ( @@ -138,6 +175,17 @@ func (e *Encoder) EncodeSVG(b *chess.Board) error { } } } + for i, arrow := range e.arrows { + var xml string + if isKnightMove(arrow.from, arrow.to) { + xml = knightArrowXML(i, arrow, e.perspective) + } else { + xml = straightArrowXML(i, arrow, e.perspective) + } + if _, err := io.WriteString(canvas.Writer, xml); err != nil { + return err + } + } canvas.End() return nil } @@ -171,6 +219,249 @@ func pieceXML(x, y int, p chess.Piece) string { return strings.Replace(svgStr, old, new, 1) } +func straightArrowXML(id int, a arrow, perspective chess.Color) string { + c := colorToHex(a.color) + x1, y1 := squareCenter(a.from, perspective) + x2, y2 := squareCenter(a.to, perspective) + + // move the start of the arrow away from the center of the square + // as well as head of the arrow to the center of its square + offset := float32(sqCenter / 1.5) + if x1 == x2 { + // horizontal line + if y1 < y2 { + y1 += offset + y2 -= offset + } else { + y1 -= offset + y2 += offset + } + } else if y1 == y2 { + // vertical line + if x1 < x2 { + x1 += offset + x2 -= offset + } else { + x1 -= offset + x2 += offset + } + } else { + // diagonal line + offset /= 2 + if x1 < x2 { + x1 += offset + x2 -= offset + } else { + x1 -= offset + x2 += offset + } + + if y1 < y2 { + y1 += offset + y2 -= offset + } else { + y1 -= offset + y2 += offset + } + } + + return fmt.Sprintf(` + + + + + + +`, + // arrow head + id, + c, + arrowOpacity, + + // line + id, + arrowWidth, + x1, + y1, + x2, + y2, + c, + arrowOpacity, + ) +} + +func knightArrowXML(id int, a arrow, perspective chess.Color) string { + c := colorToHex(a.color) + + horizontal := horizontalMoves(a.from, a.to) + vertical := verticalMoves(a.from, a.to) + + pivot := a.from + if abs(vertical) == 1 { + pivot = squareOffset(pivot, horizontal) + } else { + if vertical > 0 { + pivot = squareOffset(pivot, 16) + } else { + pivot = squareOffset(pivot, -16) + } + } + + x11, y11 := squareCenter(a.from, perspective) + x12, y12 := squareCenter(pivot, perspective) + + x21, y21 := squareCenter(pivot, perspective) + x22, y22 := squareCenter(a.to, perspective) + + // move the start and end of the first line further away from the center of the square + offset := float32(sqCenter / 1.5) + halfWidth := float32(arrowWidth / 2) + if abs(horizontal) > abs(vertical) { + if x11 < x12 { + x11 += offset + x12 += halfWidth + } else { + x11 -= offset + x12 -= halfWidth + } + } else { + if y11 < y12 { + y11 += offset + y12 += halfWidth + } else { + y11 -= offset + y12 -= halfWidth + } + } + + // move the arrow head to the center of the square + if perspective == chess.Black { + offset *= -1 + } + if abs(horizontal) > abs(vertical) { + if vertical > 0 { + y21 += halfWidth + y22 += offset + } else { + y21 -= halfWidth + y22 -= offset + } + } else { + if horizontal > 0 { + x21 -= halfWidth + x22 -= offset + } else { + x21 += halfWidth + x22 += offset + } + } + + template := ` + + + + + + + +` + + return fmt.Sprintf( + template, + + // arrow head + id, + c, + arrowOpacity, + + // first line + arrowWidth, + x11, + y11, + x12, + y12, + c, + arrowOpacity, + + // second line + id, + arrowWidth, + x21, + y21, + x22, + y22, + c, + arrowOpacity, + ) +} + +func isKnightMove(from, to chess.Square) bool { + vertical := abs(verticalMoves(from, to)) + horizontal := abs(horizontalMoves(from, to)) + return (vertical == 1 && horizontal == 2) || (vertical == 2 && horizontal == 1) +} + +func verticalMoves(from, to chess.Square) int { + fromRank := int(from) / 8 + toRank := int(to) / 8 + return toRank - fromRank +} + +func horizontalMoves(from, to chess.Square) int { + fromMod := int(from) % 8 + toMod := int(to) % 8 + return toMod - fromMod +} + +func abs(a int) int { + if a < 0 { + return -a + } + return a +} + +func squareCenter(sq chess.Square, perspective chess.Color) (float32, float32) { + if perspective == chess.White { + x := float32(sq%8)*sqWidth + sqCenter + y := boardHeight - float32(sq/8)*sqWidth - sqCenter + return x, y + } else { + x := boardWidth - float32(sq%8)*sqWidth - sqCenter + y := float32(sq/8)*sqWidth + sqCenter + return x, y + } +} + +func squareOffset(sq chess.Square, offset int) chess.Square { + return chess.Square(int(sq) + offset) +} + var ( pieceTypeMap = map[chess.PieceType]string{ chess.King: "K", diff --git a/image/image_test.go b/image/image_test.go index b442c52..0894180 100755 --- a/image/image_test.go +++ b/image/image_test.go @@ -14,8 +14,9 @@ import ( "github.com/notnil/chess/image" ) -const expectedMD5 = "08aaa6fcfde3bb900fc54bdfef3d5c81" -const expectedMD5Black = "badac5ca5cfbdea9b98a1f9988ba54bc" +const expectedMD5 = "a2ee66ca19e4c347aec41371c1ca07f8" +const expectedMD5Black = "ce4d4e033a50678898c62928b8e0a15c" +const expectedMD5KnightsAndDiagonalArrows = "9c95aa56cec67be2ceee141f259753f7" func TestSVG(t *testing.T) { // create buffer of actual svg @@ -26,7 +27,8 @@ func TestSVG(t *testing.T) { t.Error(err) } mark := image.MarkSquares(color.RGBA{255, 255, 0, 1}, chess.D2, chess.D4) - if err := image.SVG(buf, pos.Board(), mark); err != nil { + arrows := image.MarkArrows(image.Arrow(chess.D2, chess.D4)) + if err := image.SVG(buf, pos.Board(), mark, arrows); err != nil { t.Error(err) } @@ -57,8 +59,9 @@ func TestSVGFromBlack(t *testing.T) { t.Error(err) } mark := image.MarkSquares(color.RGBA{255, 255, 0, 1}, chess.D2, chess.D4) + arrows := image.MarkArrows(image.Arrow(chess.D2, chess.D4).WithColor(color.Black)) per := image.Perspective(chess.Black) - if err := image.SVG(buf, pos.Board(), mark, per); err != nil { + if err := image.SVG(buf, pos.Board(), mark, arrows, per); err != nil { t.Error(err) } @@ -79,3 +82,57 @@ func TestSVGFromBlack(t *testing.T) { t.Error(err) } } + +func TestSVGKnightsAndDiagonals(t *testing.T) { + // create buffer of actual svg + buf := bytes.NewBuffer([]byte{}) + fenStr := "rnbqkbnr/pppppppp/8/8/3P4/8/PPP1PPPP/RNBQKBNR b KQkq - 0 1" + pos := &chess.Position{} + if err := pos.UnmarshalText([]byte(fenStr)); err != nil { + t.Error(err) + } + arrows := image.MarkArrows( + // all possible knight directions + image.Arrow(chess.F6, chess.E4), + image.Arrow(chess.F6, chess.D5), + image.Arrow(chess.F6, chess.D7), + image.Arrow(chess.F6, chess.E8), + image.Arrow(chess.F6, chess.G4), + image.Arrow(chess.F6, chess.H5), + image.Arrow(chess.F6, chess.H7), + image.Arrow(chess.F6, chess.G8), + + // a couple knight moves with no overlapping arrows + image.Arrow(chess.B1, chess.D2), + image.Arrow(chess.B8, chess.C6), + + // diagonal arrows + image.Arrow(chess.C4, chess.A6), + image.Arrow(chess.C4, chess.D5), + + // anti-diagonal arrows + image.Arrow(chess.C4, chess.A2), + image.Arrow(chess.C4, chess.D3), + ) + per := image.Perspective(chess.Black) + if err := image.SVG(buf, pos.Board(), arrows, per); err != nil { + t.Error(err) + } + + // compare to expected svg + actualSVG := strings.TrimSpace(buf.String()) + actualMD5 := fmt.Sprintf("%x", md5.Sum([]byte(actualSVG))) + if actualMD5 != expectedMD5KnightsAndDiagonalArrows { + t.Errorf("expected actual md5 hash to be %s but got %s", expectedMD5KnightsAndDiagonalArrows, actualMD5) + } + + // create actual svg file for visualization + f, err := os.Create("knight_arrows_example.svg") + defer f.Close() + if err != nil { + t.Error(err) + } + if _, err := io.Copy(f, bytes.NewBufferString(actualSVG)); err != nil { + t.Error(err) + } +} diff --git a/image/knight_arrows_example.svg b/image/knight_arrows_example.svg new file mode 100644 index 0000000..b8d567f --- /dev/null +++ b/image/knight_arrows_example.svg @@ -0,0 +1,834 @@ + + + + + + + + + + + + + + + + +1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +2 + + + + + + + + + + + + + + + + + + + + + + + + + + +3 + + + + + + + + +4 + + + + + + + + + + + +5 + + + + + + + + +6 + + + + + + + + + + + +7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +8 +h + + + + + + + + + + +g + + + + + + + + + + + +f + + + + + + + + + + + +e + + + + + + + + + + + + + + + + + + + +d + + + + + + + + + + + +c + + + + + + + + + + +b + + + + + + + + + + + + + + + + +a + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file