示例#1
0
        public CustomGameDialog(ITranslations translations, GameSession session) : base(translations, "CustomGameDialog.ui", "customgame")
        {
            Game game;

            selection_done = false;
            this.session   = session;
            games          = session.GameManager.AvailableGames;

            drawing_area = new GameDrawingArea();
            drawing_area.UseSolutionArea = false;
            drawing_area.SetSizeRequest(preview_vbox.WidthRequest, preview_vbox.HeightRequest);
            preview_vbox.Add(drawing_area);
            drawing_area.Visible      = true;
            treeview.HeadersClickable = true;

            CreateColumnName();
            CreateColumnType();
            CreateColumnSelected();
            LoadGames();

            treeview.Model    = games_store;
            game              = (Game)Activator.CreateInstance(games [0].TypeOf, true);
            game.Translations = Translations;
            game.Variant      = 0;
            game.Begin();
            drawing_area.Drawable = game;
            drawing_area.Question = game.Question;
            treeview.ColumnsAutosize();
        }
示例#2
0
 public CommandLine(ITranslations translations, string [] args)
 {
     Translations = translations;
     this.args    = args;
     RandomOrder  = true;
     play_list    = new int [0];
 }
示例#3
0
 public CommandLine(ITranslations translations, string [] args)
 {
     Translations = translations;
     this.args = args;
     RandomOrder = true;
     play_list = new int [0];
 }
示例#4
0
        public CustomGameDialog(ITranslations translations, GameSession session)
            : base(translations, "CustomGameDialog.ui", "customgame")
        {
            Game game;

            selection_done = false;
            this.session = session;
            games = session.GameManager.AvailableGames;

            drawing_area = new GameDrawingArea ();
            drawing_area.UseSolutionArea = false;
                        drawing_area.SetSizeRequest (preview_vbox.WidthRequest, preview_vbox.HeightRequest);
            preview_vbox.Add (drawing_area);
            drawing_area.Visible = true;
            treeview.HeadersClickable = true;

            CreateColumnName ();
            CreateColumnType ();
            CreateColumnSelected ();
            LoadGames ();

            treeview.Model = games_store;
            game = (Game) Activator.CreateInstance (games [0].TypeOf, true);
            game.Translations = Translations;
            game.Variant = 0;
            game.Begin ();
            drawing_area.Drawable = game;
            drawing_area.Question = game.Question;
            treeview.ColumnsAutosize ();
        }
        public PlayerHistoryDialog(ITranslations translations, PlayerHistory history) : base(translations, "PlayerHistoryDialog.ui", "playerhistory")
        {
            string intro, built;

            intro = Catalog.GetString("The graph below shows the player's game score evolution.");

            if (history.Games.Count < 2)
            {
                built = Catalog.GetString("You need more than one game session recorded to see the score evolution.");
            }
            else
            {
                built = String.Format(Catalog.GetPluralString("It is built using the results of {0} recorded game session.",
                                                              "It is built using the results of the last {0} recorded game sessions.",
                                                              history.Games.Count),
                                      history.Games.Count);
            }

            // Translators: "The graph below" +  "It is built using" sentences
            label_playerhistory.Text = String.Format(Catalog.GetString("{0} {1}"), intro, built);

            drawing_area = new CairoPreview(translations, history);
            drawing_area.SetSizeRequest(history_preview.WidthRequest, history_preview.HeightRequest);
            history_preview.Add(drawing_area);
            drawing_area.Visible = true;

            checkbutton_total.Label       = Catalog.GetString("Total");
            checkbutton_logic.Label       = GameTypesDescription.GetLocalized(translations, GameTypes.LogicPuzzle);
            checkbutton_calculation.Label = GameTypesDescription.GetLocalized(translations, GameTypes.Calculation);
            checkbutton_memory.Label      = GameTypesDescription.GetLocalized(translations, GameTypes.Memory);
            checkbutton_verbal.Label      = GameTypesDescription.GetLocalized(translations, GameTypes.VerbalAnalogy);

            checkbutton_total.Active = checkbutton_memory.Active = checkbutton_logic.Active = checkbutton_calculation.Active = checkbutton_verbal.Active = true;
        }
