2
* Copyright (C) 2007-2008 Jordi Mas i Hernàndez <jmas@softcatala.org>
4
* This program is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU General Public License as
6
* published by the Free Software Foundation; either version 2 of the
7
* License, or (at your option) any later version.
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* General Public License for more details.
14
* You should have received a copy of the GNU General Public
15
* License along with this program; if not, write to the
16
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17
* Boston, MA 02111-1307, USA.
23
using System.Collections.Generic;
25
public class MemoryWords : Memory
27
private ArrayListIndicesRandom words_order;
28
private List <string> words;
29
private const int total_words = 35;
33
public override string Name {
34
get {return Catalog.GetString ("Memorize words");}
37
public override string MemoryQuestion {
39
return String.Format (Catalog.GetString ("There is a missing word from the previous list. Which one is the missing word?"));}
42
public override void Initialize ()
45
words = new List <string> (total_words);
48
words.Add (Catalog.GetString ("wrist"));
49
words.Add (Catalog.GetString ("elbow"));
50
words.Add (Catalog.GetString ("armpit"));
51
words.Add (Catalog.GetString ("hand"));
52
words.Add (Catalog.GetString ("chest"));
55
words.Add (Catalog.GetString ("sardine"));
56
words.Add (Catalog.GetString ("trout"));
57
words.Add (Catalog.GetString ("monkfish"));
58
words.Add (Catalog.GetString ("cod"));
59
words.Add (Catalog.GetString ("salmon"));
62
words.Add (Catalog.GetString ("potato"));
63
words.Add (Catalog.GetString ("ginger"));
64
words.Add (Catalog.GetString ("pepper"));
65
words.Add (Catalog.GetString ("garlic"));
66
words.Add (Catalog.GetString ("pumpkin"));
69
words.Add (Catalog.GetString ("brake"));
70
words.Add (Catalog.GetString ("pedal"));
71
words.Add (Catalog.GetString ("chain"));
72
words.Add (Catalog.GetString ("wheel"));
73
words.Add (Catalog.GetString ("handlebar"));
76
words.Add (Catalog.GetString ("drummer"));
77
words.Add (Catalog.GetString ("speaker"));
78
words.Add (Catalog.GetString ("lyrics"));
79
words.Add (Catalog.GetString ("beat"));
80
words.Add (Catalog.GetString ("song"));
83
words.Add (Catalog.GetString ("cloud"));
84
words.Add (Catalog.GetString ("rain"));
85
words.Add (Catalog.GetString ("storm"));
86
words.Add (Catalog.GetString ("fog"));
87
words.Add (Catalog.GetString ("rainbow"));
90
words.Add (Catalog.GetString ("rabbit"));
91
words.Add (Catalog.GetString ("mouse"));
92
words.Add (Catalog.GetString ("monkey"));
93
words.Add (Catalog.GetString ("bear"));
94
words.Add (Catalog.GetString ("wolf"));
96
switch (CurrentDifficulty) {
100
case Difficulty.Medium:
103
case Difficulty.Master:
108
words_order = new ArrayListIndicesRandom (total_words);
109
words_order.Initialize ();
110
answer = random.Next (showed);
111
tmp = words_order [answer];
112
right_answer = words [tmp];
116
public override void DrawPossibleAnswers (CairoContextEx gr, int area_width, int area_height)
118
double x= DrawAreaX + 0.125, y = DrawAreaY + 0.1;
121
for (int i = 0; i < showed; i++)
127
gr.ShowPangoText (words[words_order[i]]);
130
if ((cnt + 1) % 3 == 0) {
132
x = DrawAreaX + 0.125;
140
public override void DrawObjectToMemorize (CairoContextEx gr, int area_width, int area_height)
142
base.DrawObjectToMemorize (gr, area_width, area_height);
143
DrawObject (gr, area_width, area_height);
146
private void DrawObject (CairoContextEx gr, int area_width, int area_height)
148
double x= DrawAreaX + 0.125, y = DrawAreaY + 0.1;
149
for (int i = 0; i < showed; i++)
152
gr.ShowPangoText (words[words_order[i]]);
155
if ((i + 1) % 3 == 0) {
157
x = DrawAreaX + 0.125;