gbrainy r423 - in trunk/src: . CalculationGames MemoryGames PuzzleGames



Author: jmas
Date: Mon Aug 18 19:04:30 2008
New Revision: 423
URL: http://svn.gnome.org/viewvc/gbrainy?rev=423&view=rev

Log:
Configurable answers

Modified:
   trunk/src/CalculationGames/CalculationWhichNumber.cs
   trunk/src/ChangeLog
   trunk/src/Game.cs
   trunk/src/MemoryGames/MemoryColouredFigures.cs
   trunk/src/MemoryGames/MemoryFiguresNumbers.cs
   trunk/src/MemoryGames/MemoryIndications.cs
   trunk/src/PuzzleGames/PuzzleBuildTriangle.cs
   trunk/src/PuzzleGames/PuzzleClocks.cs
   trunk/src/PuzzleGames/PuzzleExtraCircle.cs
   trunk/src/PuzzleGames/PuzzleFigurePattern.cs
   trunk/src/PuzzleGames/PuzzleFigures.cs
   trunk/src/PuzzleGames/PuzzleLargerShape.cs
   trunk/src/PuzzleGames/PuzzleMissingPiece.cs
   trunk/src/PuzzleGames/PuzzleMissingSlice.cs
   trunk/src/PuzzleGames/PuzzleMostInCommon.cs
   trunk/src/PuzzleGames/PuzzleNextFigure.cs
   trunk/src/PuzzleGames/PuzzlePencil.cs
   trunk/src/PuzzleGames/PuzzleQuadrilaterals.cs
   trunk/src/PuzzleGames/PuzzleSquareDots.cs
   trunk/src/PuzzleGames/PuzzleTetris.cs

Modified: trunk/src/CalculationGames/CalculationWhichNumber.cs
==============================================================================
--- trunk/src/CalculationGames/CalculationWhichNumber.cs	(original)
+++ trunk/src/CalculationGames/CalculationWhichNumber.cs	Mon Aug 18 19:04:30 2008
@@ -39,7 +39,9 @@
 	}
 
 	public override string Question {
-		get {return String.Format (Catalog.GetString ("Which of the following numbers is closer to {0:###.###} (A, B, C or D)?"), question_num);} 
+		get {return String.Format (
+			Catalog.GetString ("Which of the following numbers is closer to {0:###.###}? Answer {1}, {2}, {3} or {4}."), question_num,
+			GetPossibleAnswer (0), GetPossibleAnswer (1), GetPossibleAnswer (2), GetPossibleAnswer (3));}
 	}
 
 	public override string Answer {
@@ -133,13 +135,12 @@
 		which = random.Next (options_cnt);
 		ans_idx = random_indices[which];
 		question_num = options[ans_idx * 2] / options[(ans_idx * 2) + 1];
-		right_answer += (char) (65 + which);
+		right_answer += GetPossibleAnswer (which);
 	}
 
 	public override void Draw (CairoContextEx gr, int area_width, int area_height)
 	{	
 		double x = DrawAreaX + 0.25, y = DrawAreaY + 0.16;
-		char option;
 		int indx;
 
 		base.Draw (gr, area_width, area_height);
@@ -149,13 +150,11 @@
 		for (int i = 0; i < options_cnt; i++)
 		{
 			gr.MoveTo (x, y);
-			option = (char) (65 + i);
 			indx = random_indices[i];
-			gr.ShowPangoText (option + ") " + options [indx * 2] +  " / " + options [(indx  * 2) +1]);
+			gr.ShowPangoText (String.Format ("{0}) {1}", GetPossibleAnswer (i) , options [indx * 2] +  " / " + options [(indx  * 2) +1]));
 			
 			y = y + 0.15;
 		}
-	
 	}
 }
 

Modified: trunk/src/Game.cs
==============================================================================
--- trunk/src/Game.cs	(original)
+++ trunk/src/Game.cs	Mon Aug 18 19:04:30 2008
@@ -224,11 +224,42 @@
 			return (int) score;
 		}
 	}
-
 	
 	public abstract void Initialize ();
 	public virtual void Finish () {}
 
