[gbrainy] Launchpad bug fix #560355
- From: Jordi Mas <jmas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gbrainy] Launchpad bug fix #560355
- Date: Fri, 16 Apr 2010 19:08:58 +0000 (UTC)
commit 26febb64acf7283fdcc6ccff80923b3b9432a1ab
Author: Jordi Mas <jmas softcatala org>
Date: Fri Apr 16 21:09:28 2010 +0200
Launchpad bug fix #560355
src/Games/Logic/PuzzleNumericSequence.cs | 27 +++++++++++++++++++++++++--
1 files changed, 25 insertions(+), 2 deletions(-)
---
diff --git a/src/Games/Logic/PuzzleNumericSequence.cs b/src/Games/Logic/PuzzleNumericSequence.cs
index 5a5f83f..e4bb104 100644
--- a/src/Games/Logic/PuzzleNumericSequence.cs
+++ b/src/Games/Logic/PuzzleNumericSequence.cs
@@ -66,9 +66,30 @@ namespace gbrainy.Games.Logic
public override void Initialize ()
{
+ int[] seeds;
+
formula = random.Next (CurrentDifficulty == Difficulty.Easy ? 2 : 3);
numbers = new int [max_num];
- numbers[0] = 3 + random.Next (3);
+
+ switch (formula) {
+ case 0:
+ seeds = new int [] {3, 4, 5};
+ break;
+ case 1:
+ // Skipping seed value 5 -> 5,18,57,174,525
+ // The difference between given adjacent pairs ( right -left) is a sequence 13,39,117,351.
+ // They can be related as 13 x 3 raised to sequential powers 0,1,2,3 ie 13*3^1 and so on.
+ seeds = new int [] {3, 4, 6};
+ break;
+ case 2:
+ seeds = new int [] {3, 4, 5};
+ break;
+ default:
+ throw new InvalidOperationException ();
+ }
+
+ numbers[0] = seeds [random.Next (seeds.Length)];
+
for (int i = 1; i < max_num; i++) {
switch (formula) {
case 0:
@@ -80,7 +101,9 @@ namespace gbrainy.Games.Logic
case 2:
numbers[i] = (numbers[i -1] - 2) * (-2);
break;
- }
+ default:
+ throw new InvalidOperationException ();
+ }
}
right_answer = numbers[max_num-1].ToString ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]