gbrainy r246 - trunk/src
- From: jmas svn gnome org
- To: svn-commits-list gnome org
- Subject: gbrainy r246 - trunk/src
- Date: Sun, 24 Feb 2008 14:52:40 +0000 (GMT)
Author: jmas
Date: Sun Feb 24 14:52:39 2008
New Revision: 246
URL: http://svn.gnome.org/viewvc/gbrainy?rev=246&view=rev
Log:
More work on difficulty levels
Modified:
trunk/src/CalculationWhichNumber.cs
trunk/src/ChangeLog
trunk/src/MemoryIndications.cs
trunk/src/PuzzleDivideCircle.cs
trunk/src/PuzzleLines.cs
trunk/src/PuzzleNumericRelation.cs
trunk/src/PuzzleNumericSequence.cs
trunk/src/PuzzleSquares.cs
trunk/src/PuzzleTriangles.cs
Modified: trunk/src/CalculationWhichNumber.cs
==============================================================================
--- trunk/src/CalculationWhichNumber.cs (original)
+++ trunk/src/CalculationWhichNumber.cs Sun Feb 24 14:52:39 2008
@@ -58,12 +58,29 @@
options = new double [options_cnt * 2];
bool duplicated;
bool done = false;
- int i, ans_idx;
+ int i, ans_idx, basenum, randnum;
+
+ switch (CurrentDifficulty) {
+ case Difficulty.Easy:
+ basenum = 5;
+ randnum = 10;
+ break;
+ default:
+ case Difficulty.Medium:
+ basenum = 5;
+ randnum = 30;
+ break;
+ case Difficulty.Master:
+ basenum = 9;
+ randnum = 60;
+ break;
+ }
+
while (done == false) {
duplicated = false;
- options[0 + 0] = 5 + random.Next (30);
- options[0 + 1] = 5 + random.Next (30);
+ options[0 + 0] = basenum + random.Next (randnum);
+ options[0 + 1] = basenum + random.Next (randnum);
options[2 + 0] = options[0 + 0] + random.Next (2);
options[2 + 1] = options[0 + 1] + random.Next (2);
Modified: trunk/src/MemoryIndications.cs
==============================================================================
--- trunk/src/MemoryIndications.cs (original)
+++ trunk/src/MemoryIndications.cs Sun Feb 24 14:52:39 2008
@@ -150,7 +150,6 @@
private Indication[] indications_wrongB;
private Indication[] indications_wrongC;
private ArrayListIndicesRandom answers;
- const int steps = 7;
public override string Name {
get {return Catalog.GetString ("Memorize indications");}
@@ -162,8 +161,8 @@
}
public override void Initialize ()
- {
- indications = new Indication [steps];
+ {
+ indications = new Indication [CurrentDifficulty == Difficulty.Easy ? 5 : 7];
Indication.TurnDirection second_turn = (Indication.TurnDirection) 2 + random.Next (2);
indications[0] = new Indication (Indication.Type.Start, 0);
@@ -171,13 +170,17 @@
indications[2] = new Indication (Indication.Type.Turn, second_turn); // up or down
indications[3] = new Indication (Indication.Type.Turn, random.Next (2)); // right or left
- if (second_turn == Indication.TurnDirection.Up)
- indications[4] = new Indication (Indication.Type.Turn, Indication.TurnDirection.Up);
- else
- indications[4] = new Indication (Indication.Type.Turn, Indication.TurnDirection.Down);
+ if (CurrentDifficulty==Difficulty.Easy) {
+ indications[4] = new Indication (Indication.Type.End, 1);
+ } else {
+ if (second_turn == Indication.TurnDirection.Up)
+ indications[4] = new Indication (Indication.Type.Turn, Indication.TurnDirection.Up);
+ else
+ indications[4] = new Indication (Indication.Type.Turn, Indication.TurnDirection.Down);
- indications[5] = new Indication (Indication.Type.Turn, random.Next (2)); // right or left
- indications[6] = new Indication (Indication.Type.End, 1);
+ indications[5] = new Indication (Indication.Type.Turn, random.Next (2)); // right or left
+ indications[6] = new Indication (Indication.Type.End, 1);
+ }
indications_wrongA = CopyAnswer ();
indications_wrongB = CopyAnswer ();
@@ -190,12 +193,22 @@
indications_wrongA[3] = new Indication (Indication.Type.Turn, Indication.TurnDirection.Right);
}
- if ((Indication.TurnDirection) indications[5].obj == Indication.TurnDirection.Right) {
- indications_wrongB[5] = new Indication (Indication.Type.Turn, Indication.TurnDirection.Left);
- }
- else {
- indications_wrongB[5] = new Indication (Indication.Type.Turn, Indication.TurnDirection.Right);
+ if (CurrentDifficulty == Difficulty.Easy) {
+ if ((Indication.TurnDirection) indications[2].obj == Indication.TurnDirection.Up) {
+ indications_wrongB[2] = new Indication (Indication.Type.Turn, Indication.TurnDirection.Down);
+ }
+ else {
+ indications_wrongB[2] = new Indication (Indication.Type.Turn, Indication.TurnDirection.Up);
+ }
+ } else {
+ if ((Indication.TurnDirection) indications[5].obj == Indication.TurnDirection.Right) {
+ indications_wrongB[5] = new Indication (Indication.Type.Turn, Indication.TurnDirection.Left);
+ }
+ else {
+ indications_wrongB[5] = new Indication (Indication.Type.Turn, Indication.TurnDirection.Right);
+ }
}
+
if ((Indication.TurnDirection) indications[1].obj == Indication.TurnDirection.Right) {
indications_wrongC[1] = new Indication (Indication.Type.Turn, Indication.TurnDirection.Left);
}
@@ -221,8 +234,8 @@
private Indication[] CopyAnswer ()
{
- Indication[] answer = new Indication [steps];
- for (int i = 0; i < steps; i++)
+ Indication[] answer = new Indication [indications.Length];
+ for (int i = 0; i < indications.Length; i++)
answer[i] = new Indication (indications[i].type, indications[i].obj);
return answer;
@@ -259,7 +272,6 @@
x = 0.22; y = 0.3;
DrawPossibleAnswers (gr, x, y, WhichAnswer (answers[0]));
gr.MoveTo (x, y + 0.2);
- //gr.ShowText ("Figure A");
gr.ShowText (String.Format (Catalog.GetString ("Figure {0}"), "A"));
x = 0.7; y = 0.3;
Modified: trunk/src/PuzzleDivideCircle.cs
==============================================================================
--- trunk/src/PuzzleDivideCircle.cs (original)
+++ trunk/src/PuzzleDivideCircle.cs Sun Feb 24 14:52:39 2008
@@ -48,7 +48,10 @@
public override void Initialize ()
{
- dots = 5 + random.Next (2);
+ if (CurrentDifficulty==Difficulty.Easy)
+ dots = 5;
+ else
+ dots = 5 + random.Next (2);
switch (dots) {
case 5:
Modified: trunk/src/PuzzleLines.cs
==============================================================================
--- trunk/src/PuzzleLines.cs (original)
+++ trunk/src/PuzzleLines.cs Sun Feb 24 14:52:39 2008
@@ -45,7 +45,11 @@
public override void Initialize ()
{
- type = random.Next (max_types);
+ if (CurrentDifficulty==Difficulty.Easy)
+ type = 0;
+ else
+ type = random.Next (max_types);
+
switch (type) {
case 0:
fig1 = 15;
Modified: trunk/src/PuzzleNumericRelation.cs
==============================================================================
--- trunk/src/PuzzleNumericRelation.cs (original)
+++ trunk/src/PuzzleNumericRelation.cs Sun Feb 24 14:52:39 2008
@@ -24,12 +24,12 @@
public class PuzzleNumericRelation : Game
{
- private const int max_num = 9;
private const int group_size = 3;
private int sum_value;
private int question;
private int[] numbers;
private int formula;
+ private const int max_num = 9;
public override string Name {
get {return Catalog.GetString ("Numeric relation");}
@@ -65,12 +65,20 @@
public override void Initialize ()
{
- int group = 0;
+ int group = 0, inc = 0;
+
+ if (CurrentDifficulty == Difficulty.Easy) {
+ sum_value = 10 + random.Next (10);
+ inc = 5;
+ }
+ else {
+ sum_value = 30 + random.Next (10);
+ inc = 12;
+ }
question = 1 + random.Next (max_num - 2);
formula = random.Next (3);
numbers = new int [max_num];
- sum_value = 30 + random.Next (10);
for (int i = 0; i < max_num; i++) {
if (group == group_size - 1) {
@@ -88,7 +96,7 @@
group = 0;
continue;
}
- numbers[i] = 1 + random.Next (12);
+ numbers[i] = 1 + random.Next (inc);
group++;
}
@@ -115,10 +123,7 @@
}
}
sequence.Append (numbers[max_num - 1]);
-
- gr.MoveTo (DrawAreaX, DrawAreaY + 0.3);
- gr.ShowText (sequence.ToString ());
- gr.Stroke ();
+ gr.DrawTextCentered (0.5, DrawAreaY + 0.3, sequence.ToString ());
}
}
Modified: trunk/src/PuzzleNumericSequence.cs
==============================================================================
--- trunk/src/PuzzleNumericSequence.cs (original)
+++ trunk/src/PuzzleNumericSequence.cs Sun Feb 24 14:52:39 2008
@@ -61,7 +61,7 @@
public override void Initialize ()
{
- formula = random.Next (3);
+ formula = random.Next (CurrentDifficulty == Difficulty.Easy ? 2 : 3);
numbers = new int [max_num];
numbers[0] = 3 + random.Next (3);
for (int i = 1; i < max_num; i++) {
@@ -98,9 +98,7 @@
}
sequence.Append ("?");
- gr.MoveTo (DrawAreaX + 0.05, DrawAreaY + 0.3);
- gr.ShowText (sequence.ToString ());
- gr.Stroke ();
+ gr.DrawTextCentered (0.5, DrawAreaY + 0.3, sequence.ToString ());
}
}
Modified: trunk/src/PuzzleSquares.cs
==============================================================================
--- trunk/src/PuzzleSquares.cs (original)
+++ trunk/src/PuzzleSquares.cs Sun Feb 24 14:52:39 2008
@@ -55,7 +55,11 @@
public override void Initialize ()
{
- type = random.Next (2);
+ if (CurrentDifficulty==Difficulty.Easy)
+ type = 0;
+ else
+ type = random.Next (2);
+
rows = 3;
columns = 3;
Modified: trunk/src/PuzzleTriangles.cs
==============================================================================
--- trunk/src/PuzzleTriangles.cs (original)
+++ trunk/src/PuzzleTriangles.cs Sun Feb 24 14:52:39 2008
@@ -51,7 +51,10 @@
public override void Initialize ()
{
- type = random.Next (2);
+ if (CurrentDifficulty==Difficulty.Easy)
+ type = 1;
+ else
+ type = random.Next (2);
if (type == 0)
right_answer = "16";
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]