+	public string GetPossibleAnswer (int answer)
+	{
+		switch (answer) {
+			// The following serie of answers can be different
+			// in cultures with alphabets different to the Latin one.
+			// The idea is to enumerate a sequence of possible answers
+			// For languages that use the Latin alphabet use leave the defaults
+		case 0: // First possible answer for a serie (e.g.: Figure A)
+			return Catalog.GetString ("A");
+		case 1: // Second possible answer for a serie
+			return Catalog.GetString ("B");
+		case 2: // Third possible answer for a serie
+			return Catalog.GetString ("C");
+		case 3: // Fourth possible answer for a serie
+			return Catalog.GetString ("D");
+		case 4: // Fifth possible answer for a serie
+			return Catalog.GetString ("E");
+		case 5: // Sixth possible answer for a serie
+			return Catalog.GetString ("F");
+		case 6: // Seventh possible answer for a serie
+			return Catalog.GetString ("G");
+		case 7: // Eighth possible answer for a serie
+			return Catalog.GetString ("H");
+		default:
+			return string.Empty;
+		}
+	}
+
+	public string GetPossibleFigureAnswer (int answer)
+	{
+		return String.Format (Catalog.GetString ("Figure {0}"), GetPossibleAnswer (answer));
+	}
 
 	public virtual void Draw (CairoContextEx gr, int width, int height)
 	{

Modified: trunk/src/MemoryGames/MemoryColouredFigures.cs
==============================================================================
--- trunk/src/MemoryGames/MemoryColouredFigures.cs	(original)
+++ trunk/src/MemoryGames/MemoryColouredFigures.cs	Mon Aug 18 19:04:30 2008
@@ -50,7 +50,9 @@
 	}
 
 	public override string MemoryQuestion {
-		get { return Catalog.GetString ("Which of these figures was previously shown? Answer A, B, C or D.");}
+		get { return String.Format (
+			Catalog.GetString ("Which of these figures was previously shown? Answer {0}, {1}, {2} or {3}."),
+			GetPossibleAnswer (0), GetPossibleAnswer (1), GetPossibleAnswer (2), GetPossibleAnswer (3));}
 	}
 
 	public override void Initialize ()
@@ -85,10 +87,9 @@
 		answers_order = new ArrayListIndicesRandom (answers);
 		answers_order.Initialize ();
 
-		right_answer = string.Empty;
 		for (int i = 0; i < answers_order.Count; i++) {
 			if (answers_order[i] == 0) {
-				right_answer += (char) (65 + (int) i);
+				right_answer += GetPossibleAnswer (i);
 				break;
 			}
 		}
@@ -146,7 +147,7 @@
 			}
 			DrawSquare (gr, x, y, squares_colours, squares * answers_order[i]);
 			gr.MoveTo (x, y + block_space - 0.02);
-			gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), (char) (65 + i)));
+			gr.ShowPangoText (GetPossibleFigureAnswer (i));
 			gr.Stroke ();
 			x += block_space + 0.08;
 		}

Modified: trunk/src/MemoryGames/MemoryFiguresNumbers.cs
==============================================================================
--- trunk/src/MemoryGames/MemoryFiguresNumbers.cs	(original)
+++ trunk/src/MemoryGames/MemoryFiguresNumbers.cs	Mon Aug 18 19:04:30 2008
@@ -37,7 +37,9 @@
 	}
 
 	public override string MemoryQuestion {
-		get { return Catalog.GetString ("Which one of these squares was previously shown (A, B, C or D)?");}
+		get { return String.Format (
+			Catalog.GetString ("Which one of these squares was previously shown?  Answer {0}, {1}, {2} or {3}."),
+			GetPossibleAnswer (0), GetPossibleAnswer (1), GetPossibleAnswer (2), GetPossibleAnswer (3));}
 	}
 
 	public override void Initialize ()
@@ -70,10 +72,9 @@
 		answers_order = new ArrayListIndicesRandom (answers);
 		answers_order.Initialize ();
 
-		right_answer = string.Empty;
 		for (int i = 0; i < answers_order.Count; i++) {
 			if ((int) answers_order[i] == 0) {
-				right_answer += (char) (65 + (int) i);
+				right_answer = GetPossibleAnswer (i);
 				break;
 			}
 		}
@@ -130,7 +131,7 @@
 			}
 			DrawSquare (gr, x, y, numbers, squares * (int) answers_order[i]);
 			gr.MoveTo (x, y + block_space);
-			gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), (char) (65 + i)));
+			gr.ShowPangoText (GetPossibleFigureAnswer (i));
 			gr.Stroke ();
 			x += block_space + 0.08;
 		}

Modified: trunk/src/MemoryGames/MemoryIndications.cs
==============================================================================
--- trunk/src/MemoryGames/MemoryIndications.cs	(original)
+++ trunk/src/MemoryGames/MemoryIndications.cs	Mon Aug 18 19:04:30 2008
@@ -159,7 +159,9 @@
 
 	public override string MemoryQuestion {
 		get { 
-			return String.Format (Catalog.GetString ("Which of the following graphics represent the indications previously given? Answer A, B, C or D."));}
+			return String.Format (
+				Catalog.GetString ("Which of the following graphics represent the indications previously given? Answer {0}, {1}, {2} or {3}."),
+				GetPossibleAnswer (0), GetPossibleAnswer (1), GetPossibleAnswer (2), GetPossibleAnswer (3));}
 	}
 
 	public override void Initialize ()