示例#6
0
        public PlayerHistoryDialog(ITranslations translations, PlayerHistory history)
            : base(translations, "PlayerHistoryDialog.ui", "playerhistory")
        {
            string intro, built;

            intro = Catalog.GetString ("The graph below shows the player's game score evolution.");

            if (history.Games.Count < 2)
            {
                built = Catalog.GetString ("You need more than one game session recorded to see the score evolution.");
            }
            else
            {
                built =  String.Format (Catalog.GetPluralString ("It is built using the results of {0} recorded game session.",
                    "It is built using the results of the last {0} recorded game sessions.",
                    history.Games.Count),
                    history.Games.Count);
            }

            // Translators: "The graph below" +  "It is built using" sentences
            label_playerhistory.Text = String.Format (Catalog.GetString ("{0} {1}"), intro, built);

            drawing_area = new CairoPreview (translations, history);
            drawing_area.SetSizeRequest (history_preview.WidthRequest, history_preview.HeightRequest);
            history_preview.Add (drawing_area);
            drawing_area.Visible = true;

             		checkbutton_total.Label = Catalog.GetString ("Total");
             		checkbutton_logic.Label = GameTypesDescription.GetLocalized (translations, GameTypes.LogicPuzzle);
             		checkbutton_calculation.Label = GameTypesDescription.GetLocalized (translations, GameTypes.Calculation);
             		checkbutton_memory.Label = GameTypesDescription.GetLocalized (translations, GameTypes.Memory);
             		checkbutton_verbal.Label = GameTypesDescription.GetLocalized (translations, GameTypes.VerbalAnalogy);

             		checkbutton_total.Active = checkbutton_memory.Active = checkbutton_logic.Active = checkbutton_calculation.Active = checkbutton_verbal.Active = true;
        }
示例#7
0
        public string GetResult(ITranslations translations)
        {
            string s;

            if (GamesPlayed >= 10)
            {
                int percentage_won = (int)(100 * GamesWon / GamesPlayed);
                if (percentage_won >= 90)
                {
                    s = translations.GetString("Outstanding results");
                }
                else if (percentage_won >= 70)
                {
                    s = translations.GetString("Excellent results");
                }
                else if (percentage_won >= 50)
                {
                    s = translations.GetString("Good results");
                }
                else if (percentage_won >= 30)
                {
                    s = translations.GetString("Poor results");
                }
                else
                {
                    s = translations.GetString("Disappointing results");
                }
            }
            else
            {
                s = string.Empty;
            }

            return(s);
        }
示例#8
0
        public PreferencesDialog(ITranslations translations, PlayerHistory history) : base(translations, "PreferencesDialog.ui", "preferences")
        {
            this.history                     = history;
            prefspinbutton.Value             = Preferences.Get <int> (Preferences.MemQuestionTimeKey);
            prefcheckbutton.Active           = Preferences.Get <bool> (Preferences.MemQuestionWarnKey);
            maxstoredspinbutton.Value        = Preferences.Get <int> (Preferences.MaxStoredGamesKey);
            minplayedspinbutton.Value        = Preferences.Get <int> (Preferences.MinPlayedGamesKey);
            colorblindcheckbutton.Active     = Preferences.Get <bool> (Preferences.ColorBlindKey);
            englishcheckbutton.Active        = Preferences.Get <bool> (Preferences.EnglishKey);
            loadextensionscheckbutton.Active = Preferences.Get <bool> (Preferences.LoadPlugginsKey);
            usesoundscheckbutton.Active      = Preferences.Get <bool> (Preferences.SoundsKey);

            switch ((GameDifficulty)Preferences.Get <int> (Preferences.DifficultyKey))
            {
            case GameDifficulty.Easy:
                rb_easy.Active = rb_easy.HasFocus = true;
                break;

            case GameDifficulty.Medium:
                rb_medium.Active = rb_medium.HasFocus = true;
                break;

            case GameDifficulty.Master:
                rb_master.Active = rb_master.HasFocus = true;
                break;
            }

            ListStore    store       = new ListStore(typeof(string), typeof(Theme));       // DisplayName, theme reference
            CellRenderer layout_cell = new CellRendererText();

            themes_combobox.Model = store;
            themes_combobox.PackStart(layout_cell, true);
            themes_combobox.SetCellDataFunc(layout_cell, ComboBoxCellFunc);

            foreach (Theme theme in ThemeManager.Themes)
            {
                store.AppendValues(Catalog.GetString(theme.LocalizedName), theme);
            }

            // Default value
            TreeIter iter;
            bool     more = store.GetIterFirst(out iter);

            while (more)
            {
                Theme theme = (Theme)store.GetValue(iter, COLUMN_VALUE);

                if (String.Compare(theme.Name, Preferences.Get <string> (Preferences.ThemeKey), true) == 0)
                {
                    themes_combobox.SetActiveIter(iter);
                    break;
                }
                more = store.IterNext(ref iter);
            }

                        #if !MONO_ADDINS
            loadextensionscheckbutton.Visible = false;
                        #endif
        }
示例#9
0
 public CountDownView(ITranslations translations, EventHandler OnFinish)
 {
     Translations = translations;
     timer = new System.Timers.Timer ();
     timer.Elapsed += TimerUpdater;
     timer.Interval = (1 * 1000); // 1 second
     finish = OnFinish;
 }
