[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    playground/edu/kanagram/src
From:       Joshua Keel <joshuakeel () gmail ! com>
Date:       2005-08-04 15:59:03
Message-ID: 1123171143.240628.11686.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 443002 by jkeel:

Fix the bug where the same word was asked multiple times in a row


 M  +11 -1     kanagramgame.cpp  
 M  +1 -0      kanagramgame.h  


--- trunk/playground/edu/kanagram/src/kanagramgame.cpp #443001:443002
@@ -75,6 +75,7 @@
 	KEduVocDocument *doc = new KEduVocDocument(this);
 	doc->open(KURL(locate("appdata", m_filename)), false);
 	m_docTitle = doc->getTitle();
+	m_answeredWords.clear();
 }
 
 void KanagramGame::nextVocab()
@@ -86,6 +87,7 @@
 	KEduVocDocument *doc = new KEduVocDocument(this);
 	doc->open(KURL(locate("appdata", m_filename)), false);
 	m_docTitle = doc->getTitle();
+	m_answeredWords.clear();
 }
 
 void KanagramGame::nextAnagram()
@@ -94,11 +96,19 @@
 	doc->open(KURL(locate("appdata", m_filename)), false);
 	int totalWords = doc->numEntries();
 	int wordNumber = m_random.getLong(totalWords);
-	while(m_anagram == doc->getEntry(wordNumber)->getOriginal())
+	if(doc->numEntries() - 1 == m_answeredWords.size())
 	{
+		m_answeredWords.clear();
+		kdDebug() << "Cleared." << endl;
+	}
+	while(m_answeredWords.findIndex(doc->getEntry(wordNumber)->getOriginal()) != -1)
+	{
+		kdDebug() << "Wordnumber before: " << wordNumber << endl;
 		wordNumber = m_random.getLong(totalWords);
+		kdDebug() << "Wordnumber after: " << wordNumber << endl;
 	}
 	m_originalWord = doc->getEntry(wordNumber)->getOriginal();
+	m_answeredWords.append(m_originalWord);
 	m_anagram = createAnagram(m_originalWord);
 	m_hint = doc->getEntry(wordNumber)->getRemark(0);
 }
--- trunk/playground/edu/kanagram/src/kanagramgame.h #443001:443002
@@ -53,6 +53,7 @@
 
 		int m_index;
 		QStringList m_fileList;
+		QStringList m_answeredWords;
 		QString m_docTitle;
 		QString m_filename;
 };
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic