gbrainy r321 - trunk/src



Author: jmas
Date: Fri May  9 09:36:13 2008
New Revision: 321
URL: http://svn.gnome.org/viewvc/gbrainy?rev=321&view=rev

Log:
	* GameManager.cs: When playing all games, do a better selection less
         based on logic puzzles

2008-05-08 Jordi Mas <jmas softcatala org>



Modified:
   trunk/src/ChangeLog
   trunk/src/GameManager.cs
   trunk/src/GameSession.cs

Modified: trunk/src/GameManager.cs
==============================================================================
--- trunk/src/GameManager.cs	(original)
+++ trunk/src/GameManager.cs	Fri May  9 09:36:13 2008
@@ -144,19 +144,46 @@
 		
 		games.Clear ();
 
-		if ((game_type & GameSession.Types.LogicPuzzles) == GameSession.Types.LogicPuzzles) {
-			for (int i = 0; i < LogicPuzzles.Length; i++)
+		// For all games, 1/3 of the total are logic, 1/3 Memory, 1/3 calculation
+		if ((game_type & GameSession.Types.AllGames) == GameSession.Types.AllGames) {
+
+			int idx;
+			for (int i = 0; i < LogicPuzzles.Length; i++) {
+				games.Add (LogicPuzzles [i]);
+			}
+			
+			idx = 0;
+			for (int i = 0; i < LogicPuzzles.Length; i++, idx++) {
+				if (idx == CalculationTrainers.Length)
+					idx = 0;
+
+				games.Add (CalculationTrainers [idx]);
+			}
+
+			idx = 0;
+			for (int i = 0; i < LogicPuzzles.Length; i++, idx++) {
+				if (idx == MemoryTrainers.Length)
+					idx = 0;
+
+				games.Add (MemoryTrainers [idx]);
+			}
+
+		} else {
+
+			if ((game_type & GameSession.Types.LogicPuzzles) == GameSession.Types.LogicPuzzles) {
+				for (int i = 0; i < LogicPuzzles.Length; i++)
 					games.Add (LogicPuzzles [i]);
-		}
+			}
 
-		if ((game_type & GameSession.Types.CalculationTrainers) == GameSession.Types.CalculationTrainers) {
-			for (int i = 0; i < CalculationTrainers.Length; i++)
-				games.Add (CalculationTrainers [i]);
-		}
+			if ((game_type & GameSession.Types.CalculationTrainers) == GameSession.Types.CalculationTrainers) {
+				for (int i = 0; i < CalculationTrainers.Length; i++)
+					games.Add (CalculationTrainers [i]);
+			}
 
-		if ((game_type & GameSession.Types.MemoryTrainers) == GameSession.Types.MemoryTrainers) {
-			for (int i = 0; i < MemoryTrainers.Length; i++)
-				games.Add (MemoryTrainers [i]);
+			if ((game_type & GameSession.Types.MemoryTrainers) == GameSession.Types.MemoryTrainers) {
+				for (int i = 0; i < MemoryTrainers.Length; i++)
+					games.Add (MemoryTrainers [i]);
+			}
 		}
 
 		list = new ArrayListIndicesRandom (games.Count);

Modified: trunk/src/GameSession.cs
==============================================================================
--- trunk/src/GameSession.cs	(original)
+++ trunk/src/GameSession.cs	Fri May  9 09:36:13 2008
@@ -30,7 +30,7 @@
 		None			= 0,
 		LogicPuzzles		= 2,
 		MemoryTrainers		= 4,
-		CalculationTrainers		= 8,
+		CalculationTrainers	= 8,
 		Custom			= 16,
 		TrainersOnly		= MemoryTrainers | CalculationTrainers,
 		AllGames		= MemoryTrainers | CalculationTrainers | LogicPuzzles



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