示例#10
0
        public event EventHandler DrawRequest;         // Not used in this view

        public CountDownView(ITranslations translations, EventHandler OnFinish)
        {
            Translations   = translations;
            timer          = new System.Timers.Timer();
            timer.Elapsed += TimerUpdater;
            timer.Interval = (1 * 1000);             // 1 second
            finish         = OnFinish;
        }
示例#11
0
 public FinishView(ITranslations translations, GameSession session)
 {
     Translations = translations;
     this.session = session;
     tips = new List <string> ();
     cached_sessionid = -1;
     game_tips = new GameTips (translations);
 }
示例#12
0
 public FinishView(ITranslations translations, GameSession session)
 {
     Translations     = translations;
     this.session     = session;
     tips             = new List <string> ();
     cached_sessionid = -1;
     game_tips        = new GameTips(translations);
 }
示例#13
0
        public GtkClient(ITranslations translations)
        {
            Translations = translations;
            if (Preferences.Get <bool> (Preferences.EnglishKey) == false)
            {
                translations.Init("gbrainy", Defines.GNOME_LOCALE_DIR);
            }

            Unix.FixLocaleInfo();
        }
示例#14
0
        public PreferencesDialog(ITranslations translations, PlayerHistory history)
            : base(translations, "PreferencesDialog.ui", "preferences")
        {
            this.history = history;
            prefspinbutton.Value = Preferences.Get <int> (Preferences.MemQuestionTimeKey);
            prefcheckbutton.Active = Preferences.Get <bool> (Preferences.MemQuestionWarnKey);
            maxstoredspinbutton.Value = Preferences.Get <int> (Preferences.MaxStoredGamesKey);
            minplayedspinbutton.Value = Preferences.Get <int> (Preferences.MinPlayedGamesKey);
            colorblindcheckbutton.Active = Preferences.Get <bool> (Preferences.ColorBlindKey);
            englishcheckbutton.Active = Preferences.Get <bool> (Preferences.EnglishKey);
            loadextensionscheckbutton.Active = Preferences.Get <bool> (Preferences.LoadPlugginsKey);

            switch ((GameDifficulty) Preferences.Get <int> (Preferences.DifficultyKey)) {
            case GameDifficulty.Easy:
                rb_easy.Active = rb_easy.HasFocus = true;
                break;
            case GameDifficulty.Medium:
                rb_medium.Active = rb_medium.HasFocus = true;
                break;
            case GameDifficulty.Master:
                rb_master.Active = rb_master.HasFocus = true;
                break;
            }

            ListStore store = new ListStore (typeof (string), typeof (Theme)); // DisplayName, theme reference
            CellRenderer layout_cell = new CellRendererText ();
            themes_combobox.Model = store;
            themes_combobox.PackStart (layout_cell, true);
            themes_combobox.SetCellDataFunc (layout_cell, ComboBoxCellFunc);

            foreach (Theme theme in ThemeManager.Themes)
                store.AppendValues (Catalog.GetString(theme.LocalizedName), theme);

            // Default value
            TreeIter iter;
            bool more = store.GetIterFirst (out iter);
            while (more)
            {
                Theme theme = (Theme) store.GetValue (iter, COLUMN_VALUE);

                if (String.Compare (theme.Name, Preferences.Get <string> (Preferences.ThemeKey), true) == 0)
                {
                    themes_combobox.SetActiveIter (iter);
                    break;
                }
                more = store.IterNext (ref iter);
            }

            #if !MONO_ADDINS
                loadextensionscheckbutton.Visible = false;
            #endif
        }
示例#15
0
 // Type enum to string representation (locale sensitive)
 public static string GetLocalized(ITranslations translations, GameTypes type)
 {
     switch (type)
     {
         case GameTypes.LogicPuzzle:
             return translations.GetString ("Logic");
         case GameTypes.Memory:
             return translations.GetString ("Memory");
         case GameTypes.Calculation:
             return translations.GetString ("Calculation");
         case GameTypes.VerbalAnalogy:
             return translations.GetString ("Verbal");
         default:
             throw new InvalidOperationException ("Unknown game type");
     }
 }
示例#16
0
        public GameSession(ITranslations translations)
        {
            Translations = translations;
            id           = 0;
            game_manager = new GameManager();
            play_list    = new GameSessionPlayList(game_manager);
            game_time    = TimeSpan.Zero;

            timer          = new System.Timers.Timer();
            timer.Elapsed += TimerUpdater;
            timer.Interval = (1 * 1000);             // 1 second

            controler      = new ViewsControler(translations, this);
            Status         = SessionStatus.NotPlaying;
            player_history = new PlayerHistory();
            history        = new GameSessionHistoryExtended();
        }
