Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2013-02-12 20:40:33 (GMT)
committer Walter Bender <walter.bender@gmail.com>2013-02-12 20:40:33 (GMT)
commitc5e8a30e647abd52fa2f61923883a129ca274cf1 (patch)
tree4a869f2c2841c1a55ff2fcd4961f76117c77073b
parentea85362a7891d49627635b17d0e892d7c5fadd3b (diff)
use corn instead of circle
-rw-r--r--yupana.py71
1 files changed, 54 insertions, 17 deletions
diff --git a/yupana.py b/yupana.py
index 47e6cd3..88920e8 100644
--- a/yupana.py
+++ b/yupana.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-#Copyright (c) 2011 Walter Bender
+#Copyright (c) 2011-13 Walter Bender
#Copyright (c) 2012 Ignacio Rodriguez
# This program is free software; you can redistribute it and/or modify
@@ -68,6 +68,10 @@ class Yupana():
Sprite(self._sprites, 0, 0, self._box(self._width, self._height,
color=colors[1]))
+ self._number_box = Sprite(self._sprites, 0, 0, self._box(
+ self._width, 2 * self._dot_size, color=colors[1]))
+ self._number_box.set_label_attributes(48)
+
self._dots = []
for p in range(SIX):
y = self._height - self._space
@@ -80,7 +84,7 @@ class Yupana():
Sprite(self._sprites, x, y,
self._new_dot(self._colors[0])))
self._dots[-1].type = 0 # not set
- self._dots[-1].set_label_color('white')
+ # self._dots[-1].set_label_color('white')
x += self._dot_size + self._space
x = int((p * self._width / 6.) + self._dot_size / 2.) + self._space
y -= self._dot_size + self._space
@@ -89,7 +93,7 @@ class Yupana():
Sprite(self._sprites, x, y,
self._new_dot(self._colors[0])))
self._dots[-1].type = 0 # not set
- self._dots[-1].set_label_color('white')
+ # self._dots[-1].set_label_color('white')
x += self._dot_size + self._space
y -= self._dot_size
@@ -102,7 +106,7 @@ class Yupana():
Sprite(self._sprites, x, y,
self._new_dot(self._colors[0])))
self._dots[-1].type = 0 # not set
- self._dots[-1].set_label_color('white')
+ # self._dots[-1].set_label_color('white')
x += self._dot_size + self._space
x = int((p * self._width / 6.) + self._dot_size) + self._space
y -= self._dot_size + self._space
@@ -111,7 +115,7 @@ class Yupana():
Sprite(self._sprites, x, y,
self._new_dot(self._colors[0])))
self._dots[-1].type = 0 # not set
- self._dots[-1].set_label_color('white')
+ # self._dots[-1].set_label_color('white')
x += self._dot_size + self._space
y -= self._dot_size
@@ -124,7 +128,7 @@ class Yupana():
Sprite(self._sprites, x, y,
self._new_dot(self._colors[0])))
self._dots[-1].type = 0 # not set
- self._dots[-1].set_label_color('white')
+ # self._dots[-1].set_label_color('white')
x += self._dot_size + self._space
y -= self._dot_size
@@ -137,7 +141,7 @@ class Yupana():
Sprite(self._sprites, x, y,
self._new_dot(self._colors[0])))
self._dots[-1].type = 0 # not set
- self._dots[-1].set_label_color('white')
+ # self._dots[-1].set_label_color('white')
x += self._dot_size + self._space
y -= self._dot_size
@@ -148,10 +152,6 @@ class Yupana():
Sprite(self._sprites, x - 1, y,
self._line(vertical=True))
- self._number_box = Sprite(self._sprites, 0, 0, self._box(
- self._width, 3 * self._dot_size, color=colors[1]))
- self._number_box.set_label_attributes(72)
-
# and initialize a few variables we'll need.
self._all_clear()
@@ -438,14 +438,51 @@ class Yupana():
return svg_string
def _circle(self, r, cx, cy):
- return '<circle style="fill:' + str(self._fill) + ';stroke:' + \
- str(self._stroke) + ';" r="' + str(r - 0.5) + '" cx="' + \
- str(cx) + '" cy="' + str(cy) + '" />\n'
+ scale = (DOT_SIZE * self._scale) / 55.
+ return '\
+ <g transform="matrix(%f,0,0,%f,0,0)">\
+ <path\
+ d="m 35.798426,4.2187227 c -2.210658,0.9528967 -4.993612,-0.9110169 -7.221856,0 C 23.805784,6.1692574 20.658687,10.945585 17.543179,15.051507 13.020442,21.012013 7.910957,27.325787 6.7103942,34.711004 6.0558895,38.737163 6.434461,43.510925 8.917073,46.747431 c 3.604523,4.699107 15.24614,7.62307 16.048569,7.62307 0.802429,0 8.366957,0.46766 12.036427,-1.203642 2.841316,-1.294111 5.173945,-3.766846 6.820641,-6.419428 2.543728,-4.097563 3.563068,-9.062928 4.21275,-13.841891 C 49.107723,25.018147 48.401726,15.967648 47.433639,9.0332932 47.09109,6.5796321 43.508442,7.2266282 42.329009,5.7211058 41.256823,4.3524824 42.197481,1.860825 40.813604,0.80840168 40.384481,0.48205899 39.716131,0.42556727 39.208747,0.60779459 37.650593,1.1674066 37.318797,3.5633724 35.798426,4.2187227 z"\
+ style="fill:none;fill-opacity:1;stroke:%s;stroke-width:3.0" />\
+</g>' % (
+ scale, scale, self._colors[1])
def _gradient(self, r, cx, cy):
- return '<circle style="fill:url(#radialGradient3761);' + \
- 'fill-opacity:1;stroke:none;" r="' + str(r - 0.5) + '" cx="' + \
- str(cx) + '" cy="' + str(cy) + '" />\n'
+ scale = (DOT_SIZE * self._scale) / 55.
+ return '\
+ <defs>\
+ <linearGradient\
+ id="linearGradient3769">\
+ <stop\
+ id="stop3771"\
+ style="stop-color:#ffff00;stop-opacity:1"\
+ offset="0" />\
+ <stop\
+ id="stop3773"\
+ style="stop-color:#ffff00;stop-opacity:0"\
+ offset="1" />\
+ </linearGradient>\
+ <linearGradient\
+ x1="10.761448"\
+ y1="41.003559"\
+ x2="56.70686"\
+ y2="41.003559"\
+ id="linearGradient2999"\
+ xlink:href="#linearGradient3769"\
+ gradientUnits="userSpaceOnUse"\
+ gradientTransform="matrix(0.93094239,0,0,0.93094239,-3.9217825,-2.4013121)" />\
+ </defs>\
+ <g transform="matrix(%f,0,0,%f,0,0)">\
+ <path\
+ d="m 35.798426,4.2187227 c -2.210658,0.9528967 -4.993612,-0.9110169 -7.221856,0 C 23.805784,6.1692574 20.658687,10.945585 17.543179,15.051507 13.020442,21.012013 7.910957,27.325787 6.7103942,34.711004 6.0558895,38.737163 6.434461,43.510925 8.917073,46.747431 c 3.604523,4.699107 15.24614,7.62307 16.048569,7.62307 0.802429,0 8.366957,0.46766 12.036427,-1.203642 2.841316,-1.294111 5.173945,-3.766846 6.820641,-6.419428 2.543728,-4.097563 3.563068,-9.062928 4.21275,-13.841891 C 49.107723,25.018147 48.401726,15.967648 47.433639,9.0332932 47.09109,6.5796321 43.508442,7.2266282 42.329009,5.7211058 41.256823,4.3524824 42.197481,1.860825 40.813604,0.80840168 40.384481,0.48205899 39.716131,0.42556727 39.208747,0.60779459 37.650593,1.1674066 37.318797,3.5633724 35.798426,4.2187227 z"\
+ style="fill:#fffec2;fill-opacity:1;stroke:#878600;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />\
+ <path\
+ d="m 15.11608,18.808876 c 1.271657,-1.444003 4.153991,-3.145785 5.495465,-1.7664 2.950062,3.033434 -6.07961,8.17155 -4.219732,11.972265 0.545606,1.114961 2.322391,1.452799 3.532799,1.177599 5.458966,-1.241154 6.490591,-12.132334 12.070397,-11.677864 1.584527,0.129058 2.526156,2.269906 2.845867,3.827199 0.453143,2.207236 -1.962667,6.182399 -1.570133,6.574932 0.392533,0.392533 2.371401,0.909584 3.140266,0.196266 1.91857,-1.779962 -0.490667,-7.752531 0.09813,-7.850664 0.5888,-0.09813 4.421663,2.851694 5.789865,5.004799 0.583188,0.917747 -0.188581,2.956817 0.8832,3.140266 2.128963,0.364398 1.601562,-5.672021 3.729066,-5.299199 1.836829,0.321884 1.450925,3.532631 1.471999,5.397332 0.06743,5.965698 -0.565586,12.731224 -4.317865,17.369596 -3.846028,4.75426 -10.320976,8.31978 -16.388263,7.556266 C 22.030921,53.720741 16.615679,52.58734 11.485147,49.131043 7.9833717,46.771994 6.8028191,42.063042 6.5784815,37.846738 6.3607378,33.754359 8.3381535,29.765466 10.111281,26.070741 c 1.271951,-2.650408 2.940517,-4.917813 5.004799,-7.261865 z"\
+ style="fill:url(#linearGradient2999);fill-opacity:1;stroke:none" />\
+ <path\
+ d="m 32.382709,4.7758124 c -0.123616,1.0811396 1.753928,2.8458658 2.728329,2.9439992 0.974405,0.098134 6.718874,0.7298319 9.159392,-0.1962668 0.820281,-0.3112699 0.968884,-0.9547989 0.974407,-1.4719993 0.02053,-1.9240971 0.03247,-4.7715376 -3.507853,-5.49546551 C 39.556079,0.11012647 37.217081,1.4131653 35.500801,2.2243463 34.054814,2.9077752 32.496703,3.7788369 32.382709,4.7758124 z"\
+ style="fill:#b69556;fill-opacity:1;stroke:#b69556;stroke-width:1.31189477px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /></g>' % (
+ scale, scale)
def _def(self, r):
return ' <defs>\