@@ -225,7 +227,7 @@
 
 		for (int i = 0; i < answers.Count; i++) {
 			if (answers [i] == 0) {
-				right_answer += (char) (65 + i);
+				right_answer = GetPossibleAnswer (i);
 				ans = i;
 				break;
 			}
@@ -275,22 +277,22 @@
 		x = 0.22; y = 0.3;
 		DrawPossibleAnswers (gr, x, y, WhichAnswer (answers[0]));
 		gr.MoveTo (x, y + 0.2);
-		gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), "A"));
+		gr.ShowPangoText (GetPossibleFigureAnswer (0));
 
 		x = 0.7; y = 0.3;
 		DrawPossibleAnswers (gr, x, y, WhichAnswer (answers[1]));
 		gr.MoveTo (x, y + 0.2);
-		gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), "B"));
+		gr.ShowPangoText (GetPossibleFigureAnswer (1));
 
 		x = 0.22; y = 0.7;
 		DrawPossibleAnswers (gr, x, y, WhichAnswer (answers[2]));
 		gr.MoveTo (x, y + 0.2);
-		gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), "C"));
+		gr.ShowPangoText (GetPossibleFigureAnswer (2));
 
 		x = 0.7; y = 0.7;
 		DrawPossibleAnswers (gr, x, y, WhichAnswer (answers[3]));
 		gr.MoveTo (x, y + 0.2);
-		gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), "D"));
+		gr.ShowPangoText (GetPossibleFigureAnswer (3));
 	}
 	
 	public override void DrawObjectToMemorize (CairoContextEx gr, int area_width, int area_height)
@@ -313,7 +315,7 @@
 				}
 				DrawPossibleAnswers (gr, 0.7, 0.3, WhichAnswer (answers[ans]));
 				gr.MoveTo (0.7, 0.5);
-				gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), (char) (65 + ans)));
+				gr.ShowPangoText (GetPossibleFigureAnswer (ans));
 				gr.Stroke ();
 		}
 	}

Modified: trunk/src/PuzzleGames/PuzzleBuildTriangle.cs
==============================================================================
--- trunk/src/PuzzleGames/PuzzleBuildTriangle.cs	(original)
+++ trunk/src/PuzzleGames/PuzzleBuildTriangle.cs	Mon Aug 18 19:04:30 2008
@@ -38,7 +38,7 @@
 
 	private const double figure_size = 0.1;
 	private ArrayListIndicesRandom random_indices_answers;
-	private char [] answers;
+	private string [] answers;
 	private const int answer_num = 3;
 	private int total_figures;
 	private double space_figures;
@@ -49,7 +49,9 @@
 	}
 
 	public override string Question {
-		get {return Catalog.GetString ("Which three pieces can you use together to build a triangle? Answer using the three figure names, e.g.: ABE.");} 
+		get {return String.Format (
+			Catalog.GetString ("Which three pieces can you use together to build a triangle? Answer using the three figure names, e.g.: {0}{1}{2}."),
+				GetPossibleAnswer (0), GetPossibleAnswer (1), GetPossibleAnswer (2));}
 	}
 
 	public override string Tip {
@@ -72,24 +74,24 @@
 
 		random_indices_answers = new ArrayListIndicesRandom (total_figures);
 		random_indices_answers.Initialize ();
-		answers = new char[answer_num];
+		answers = new string[answer_num];
 
 		for (int i = 0; i < random_indices_answers.Count; i++)
 		{
 			switch ((Figures) random_indices_answers[i]) {
 			case Figures.TriangleB:
-				answers[0] =  (char) (65 + i);
+				answers[0] =  GetPossibleAnswer (i);
 				break;
 			case Figures.TriangleC:
-				answers[1] =  (char) (65 + i);
+				answers[1] =  GetPossibleAnswer (i);
 				break;
 			case Figures.Square:
-				answers[2] =  (char) (65 + i);
+				answers[2] =  GetPossibleAnswer (i);
 				break;
 			}
 		}
 
-		right_answer = answers[0].ToString () + answers[1].ToString () + answers[2].ToString ();		
+		right_answer = answers[0] + answers[1] + answers[2];
 	}
 
 	private void DrawFigure (CairoContextEx gr, double x, double y, Figures figure)
@@ -148,7 +150,7 @@
 		{
 			DrawFigure (gr, x, y, (Figures) random_indices_answers[i]);
 			gr.MoveTo (x, y + 0.13);
-			gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), (char) (65 + i)));
+			gr.ShowPangoText (GetPossibleFigureAnswer (i));
 
 			if (i  == (total_figures / 2) - 1) {
 				y+= 0.25;
@@ -204,90 +206,24 @@
 		gr.Stroke ();	
 	}
 