示例#17
0
        public string GetGamesSummary(ITranslations translations)
        {
            String s = string.Empty;

        #if MONO_ADDINS
            s += translations.GetString("Extensions database:") + " " +
                 System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "gbrainy");

            s += Environment.NewLine;
        #endif
            // Translators: 'Games registered' is the games know to gbrainy (build-in and load from addins-in and external files)
            s += String.Format(translations.GetString("{0} games registered: {1} logic puzzles, {2} calculation trainers, {3} memory trainers, {4} verbal analogies"),
                               cnt_logic + cnt_memory + cnt_calculation + cnt_verbal,
                               cnt_logic, cnt_calculation, cnt_memory, cnt_verbal);

            return(s);
        }
示例#18
0
        public GameSession(ITranslations translations)
        {
            Translations = translations;
            id = 0;
            game_manager = new GameManager ();
            play_list = new GameSessionPlayList (game_manager);
            game_time = TimeSpan.Zero;

            timer = new System.Timers.Timer ();
            timer.Elapsed += TimerUpdater;
            timer.Interval = (1 * 1000); // 1 second

            controler = new ViewsControler (translations, this);
            Status = SessionStatus.NotPlaying;
            player_history = new PlayerHistory ();
            history = new GameSessionHistoryExtended ();
        }
示例#19
0
        public string GetGamesSummary(ITranslations translations)
        {
            String s = string.Empty;

        #if MONO_ADDINS
            s += translations.GetString("Extensions database:") + " " +
                 System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "gbrainy");

            s += Environment.NewLine;
        #endif
            // Translators: 'Games registered' is the games know to gbrainy (build-in and load from addins-in and external files)
            int total = cnt_logic + cnt_memory + cnt_calculation + cnt_verbal;
            s += String.Format(translations.GetPluralString("{0} game registered:", "{0} games registered:", total) + Environment.NewLine, total);
            s += AddString(String.Format(translations.GetPluralString("{0} logic puzzle", "{0} logic puzzles", cnt_logic), cnt_logic));
            s += AddString(String.Format(translations.GetPluralString("{0} calculation trainer", "{0} calculation trainers", cnt_calculation), cnt_calculation));
            s += AddString(String.Format(translations.GetPluralString("{0} memory trainer", "{0} memory trainers", cnt_memory), cnt_memory));
            s += AddString(String.Format(translations.GetPluralString("{0} verbal analogy", "{0} verbal analogies", cnt_verbal), cnt_verbal));
            return(s);
        }
示例#20
0
        // Type enum to string representation (locale sensitive)
        static public string GetLocalized(ITranslations translations, GameTypes type)
        {
            switch (type)
            {
            case GameTypes.LogicPuzzle:
                return(translations.GetString("Logic"));

            case GameTypes.Memory:
                return(translations.GetString("Memory"));

            case GameTypes.Calculation:
                return(translations.GetString("Calculation"));

            case GameTypes.VerbalAnalogy:
                return(translations.GetString("Verbal"));

            default:
                throw new InvalidOperationException("Unknown game type");
            }
        }
示例#21
0
        private static Tuple <Type, ITranslations> CreateTranslations(Assembly assembly)
        {
            foreach (var type in assembly.GetTypes().Where(type => !type.IsAbstract))
            {
                if (type.GetInterfaces().All(x => x != typeof(ITranslations)))
                {
                    continue;
                }

                ITranslations translations = null;
                var           constructor  = type.GetConstructor(Type.EmptyTypes);
                if (constructor != null)
                {
                    translations = constructor.Invoke(null) as ITranslations;
                }
                else
                {
                    var value = Array
                                .Find(type.GetProperties(BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public),
                                      property => property.PropertyType == type)?.GetValue(null);
                    if (value != null)
                    {
                        translations = value as ITranslations;
                    }
                }

                if (translations == null)
                {
                    Log.Error(
                        $"{type.FullName} is a valid Translation class, but it cannot be loaded. It either doesn't have a public default constructor without any arguments or a static property of the {type.FullName} type!");
                    continue;
                }

                return(new Tuple <Type, ITranslations>(type, translations));
            }

            return(null);
        }
示例#22
0
 public Indication(ITranslations translations, Type type, object obj)
 {
     this.type    = type;
     this.obj     = obj;
     Translations = translations;
 }
示例#23
0
文件: gbrainy.cs 项目: GNOME/gbrainy
        public GtkClient(ITranslations translations)
        {
            Translations = translations;
            if (Preferences.Get <bool> (Preferences.EnglishKey) == false)
            {
                translations.Init ("gbrainy", Defines.GNOME_LOCALE_DIR);
            }

            Unix.FixLocaleInfo ();
        }
示例#24
0
 public CairoPreview(ITranslations translations, PlayerHistory history)
 {
     view = new PlayerHistoryView (translations, history);
 }
 /// <summary>
 /// Returns a json with translation resources
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='lang'>
 /// </param>
 public static IDictionary <string, string> GetTranslations(this ITranslations operations, string lang)
 {
     return(operations.GetTranslationsAsync(lang).GetAwaiter().GetResult());
 }
