[gbrainy] Verbal analogies. Initial work
- From: Jordi Mas <jmas src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gbrainy] Verbal analogies. Initial work
- Date: Fri, 28 Aug 2009 18:09:25 +0000 (UTC)
commit bd4b6c01431b52a32d16b930f894807453cd0184
Author: Jordi Mas <jmas softcatala org>
Date: Fri Aug 28 20:09:00 2009 +0200
Verbal analogies. Initial work
configure.in | 2 +-
data/Makefile.am | 18 ++-
data/app-graphics/math-games-32.png | Bin 1156 -> 1191 bytes
data/app-graphics/math-games.svg | 178 ++++++++++++++++++++++---
data/app-graphics/verbal-games-32.png | Bin 0 -> 1762 bytes
data/app-graphics/verbal-games.svg | 232 +++++++++++++++++++++++++++++++++
data/verbal_analogies.xml | 30 +++++
po/POTFILES.in | 2 +
src/Defines.cs.in | 1 +
src/Game.cs | 3 +-
src/GameDrawingArea.cs | 44 ++++---
src/GameManager.cs | 49 ++++++-
src/GameSession.cs | 27 +++--
src/Makefile.am | 3 +
src/gbrainy.cs | 19 +++-
15 files changed, 546 insertions(+), 62 deletions(-)
---
diff --git a/configure.in b/configure.in
index 7c1d9cb..6f1c797 100644
--- a/configure.in
+++ b/configure.in
@@ -1,4 +1,4 @@
-AC_INIT(gbrainy, 1.12)
+AC_INIT(gbrainy, 1.19)
AC_CONFIG_SRCDIR(src/gbrainy.cs)
AM_CONFIG_HEADER(config.h)
diff --git a/data/Makefile.am b/data/Makefile.am
index ca4256e..eb0373a 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -2,7 +2,9 @@
pixmapdir = $(datadir)/pixmaps
pixmap_DATA = app-graphics/gbrainy.png \
app-graphics/gbrainy.svg \
- app-graphics/gbrainy16.png
+ app-graphics/gbrainy16.png
+
+analogiesdir = $(pkgdatadir)
hicolordir = $(datadir)/icons/hicolor
images = $(datadir)/games/gbrainy
@@ -22,7 +24,13 @@ tango_icons = \
app-graphics/resume-32.png \
app-graphics/endgame-32.png \
app-graphics/allgames-32.png \
- app-graphics/pause-32.png
+ app-graphics/pause-32.png \
+ app-graphics/verbal-games.svg \
+ app-graphics/verbal-games-32.png
+
+
+analogies_DATA = \
+ verbal_analogies.xml
game_graphics = \
game-graphics/present.svg \
@@ -41,7 +49,9 @@ install-data-local:
$(INSTALL_DATA) $(srcdir)/app-graphics/math-games.svg $(DESTDIR)$(images)/math-games.svg
$(INSTALL_DATA) $(srcdir)/app-graphics/logic-games.svg $(DESTDIR)$(images)/logic-games.svg
$(INSTALL_DATA) $(srcdir)/app-graphics/memory-games.svg $(DESTDIR)$(images)/memory-games.svg
+ $(INSTALL_DATA) $(srcdir)/app-graphics/verbal-games.svg $(DESTDIR)$(images)/verbal-games.svg
$(INSTALL_DATA) $(srcdir)/app-graphics/background.svg $(DESTDIR)$(images)/background.svg
+ $(INSTALL_DATA) $(srcdir)/verbal_analogies.xml $(DESTDIR)$(images)/verbal_analogies.xml
gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor
@@ -58,7 +68,9 @@ uninstall-hook:
rm -f $(DESTDIR)$(images)/math-games.svg
rm -f $(DESTDIR)$(images)/logic-games.svg
rm -f $(DESTDIR)$(images)/memory-games.svg
+ rm -f $(DESTDIR)$(images)/verbal-games.svg
rm -f $(DESTDIR)$(images)/background.svg
+ rm -f $(DESTDIR)$(images)/verbal_analogies.xml
rm -f $(DESTDIR)$(hicolordir)/48x48/apps/gbrainy.png
rm -f $(DESTDIR)$(hicolordir)/32x32/apps/gbrainy.png
rm -f $(DESTDIR)$(hicolordir)/16x16/apps/gbrainy.png
@@ -66,4 +78,4 @@ uninstall-hook:
noinst_DATA =
-EXTRA_DIST = $(pixmap_DATA) $(tango_icons) $(game_graphics) $(man_MANS) gbrainy.exe.config
+EXTRA_DIST = $(pixmap_DATA) $(tango_icons) $(game_graphics) $(man_MANS) $(analogies_DATA) gbrainy.exe.config
diff --git a/data/app-graphics/math-games-32.png b/data/app-graphics/math-games-32.png
index d12b2f1..7c91653 100644
Binary files a/data/app-graphics/math-games-32.png and b/data/app-graphics/math-games-32.png differ
diff --git a/data/app-graphics/math-games.svg b/data/app-graphics/math-games.svg
index e07d395..f253ed0 100644
--- a/data/app-graphics/math-games.svg
+++ b/data/app-graphics/math-games.svg
@@ -1,19 +1,159 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN"
-"http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd">
-
-<svg width="1.1122in" height="1.1122in" viewBox="0 0 640 640">
-
-<path style="fill:#8fb735" d="M640,580 l0,6 -1,6 -2,6 -2,5 -2,6 -3,5 -4,4 -3,5 -5,3 -4,4 -5,3 -6,2 -5,2 -6,2 -6,1 -6,0 -520,0 -6,0 -6,-1 -6,-2 -5,-2 -5,-2 -5,-3 -5,-4 -4,-3 -4,-5 -4,-4 -3,-5 -2,-6 -2,-5 -2,-6 -1,-6 0,-6 0,-520 0,-6 1,-6 2,-6 2,-5 2,-5 3,-5 4,-5 4,-4 4,-4 5,-4 5,-3 5,-2 5,-2 6,-2 6,-1 6,0 520,0 6,0 6,1 6,2 5,2 6,2 5,3 4,4 5,4 3,4 4,5 3,5 2,5 2,5 2,6 1,6 0,6 0,520z" />
-<ellipse style="fill:#fff" cx="320" cy="275" rx="299" ry="185" />
-<ellipse style="fill:#fff" cx="197" cy="432" rx="60" ry="59" />
-<ellipse style="fill:#fff" cx="141" cy="522" rx="35" ry="35" />
-<ellipse style="fill:#fff" cx="87" cy="573" rx="25" ry="24" />
-<path style="fill:#8fb735;fill-rule:evenodd" d="M468,273 l85,0 0,25 -85,0 0,-25z M468,311 l85,0 0,25 -85,0 0,-25z " />
-<rect style="fill:#8fb735" x="103" y="292" width="343" height="27" />
-<path style="fill:#8fb735" d="M248,338 l69,0 0,16 -38,39 40,0 0,19 -74,0 0,-18 36,-37 -33,0 0,-19z" />
-<path style="fill:#8fb735" d="M259,186 l22,0 -1,15 -1,6 -2,7 5,-3 7,-3 14,-7 7,21 -16,4 -5,0 -8,1 9,8 11,11 -18,14 -8,-14 -5,-11 -5,11 -8,14 -19,-14 12,-11 4,-4 5,-4 -12,-2 -16,-3 7,-21 14,6 11,7 -2,-13 -2,-15z" />
-<path style="fill:#8fb735" d="M113,185 l34,0 12,21 14,-21 31,0 -25,36 27,39 -33,0 -14,-24 -16,24 -31,0 27,-39 -26,-36z" />
-<path style="fill:#8fb735" d="M341,170 l30,0 16,50 14,-50 28,0 -29,80 -6,12 -2,4 -3,3 -4,3 -5,2 -6,1 -7,0 -8,0 -12,-1 -2,-20 3,1 4,0 7,1 5,-1 3,-2 2,-1 1,-2 1,-2 1,-3 -31,-75z" />
-
-</svg>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="1.1122in"
+ height="1.1122in"
+ viewBox="0 0 640 640"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="math-games02.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <metadata
+ id="metadata29">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs27">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 50.049 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="100.098 : 50.049 : 1"
+ inkscape:persp3d-origin="50.049 : 33.366 : 1"
+ id="perspective31" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-height="744"
+ inkscape:window-width="1280"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ showgrid="false"
+ inkscape:zoom="4.6154769"
+ inkscape:cx="15.383026"
+ inkscape:cy="50.049"
+ inkscape:window-x="-4"
+ inkscape:window-y="-4"
+ inkscape:current-layer="svg2" />
+ <path
+ style="fill:#8fb735"
+ d="M 640,580 L 640,586 L 639,592 L 637,598 L 635,603 L 633,609 L 630,614 L 626,618 L 623,623 L 618,626 L 614,630 L 609,633 L 603,635 L 598,637 L 592,639 L 586,640 L 580,640 L 60,640 L 54,640 L 48,639 L 42,637 L 37,635 L 32,633 L 27,630 L 22,626 L 18,623 L 14,618 L 10,614 L 7,609 L 5,603 L 3,598 L 1,592 L 0,586 L 0,580 L 0,60 L 0,54 L 1,48 L 3,42 L 5,37 L 7,32 L 10,27 L 14,22 L 18,18 L 22,14 L 27,9.9999996 L 32,6.9999996 L 37,4.9999996 L 42,2.9999996 L 48,1.0000003 L 54,3.35665e-07 L 60,3.35665e-07 L 580,3.35665e-07 L 586,3.35665e-07 L 592,1.0000003 L 598,2.9999996 L 603,4.9999996 L 609,6.9999996 L 614,9.9999996 L 618,14 L 623,18 L 626,22 L 630,27 L 633,32 L 635,37 L 637,42 L 639,48 L 640,54 L 640,60 L 640,580 z"
+ id="path4" />
+ <ellipse
+ style="fill:#fff"
+ cx="320"
+ cy="275"
+ rx="299"
+ ry="185"
+ id="ellipse6" />
+ <ellipse
+ style="fill:#fff"
+ cx="197"
+ cy="432"
+ rx="60"
+ ry="59"
+ id="ellipse8" />
+ <ellipse
+ style="fill:#fff"
+ cx="141"
+ cy="522"
+ rx="35"
+ ry="35"
+ id="ellipse10" />
+ <ellipse
+ style="fill:#fff"
+ cx="87"
+ cy="573"
+ rx="25"
+ ry="24"
+ id="ellipse12" />
+ <path
+ style="fill:#8fb735;fill-rule:evenodd"
+ d="M468,273 l85,0 0,25 -85,0 0,-25z M468,311 l85,0 0,25 -85,0 0,-25z "
+ id="path14" />
+ <rect
+ style="fill:#8fb735"
+ x="103"
+ y="292"
+ width="343"
+ height="27"
+ id="rect16" />
+ <path
+ style="fill:#8fb735"
+ d="M248,338 l69,0 0,16 -38,39 40,0 0,19 -74,0 0,-18 36,-37 -33,0 0,-19z"
+ id="path18" />
+ <path
+ style="fill:#8fb735"
+ d="M259,186 l22,0 -1,15 -1,6 -2,7 5,-3 7,-3 14,-7 7,21 -16,4 -5,0 -8,1 9,8 11,11 -18,14 -8,-14 -5,-11 -5,11 -8,14 -19,-14 12,-11 4,-4 5,-4 -12,-2 -16,-3 7,-21 14,6 11,7 -2,-13 -2,-15z"
+ id="path20" />
+ <path
+ style="fill:#8fb735"
+ d="M113,185 l34,0 12,21 14,-21 31,0 -25,36 27,39 -33,0 -14,-24 -16,24 -31,0 27,-39 -26,-36z"
+ id="path22" />
+ <path
+ style="fill:#8fb735"
+ d="M341,170 l30,0 16,50 14,-50 28,0 -29,80 -6,12 -2,4 -3,3 -4,3 -5,2 -6,1 -7,0 -8,0 -12,-1 -2,-20 3,1 4,0 7,1 5,-1 3,-2 2,-1 1,-2 1,-2 1,-3 -31,-75z"
+ id="path24" />
+ <rect
+ style="opacity:1;fill:#8bb63f;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-width:0.10000000000000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.43434340999999999"
+ id="rect2418"
+ width="609.5238"
+ height="513.93939"
+ x="13.532879"
+ y="88.977943" />
+ <rect
+ style="opacity:1;fill:#8bb63f;fill-opacity:0.9848485;fill-rule:nonzero;stroke:none;stroke-width:0.10000000000000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.43434340999999999"
+ id="rect3190"
+ width="601.2121"
+ height="545.80084"
+ x="18.008657"
+ y="62.33765" />
+ <path
+ style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.13209677;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 75.317226,269.57656 C 76.986302,266.76998 84.336113,255.14705 91.650092,243.74784 L 104.94827,223.02201 L 89.674116,200.14139 C 81.273376,187.55708 74.398058,176.63456 74.395681,175.86911 C 74.393305,175.10369 83.249588,174.47743 94.076353,174.47743 L 113.76139,174.47743 L 121.07973,188.37466 C 125.10482,196.01815 128.78382,202.27 129.2553,202.26764 C 129.72679,202.26527 133.87081,196.01155 138.46423,188.3704 L 146.8159,174.47743 L 165.56876,174.47743 C 179.61363,174.47743 184.00559,175.03093 183.0627,176.6821 C 182.37028,177.89469 175.39879,188.87298 167.57053,201.07835 L 153.33731,223.26992 L 159.00241,231.81042 C 166.4296,243.00742 183.22267,269.40429 184.79907,272.35996 C 185.75842,274.15864 181.61271,274.67944 166.33499,274.67944 L 146.63382,274.67944 L 138.37323,258.95881 C 133.82985,250.3125 129.72679,243.2267 129.2553,243.2126 C 128.78382,243.19856 124.15467,250.26093 118.9683,258.90691 L 109.53857,274.62684 L 90.910495,274.65311 L 72.282473,274.67944 L 75.
317226,269.57656 z"
+ id="path2404" />
+ <path
+ style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.13209677;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 240.02203,266.25884 C 234.46405,261.75101 229.48118,257.59152 228.94903,257.01559 C 228.41685,256.43964 233.72748,250.27992 240.75035,243.32732 L 253.51928,230.68623 L 236.15866,227.38583 L 218.79804,224.08536 L 223.03253,210.45457 L 227.26704,196.82376 L 233.55378,199.65988 C 237.0115,201.21973 244.00059,205.03354 249.08509,208.13499 L 258.32964,213.774 L 257.19131,206.06928 C 256.56521,201.83174 255.57424,193.40752 254.98912,187.34883 L 253.9253,176.33302 L 267.00199,176.33302 L 280.07868,176.33302 L 279.08041,187.93048 C 278.53133,194.30907 277.40678,202.40354 276.58141,205.91817 C 274.90739,213.04654 275.55131,214.85703 278.80394,212.16712 C 280.00547,211.17347 286.91875,207.3633 294.16679,203.70004 L 307.34507,197.03964 L 311.54556,210.56097 L 315.74599,224.08225 L 306.93977,226.13661 C 302.09631,227.26654 294.01687,228.74776 288.98543,229.42827 L 279.83737,230.66552 L 291.81705,243.85841 L 303.79672,257.05132 L 299.25059,260.87745 C 296.75024,262.98186 291.93
808,266.94262 288.55688,269.67917 L 282.40927,274.65474 L 274.84091,258.91654 C 270.67829,250.26053 266.83141,243.16845 266.29228,243.15635 C 265.75314,243.14427 263.63998,247.1007 261.59636,251.94843 C 259.55274,256.79617 256.13624,263.84331 254.00412,267.60873 L 250.12752,274.45497 L 240.02203,266.25884 z"
+ id="path2406" />
+ <path
+ style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.13209677;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 366.48044,306.69575 C 362.59745,305.76738 360.71274,299.71126 360.71274,288.16257 L 360.71274,281.89974 L 371.42836,282.21345 C 383.37719,282.56329 388.74519,280.01832 391.55037,272.67361 C 393.09283,268.63504 391.17312,262.30997 377.73662,227.16014 C 369.15382,204.70747 360.66623,182.37077 358.87538,177.52302 L 355.61926,168.70896 L 373.54553,168.70896 L 391.47175,168.70896 L 401.11513,201.31509 C 406.41897,219.24846 411.09991,233.5517 411.51722,233.10004 C 411.93451,232.64839 415.98805,218.1844 420.52507,200.95782 L 428.77414,169.63676 L 445.32115,169.10564 C 454.42206,168.81357 461.86822,168.99321 461.86822,169.50486 C 461.86822,173.49405 425.9698,276.28533 421.02688,286.44968 C 412.49049,304.00337 407.93577,306.74018 386.47236,307.2122 C 377.49094,307.40974 368.49458,307.17733 366.48046,306.69577 L 366.48044,306.69575 z"
+ id="path2408" />
+ <path
+ style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.13209677;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 47.887859,349.62927 L 47.887859,332.00114 L 259.62854,332.00114 L 471.36923,332.00114 L 471.36923,349.62927 L 471.36923,367.2574 L 259.62854,367.2574 L 47.887859,367.2574 L 47.887859,349.62927 z"
+ id="path2410" />
+ <path
+ style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.13209677;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 235.33274,495.22277 L 235.43115,483.62531 L 262.25177,458.5748 L 289.07239,433.52431 L 264.23379,433.00327 L 239.39518,432.4823 L 239.39518,420.47802 L 239.39518,408.4738 L 291.40576,408.4738 L 343.41634,408.4738 L 343.41634,418.55849 L 343.41634,428.64312 L 315.33061,454.52674 C 299.88348,468.76275 287.24492,480.92499 287.24492,481.55395 C 287.24492,482.18289 300.35158,482.69753 316.37083,482.69753 L 345.49675,482.69753 L 345.49675,494.75887 L 345.49675,506.82023 L 290.36554,506.82023 L 235.23434,506.82023 L 235.33274,495.22277 z"
+ id="path2412" />
+ <path
+ style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.13209677;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 486.01375,321.79538 L 486.01375,306.02284 L 538.30599,306.02284 L 590.59823,306.02284 L 590.59823,321.79538 L 590.59823,337.56793 L 538.30599,337.56793 L 486.01375,337.56793 L 486.01375,321.79538 z"
+ id="path2414" />
+ <path
+ style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.13209677;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 486.01375,372.82419 L 486.01375,356.12385 L 538.30599,356.12385 L 590.59823,356.12385 L 590.59823,372.82419 L 590.59823,389.52452 L 538.30599,389.52452 L 486.01375,389.52452 L 486.01375,372.82419 z"
+ id="path2416" />
+</svg>
diff --git a/data/app-graphics/verbal-games-32.png b/data/app-graphics/verbal-games-32.png
new file mode 100644
index 0000000..ab7e352
Binary files /dev/null and b/data/app-graphics/verbal-games-32.png differ
diff --git a/data/app-graphics/verbal-games.svg b/data/app-graphics/verbal-games.svg
new file mode 100644
index 0000000..5006438
--- /dev/null
+++ b/data/app-graphics/verbal-games.svg
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="1.1122in"
+ height="1.1122in"
+ viewBox="0 0 640 640"
+ id="svg3280"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="verbal-games.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <metadata
+ id="metadata3307">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3305">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 50.049 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="100.098 : 50.049 : 1"
+ inkscape:persp3d-origin="50.049 : 33.366 : 1"
+ id="perspective3309" />
+ <inkscape:perspective
+ id="perspective2565"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-height="725"
+ inkscape:window-width="1280"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ showgrid="false"
+ inkscape:zoom="4.6154769"
+ inkscape:cx="53.455641"
+ inkscape:cy="48.424032"
+ inkscape:window-x="0"
+ inkscape:window-y="52"
+ inkscape:current-layer="svg3280" />
+ <ellipse
+ style="fill:#fff"
+ cx="320"
+ cy="275"
+ rx="299"
+ ry="185"
+ id="ellipse3284"
+ inkscape:export-filename="/home/jordi/dev/gbrainy/data/app-graphics/verbal-games-32.png"
+ inkscape:export-xdpi="28.793007"
+ inkscape:export-ydpi="28.793007" />
+ <ellipse
+ style="fill:#fff"
+ cx="197"
+ cy="432"
+ rx="60"
+ ry="59"
+ id="ellipse3286"
+ inkscape:export-filename="/home/jordi/dev/gbrainy/data/app-graphics/verbal-games-32.png"
+ inkscape:export-xdpi="28.793007"
+ inkscape:export-ydpi="28.793007" />
+ <ellipse
+ style="fill:#fff"
+ cx="141"
+ cy="522"
+ rx="35"
+ ry="35"
+ id="ellipse3288"
+ inkscape:export-filename="/home/jordi/dev/gbrainy/data/app-graphics/verbal-games-32.png"
+ inkscape:export-xdpi="28.793007"
+ inkscape:export-ydpi="28.793007" />
+ <ellipse
+ style="fill:#fff"
+ cx="87"
+ cy="573"
+ rx="25"
+ ry="24"
+ id="ellipse3290"
+ inkscape:export-filename="/home/jordi/dev/gbrainy/data/app-graphics/verbal-games-32.png"
+ inkscape:export-xdpi="28.793007"
+ inkscape:export-ydpi="28.793007" />
+ <path
+ style="opacity:1;fill:#785050;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.13209677000000040;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 44.051916,637.11774 C 23.688793,630.51518 10.600585,618.32484 3.7169159,599.54977 L 0.41560556,590.54542 L 0.051939796,323.28758 C -0.34162521,34.076597 -0.71029541,49.742016 6.8733088,33.416872 C 10.861437,24.831781 24.831718,10.861437 33.416871,6.8733106 C 49.742015,-0.71029358 34.076595,-0.34162441 323.28757,0.051879472 L 590.54543,0.41560739 L 599.54978,3.7169177 C 618.70297,10.739219 631.51972,24.854358 637.53668,45.552103 C 639.53703,52.433026 639.71587,79.220781 639.39047,323.24181 L 639.03027,593.316 L 634.4141,604.01542 C 628.13822,618.56153 618.56154,628.13817 604.01549,634.41403 L 593.316,639.03028 L 322.49349,639.30925 C 65.973802,639.57345 51.268621,639.45777 44.051916,637.1178 L 44.051916,637.11774 z M 99.756771,593.67723 C 107.96916,589.0616 112.42792,580.62856 111.64531,571.19178 C 110.52391,557.66858 100.98298,549.12895 86.995675,549.12895 C 82.49213,549.12895 77.564877,550.09065 74.946052,551.48076 C 63.320136,557.65204 58.654406,573.0255 64.98757
1,584.29384 C 71.66445,596.17372 87.642464,600.48578 99.756771,593.67723 L 99.756771,593.67723 z M 153.37255,554.90911 C 159.6544,552.9973 169.91083,543.41786 173.06179,536.51949 C 176.22501,529.59433 176.44919,515.48291 173.50813,508.42302 C 170.6777,501.62868 162.46165,493.1818 155.56712,489.97787 C 151.95754,488.30043 146.88721,487.40285 141.02162,487.40285 C 130.15251,487.40279 123.01574,490.37765 115.80788,497.91275 C 109.1371,504.88642 106.11257,512.39253 106.11257,521.97405 C 106.11257,531.57124 109.14784,539.08809 115.80788,545.98427 C 126.27068,556.81817 137.96823,559.5973 153.3726,554.90911 L 153.37255,554.90911 z M 207.57105,490.10198 C 217.13377,488.2884 228.69409,482.94221 236.00257,476.95342 C 240.46999,473.29272 247.88256,463.80706 252.44413,455.91361 C 252.52669,455.77084 260.99683,456.55229 271.2668,457.65012 C 293.55052,460.03226 342.42693,460.33094 364.30237,458.21856 C 496.23617,445.47852 600.06134,379.8543 616.7493,298.65582 C 632.38494,222.5773 570.8219
5,148.52505 461.64887,112.09037 C 351.01592,75.168463 216.52927,84.780179 121.88013,136.37346 C 71.533323,163.81759 35.480006,204.23795 24.445354,245.61038 C 20.444046,260.6126 20.149391,288.38573 23.843962,302.28993 C 35.898467,347.65537 71.744933,387.45732 126.25383,416.00001 L 136.83591,421.5411 L 136.85086,430.74582 C 136.89437,457.56708 155.11845,482.00479 179.86003,488.41935 C 193.04111,491.83672 197.11826,492.08427 207.57105,490.10198 L 207.57105,490.10198 z"
+ id="path3832"
+ inkscape:export-filename="/home/jordi/dev/gbrainy/data/app-graphics/verbal-games-32.png"
+ inkscape:export-xdpi="28.793007"
+ inkscape:export-ydpi="28.793007" />
+ <path
+ style="opacity:1;fill:#cc0000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-width:4.13209677000000040;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 6.8048359,99.490675 C 4.2282528,98.798283 2.2352063,97.0765 0.98868721,94.466132 L 0.19138498,92.796478 L 0.1308062,52.605615 C 0.094157762,28.297548 0.15277576,11.271174 0.2791289,9.5209666 C 0.53024704,6.0425893 0.94155449,5.0185998 2.8690823,3.07305 C 4.5051256,1.4217147 5.8895979,0.67781325 7.9054069,0.36695047 C 9.0700298,0.18735256 20.869016,0.12974421 51.089007,0.15610551 L 92.670149,0.19237696 L 93.771466,0.65767232 C 95.421826,1.3549112 96.27944,1.9465337 97.433752,3.1841263 C 99.034237,4.90004 99.586899,6.3111314 99.77611,9.1648171 C 99.863035,10.475624 99.940947,29.807386 99.949267,52.124289 L 99.96439,92.700471 L 99.208715,94.292909 C 98.132077,96.561688 96.842871,97.905088 94.724888,98.965169 L 92.981016,99.838004 L 50.486123,99.823748 C 13.792428,99.811433 7.8292696,99.765964 6.8048381,99.490675 L 6.8048359,99.490675 z M 15.981948,92.614172 C 16.995486,91.84111 17.417954,90.99945 17.447348,89.694736 C 17.478498,88.312452 16.906932,87.154303 15.847663,
86.453311 C 15.160529,85.998585 14.740113,85.890964 13.660734,85.893475 C 12.035585,85.897258 11.109126,86.335111 10.38816,87.440128 C 9.0488034,89.492937 9.6756812,91.815873 11.891151,93.009576 C 12.925471,93.566877 14.995181,93.366818 15.981955,92.61417 L 15.981948,92.614172 z M 23.092769,87.027051 C 25.250401,86.567486 26.977659,84.856443 27.369456,82.790498 C 27.815458,80.438743 26.974346,78.379272 25.010855,77.015439 C 24.081614,76.37 23.910841,76.330141 22.074281,76.330141 C 20.320165,76.330141 20.033571,76.389162 19.220773,76.917779 C 16.748255,78.525827 15.865744,81.481359 17.111584,83.981437 C 17.769358,85.301415 19.183945,86.543023 20.497295,86.953134 C 21.670567,87.319508 21.713876,87.320736 23.092763,87.027044 L 23.092769,87.027051 z M 32.774852,76.642015 C 35.162709,76.091526 37.557831,74.402251 38.80866,72.386381 L 39.407268,71.421649 L 40.707242,71.546564 C 41.422227,71.615259 44.932157,71.731689 48.507086,71.805291 C 55.64,71.952145 58.638693,71.733467 63.997
164,70.675691 C 78.596587,67.793714 90.239349,60.576367 94.719883,51.630635 C 98.798508,43.487372 97.025799,34.942064 89.759832,27.720728 C 81.165899,19.179587 66.328538,14.059046 50.132053,14.044742 C 45.394449,14.040554 42.313457,14.288649 37.892791,15.030295 C 22.393539,17.630566 10.368184,24.803212 5.4083323,34.405979 C 3.7385504,37.638861 3.44132,38.9484 3.44132,43.072472 C 3.44132,46.894153 3.5939066,47.657548 5.000342,50.872316 C 7.2698951,56.059952 12.98288,61.595676 19.646157,65.063699 L 21.311294,65.930349 L 21.316836,67.01366 C 21.324464,68.506893 21.866385,70.672008 22.544224,71.917422 C 23.222572,73.163772 24.647945,74.69465 25.817441,75.432918 C 27.732381,76.641771 30.608112,77.14153 32.774848,76.642018 L 32.774852,76.642015 z"
+ id="path4623"
+ transform="scale(6.3937342,6.3937342)"
+ inkscape:export-filename="/home/jordi/dev/gbrainy/data/app-graphics/verbal-games-32.png"
+ inkscape:export-xdpi="28.793007"
+ inkscape:export-ydpi="28.793007" />
+ <path
+ style="opacity:1;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.13209677;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 30.199118,38.610972 C 29.782043,38.430599 29.123931,37.976548 28.736648,37.601972 L 28.032495,36.920924 L 28.032495,37.830074 L 28.032495,38.739226 L 25.865872,38.739226 L 23.699248,38.739226 L 23.699248,30.181063 L 23.699248,21.622901 L 25.974203,21.622901 L 28.249157,21.622901 L 28.249157,24.547843 C 28.249157,26.156561 28.299997,27.472784 28.362134,27.472784 C 28.424275,27.472784 28.860039,27.21805 29.330506,26.906711 C 30.631329,26.045861 32.589515,25.945917 34.150771,26.660684 C 36.220403,27.608194 37.132313,29.383625 37.132313,32.465573 C 37.132313,35.405891 35.977347,37.65037 34.002801,38.547235 C 32.940893,39.029573 31.233198,39.058187 30.199118,38.610975 L 30.199118,38.610972 z M 31.857092,34.960383 C 32.79721,33.89318 32.77376,31.111041 31.816578,30.153859 C 31.035496,29.37277 29.757125,29.438001 29.035356,30.295773 C 27.784976,31.781769 28.091639,34.561956 29.601429,35.427642 C 30.270116,35.811056 31.294687,35.598816 31.857092,34.960383 z"
+ id="path5138"
+ transform="scale(6.3937342,6.3937342)"
+ inkscape:export-filename="/home/jordi/dev/gbrainy/data/app-graphics/verbal-games-32.png"
+ inkscape:export-xdpi="28.793007"
+ inkscape:export-ydpi="28.793007" />
+ <path
+ style="opacity:1;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.13209677;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 39.732261,30.181063 L 39.732261,21.622901 L 42.115547,21.622901 L 44.498832,21.622901 L 44.498832,30.181063 L 44.498832,38.739226 L 42.115547,38.739226 L 39.732261,38.739226 L 39.732261,30.181063 z"
+ id="path5140"
+ transform="scale(6.3937342,6.3937342)"
+ inkscape:export-filename="/home/jordi/dev/gbrainy/data/app-graphics/verbal-games-32.png"
+ inkscape:export-xdpi="28.793007"
+ inkscape:export-ydpi="28.793007" />
+ <path
+ style="opacity:1;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.13209677;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 49.413553,38.641983 C 48.369462,38.269614 47.76919,37.737132 47.39387,36.850389 C 46.72746,35.275902 47.256339,33.53086 48.658329,32.678259 C 49.041602,32.445174 50.285593,32.048327 51.422754,31.796368 C 54.299198,31.15904 55.975269,30.692129 56.097694,30.494039 C 56.317672,30.138102 55.746002,29.188031 55.183059,28.974001 C 54.277285,28.629627 52.944296,28.94827 52.269707,29.670421 L 51.683826,30.297606 L 49.67318,30.069842 C 48.567335,29.944566 47.62348,29.803005 47.575732,29.755257 C 47.340173,29.519693 48.076948,28.069748 48.718394,27.506549 C 49.892661,26.475529 50.770852,26.281141 54.25442,26.281141 C 57.189348,26.281141 57.474547,26.318017 58.479336,26.827399 C 59.333494,27.260416 59.669078,27.597276 60.098172,28.452367 C 60.604137,29.460655 60.647138,29.806896 60.756773,33.755992 C 60.821284,36.079696 60.953745,38.151529 61.051131,38.360067 C 61.2135,38.707753 61.047595,38.739226 59.052414,38.739226 L 56.876635,38.739226 L 56.608701,37.998284 L 56.340783,37
.257349 L 55.629476,37.79989 C 54.19952,38.890567 51.236197,39.29202 49.413557,38.641985 L 49.413553,38.641983 z M 54.898624,35.967287 C 55.196535,35.781878 55.557618,35.476609 55.701031,35.288908 C 55.989924,34.910807 56.317975,33.153162 56.133992,32.969178 C 55.940694,32.775874 52.375288,33.944274 52.082714,34.296805 C 51.738758,34.711245 51.732464,35.609766 52.070665,36.017273 C 52.568488,36.617113 53.892074,36.593718 54.898624,35.967285 L 54.898624,35.967287 z"
+ id="path5142"
+ transform="scale(6.3937342,6.3937342)"
+ inkscape:export-filename="/home/jordi/dev/gbrainy/data/app-graphics/verbal-games-32.png"
+ inkscape:export-xdpi="28.793007"
+ inkscape:export-ydpi="28.793007" />
+ <path
+ style="opacity:1;fill:#cc0000;fill-opacity:0;fill-rule:nonzero;stroke:none;stroke-width:4.13209677000000040;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 63.78178,30.181063 L 63.78178,21.622901 L 66.056735,21.622901 L 68.331689,21.622901 L 68.331689,24.790219 L 68.331689,27.957538 L 69.090094,27.379078 C 70.207638,26.526683 71.209073,26.17281 72.503739,26.17281 C 74.225771,26.17281 75.449567,26.867152 76.131533,28.231102 C 76.650678,29.269407 76.676331,29.510199 76.748566,34.02682 L 76.823964,38.739226 L 74.419446,38.739226 L 72.014949,38.739226 L 72.014949,34.730973 C 72.014949,31.011602 71.983728,30.69149 71.581624,30.289395 C 70.881285,29.589047 69.774422,29.64415 68.981676,30.418831 C 68.449358,30.939007 68.43885,31.015363 68.372183,34.843682 L 68.304346,38.739226 L 66.043063,38.739226 L 63.78178,38.739226 L 63.78178,30.181063 z"
+ id="path5144"
+ transform="scale(6.3937342,6.3937342)"
+ inkscape:export-filename="/home/jordi/dev/gbrainy/data/app-graphics/verbal-games-32.png"
+ inkscape:export-xdpi="28.793007"
+ inkscape:export-ydpi="28.793007" />
+ <path
+ style="opacity:1;fill:#b02b2c;fill-opacity:0.98431373;fill-rule:nonzero;stroke:none;stroke-width:4.13209677000000040;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 6.8048359,99.490675 C 4.2282528,98.798283 2.2352063,97.0765 0.98868721,94.466132 L 0.19138498,92.796478 L 0.1308062,52.605615 C 0.094157762,28.297548 0.15277576,11.271174 0.2791289,9.5209666 C 0.53024704,6.0425893 0.94155449,5.0185998 2.8690823,3.07305 C 4.5051256,1.4217147 5.8895979,0.67781325 7.9054069,0.36695047 C 9.0700298,0.18735256 20.869016,0.12974421 51.089005,0.15610551 L 92.670149,0.19237696 L 93.771466,0.65767232 C 95.421826,1.3549112 96.27944,1.9465337 97.433752,3.1841263 C 99.034237,4.90004 99.586899,6.3111314 99.77611,9.1648171 C 99.863035,10.475624 99.940947,29.807386 99.949267,52.124289 L 99.96439,92.700471 L 99.208715,94.292909 C 98.132077,96.561688 96.842871,97.905088 94.724888,98.965169 L 92.981016,99.838004 L 50.486127,99.823748 C 13.792428,99.811433 7.8292696,99.765964 6.8048381,99.490675 L 6.8048359,99.490675 z M 15.981948,92.614172 C 16.995486,91.84111 17.417954,90.99945 17.447348,89.694736 C 17.478498,88.312452 16.906932,87.154303 15.847663,
86.453311 C 15.160529,85.998585 14.740113,85.890964 13.660734,85.893475 C 12.035585,85.897258 11.109126,86.335111 10.38816,87.440128 C 9.0488034,89.492937 9.6756812,91.815873 11.891151,93.009576 C 12.925471,93.566877 14.995181,93.366818 15.981955,92.61417 L 15.981948,92.614172 z M 23.092769,87.027051 C 25.250401,86.567486 26.977659,84.856443 27.369456,82.790498 C 27.815458,80.438743 26.974346,78.379272 25.010855,77.015439 C 24.081614,76.37 23.910841,76.330141 22.074281,76.330141 C 20.320165,76.330141 20.033571,76.389162 19.220773,76.917779 C 16.748255,78.525827 15.865744,81.481359 17.111584,83.981437 C 17.769358,85.301415 19.183945,86.543023 20.497295,86.953134 C 21.670567,87.319508 21.713876,87.320736 23.092763,87.027044 L 23.092769,87.027051 z M 32.774852,76.642015 C 35.162709,76.091526 37.557831,74.402251 38.80866,72.386381 L 39.407268,71.421649 L 40.707242,71.546564 C 41.422227,71.615259 44.932157,71.731689 48.507086,71.805291 C 55.639989,71.952145 58.638704,71.733467 63
.997158,70.675691 C 78.596587,67.793714 90.239349,60.576367 94.719883,51.630635 C 98.798508,43.487372 97.025799,34.942064 89.759832,27.720728 C 81.165899,19.179587 66.328538,14.059046 50.132053,14.044742 C 45.394452,14.040554 42.313457,14.288649 37.892791,15.030295 C 22.393539,17.630566 10.368184,24.803212 5.4083323,34.405979 C 3.7385504,37.638861 3.44132,38.9484 3.44132,43.072472 C 3.44132,46.894153 3.5939066,47.657548 5.000342,50.872316 C 7.2698951,56.059952 12.98288,61.595676 19.646157,65.063699 L 21.311294,65.930349 L 21.316836,67.01366 C 21.324464,68.506893 21.866385,70.672008 22.544224,71.917422 C 23.222572,73.163772 24.647945,74.69465 25.817441,75.432918 C 27.732381,76.641771 30.608112,77.14153 32.774848,76.642018 L 32.774852,76.642015 z"
+ id="path5146"
+ transform="scale(6.3937342,6.3937342)"
+ inkscape:export-filename="/home/jordi/dev/gbrainy/data/app-graphics/verbal-games-32.png"
+ inkscape:export-xdpi="28.793007"
+ inkscape:export-ydpi="28.793007" />
+ <path
+ style="opacity:1;fill:#b02b2c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.13209677000000040;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 23.649923,30.289468 L 23.708916,21.622901 L 25.97292,21.622901 L 28.236925,21.622901 L 28.297213,24.531411 L 28.357488,27.439917 L 29.549131,26.888011 C 32.531367,25.506808 35.888008,26.851206 36.700225,29.752159 C 37.044092,30.980357 37.06559,33.821619 36.739621,34.960455 C 36.039663,37.405873 34.309389,38.779414 31.943053,38.768096 C 30.549262,38.761431 30.107074,38.595615 28.844979,37.606359 L 28.032495,36.969515 L 28.032495,37.962706 L 28.032495,38.955888 L 25.811706,38.955962 L 23.590917,38.95604 L 23.649923,30.289468 z M 31.37837,35.251224 C 31.802264,35.001129 32.156539,34.733009 32.165656,34.655405 C 32.174767,34.577805 32.23808,34.319314 32.306335,34.080986 C 32.574715,33.143878 32.418885,30.722719 32.090186,30.722719 C 31.989341,30.722719 31.964078,30.630114 32.034029,30.516927 C 32.209935,30.232304 31.30989,29.762112 30.524112,29.728133 C 30.073753,29.708657 29.660448,29.900891 29.178403,30.354034 C 28.795749,30.713739 28.529226,31.083356 28.586115,31.17
5403 C 28.643,31.26745 28.590461,31.404005 28.469353,31.478854 C 28.072409,31.724178 28.220463,33.550085 28.700253,34.326401 C 29.176652,35.097232 29.901628,35.705953 30.343275,35.705953 C 30.488696,35.705953 30.95449,35.501326 31.378377,35.251226 L 31.37837,35.251224 z"
+ id="path5148"
+ transform="scale(6.3937342,6.3937342)"
+ inkscape:export-filename="/home/jordi/dev/gbrainy/data/app-graphics/verbal-games-32.png"
+ inkscape:export-xdpi="28.793007"
+ inkscape:export-ydpi="28.793007" />
+ <path
+ style="opacity:1;fill:#b02b2b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.13209677000000040;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 39.732261,30.289395 L 39.732261,21.622901 L 42.115547,21.622901 L 44.498832,21.622901 L 44.498832,30.289395 L 44.498832,38.955888 L 42.115547,38.955888 L 39.732261,38.955888 L 39.732261,30.289395 z"
+ id="path5150"
+ transform="scale(6.3937342,6.3937342)"
+ inkscape:export-filename="/home/jordi/dev/gbrainy/data/app-graphics/verbal-games-32.png"
+ inkscape:export-xdpi="28.793007"
+ inkscape:export-ydpi="28.793007" />
+ <path
+ style="opacity:1;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.13209677;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 50.054746,38.715984 C 47.933851,38.217843 47.175633,37.165685 47.281747,34.867979 C 47.336827,33.675272 48.588611,32.607664 50.511212,32.113663 C 51.375153,31.89168 52.082014,31.637212 52.082014,31.548181 C 52.082014,31.459148 52.229503,31.442903 52.409766,31.512077 C 52.590024,31.581253 52.86712,31.530287 53.025522,31.398825 C 53.183926,31.267365 53.371194,31.21747 53.441674,31.28795 C 53.512161,31.358433 53.694056,31.339317 53.845899,31.245471 C 53.99774,31.151628 54.321096,31.052492 54.564466,31.025171 C 55.373992,30.93429 56.198598,30.520768 56.198598,30.205685 C 56.198598,29.74409 54.943417,28.772758 54.346935,28.772758 C 53.725121,28.772758 52.332257,29.501476 51.826851,30.09122 C 51.578486,30.381023 51.415138,30.437351 51.311127,30.269057 C 51.217473,30.117534 50.796065,30.063639 50.216086,30.12901 C 49.697535,30.187459 49.326009,30.149957 49.390457,30.045676 C 49.454901,29.941392 49.185018,29.849217 48.790701,29.840841 C 48.096255,29.826088 46.931649,29.468
691 47.477939,29.437975 C 47.626895,29.429601 47.748767,29.279891 47.748767,29.105292 C 47.748767,28.655748 48.987476,27.300594 49.785055,26.877585 C 50.295072,26.607088 51.305776,26.492253 53.978202,26.401162 C 55.914831,26.335149 57.523554,26.329891 57.55313,26.389473 C 57.5827,26.449055 57.986158,26.691123 58.449692,26.9274 C 60.068877,27.752755 60.327444,28.456522 60.658129,32.938404 C 61.099752,38.923991 61.105041,38.513106 60.586011,38.548197 C 60.377473,38.562295 60.499346,38.64826 60.856839,38.739226 C 61.286595,38.84858 60.717663,38.913305 59.177706,38.930255 C 57.096867,38.953158 56.847766,38.91547 56.840907,38.576729 C 56.831801,38.126795 56.217437,36.985593 56.206277,37.397874 C 56.20205,37.553862 56.112148,37.628058 56.006486,37.562756 C 55.900831,37.497449 55.693071,37.590181 55.544816,37.768819 C 54.963136,38.469698 51.528799,39.062204 50.054741,38.715984 L 50.054746,38.715984 z M 54.580402,35.999149 C 55.224532,35.683754 55.705278,35.350837 55.648729,35.25933
8 C 55.592178,35.16784 55.653606,35.057078 55.785233,35.013203 C 55.916864,34.969325 56.07397,34.495029 56.134365,33.959208 C 56.232816,33.085704 56.197021,32.981437 55.78806,32.950632 C 55.537202,32.931737 55.331949,33.004653 55.331949,33.11267 C 55.331949,33.220689 55.185702,33.252948 55.006956,33.184357 C 54.828209,33.115763 54.681962,33.173329 54.681962,33.312274 C 54.681962,33.45122 54.584464,33.504646 54.4653,33.430999 C 54.346135,33.357351 54.126765,33.374478 53.97781,33.46906 C 53.828854,33.563644 53.658233,33.651331 53.59865,33.663928 C 53.539068,33.676527 53.124702,33.849948 52.677836,34.049312 C 51.971807,34.364298 51.865352,34.507295 51.865352,35.140677 C 51.865352,35.541558 52.011599,35.990931 52.190345,36.139278 C 52.369092,36.287624 52.515339,36.328812 52.515339,36.230805 C 52.515339,36.132797 52.632336,36.16961 52.775334,36.312608 C 53.133869,36.671147 53.24876,36.651194 54.580406,35.999151 L 54.580402,35.999149 z"
+ id="path5152"
+ transform="scale(6.3937342,6.3937342)"
+ inkscape:export-filename="/home/jordi/dev/gbrainy/data/app-graphics/verbal-games-32.png"
+ inkscape:export-xdpi="28.793007"
+ inkscape:export-ydpi="28.793007" />
+ <path
+ style="opacity:1;fill:#b02b2c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.13209677000000040;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 63.78178,30.181063 L 63.78178,21.622901 L 66.056735,21.622901 L 68.331689,21.622901 L 68.331689,24.790219 L 68.331689,27.957538 L 69.090094,27.379078 C 70.207638,26.526683 71.209073,26.17281 72.503739,26.17281 C 74.225771,26.17281 75.449567,26.867152 76.131533,28.231102 C 76.650678,29.269407 76.676331,29.510199 76.748566,34.02682 L 76.823964,38.739226 L 74.419446,38.739226 L 72.014949,38.739226 L 72.014949,34.730973 C 72.014949,31.011602 71.983728,30.69149 71.581624,30.289395 C 70.881285,29.589047 69.774422,29.64415 68.981676,30.418831 C 68.449358,30.939007 68.43885,31.015363 68.372183,34.843682 L 68.304346,38.739226 L 66.043063,38.739226 L 63.78178,38.739226 L 63.78178,30.181063 z"
+ id="path5154"
+ transform="scale(6.3937342,6.3937342)"
+ inkscape:export-filename="/home/jordi/dev/gbrainy/data/app-graphics/verbal-games-32.png"
+ inkscape:export-xdpi="28.793007"
+ inkscape:export-ydpi="28.793007" />
+ <path
+ style="opacity:1;fill:#b02b2c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.13209677000000040;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 30.33448,62.687104 C 29.872693,62.522501 29.165832,62.068915 28.763681,61.679135 L 28.032495,60.970443 L 28.032495,61.879593 L 28.032495,62.788745 L 25.865872,62.788745 L 23.699248,62.788745 L 23.699248,54.230583 L 23.699248,45.67242 L 25.974203,45.67242 L 28.249157,45.67242 L 28.249157,48.597362 C 28.249157,51.2894 28.387511,51.958196 28.804755,51.28308 C 29.125754,50.763704 30.762956,50.231845 32.040748,50.231845 C 34.438652,50.231847 36.152603,51.536326 36.839693,53.884296 C 37.321173,55.529634 37.15654,58.400579 36.493805,59.916158 C 35.387488,62.446141 32.854889,63.585503 30.334482,62.687106 L 30.33448,62.687104 z M 31.65913,59.207429 C 32.571161,58.568613 32.872359,56.112137 32.202909,54.772488 C 31.374598,53.114945 29.434578,53.157584 28.665983,54.850222 C 27.982084,56.35635 28.279297,58.478618 29.280602,59.238886 C 29.79381,59.628554 31.08221,59.611515 31.659126,59.207429 L 31.65913,59.207429 z"
+ id="path5156"
+ transform="scale(6.3937342,6.3937342)"
+ inkscape:export-filename="/home/jordi/dev/gbrainy/data/app-graphics/verbal-games-32.png"
+ inkscape:export-xdpi="28.793007"
+ inkscape:export-ydpi="28.793007" />
+ <path
+ style="opacity:1;fill:#b02b2c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.13209677000000040;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 39.732261,54.230583 L 39.732261,45.67242 L 42.115547,45.67242 L 44.498832,45.67242 L 44.498832,54.230583 L 44.498832,62.788745 L 42.115547,62.788745 L 39.732261,62.788745 L 39.732261,54.230583 z"
+ id="path5158"
+ transform="scale(6.3937342,6.3937342)"
+ inkscape:export-filename="/home/jordi/dev/gbrainy/data/app-graphics/verbal-games-32.png"
+ inkscape:export-xdpi="28.793007"
+ inkscape:export-ydpi="28.793007" />
+ <path
+ style="opacity:1;fill:#b02b2c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.13209677000000040;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 49.70665,62.75103 C 47.51763,62.122965 46.489324,59.913651 47.44684,57.895836 C 47.949366,56.836842 48.916766,56.342484 51.688089,55.72848 C 53.036815,55.429663 54.607116,55.034454 55.177662,54.850237 C 56.079114,54.559179 56.197281,54.454072 56.079649,54.047947 C 55.820033,53.151632 55.113588,52.767308 53.933972,52.880655 C 53.070456,52.963628 52.74725,53.114028 52.306728,53.637877 L 51.757021,54.291558 L 49.644563,54.064621 C 48.482711,53.939804 47.532105,53.76181 47.532105,53.669078 C 47.532105,53.256755 48.034827,52.237044 48.467352,51.772046 C 49.515753,50.644938 50.468697,50.361955 53.54671,50.26371 C 57.836429,50.12679 59.286752,50.635175 60.170751,52.58565 C 60.559095,53.442497 60.639851,54.167025 60.752572,57.805511 C 60.824567,60.129215 60.961027,62.201048 61.055828,62.409586 C 61.213729,62.756943 61.045937,62.788745 59.055192,62.788745 L 56.882188,62.788745 L 56.634105,62.037026 L 56.386009,61.285318 L 55.555012,61.83524 C 53.942634,62.902267 51.543266,6
3.277977 49.706645,62.751026 L 49.70665,62.75103 z M 55.348942,59.621817 C 55.79017,59.180585 56.017367,58.690809 56.116579,57.966979 C 56.282616,56.755578 56.300798,56.761028 54.190741,57.389428 C 51.870205,58.080512 51.088663,59.202413 52.266389,60.151821 C 52.886003,60.651308 54.617083,60.353675 55.34894,59.621817 L 55.348942,59.621817 z"
+ id="path5160"
+ transform="scale(6.3937342,6.3937342)"
+ inkscape:export-filename="/home/jordi/dev/gbrainy/data/app-graphics/verbal-games-32.png"
+ inkscape:export-xdpi="28.793007"
+ inkscape:export-ydpi="28.793007" />
+ <path
+ style="opacity:1;fill:#b02b2c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.13209677000000040;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 63.78178,54.230583 L 63.78178,45.67242 L 66.056735,45.67242 L 68.331689,45.67242 L 68.331689,48.832226 L 68.331689,51.99204 L 69.167161,51.330343 C 70.288345,50.442333 70.939849,50.222329 72.448274,50.222329 C 73.89833,50.222329 74.719263,50.478426 75.446295,51.157576 C 76.500228,52.14209 76.627907,52.81872 76.731536,57.968008 L 76.828536,62.788745 L 74.421742,62.788745 L 72.014949,62.788745 L 72.014949,58.770647 C 72.014949,54.793393 72.009532,54.747136 71.483151,54.220735 C 70.8742,53.611799 70.306566,53.552869 69.427741,54.007338 C 68.505582,54.484199 68.331689,55.315326 68.331689,59.246147 L 68.331689,62.788745 L 66.056735,62.788745 L 63.78178,62.788745 L 63.78178,54.230583 z"
+ id="path5162"
+ transform="scale(6.3937342,6.3937342)"
+ inkscape:export-filename="/home/jordi/dev/gbrainy/data/app-graphics/verbal-games-32.png"
+ inkscape:export-xdpi="28.793007"
+ inkscape:export-ydpi="28.793007" />
+ <path
+ style="opacity:1;fill:#b02b2c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.13209677000000040;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 50.132053,38.754427 C 49.714978,38.671029 49.154364,38.483813 48.886245,38.338394 C 48.618125,38.192974 48.398754,38.126173 48.398754,38.189948 C 48.398754,38.253724 48.217688,38.135279 47.996382,37.926742 C 47.775072,37.718204 47.597821,37.498834 47.602479,37.439252 C 47.607133,37.37967 47.506717,36.976704 47.379323,36.543771 C 47.052267,35.432319 47.351894,34.076134 48.096114,33.299335 C 48.506106,32.871403 49.223243,32.503051 50.234966,32.200744 C 51.072097,31.950608 51.854519,31.675258 51.973683,31.58886 C 52.092847,31.502461 52.336592,31.425477 52.515339,31.417783 C 52.983832,31.39762 55.368171,30.718579 55.820497,30.476502 C 56.350193,30.193019 55.967829,29.512327 55.026828,29.063595 C 54.361046,28.746107 54.247233,28.753103 53.306282,29.169331 C 52.752101,29.414469 52.298676,29.723776 52.298676,29.856674 C 52.298676,29.989573 52.200489,30.037622 52.080484,29.963454 C 51.960482,29.889286 51.804485,29.979247 51.733833,30.163362 C 51.632947,30.426249 51.512092,
30.448199 51.170893,30.265594 C 50.931929,30.137707 50.405435,30.095159 50.000907,30.171049 C 49.545756,30.256438 49.265404,30.222702 49.265404,30.082549 C 49.265404,29.957984 49.046033,29.85474 48.777913,29.853113 C 48.509794,29.851483 48.075494,29.792525 47.812804,29.722093 C 47.354154,29.599117 47.349262,29.571278 47.68977,29.020897 C 47.884788,28.705673 48.294717,28.170942 48.600714,27.8326 C 49.651234,26.671049 50.177305,26.530745 53.968053,26.401162 L 57.479053,26.281141 L 58.5623,26.977048 C 60.198534,28.028218 60.331372,28.432588 60.737765,33.599347 C 60.932504,36.075224 61.018163,38.220157 60.92811,38.365867 C 60.82947,38.525458 60.911977,38.689365 61.135601,38.778112 C 61.339775,38.85914 60.458722,38.932285 59.177706,38.940659 C 57.245049,38.953295 56.848585,38.900568 56.848585,38.630895 C 56.848585,38.452148 56.745333,38.305901 56.619136,38.305901 C 56.492939,38.305901 56.449944,38.208403 56.523592,38.089239 C 56.733923,37.748914 56.418771,37.383279 56.125143,37.6
26968 C 55.986802,37.741788 55.824856,37.83881 55.765274,37.842575 C 55.705692,37.846341 55.304712,37.996596 54.874209,38.176471 C 54.155577,38.476733 51.616792,38.984106 51.107034,38.929336 C 50.987869,38.916533 50.549128,38.837822 50.132053,38.754425 L 50.132053,38.754427 z M 55.116476,35.654923 C 55.576528,35.367622 56.198598,34.140295 56.198598,33.519943 C 56.198598,33.165704 56.084647,33.098385 55.602777,33.167953 C 55.275075,33.215263 54.860709,33.307432 54.681962,33.372773 C 54.503216,33.438112 53.901534,33.653695 53.344889,33.851846 C 52.788238,34.049996 52.216743,34.351972 52.074886,34.522899 C 51.693929,34.981924 52.00324,35.867503 52.66577,36.214637 C 53.162403,36.474855 53.348726,36.473863 53.985941,36.207617 C 54.393996,36.037117 54.902743,35.788408 55.116483,35.654925 L 55.116476,35.654923 z"
+ id="path5166"
+ transform="scale(6.3937342,6.3937342)"
+ inkscape:export-filename="/home/jordi/dev/gbrainy/data/app-graphics/verbal-games-32.png"
+ inkscape:export-xdpi="28.793007"
+ inkscape:export-ydpi="28.793007" />
+</svg>
diff --git a/data/verbal_analogies.xml b/data/verbal_analogies.xml
new file mode 100644
index 0000000..e696837
--- /dev/null
+++ b/data/verbal_analogies.xml
@@ -0,0 +1,30 @@
+<analogies>
+ <analogy>
+ <_question>Which of the following sports is the odd one?</_question>
+ <_tip>Think of the elements used in the game.</_tip>
+ <_answer>Water polo</_answer>
+ <_answer>Basketball</_answer>
+ <_answer>Tennis</_answer>
+ <_answer correct = "yes">Cycling</_answer>
+ <_rationale>It is the only one that does not use a ball in the game.</_rationale>
+ </analogy>
+ <analogy>
+ <_question>A terrier is to a dog like a?</_question>
+ <_answer correct ="yes">chicken / bird</_answer>
+ <_answer>horse / pony</_answer>
+ <_answer>ant / insect</_answer>
+ <_answer>dog / cat </_answer>
+ </analogy>
+ <analogy>
+ <_question>A restaurant is to a dinner like a park is to?</_question>
+ <_answer correct ="yes">picnic</_answer>
+ </analogy>
+ <analogy>
+ <_question type = "PairOfWords">moratorium / payment</_question>
+ <_answer correct ="yes">reprieve / punishment </_answer>
+ <_answer>amnesty / prisoner</_answer>
+ <_answer>date / meeting</_answer>
+ <_answer>sentence / prison </_answer>
+ </analogy>
+</analogies>
+
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 8f26f65..0ae8b0a 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -11,6 +11,7 @@ src/ColorPalette.cs
src/Dialogs/CustomGameDialog.cs
src/Game.cs
src/GameDrawingArea.cs
+src/GameManager.cs
src/GameSession.cs
src/gbrainy.cs
src/gbrainy.glade
@@ -65,3 +66,4 @@ src/PuzzleGames/PuzzleSquareSheets.cs
src/PuzzleGames/PuzzleTetris.cs
src/PuzzleGames/PuzzleTriangles.cs
src/PuzzleGames/PuzzleTrianglesWithNumbers.cs
+src/VerbalAnalogies.cs
diff --git a/src/Defines.cs.in b/src/Defines.cs.in
index 080f81c..1a5dc2f 100644
--- a/src/Defines.cs.in
+++ b/src/Defines.cs.in
@@ -24,6 +24,7 @@ public class Defines
public const string VERSION = "@VERSION@";
public const string GNOME_LOCALE_DIR = "@prefix@/share/locale";
public const string DATA_DIR = "@prefix@/share/games/gbrainy/";
+ public const string VERBAL_ANALOGIES = "verbal_analogies.xml";
}
diff --git a/src/Game.cs b/src/Game.cs
index ae102a6..97dfbe3 100644
--- a/src/Game.cs
+++ b/src/Game.cs
@@ -27,7 +27,8 @@ abstract public class Game
None = 0,
LogicPuzzle = 2,
MemoryTrainer = 4,
- MathTrainer = 8
+ MathTrainer = 8,
+ VerbalAnalogy = 16,
}
public enum Difficulty
diff --git a/src/GameDrawingArea.cs b/src/GameDrawingArea.cs
index 127c619..34f1a79 100644
--- a/src/GameDrawingArea.cs
+++ b/src/GameDrawingArea.cs
@@ -101,8 +101,9 @@ public class GameDrawingArea : DrawingArea
private void DrawWelcome (CairoContextEx gr, int area_width, int area_height)
{
- double y = 0.05;
- const double space = 0.20;
+ double y = 0.03;
+ const double space = 0.17;
+ const double image_size = 0.14;
gr.Scale (area_width, area_height);
gr.DrawBackground ();
@@ -114,27 +115,31 @@ public class GameDrawingArea : DrawingArea
gr.DrawStringWithWrapping (0.05, y + 0.07, Catalog.GetString ("gbrainy is a brain teaser game and trainer to have fun and to keep your brain trained. It includes:"));
- y = 0.25;
-
- gr.DrawImageFromFile (Defines.DATA_DIR + "logic-games.svg", rtl ? 0.75 : 0.05, y, 0.15, 0.15);
+ y = 0.22;
+ gr.DrawImageFromFile (Defines.DATA_DIR + "logic-games.svg", rtl ? 0.75 : 0.05, y, image_size, image_size);
gr.DrawStringWithWrapping (rtl ? 0.05 : 0.23, y + 0.01,
- Catalog.GetString ("Logic puzzles. Designed to challenge your reasoning and thinking skills."),
+ Catalog.GetString ("Logic puzzles. Challenge your reasoning and thinking skills."),
rtl ? 0.65 : -1);
y += space;
+ gr.DrawImageFromFile (Defines.DATA_DIR + "math-games.svg", rtl ? 0.75 : 0.05, y, image_size, image_size);
+ gr.DrawStringWithWrapping (rtl ? 0.05 : 0.23, y + 0.01,
+ Catalog.GetString ("Mental calculation. Arithmetical operations that test your mental calculation abilities."),
+ rtl ? 0.65 : -1);
- gr.DrawImageFromFile (Defines.DATA_DIR + "math-games.svg", rtl ? 0.75 : 0.05, y, 0.15, 0.15);
+ y += space;
+ gr.DrawImageFromFile (Defines.DATA_DIR + "memory-games.svg", rtl ? 0.75 : 0.05, y, image_size, image_size);
gr.DrawStringWithWrapping (rtl ? 0.05 : 0.23, y + 0.01,
- Catalog.GetString ("Mental calculation. Based on arithmetical operations that test your mental calculation abilities."),
+ Catalog.GetString ("Memory trainers. To prove your short term memory."),
rtl ? 0.65 : -1);
y += space;
- gr.DrawImageFromFile (Defines.DATA_DIR + "memory-games.svg", rtl ? 0.75 : 0.05, y, 0.15, 0.15);
+ gr.DrawImageFromFile (Defines.DATA_DIR + "verbal-games.svg", rtl ? 0.75 : 0.05, y, image_size, image_size);
gr.DrawStringWithWrapping (rtl ? 0.05 : 0.23, y + 0.01,
- Catalog.GetString ("Memory trainers. To prove and enhance your short term memory."),
+ Catalog.GetString ("Verbal analogies. Challenge your verbal aptitude."),
rtl ? 0.65 : -1);
- gr.DrawStringWithWrapping (0.05, y + 0.2, Catalog.GetString ("Use the Settings to adjust the difficulty level of the game."));
+ gr.DrawStringWithWrapping (0.05, y + 0.17, Catalog.GetString ("Use the Settings to adjust the difficulty level of the game."));
gr.Stroke ();
}
@@ -162,8 +167,9 @@ public class GameDrawingArea : DrawingArea
private void DrawGraphicBar (CairoContextEx gr, double x, double y)
{
- const double area_w = 0.8, area_h = 0.28;
+ const double area_w = 0.9, area_h = 0.28;
const double bar_w = 0.05, bar_h = area_h - 0.02;
+ const double space_x = 0.09;
gr.LineWidth = 0.005;
@@ -173,21 +179,25 @@ public class GameDrawingArea : DrawingArea
gr.LineTo (x + area_w, y + area_h);
gr.Stroke ();
- x = x + 0.1;
+ x = x + space_x;
DrawBar (gr, x, y + area_h, bar_w, bar_h, session.TotalScore);
gr.DrawTextCentered (x + bar_w / 2, y + area_h + 0.03, Catalog.GetString ("Total"));
- x = x + 0.2;
+ x = x + space_x * 2;
DrawBar (gr, x, y + area_h, bar_w, bar_h, session.LogicScore);
gr.DrawTextCentered (x + bar_w / 2, y + area_h + 0.03, Catalog.GetString ("Logic"));
- x = x + 0.2;
+ x = x + space_x * 2;
DrawBar (gr, x, y + area_h, bar_w, bar_h, session.MathScore);
gr.DrawTextCentered (x + bar_w / 2, y + area_h + 0.03, Catalog.GetString ("Calculation"));
- x = x + 0.2;
+ x = x + space_x * 2;
DrawBar (gr, x, y + area_h, bar_w, bar_h, session.MemoryScore);
gr.DrawTextCentered (x + bar_w / 2, y + area_h + 0.03, Catalog.GetString ("Memory"));
+
+ x = x + space_x * 2;
+ DrawBar (gr, x, y + area_h, bar_w, bar_h, session.VerbalScore);
+ gr.DrawTextCentered (x + bar_w / 2, y + area_h + 0.03, Catalog.GetString ("Verbal"));
}
private void DrawScores (CairoContextEx gr, int area_width, int area_height)
@@ -231,7 +241,7 @@ public class GameDrawingArea : DrawingArea
gr.ShowPangoText (String.Format (Catalog.GetString ("Time played {0} (average per game {1})"), session.GameTime, session.TimePerGame));
y += 0.1;
- DrawGraphicBar (gr, x + 0.05, y);
+ DrawGraphicBar (gr, x, y);
y += 0.4;
gr.MoveTo (x, y);
diff --git a/src/GameManager.cs b/src/GameManager.cs
index 1c71845..d49f874 100644
--- a/src/GameManager.cs
+++ b/src/GameManager.cs
@@ -20,7 +20,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
-using Mono.Posix;
+using Mono.Unix;
#if MONO_ADDINS
using Mono.Addins;
@@ -97,6 +97,11 @@ public class GameManager
typeof (MemoryFacts),
};
+ static Type[] VerbalAnalogiesInternal = new Type[]
+ {
+ typeof (VerbalAnalogies),
+ };
+
bool once;
GameSession.Types game_type;
ArrayListIndicesRandom list;
@@ -106,6 +111,7 @@ public class GameManager
List <Type> LogicPuzzles;
List <Type> CalculationTrainers;
List <Type> MemoryTrainers;
+ List <Type> VerbalAnalogies;
public GameManager ()
{
@@ -115,13 +121,14 @@ public class GameManager
LogicPuzzles = new List <Type> (LogicPuzzlesInternal);
CalculationTrainers = new List <Type> (CalculationTrainersInternal);
MemoryTrainers = new List <Type> (MemoryTrainersInternal);
+ VerbalAnalogies = new List <Type> (VerbalAnalogiesInternal);
LoadPlugins ();
if (once == false) {
once = true;
- Console.WriteLine ("Games registered: {0}: {1} logic puzzles, {2} math trainers, {3} memory trainers",
- LogicPuzzles.Count + CalculationTrainers.Count + MemoryTrainers.Count,
- LogicPuzzles.Count, CalculationTrainers.Count, MemoryTrainers.Count);
+ Console.WriteLine (Catalog.GetString ("Games registered: {0}: {1} logic puzzles, {2} math trainers, {3} memory trainers, {4} verbal analogies"),
+ LogicPuzzles.Count + CalculationTrainers.Count + MemoryTrainers.Count + VerbalAnalogies.Count,
+ LogicPuzzles.Count, CalculationTrainers.Count, MemoryTrainers.Count, VerbalAnalogies.Count);
}
//GeneratePDF ();
}
@@ -150,7 +157,7 @@ public class GameManager
// Used from CustomGameDialog only
public Type[] CustomGames {
get {
- Type[] list = new Type [LogicPuzzles.Count + CalculationTrainers.Count + MemoryTrainers.Count];
+ Type[] list = new Type [LogicPuzzles.Count + CalculationTrainers.Count + MemoryTrainers.Count + VerbalAnalogies.Count];
int idx = 0;
for (int i = 0; i < LogicPuzzles.Count; i++, idx++)
@@ -162,6 +169,9 @@ public class GameManager
for (int i = 0; i < MemoryTrainers.Count; i++, idx++)
list[idx] = MemoryTrainers [i];
+ for (int i = 0; i < VerbalAnalogies.Count; i++, idx++)
+ list[idx] = VerbalAnalogies [i];
+
return list;
}
set {
@@ -208,6 +218,13 @@ public class GameManager
Console.WriteLine ("Loading external calculation game: {0}", game);
CalculationTrainers.Add (game.GetType ());
}
+
+ addins = AddinManager.GetExtensionNodes ("/gbrainy/games/verbal");
+ foreach (TypeExtensionNode node in addins) {
+ game = (Game) node.CreateInstance ();
+ Console.WriteLine ("Loading external verbal analogy game: {0}", game);
+ VerbalAnalogies.Add (game.GetType ());
+ }
}
catch (Exception e)
{
@@ -225,20 +242,22 @@ public class GameManager
games.Clear ();
Random random = new Random ();
- // For all games, 1/3 of the total are logic, 1/3 Memory, 1/3 calculation
+ // For all games, 1/4 of the total are logic, 1/4 Memory, 1/4 calculation, 1/4 verbal analogies
if ((game_type & GameSession.Types.AllGames) == GameSession.Types.AllGames) {
- int idx_cal = 0, idx_mem = 0;
+ int idx_cal = 0, idx_mem = 0, idx_verb = 0;
ArrayListIndicesRandom idx_logic = new ArrayListIndicesRandom (LogicPuzzles.Count);
ArrayListIndicesRandom idx_memory = new ArrayListIndicesRandom (MemoryTrainers.Count);
ArrayListIndicesRandom idx_calculation = new ArrayListIndicesRandom (CalculationTrainers.Count);
+ ArrayListIndicesRandom idx_verbal = new ArrayListIndicesRandom (VerbalAnalogies.Count);
games.Clear ();
idx_memory.Initialize ();
idx_logic.Initialize ();
idx_calculation.Initialize ();
+ idx_verbal.Initialize ();
- for (int i = 0; i < LogicPuzzles.Count; i++, idx_mem++, idx_cal++) {
+ for (int i = 0; i < LogicPuzzles.Count; i++, idx_mem++, idx_cal++, idx_verb++) {
if (idx_cal == CalculationTrainers.Count) {
idx_cal = 0;
@@ -250,19 +269,27 @@ public class GameManager
idx_memory.Initialize ();
}
+ if (idx_verb == VerbalAnalogies.Count) {
+ idx_verb = 0;
+ idx_verbal.Initialize ();
+ }
+
switch (random.Next (3)) {
case 0:
games.Add (CalculationTrainers [idx_calculation[idx_cal]]);
games.Add (LogicPuzzles [idx_logic[i]]);
games.Add (MemoryTrainers [idx_memory[idx_mem]]);
+ games.Add (VerbalAnalogies [idx_verbal[idx_verb]]);
break;
case 1:
games.Add (MemoryTrainers [idx_memory[idx_mem]]);
games.Add (CalculationTrainers [idx_calculation[idx_cal]]);
+ games.Add (VerbalAnalogies [idx_verbal[idx_verb]]);
games.Add (LogicPuzzles [idx_logic[i]]);
break;
case 2:
games.Add (CalculationTrainers [idx_calculation[idx_cal]]);
+ games.Add (VerbalAnalogies [idx_verbal[idx_verb]]);
games.Add (MemoryTrainers [idx_memory[idx_mem]]);
games.Add (LogicPuzzles [idx_logic[i]]);
break;
@@ -284,6 +311,12 @@ public class GameManager
for (int i = 0; i < MemoryTrainers.Count; i++)
games.Add (MemoryTrainers [i]);
}
+
+ if ((game_type & GameSession.Types.VerbalAnalogies) == GameSession.Types.VerbalAnalogies) {
+ for (int i = 0; i < VerbalAnalogies.Count; i++)
+ games.Add (VerbalAnalogies [i]);
+ }
+
}
list = new ArrayListIndicesRandom (games.Count);
diff --git a/src/GameSession.cs b/src/GameSession.cs
index db9c1d5..287019f 100644
--- a/src/GameSession.cs
+++ b/src/GameSession.cs
@@ -31,7 +31,8 @@ public class GameSession
LogicPuzzles = 2,
MemoryTrainers = 4,
CalculationTrainers = 8,
- Custom = 16,
+ VerbalAnalogies = 16,
+ Custom = 32,
TrainersOnly = MemoryTrainers | CalculationTrainers,
AllGames = MemoryTrainers | CalculationTrainers | LogicPuzzles
}
@@ -42,6 +43,7 @@ public class GameSession
LogicPuzzles,
MemoryTrainers,
CalculationTrainers,
+ VerbalAnalogies,
Last
}
@@ -180,16 +182,13 @@ public class GameSession
}
}
- public int LogicGamesPlayed {
- get { return games [(int) ScoresType.LogicPuzzles]; }
- }
-
- public int MemoryGamesPlayed {
- get { return games [(int) ScoresType.MemoryTrainers]; }
- }
-
- public int MathGamesPlayed {
- get { return games [(int) ScoresType.CalculationTrainers]; }
+ public int VerbalScore {
+ get {
+ if (games [(int) ScoresType.VerbalAnalogies] == 0)
+ return 0;
+
+ return scores [(int) ScoresType.VerbalAnalogies] * 10 / games [(int) ScoresType.VerbalAnalogies];
+ }
}
public string TimePlayed {
@@ -296,6 +295,12 @@ public class GameSession
scores [(int) ScoresType.CalculationTrainers] += current_game.Score;
games [(int) ScoresType.CalculationTrainers]++;
break;
+ case Game.Types.VerbalAnalogy:
+ scores [(int) ScoresType.VerbalAnalogies] += current_game.Score;
+ games [(int) ScoresType.VerbalAnalogies]++;
+ break;
+ default:
+ break;
}
total_score = 0;
diff --git a/src/Makefile.am b/src/Makefile.am
index cd14dd4..702a9b6 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -74,6 +74,7 @@ GBRAINY_CSDISTFILES = \
$(srcdir)/CalculationGames/CalculationPrimes.cs \
$(srcdir)/MemoryGames/MemoryFacts.cs \
$(srcdir)/PuzzleGames/PuzzleCounting.cs \
+ $(srcdir)/VerbalAnalogies.cs \
$(srcdir)/SimpleLabel.cs \
$(srcdir)/gbrainy.cs
@@ -93,6 +94,8 @@ RESOURCES = \
-resource:$(top_srcdir)/data/app-graphics/logic-games-32.png \
-resource:$(top_srcdir)/data/app-graphics/math-games-32.png \
-resource:$(top_srcdir)/data/app-graphics/memory-games-32.png \
+-resource:$(top_srcdir)/data/app-graphics/verbal-games.svg \
+-resource:$(top_srcdir)/data/app-graphics/verbal-games-32.png \
-resource:$(top_srcdir)/data/app-graphics/gbrainy.svg \
-resource:$(top_srcdir)/data/game-graphics/present.svg \
-resource:$(top_srcdir)/data/game-graphics/handshake.svg \
diff --git a/src/gbrainy.cs b/src/gbrainy.cs
index 698f4b8..6ba15a3 100644
--- a/src/gbrainy.cs
+++ b/src/gbrainy.cs
@@ -55,7 +55,7 @@ public class gbrainy: Program
[Glade.Widget] Gtk.MenuItem newgame_menuitem;
GameDrawingArea drawing_area;
GameSession session;
- ToolButton all_tbbutton, logic_tbbutton, calculation_tbbutton, memory_tbbutton, pause_tbbutton, finish_tbbutton;
+ ToolButton all_tbbutton, logic_tbbutton, calculation_tbbutton, memory_tbbutton, verbal_tbbutton, pause_tbbutton, finish_tbbutton;
TextTag tag_green;
bool low_res;
bool full_screen;
@@ -75,6 +75,7 @@ public class gbrainy: Program
AddIcon (icon_factory, "logic-games", "logic-games-32.png");
AddIcon (icon_factory, "math-games", "math-games-32.png");
AddIcon (icon_factory, "memory-games", "memory-games-32.png");
+ AddIcon (icon_factory, "verbal-games", "verbal-games-32.png");
AddIcon (icon_factory, "pause", "pause-32.png");
AddIcon (icon_factory, "resume", "resume-32.png");
AddIcon (icon_factory, "endgame", "endgame-32.png");
@@ -85,6 +86,7 @@ public class gbrainy: Program
gXML.Autoconnect (this);
toolbar.IconSize = Gtk.IconSize.Dnd;
+ toolbar.ShowArrow = false;
Tooltips tooltips = new Tooltips ();
all_tbbutton = new ToolButton ("allgames");
@@ -111,6 +113,12 @@ public class gbrainy: Program
memory_tbbutton.Clicked += OnMemoryOnly;
toolbar.Insert (memory_tbbutton, -1);
+ verbal_tbbutton = new ToolButton ("verbal-games");
+ verbal_tbbutton.Label = Catalog.GetString ("Verbal");
+ verbal_tbbutton.SetTooltip (tooltips, Catalog.GetString ("Play games that challenge your verbal aptitude"), null);
+ verbal_tbbutton.Clicked += OnVerbalOnly;
+ toolbar.Insert (verbal_tbbutton, -1);
+
pause_tbbutton = new ToolButton ("pause");
pause_tbbutton.Label = Catalog.GetString ("Pause");
pause_tbbutton.SetTooltip (tooltips, Catalog.GetString ("Pause or resume the game"), null);
@@ -247,7 +255,7 @@ public class gbrainy: Program
answer = entry = next = tip = active;
- if (active == true && session.CurrentGame != null && session.CurrentGame.ButtonsActive == true && session.CurrentGame.Tip != string.Empty)
+ if (active == true && session.CurrentGame != null && session.CurrentGame.ButtonsActive == true && String.IsNullOrEmpty (session.CurrentGame.Tip ) == false)
tip = true;
else
tip = false;
@@ -421,6 +429,13 @@ public class gbrainy: Program
OnNewGame ();
}
+
+ void OnVerbalOnly (object sender, EventArgs args)
+ {
+ session.Type = GameSession.Types.VerbalAnalogies;
+ OnNewGame ();
+ }
+
void OnMemoryOnlyAfterCountDown (object source, EventArgs e)
{
OnNewGame ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]