-	private bool IndexOf (char c, char [] chars)
-	{
-		for (int i = 0; i < chars.Length; i++)
-			if (c == chars [i]) return true;
-
-		return false;
-	}
-
 	public override bool CheckAnswer (string a)
 	{	
-		char fig1 = '\0', fig2 = '\0', fig3 = '\0';
-		char [] ans = new char [answer_num];
-		int c = 0, matches = 0;
-		char[] opers = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'};
-		string answer;
-
-		a = TrimAnswer (a);
-		answer = a.ToUpper ();
-
-		for (int i = 0; i < answer_num; i++)
-			ans[i] = answers[i];
-		
-		for (c = 0; c < answer.Length; c++)
-		{
-			if (IndexOf (answer[c], opers)) {
-				fig1 = answer[c];
-				break;
-			}			
-		}
+		int matches = 0;
 
-		for (c++; c < answer.Length; c++)
-		{
-			if (IndexOf (answer[c], opers)) {
-				fig2 = answer[c];
-				break;
-			}
-		}
+		a = TrimAnswer (a.ToUpper ());
 
-		for (c++; c < answer.Length; c++)
-		{
-			if (IndexOf (answer[c], opers)) {
-				fig3 = answer[c];
-				break;
-			}
-		}
-
-		if (fig1 == '\0' || fig2 == '\0' || fig3 == '\0')
-			return false;
+		for (int i = 0; i < answer_num; i++) {
+			answers [i] = answers [i].ToUpper ();
 	
-		for (int i = 0; i < answer_num; i++)
-		{
-			if (fig1 != ans[i] || ans[i] == '\0')
-				continue;
-
-			matches++;
-			ans[i] = '\0';
-			break;			
-		}
-
-		for (int i = 0; i < answer_num; i++)
-		{
-			if (fig2 != ans[i] || ans[i] == '\0')
-				continue;
-
-			matches++;
-			ans[i] = '\0';
-			break;			
-		}
-
-		for (int i = 0; i < answer_num; i++)
-		{
-			if (fig3 != ans[i] || ans[i] == '\0')
-				continue;
-
-			matches++;
-			ans[i] = '\0';
-			break;			
+			if (a.Contains (answers[i]))
+				matches++;
 		}
 
 		if (matches == answer_num)
 			return true;
 
 		return false;
-	}	
+	}
 }
 
 

Modified: trunk/src/PuzzleGames/PuzzleClocks.cs
==============================================================================
--- trunk/src/PuzzleGames/PuzzleClocks.cs	(original)
+++ trunk/src/PuzzleGames/PuzzleClocks.cs	Mon Aug 18 19:04:30 2008
@@ -35,7 +35,9 @@
 	}
 
 	public override string Question {
-		get {return Catalog.GetString ("To what number should the large handle of the last clock point? Answer A, B, C or D.");} 
+		get {return (String.Format (
+			Catalog.GetString ("To what number should the large handle of the '{0}' clock point? Answer using numbers."),
+			GetPossibleFigureAnswer (3)));}
 	}
 
 	public override string Answer {
@@ -151,22 +153,22 @@
 
 		DrawClock (gr, x + 0.1, y + 0.1, handles[0], handles[1], true);
 		gr.MoveTo (x + 0.03, y + 0.29);
-		gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), 'A'));
+		gr.ShowPangoText (GetPossibleFigureAnswer (0));
 		gr.Stroke ();
 	
 		DrawClock (gr, x + 0.5, y + 0.1, handles[2], handles[3], true);
 		gr.MoveTo (x + 0.43, y + 0.29);
-		gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), 'B'));
+		gr.ShowPangoText (GetPossibleFigureAnswer (1));
 		gr.Stroke ();
 
 		DrawClock (gr, x + 0.1, y + 0.52, handles[4], handles[5], true);
 		gr.MoveTo (x + 0.03, y + 0.71);
-		gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), 'C'));
+		gr.ShowPangoText (GetPossibleFigureAnswer (2));
 		gr.Stroke ();
 
 		DrawClock (gr, x + 0.5, y + 0.52, handles[6], handles[7], DrawAnswer == true);
 		gr.MoveTo (x + 0.43, y + 0.71);
-		gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), 'D'));
+		gr.ShowPangoText (GetPossibleFigureAnswer (3));
 		gr.Stroke ();
 
 	}