示例#26
0
 public void Construct()
 {
     RegisterDefaultServices();
     translations = new TranslationsCatalog();
 }
示例#27
0
 public BuilderDialog(ITranslations translations, string resourceName, string dialogName)
     : this((System.Reflection.Assembly) null, resourceName, dialogName)
 {
     Translations = translations;
 }
示例#28
0
 internal FigureTypeConverter(ITranslations translations)
 {
     Translations = translations;
 }
示例#29
0
 public PdfExporter(ITranslations translations)
 {
     Translations = translations;
 }
示例#30
0
 public ColorPalette(ITranslations translations)
 {
     Translations = translations;
     alpha        = 1;
     LoadColorArrays();
 }
示例#31
0
 public PlayerHistoryView(ITranslations translations, PlayerHistory history)
 {
     Translations = translations;
     this.history = history;
     ShowLogic = ShowMemory = ShowCalculation = ShowVerbal = true;
 }
示例#32
0
 internal FigureTypeConverter(ITranslations translations)
 {
     Translations = translations;
 }
示例#33
0
 public PdfExporter(ITranslations translations)
 {
     Translations = translations;
 }
示例#34
0
 public CairoPreview(ITranslations translations, PlayerHistory history)
 {
     view = new PlayerHistoryView(translations, history);
 }
示例#35
0
 public ChallengeTwoDigits(ITranslations translations)
     : base(translations)
 {
 }
示例#36
0
 public ViewsControler(ITranslations translations, GameSession session)
 {
     welcome = new WelcomeView(translations);
     finish  = new FinishView(translations, session);
 }
示例#37
0
 public GameTips(ITranslations translations)
 {
     Translations = translations;
 }
示例#38
0
 public BuilderDialog(ITranslations translations, string resourceName, string dialogName) :
     this(new Builder(resourceName, null), dialogName)
 {
     Translations = translations;
 }
示例#39
0
 public ChallengeOdds(ITranslations translations)
     : base(translations)
 {
 }
示例#40
0
    //Lists the games without tip
    static void GetStatistics(GameManager gm, ITranslations translations)
    {
        question_answer = multiple_options = words_options = words_compare = games_xml = 0;
        tip             = rationale = 0;

        GameLocator [] games = gm.AvailableGames;

        foreach (GameLocator locator in games)
        {
            Game game = (Game)Activator.CreateInstance(locator.TypeOf, true);
            game.Variant      = locator.Variant;
            game.Translations = translations;

            if (game as AnalogiesQuestionAnswer != null)
            {
                question_answer++;
            }
            else if (game as AnalogiesMultipleOptions != null)
            {
                multiple_options++;
            }
            else if (game as AnalogiesPairOfWordsOptions != null)
            {
                words_options++;
            }
            else if (game as AnalogiesPairOfWordsCompare != null)
            {
                words_compare++;
            }

            if (game as GameXml != null)
            {
                games_xml++;
            }

            game.Begin();

            if (String.IsNullOrEmpty(game.TipString) == false)
            {
                tip++;
            }

            if (String.IsNullOrEmpty(game.Rationale) == false)
            {
                rationale++;
            }
        }

        int verbal    = question_answer + multiple_options + words_options + words_compare;
        int nonverbal = games.Length - verbal;

        Console.WriteLine("All Games (including variations) - " + games.Length);
        Console.WriteLine("  Games (no-verbal): {0} ({1}%)", nonverbal, nonverbal * 100 / games.Length);
        Console.WriteLine("    Types");
        Console.WriteLine("      Harcoded: {0} ({1}%)", nonverbal - games_xml, (nonverbal - games_xml) * 100 / nonverbal);
        Console.WriteLine("      Xml: {0} ({1}%)", games_xml, games_xml * 100 / nonverbal);
        // In verbal analogies, tip does not make much sense
        Console.WriteLine("    No tip: {0} ({1}%)", nonverbal - tip, (nonverbal - tip) * 100 / nonverbal);
        Console.WriteLine("  Games (verbal): {0} ({1}%)", verbal, verbal * 100 / games.Length);
        Console.WriteLine("  No rationale: {0} ({1}%)", (games.Length - rationale), (games.Length - rationale) * 100 / games.Length);
        Console.WriteLine("");
        Console.WriteLine("Verbal analogies");
        Console.WriteLine("  Question answer {0}", question_answer);
        Console.WriteLine("  Multiple options {0}", multiple_options);
        Console.WriteLine("  Pair of words options {0}", words_options);
        Console.WriteLine("  Pair of words compare {0} (evil)", words_compare);
    }
示例#41
0
 public BuilderDialog(ITranslations translations, string resourceName, string dialogName)
     : this(new Builder (resourceName, null),dialogName)
 {
     Translations = translations;
 }
