TRANSLATIONTABLE_WORDFUNCTION_COLUMN + " int" + ")";
cmd.ExecuteNonQuery();
//Наполнить базу данных словами
FillDictionary(cmd);
} catch (System.Exception eTableCreate) {
System.Windows.Forms.MessageBox.Show("Error occurred adding table :" + eTableCreate.ToString());
} finally {
//Всегда закрывать базу данных по окончании работы
conn.Close();
}
//Информировать пользователя о создании базы данных
System.Windows.Forms.MessageBox.Show("Created langauge database!");
}
static private void FillDictionary(System.Data.SqlServerCe.SqlCeCommand cmd) {
//Глаголы
InsertEnglishGermanWordPair(cmd, "to pay", "zahlen",
VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Verb);
InsertEnglishGermanWordPair(cmd, "to catch", "fangen",
VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Verb);
//Добавить другие слова...
//Местоимения
InsertEnglishGermanWordPair(cmd, "What", "was",
VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Pronoun);
//Добавить другие слова...
//Наречия
InsertEnglishGermanWordPair(cmd, "where", "wo",
VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Adverb);
InsertEnglishGermanWordPair(cmd, "never", "nie",
VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Adverb);
//Добавить другие слова...
//Предлоги
InsertEnglishGermanWordPair(cmd, "at the", "am",
VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Preposition);
//Имена прилагательные
InsertEnglishGermanWordPair(cmd, "invited", "eingeladen",
VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Verb);
InsertEnglishGermanWordPair(cmd, "yellow", "gelbe",
VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Adjective);
InsertEnglishGermanWordPair(cmd, "one", "eins",
VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Adjective);
InsertEnglishGermanWordPair(cmd, "two", "zwei",
VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Adjective);
//Имена существительные мужского рода
InsertEnglishGermanWordPair(cmd, "Man", "Mann",
VocabularyWord.WordGender.Masculine, VocabularyWord.WordFunction.Noun);
InsertEnglishGermanWordPair(cmd, "Marketplace", "Marktplatz",
VocabularyWord.WordGender.Masculine, VocabularyWord.WordFunction.Noun);
InsertEnglishGermanWordPair(cmd, "Spoon", "Löffel",
VocabularyWord.WordGender.Masculine, VocabularyWord.WordFunction.Noun);
//Имена существительные женского рода
InsertEnglishGermanWordPair(cmd, "Woman", "Frau",
VocabularyWord.WordGender.Feminine, VocabularyWord.WordFunction.Noun);
InsertEnglishGermanWordPair(cmd, "Clock", "Uhr",
VocabularyWord.WordGender.Feminine, VocabularyWord.WordFunction.Noun);
InsertEnglishGermanWordPair(cmd, "Cat", "Katze",
VocabularyWord.WordGender.Feminine, VocabularyWord.WordFunction.Noun);
//Имена существительные среднего рода
InsertEnglishGermanWordPair(cmd, "Car", "Auto",
VocabularyWord.WordGender.Neuter, VocabularyWord.WordFunction.Noun);
InsertEnglishGermanWordPair(cmd, "Book", "Buch",
VocabularyWord.WordGender.Neuter, VocabularyWord.WordFunction.Noun);
}
//----------------------------
//Помещает слово в базу данных
//----------------------------
static private void InsertEnglishGermanWordPair(
System.Data.SqlServerCe.SqlCeCommand cmd,
string englishWord, string germanWord,
VocabularyWord.WordGender germanWordGender,
VocabularyWord.WordFunction wordFunction) {
cmd.CommandText = "INSERT INTO " + TRANSLATIONTABLE_NAME + "(" +
TRANSLATIONTABLE ENGLISH_COLUMN + ", " +
TRANSLATIONTABLE_GERMAN_COLUMN + ", " +
TRANSLATIONTABLE_GERMANGENDER_COLUMN + ", " +
TRANSLATIONTABLE_WORDFUNCTION_COLUMN + ") VALUES ('" +
englishWord + "', '" + germanWord + "', '" +
System.Convert.ToString(((int) germanWordGender))+ "', '" +
System.Convert.ToString(((int) wordFunction)) + "' )";
cmd.ExecuteNonQuery();
}
} //Конец класса
Листинг 14.7. Пример кода управления данными для GameData.cs
//-----------------------------------------------------------------
//Код управления данными в памяти
//
//Этот код предназначен для управления представлением кода в памяти
//-----------------------------------------------------------------
using System;
internal class GameData {
//Массив списков для сохранения загружаемых данных
private static System.Collections.ArrayList m_vocabularyWords All;
private static System.Collections.ArrayList m_vocabularyWords_Nouns;
private static System.Collections.ArrayList m_vocabularyWords_Verbs;
private static System.Collections.ArrayList m_vocabularyWords_Adjectives;
private static System.Collections.ArrayList m_vocabularyWords_Adverbs;
private static System.Collections.ArrayList m_vocabularyWords_Prepositions;
public static bool isGameDataInitialized {
//Инициализация данных игры, если слова загружены
get {
return (m_vocabularyWords_All != null);
}
}
//Возвращает коллекцию всех имеющихся слов
public static System.Collections.ArrayList AllWords {
get {
//Загрузить данные, если они не были инициализированы
if (m_vocabularyWords_All == null) {
InitializeGameVocabulary();
}
return m_vocabularyWords_All;
}
}
//Возвращает коллекцию всех имеющихся имен существительных
public static System.Collections.ArrayList Nouns {
Читать дальше