Modified: trunk/src/PuzzleGames/PuzzleExtraCircle.cs
==============================================================================
--- trunk/src/PuzzleGames/PuzzleExtraCircle.cs	(original)
+++ trunk/src/PuzzleGames/PuzzleExtraCircle.cs	Mon Aug 18 19:04:30 2008
@@ -39,7 +39,9 @@
 	}
 
 	public override string Question {
-		get {return Catalog.GetString ("Which circle does not belong to the group? It is not a sequence of elements. Answer A, B, C or D.");} 
+		get {return String.Format (
+			Catalog.GetString ("Which circle does not belong to the group? It is not a sequence of elements. Answer {0}, {1}, {2} or {3}."),
+				GetPossibleAnswer (0), GetPossibleAnswer (1), GetPossibleAnswer (2), GetPossibleAnswer (3));}
 	}
 
 	public override string Tip {
@@ -81,7 +83,7 @@
 			start_indices[i] = (random_indices[i]);
 
 		ans_pos = random.Next (circles);
-		right_answer += (char) (65 + ans_pos);
+		right_answer = GetPossibleAnswer (ans_pos);
 	}
 
 	private void DrawSlice (CairoContextEx gr, double x, double y, double dg, Color color)
@@ -151,7 +153,7 @@
 			DrawCircle (gr, x + i * 0.23, y + 0.2, colors, start_indices[i]);
 
 			gr.MoveTo (x - 0.07 + i * 0.22, y + 0.36);
-			gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), (char) (65 + i)));
+			gr.ShowPangoText (GetPossibleFigureAnswer (i));
 			gr.Stroke ();
 		}
 	}

Modified: trunk/src/PuzzleGames/PuzzleFigurePattern.cs
==============================================================================
--- trunk/src/PuzzleGames/PuzzleFigurePattern.cs	(original)
+++ trunk/src/PuzzleGames/PuzzleFigurePattern.cs	Mon Aug 18 19:04:30 2008
@@ -38,7 +38,9 @@
 	}
 
 	public override string Question {
-		get {return Catalog.GetString ("What figure should replace the question mark? Answer A, B or C.");} 
+		get {return String.Format (
+			Catalog.GetString ("What figure should replace the question mark? Answer {0}, {1} or {2}."),
+			GetPossibleAnswer (0), GetPossibleAnswer (1), GetPossibleAnswer (2));}
 	}
 
 	public override string Tip {
@@ -61,7 +63,7 @@
 		for (int i = 0; i < (int) Figures.Last; i++)
 		{
 			if ((int) random_indices[i] == (int) Figures.Cross) {
-				right_answer += (char) (65 + i);
+				right_answer = GetPossibleAnswer (i);
 				break;
 			}
 		}
@@ -205,7 +207,7 @@
 			}
 			
 			gr.MoveTo (x, y + 0.18);
-			gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), (char) (65 + i)));
+			gr.ShowPangoText (GetPossibleFigureAnswer (i));
 
 			x += figure_size + space_x;			
 		}

Modified: trunk/src/PuzzleGames/PuzzleFigures.cs
==============================================================================
--- trunk/src/PuzzleGames/PuzzleFigures.cs	(original)
+++ trunk/src/PuzzleGames/PuzzleFigures.cs	Mon Aug 18 19:04:30 2008
@@ -59,10 +59,10 @@
 		random_indices.Initialize ();
 
 		StringBuilder sb = new StringBuilder (3);
-		
-		sb.Append ((char) (65 + figures[random_indices [5]]));
-		sb.Append ((char) (65 + figures[6 + random_indices [5]]));
-		sb.Append ((char) (65 + figures[(2 * 6) + random_indices [5]]));
+	
+		sb.Append (GetPossibleAnswer (figures[random_indices [5]]));
+		sb.Append (GetPossibleAnswer (figures[6 + random_indices [5]]));
+		sb.Append (GetPossibleAnswer (figures[(2 * 6) + random_indices [5]]));
 
 		right_answer = sb.ToString ();
 	}
@@ -76,14 +76,14 @@
 		gr.ShowPangoText (Catalog.GetString ("Convention when giving the answer is:"));
 
 		gr.MoveTo (pos_x, y + 0.05);
-		gr.ShowPangoText ("A ->");
+		gr.ShowPangoText (String.Format (Catalog.GetString ("{0} ->"), GetPossibleAnswer (0)));
 		gr.Stroke ();
 		gr.DrawDiamond (x + 0.1, y, 0.1);
 		gr.Stroke ();
 	
 		pos_x += 0.3;
 		gr.MoveTo (pos_x, y + 0.05);
-		gr.ShowPangoText ("B ->");
+		gr.ShowPangoText (String.Format (Catalog.GetString ("{0} ->"), GetPossibleAnswer (1)));
 		gr.Stroke ();
 		pos_x += 0.1;
 		gr.Arc (pos_x + 0.05, y + 0.05, 0.05, 0, 2 * Math.PI);	
@@ -91,7 +91,7 @@
 
 		pos_x += 0.2;
 		gr.MoveTo (pos_x, y + 0.05);
-		gr.ShowPangoText ("C ->");
+		gr.ShowPangoText (String.Format (Catalog.GetString ("{0} ->"), GetPossibleAnswer (2)));
 		gr.Stroke ();
 		pos_x += 0.1;
 		gr.DrawEquilateralTriangle (pos_x, y, 0.1);