示例#42
0
        public string GetResult(ITranslations translations)
        {
            string s;

            if (GamesPlayed >= 10) {
                int percentage_won = (int) (100 * GamesWon / GamesPlayed);
                if (percentage_won >= 90)
                    s = translations.GetString ("Outstanding results");
                else if (percentage_won >= 70)
                    s = translations.GetString ("Excellent results");
                else if (percentage_won >= 50)
                    s = translations.GetString ("Good results");
                else if (percentage_won >= 30)
                    s = translations.GetString ("Poor results");
                else s = translations.GetString ("Disappointing results");
            } else
                s = string.Empty;

            return s;
        }
 /// <summary>
 /// Returns a json with translation resources
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='lang'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IDictionary <string, string> > GetTranslationsAsync(this ITranslations operations, string lang, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
 {
     using (var _result = await operations.GetTranslationsWithHttpMessagesAsync(lang, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
示例#44
0
 public GameTips(ITranslations translations)
 {
     Translations = translations;
 }
示例#45
0
 public ChallengeEvens(ITranslations translations)
     : base(translations)
 {
 }
示例#46
0
 public ChallengeEvens(ITranslations translations) : base(translations)
 {
 }
示例#47
0
 public Challenge(ITranslations translations)
 {
     Translations = translations;
 }
示例#48
0
        public WelcomeView(ITranslations translations)
        {
            Container    container;
            DrawableArea drawable_area;
            double       y = 0.22;

            Translations = translations;
            containers   = new List <Toolkit.Container> ();

            /* Logic */
            container = new HorizontalContainer(0.05, y, 0.95, space);
            containers.Add(container);

            drawable_area = new DrawableArea(0.17, image_size);
            container.AddChild(drawable_area);
            drawable_area.DrawEventHandler += delegate(object sender, DrawEventArgs e)
            {
                e.Context.DrawImageFromAssembly("logic-games.svg", 0, 0, image_size, image_size);
            };

            drawable_area = new DrawableArea(0.75, space);
            container.AddChild(drawable_area);
            drawable_area.DrawEventHandler += delegate(object sender, DrawEventArgs e)
            {
                e.Context.DrawStringWithWrapping(0, 0,
                                                 Translations.GetString("Logic puzzles. Challenge your reasoning and thinking skills."),
                                                 e.Width);
            };

            /* Math */
            y        += space;
            container = new HorizontalContainer(0.05, y, 0.95, space);
            containers.Add(container);

            drawable_area = new DrawableArea(0.17, image_size);
            container.AddChild(drawable_area);
            drawable_area.DrawEventHandler += delegate(object sender, DrawEventArgs e)
            {
                e.Context.DrawImageFromAssembly("math-games.svg", 0, 0, image_size, image_size);
            };

            drawable_area = new DrawableArea(0.75, space);
            container.AddChild(drawable_area);
            drawable_area.DrawEventHandler += delegate(object sender, DrawEventArgs e)
            {
                e.Context.DrawStringWithWrapping(0, 0,
                                                 Translations.GetString("Mental calculation. Arithmetical operations that test your mental calculation abilities."),
                                                 e.Width);
            };

            /* Memory */
            y        += space;
            container = new HorizontalContainer(0.05, y, 0.95, space);
            containers.Add(container);

            drawable_area = new DrawableArea(0.17, image_size);
            container.AddChild(drawable_area);
            drawable_area.DrawEventHandler += delegate(object sender, DrawEventArgs e)
            {
                e.Context.DrawImageFromAssembly("memory-games.svg", 0, 0, image_size, image_size);
            };

            drawable_area = new DrawableArea(0.75, space);
            container.AddChild(drawable_area);
            drawable_area.DrawEventHandler += delegate(object sender, DrawEventArgs e)
            {
                e.Context.DrawStringWithWrapping(0, 0,
                                                 Translations.GetString("Memory trainers. To prove your short term memory."),
                                                 e.Width);
            };

            /* Verbal */
            y        += space;
            container = new HorizontalContainer(0.05, y, 0.95, space);
            containers.Add(container);

            drawable_area = new DrawableArea(0.17, image_size);
            container.AddChild(drawable_area);
            drawable_area.DrawEventHandler += delegate(object sender, DrawEventArgs e)
            {
                e.Context.DrawImageFromAssembly("verbal-games.svg", 0, 0, image_size, image_size);
            };

            drawable_area = new DrawableArea(0.75, space);
            container.AddChild(drawable_area);
            drawable_area.DrawEventHandler += delegate(object sender, DrawEventArgs e)
            {
                e.Context.DrawStringWithWrapping(0, 0,
                                                 Translations.GetString("Verbal analogies. Challenge your verbal aptitude."),
                                                 e.Width);
            };
        }
示例#49
0
 public PlayerHistoryView(ITranslations translations, PlayerHistory history)
 {
     Translations = translations;
     this.history = history;
     ShowLogic    = ShowMemory = ShowCalculation = ShowVerbal = true;
 }
示例#50
0
        public PdfExportDialog(GameManager manager, ITranslations translations)
            : base(translations, "PdfExportDialog.ui", "pdfexportbox")
        {
            pdfExporter = new PdfExporter (translations);
            this.manager = manager;
            games_spinbutton.Value = 10;
            checkbox_logic.Active = checkbox_calculation.Active = checkbox_verbal.Active = true;

            // Use defaults from Preferences
             	switch ((GameDifficulty) Preferences.Get <int> (Preferences.DifficultyKey)) {
            case GameDifficulty.Easy:
                rb_easy.Active = rb_easy.HasFocus = true;
                break;
            case GameDifficulty.Medium:
                rb_medium.Active = rb_medium.HasFocus = true;
                break;
            case GameDifficulty.Master:
                rb_master.Active = rb_master.HasFocus = true;
                break;
            }
            // File selection
            string def_file;
            def_file = System.IO.Path.Combine (
                Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments),
                // Translators: default file name used when exporting PDF files (keep the pdf extension please)
                Catalog.GetString ("games.pdf"));

            file = new BrowseFile (hbox_file, def_file, true);

            FileFilter[] filters = new FileFilter [2];
            filters[0] = new FileFilter ();
            filters[0].AddPattern ("*.pdf");
            filters[0].Name = Catalog.GetString ("PDF files");

            filters[1] = new FileFilter ();
            filters[1].AddPattern ("*.*");
            filters[1].Name = Catalog.GetString ("All files");

            file.Filters = filters;

            ListStore layout_store = new ListStore (typeof (string), typeof (int)); // DisplayName, index to array
            CellRenderer layout_cell = new CellRendererText ();
            layout_combo.Model = layout_store;
            layout_combo.PackStart (layout_cell, true);
            layout_combo.SetCellDataFunc (layout_cell, ComboBoxCellFunc);

            int [] per_side = pdfExporter.PagesPerSide;

            for (int i = 0; i < per_side.Length; i++)
                layout_store.AppendValues (per_side[i].ToString (), per_side[i]);

            // Default value
            TreeIter iter;
            bool more = layout_store.GetIterFirst (out iter);
            while (more)
            {
                if ((int) layout_store.GetValue (iter, COLUMN_VALUE) == DEF_SIDEVALUE) {
                    layout_combo.SetActiveIter (iter);
                    break;
                }
                more = layout_store.IterNext (ref iter);
            }
        }
示例#51
0
 public Indication(ITranslations translations, Type type, object obj)
 {
     this.type = type;
     this.obj = obj;
     Translations = translations;
 }
示例#52
0
 public ChallengeOdds(ITranslations translations) : base(translations)
 {
 }
示例#53
0
 public ColorPalette(ITranslations translations)
 {
     Translations = translations;
     alpha = 1;
     LoadColorArrays ();
 }
示例#54
0
        public WelcomeView(ITranslations translations)
        {
            Container container;
            DrawableArea drawable_area;
            double y = 0.22;

            Translations = translations;
            containers = new List <Toolkit.Container> ();

            /* Logic */
            container = new HorizontalContainer (0.05, y, 0.95, space);
            containers.Add (container);

            drawable_area = new DrawableArea (0.17, image_size);
            container.AddChild (drawable_area);
            drawable_area.DrawEventHandler += delegate (object sender, DrawEventArgs e)
            {
                e.Context.DrawImageFromAssembly ("logic-games.svg", 0, 0, image_size, image_size);
            };

            drawable_area = new DrawableArea (0.75, space);
            container.AddChild (drawable_area);
            drawable_area.DrawEventHandler += delegate (object sender, DrawEventArgs e)
            {
                e.Context.DrawStringWithWrapping (0, 0,
                    Translations.GetString ("Logic puzzles. Challenge your reasoning and thinking skills."),
                    e.Width);
            };

            /* Math */
            y += space;
            container = new HorizontalContainer (0.05, y, 0.95, space);
            containers.Add (container);

            drawable_area = new DrawableArea (0.17, image_size);
            container.AddChild (drawable_area);
            drawable_area.DrawEventHandler += delegate (object sender, DrawEventArgs e)
            {
                e.Context.DrawImageFromAssembly ("math-games.svg", 0, 0, image_size, image_size);
            };

            drawable_area = new DrawableArea (0.75, space);
            container.AddChild (drawable_area);
            drawable_area.DrawEventHandler += delegate (object sender, DrawEventArgs e)
            {
                e.Context.DrawStringWithWrapping (0, 0,
                    Translations.GetString ("Mental calculation. Arithmetical operations that test your mental calculation abilities."),
                    e.Width);
            };

            /* Memory */
            y += space;
            container = new HorizontalContainer (0.05, y, 0.95, space);
            containers.Add (container);

            drawable_area = new DrawableArea (0.17, image_size);
            container.AddChild (drawable_area);
            drawable_area.DrawEventHandler += delegate (object sender, DrawEventArgs e)
            {
                e.Context.DrawImageFromAssembly ("memory-games.svg", 0, 0, image_size, image_size);
            };

            drawable_area = new DrawableArea (0.75, space);
            container.AddChild (drawable_area);
            drawable_area.DrawEventHandler += delegate (object sender, DrawEventArgs e)
            {
                e.Context.DrawStringWithWrapping (0, 0,
                    Translations.GetString ("Memory trainers. To prove your short term memory."),
                    e.Width);
            };

            /* Verbal */
            y += space;
            container = new HorizontalContainer (0.05, y, 0.95, space);
            containers.Add (container);

            drawable_area = new DrawableArea (0.17, image_size);
            container.AddChild (drawable_area);
            drawable_area.DrawEventHandler += delegate (object sender, DrawEventArgs e)
            {
                e.Context.DrawImageFromAssembly ("verbal-games.svg", 0, 0, image_size, image_size);
            };

            drawable_area = new DrawableArea (0.75, space);
            container.AddChild (drawable_area);
            drawable_area.DrawEventHandler += delegate (object sender, DrawEventArgs e)
            {
                e.Context.DrawStringWithWrapping (0, 0,
                    Translations.GetString ("Verbal analogies. Challenge your verbal aptitude."),
                    e.Width);
            };
        }
示例#55
0
        public PdfExportDialog(GameManager manager, ITranslations translations) : base(translations, "PdfExportDialog.ui", "pdfexportbox")
        {
            pdfExporter            = new PdfExporter(translations);
            this.manager           = manager;
            games_spinbutton.Value = 10;
            checkbox_logic.Active  = checkbox_calculation.Active = checkbox_verbal.Active = true;

            // Use defaults from Preferences
            switch ((GameDifficulty)Preferences.Get <int> (Preferences.DifficultyKey))
            {
            case GameDifficulty.Easy:
                rb_easy.Active = rb_easy.HasFocus = true;
                break;

            case GameDifficulty.Medium:
                rb_medium.Active = rb_medium.HasFocus = true;
                break;

            case GameDifficulty.Master:
                rb_master.Active = rb_master.HasFocus = true;
                break;
            }
            // File selection
            string def_file;

            def_file = System.IO.Path.Combine(
                Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
                // Translators: default file name used when exporting PDF files (keep the pdf extension please)
                Catalog.GetString("games.pdf"));

            file = new BrowseFile(hbox_file, def_file, true);

            FileFilter[] filters = new FileFilter [2];
            filters[0] = new FileFilter();
            filters[0].AddPattern("*.pdf");
            filters[0].Name = Catalog.GetString("PDF files");

            filters[1] = new FileFilter();
            filters[1].AddPattern("*.*");
            filters[1].Name = Catalog.GetString("All files");

            file.Filters = filters;

            ListStore    layout_store = new ListStore(typeof(string), typeof(int));             // DisplayName, index to array
            CellRenderer layout_cell  = new CellRendererText();

            layout_combo.Model = layout_store;
            layout_combo.PackStart(layout_cell, true);
            layout_combo.SetCellDataFunc(layout_cell, ComboBoxCellFunc);

            int [] per_side = pdfExporter.PagesPerSide;

            for (int i = 0; i < per_side.Length; i++)
            {
                layout_store.AppendValues(per_side[i].ToString(), per_side[i]);
            }

            // Default value
            TreeIter iter;
            bool     more = layout_store.GetIterFirst(out iter);

            while (more)
            {
                if ((int)layout_store.GetValue(iter, COLUMN_VALUE) == DEF_SIDEVALUE)
                {
                    layout_combo.SetActiveIter(iter);
                    break;
                }
                more = layout_store.IterNext(ref iter);
            }
        }
示例#56
0
        public string GetGamesSummary(ITranslations translations)
        {
            String s = string.Empty;
            #if MONO_ADDINS
            s += translations.GetString ("Extensions database:") + " " +
                    System.IO.Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData), "gbrainy");

            s += Environment.NewLine;
            #endif
            // Translators: 'Games registered' is the games know to gbrainy (build-in and load from addins-in and external files)
            s += String.Format (translations.GetString ("{0} games registered: {1} logic puzzles, {2} calculation trainers, {3} memory trainers, {4} verbal analogies"),
                    cnt_logic + cnt_memory + cnt_calculation + cnt_verbal,
                    cnt_logic, cnt_calculation, cnt_memory, cnt_verbal);

            return s;
        }