Files
@ d0b9b2add091
Branch filter:
Location: Diana/src/templ/templ.svg - annotation
d0b9b2add091
1.9 KiB
image/svg+xml
handling preset positions (in handicap games)
c705c709565b b9d29dcfe3d8 69f9170d3c89 b9d29dcfe3d8 c705c709565b c705c709565b c705c709565b c705c709565b b104a0ddefed c705c709565b c705c709565b 69f9170d3c89 c705c709565b c705c709565b b9d29dcfe3d8 b9d29dcfe3d8 c705c709565b c705c709565b b104a0ddefed c705c709565b b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 c705c709565b b9d29dcfe3d8 b9d29dcfe3d8 c705c709565b b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 69f9170d3c89 c705c709565b b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 69f9170d3c89 c705c709565b b9d29dcfe3d8 b9d29dcfe3d8 b9d29dcfe3d8 | <?xml version="1.0" encoding="utf-8"?>
{% set cellSize=boardSize/18 %}
{% set stoneRadius=cellSize/2-1 -%}
{% if not labeledPoint %}
{% macro labeledPoint(p) %}
<g class="{{p.color or 'e'}}" transform="translate({{(p.x*cellSize) | round(2)}},{{(p.y*cellSize) | round(2)}})">
<circle cx="0" cy="0" r="{{stoneRadius|round(2)}}"/>
<text y="0.35em" font-size="{{adjustFont(cellSize,p.label)}}">{{p.label}}</text>
</g>
{% endmacro %}
{% endif -%}
<svg width="{{boardSize+padding*2}}" height="{{boardSize+padding*2}}" version="1.1" xmlns="http://www.w3.org/2000/svg">
<defs>
<style type="text/css"><![CDATA[
{% block style %}
rect{fill:white;stroke:black;stroke-width:1px}
text{font-family:"DejaVu Sans";text-anchor:middle}
line{stroke:black;stroke-width:0.7px}
circle{stroke:black}
circle.b, .b circle, .w text, .e text{fill:black}
circle.w, .w circle, .b text{fill:white}
.e circle {stroke:none;fill:white}
{% endblock %}
]]></style>
</defs>
<g transform="translate({{padding}},{{padding}})">
<rect x="0" y="0" width="{{boardSize}}" height="{{boardSize}}"/>
{# grid #}
{% for i in range(1,18) %}
<line x1="0" x2="{{boardSize}}" y1="{{(i*cellSize) | round(2)}}" y2="{{(i*cellSize) | round(2)}}"/>
<line x1="{{(i*cellSize) | round(2)}}" x2="{{(i*cellSize) | round(2)}}" y1="0" y2="{{boardSize}}"/>
{% endfor %}
{# stars #}
{% for y in [3,9,15] %}
{% for x in [3,9,15] %}
<circle cx="{{(x*cellSize) | round(2)}}" cy="{{(y*cellSize) | round(2)}}" r="2" class="b"/>
{% endfor %}
{% endfor %}
{# stones #}
{% for p in stones %}
<circle cx="{{(p.x*cellSize) | round(2)}}" cy="{{(p.y*cellSize) | round(2)}}" r="{{stoneRadius|round(2)}}" class="{{p.color}}"/>
{% endfor %}
{# moves #}
{% for p in moves -%}
{{labeledPoint(p)}}
{% endfor %}
{# labels #}
{% for p in labels -%}
{{labeledPoint(p)}}
{% endfor %}
</g>
</svg>
|