@@ -99,7 +99,9 @@
 
 		y += 0.16;
 		gr.MoveTo (x, y);		
-		gr.ShowPangoText (Catalog.GetString ("E.g: ACB (diamond, triangle, circle)"));	
+		gr.ShowPangoText (String.Format (Catalog.GetString ("E.g: {0}{1}{2} (diamond, triangle, circle)"),
+			GetPossibleAnswer (0), GetPossibleAnswer (1), GetPossibleAnswer (2)));
+
 	}
 
 	public override void Draw (CairoContextEx gr, int area_width, int area_height)

Modified: trunk/src/PuzzleGames/PuzzleLargerShape.cs
==============================================================================
--- trunk/src/PuzzleGames/PuzzleLargerShape.cs	(original)
+++ trunk/src/PuzzleGames/PuzzleLargerShape.cs	Mon Aug 18 19:04:30 2008
@@ -111,7 +111,9 @@
 	}
 
 	public override string Question {
-		get {return Catalog.GetString ("Which larger shape can you make combining the first two figures?  Answer A, B, C or D.");} 
+		get {return String.Format (
+			Catalog.GetString ("Which larger shape can you make combining the first two figures?  Answer {0}, {1}, {2} or {3}."),
+			GetPossibleAnswer (0), GetPossibleAnswer (1), GetPossibleAnswer (2), GetPossibleAnswer (3));}
 	}
 
 	public override void Initialize ()
@@ -140,7 +142,7 @@
 		for (int i = 0; i < answers; i++)
 		{
 			if ((int) random_indices[i] == ranswer) {
-				right_answer += (char) (65 + i);
+				right_answer = GetPossibleAnswer (i);
 				break;
 			}
 		}
@@ -217,7 +219,7 @@
 		}
 
 		gr.MoveTo (x, y + 0.18);
-		gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), (char) (65 + seq)));
+		gr.ShowPangoText (GetPossibleFigureAnswer (seq));
 		gr.Stroke ();
 	}
 

Modified: trunk/src/PuzzleGames/PuzzleMissingPiece.cs
==============================================================================
--- trunk/src/PuzzleGames/PuzzleMissingPiece.cs	(original)
+++ trunk/src/PuzzleGames/PuzzleMissingPiece.cs	Mon Aug 18 19:04:30 2008
@@ -33,7 +33,9 @@
 	}
 
 	public override string Question {
-		get {return Catalog.GetString ("Which square completes the figure below? Answer A, B or C.");} 
+		get {return String.Format (
+			Catalog.GetString ("Which square completes the figure below? Answer {0}, {1} or {2}."),
+			GetPossibleAnswer (0), GetPossibleAnswer (1), GetPossibleAnswer (2));}
 	}
 
 	public override string Tip {
@@ -55,7 +57,7 @@
 
 		for (int i = 0; i < random_indices.Count; i++) {
 			if (random_indices [i] == 0) {
-				right_answer += (char) (65 + i);
+				right_answer = GetPossibleAnswer (i);
 				break;
 			}
 		}
@@ -151,7 +153,7 @@
 			figure = random_indices [i];
 			DrawAnswerFigures (gr, x + (0.08 + sub_figure) * i, 0.70, figure);
 			gr.MoveTo (x + (0.08 + sub_figure) * i, 0.9);
-			gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), (char) (65 + i)));
+			gr.ShowPangoText (GetPossibleFigureAnswer (i));
 		}
 	}
 }

Modified: trunk/src/PuzzleGames/PuzzleMissingSlice.cs
==============================================================================
--- trunk/src/PuzzleGames/PuzzleMissingSlice.cs	(original)
+++ trunk/src/PuzzleGames/PuzzleMissingSlice.cs	Mon Aug 18 19:04:30 2008
@@ -59,7 +59,9 @@
 	}
 
 	public override string Question {
-		get {return Catalog.GetString ("Some slices have a common property. Which is the missing slice in the circle below? Answer A, B or C.");} 
+		get {return String.Format (
+			Catalog.GetString ("Some slices have a common property. Which is the missing slice in the circle below? Answer {0}, {1} or {2}."),
+			GetPossibleAnswer (0), GetPossibleAnswer (1), GetPossibleAnswer (2));}
 	}
 
 	public override string Tip {
@@ -80,7 +82,7 @@
 		random_indices = new ArrayListIndicesRandom (slices.Length / items_per_slice);
 		random_indices.Initialize ();
 		ans_pos = random.Next (possible_answers);
-		right_answer += (char) (65 + (int) ans_pos);
+		right_answer = GetPossibleAnswer (ans_pos);
 		
 		bad_answers = new int [possible_answers * items_per_slice];
 		for (int i = 0; i < bad_answers.Length; i++) {
@@ -189,7 +191,7 @@
 			}
 			
 			gr.MoveTo (0.10  + i * 0.28, y + 0.25);
-			gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), (char) (65 + i)));
+			gr.ShowPangoText (GetPossibleFigureAnswer (i));
 		}
 	}
 }

Modified: trunk/src/PuzzleGames/PuzzleMostInCommon.cs
==============================================================================
--- trunk/src/PuzzleGames/PuzzleMostInCommon.cs	(original)
+++ trunk/src/PuzzleGames/PuzzleMostInCommon.cs	Mon Aug 18 19:04:30 2008
@@ -72,7 +72,9 @@
 	}
 
 	public override string Question {
-		get {return Catalog.GetString ("Which of the possible answers have the most in common with the four given figures? Answer A, B, C or D.");} 
+		get {return String.Format (
+			Catalog.GetString ("Which of the possible answers have the most in common with the four given figures? Answer {0}, {1}, {2} or {3}."),
+				GetPossibleAnswer (0), GetPossibleAnswer (1), GetPossibleAnswer (2), GetPossibleAnswer (3));}
 	}
 
 	public override string Tip {
@@ -112,7 +114,7 @@
 
 		for (int i = 0; i < random_indices_answers.Count; i++) {
 			if ((int) random_indices_answers [i] == 0) {
-				right_answer += (char) (65 + i);
+				right_answer = GetPossibleAnswer (i);
 				break;
 			}
 		}
@@ -287,7 +289,7 @@
 			DrawFigure (gr, x, y, (FigureElement []) answers[(int)random_indices_answers[i]]);
 			gr.MoveTo (x, y + 0.2);
 			x+= 0.22;
-			gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), (char) (65 + i)));
+			gr.ShowPangoText (GetPossibleFigureAnswer (i));
 		}
 	}
 }

Modified: trunk/src/PuzzleGames/PuzzleNextFigure.cs
==============================================================================
--- trunk/src/PuzzleGames/PuzzleNextFigure.cs	(original)
+++ trunk/src/PuzzleGames/PuzzleNextFigure.cs	Mon Aug 18 19:04:30 2008
@@ -48,7 +48,9 @@
 	}
 
 	public override string Question {
-		get {return Catalog.GetString ("Which is the next logical figure in the sequence? Answer A, B or C.");} 
+		get {return String.Format (
+			Catalog.GetString ("Which is the next logical figure in the sequence? Answer {0}, {1} or {2}."),
+			GetPossibleAnswer (0), GetPossibleAnswer (1), GetPossibleAnswer (2));} 
 	}
 
 
@@ -69,7 +71,7 @@
 		for (int i = 0; i < (int) Figures.Last; i++)
 		{
 			if ((int) random_indices[i] == (int) Figures.Third) {
-				right_answer += (char) (65 + i);
+				right_answer = GetPossibleAnswer (i);
 				break;
 			}
 		}
@@ -140,7 +142,7 @@
 			}
 			
 			gr.MoveTo (x + 0.02, y + 0.25);
-			gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), (char) (65 + i)));
+			gr.ShowPangoText (GetPossibleFigureAnswer (i));
 			x += space_figures;			
 		}
 

Modified: trunk/src/PuzzleGames/PuzzlePencil.cs
==============================================================================
--- trunk/src/PuzzleGames/PuzzlePencil.cs	(original)
+++ trunk/src/PuzzleGames/PuzzlePencil.cs	Mon Aug 18 19:04:30 2008
@@ -34,7 +34,9 @@
 	}
 
 	public override string Question {
-		get {return Catalog.GetString ("Which of the following figures cannot be drawn without crossing any previous lines nor lifting the pencil? Answer A, B, C, D or E.");} 
+		get {return String.Format ( Catalog.GetString 
+			("Which of the following figures cannot be drawn without crossing any previous lines nor lifting the pencil? Answer {0}, {1}, {2}, {3} or {4}."),
+			GetPossibleAnswer (0), GetPossibleAnswer (1), GetPossibleAnswer (2), GetPossibleAnswer (3), GetPossibleAnswer (4));} 
 	}
 
 	public override void Initialize ()
@@ -47,7 +49,7 @@
 			if (random_indices[i] != answer_index)
 				continue;
 			
-			right_answer += (char) (65 + (int) i);
+			right_answer = GetPossibleAnswer (i);
 			break;
 		}	
 	}
@@ -163,7 +165,7 @@
 			}			
 						
 			gr.MoveTo (x, y + figure_size + 0.05);
-			gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), (char) (65 + figure)));
+			gr.ShowPangoText (GetPossibleFigureAnswer (figure));
 
 			if (figure == 2) {
 				x = DrawAreaX;

Modified: trunk/src/PuzzleGames/PuzzleQuadrilaterals.cs
==============================================================================
--- trunk/src/PuzzleGames/PuzzleQuadrilaterals.cs	(original)
+++ trunk/src/PuzzleGames/PuzzleQuadrilaterals.cs	Mon Aug 18 19:04:30 2008
@@ -42,7 +42,10 @@
 	}
 
 	public override string Question {
-		get {return Catalog.GetString ("Which of the following figures does not belong to the group? Answer A, B, C, D, E or F.");} 
+		get {return String.Format (
+			Catalog.GetString ("Which of the following figures does not belong to the group? Answer {0}, {1}, {2}, {3}, {4} or {5}."),
+				GetPossibleAnswer (0), GetPossibleAnswer (1), GetPossibleAnswer (2), GetPossibleAnswer (3), GetPossibleAnswer (4), 
+				GetPossibleAnswer (5));}
 	}
 
 	public override string Answer {
@@ -61,7 +64,7 @@
 		for (int i = 0; i < (int) Figures.Last; i++)
 		{
 			if ((Figures) random_indices[i] == Figures.FigureA) {
-				right_answer += (char) (65 + i);
+				right_answer = GetPossibleAnswer (i);
 				break;
 			}
 		}
@@ -136,7 +139,7 @@
 		for (int i = 0; i < random_indices.Count; i++) {
 			DrawFigure (gr, x, y, (Figures) random_indices[i]);
 			gr.MoveTo (x, y - 0.02 + figure_size * 1.6);
-			gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), (char) (65 + i)));
+			gr.ShowPangoText (GetPossibleFigureAnswer (i));
 
 			if (i == 2) {
 				x = DrawAreaX;

Modified: trunk/src/PuzzleGames/PuzzleSquareDots.cs
==============================================================================
--- trunk/src/PuzzleGames/PuzzleSquareDots.cs	(original)
+++ trunk/src/PuzzleGames/PuzzleSquareDots.cs	Mon Aug 18 19:04:30 2008
@@ -88,7 +88,9 @@
 	}
 
 	public override string Question {
-		get {return Catalog.GetString ("What is the letter of the figure that represents the next logical figure in the sequence? Answer A, B or C.");} 
+		get {return (String.Format (
+			Catalog.GetString ("What is the letter of the figure that represents the next logical figure in the sequence? Answer {0}, {1} or {2}."),
+			GetPossibleAnswer (0), GetPossibleAnswer (1), GetPossibleAnswer (2)));} 
 	}
 
 	public override void Initialize ()
@@ -98,7 +100,7 @@
 
 		for (int i = 0; i < possible_answers.Count; i++) {
 			if (possible_answers[i] == 0) {
-				right_answer += (char) (65 + (int) i);
+				right_answer = GetPossibleAnswer (i);
 				break;
 			}
 		}
@@ -182,7 +184,7 @@
 		for (int i = 0; i < possible_answers.Count; i++) {
 			DrawPossibleAnswer (gr, x, y, possible_answers[i]);
 			gr.MoveTo (x, y + figure_size + 0.05);
-			gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), (char) (65 + i)));
+			gr.ShowPangoText (GetPossibleFigureAnswer (i));
 			gr.Stroke ();
 			x+= figure_size + space_figures;
 		}

Modified: trunk/src/PuzzleGames/PuzzleTetris.cs
==============================================================================
--- trunk/src/PuzzleGames/PuzzleTetris.cs	(original)
+++ trunk/src/PuzzleGames/PuzzleTetris.cs	Mon Aug 18 19:04:30 2008
@@ -32,7 +32,9 @@
 	}
 
 	public override string Question {
-		get {return Catalog.GetString ("What figure completes the sequence below? Answer A, B or C.");} 
+		get {return String.Format (
+			Catalog.GetString ("What figure completes the sequence below? Answer {0}, {1} or {2}."),
+			GetPossibleAnswer (0), GetPossibleAnswer (1), GetPossibleAnswer (2));}
 	}
 
 	public override string Answer {
@@ -53,7 +55,7 @@
 
 		for (int i = 0; i < random_indices_answers.Count; i++) {
 			if ((int) random_indices_answers [i] == 0) {
-				right_answer += (char) (65 + i);
+				right_answer = GetPossibleAnswer (i);
 				break;
 			}
 		}
@@ -150,7 +152,7 @@
 		for (int i = 0; i < 3; i++) {
 			DrawAnswerFigures (gr, x, y, random_indices_answers [i]);
 			gr.MoveTo (x, y + 0.13);
-			gr.ShowPangoText (String.Format (Catalog.GetString ("Figure {0}"), (char) (65 + i)));
+			gr.ShowPangoText (GetPossibleFigureAnswer (i));
 			x += space_figures;
 		}
 	}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]