def updateText(self): if self.preview > 1 or self.texts.info is None: return # find matching tiles stacks = [] for r in self.s.rows: if r.cards and not r.basicIsBlocked(): stacks.append(r) f, i = 0, 0 for r in stacks: n = 0 for t in stacks[i + 1:]: if self.cardsMatch(r.cards[0], t.cards[0]): n += 1 # if n == 3: n = 1 # elif n == 2: n = 0 n = n % 2 f += n i += 1 if f == 0: f = _('No Free\nMatching\nPairs') else: f = ungettext('%d Free\nMatching\nPair', '%d Free\nMatching\nPairs', f) % f t = sum([len(i.cards) for i in self.s.foundations]) r1 = ungettext('%d\nTile\nRemoved\n\n', '%d\nTiles\nRemoved\n\n', t) % t r2 = ungettext('%d\nTile\nRemaining\n\n', '%d\nTiles\nRemaining\n\n', self.NCARDS - t) % (self.NCARDS - t) t = r1 + r2 + f self.texts.info.config(text=t)
def updateText(self): if self.preview > 1 or self.texts.info is None: return if self.app.opt.shisen_show_matching: # find matching tiles stacks = self.s.rows f, i = 0, 0 for r in stacks: i = i + 1 if not r.cards: continue for t in stacks[i:]: if not t.cards: continue if r.acceptsCards(t, t.cards): f += 1 if f == 0: f = _('No Free\nMatching\nPairs') else: f = ungettext('%d Free\nMatching\nPair', '%d Free\nMatching\nPairs', f) % f else: f = '' t = len(self.s.foundations[0].cards) r1 = ungettext('%d\nTile\nRemoved\n\n', '%d\nTiles\nRemoved\n\n', t) % t r2 = ungettext('%d\nTile\nRemaining\n\n', '%d\nTiles\nRemaining\n\n', self.NCARDS - t) % (self.NCARDS - t) t = r1 + r2 + f self.texts.info.config(text=t)
def startSolving(self): from gettext import ungettext self._reset() game = self.app.game solver = game.Solver_Class(game, self) # create solver instance game.solver = solver preset = self.preset_var.get() max_iters = self._getMaxIters() progress = self.app.opt.solver_show_progress solver.config(preset=preset, max_iters=max_iters, progress=progress) try: solver.computeHints() except RuntimeError: self.result_label['text'] = _('Solver not found in the PATH') return hints_len = len(solver.hints)-1 if hints_len > 0: t = ungettext('This game is solvable in %d move.', 'This game is solvable in %d moves.', hints_len) % hints_len self.result_label['text'] = t self.play_button.config(state='normal') else: self.result_label['text'] = \ (_('I could not solve this game.') if solver.solver_state == 'unsolved' else _('Iterations count exceeded (Intractable)')) self.play_button.config(state='disabled')
def startSolving(self): from gettext import ungettext self._reset() game = self.app.game solver = game.Solver_Class(game, self) # create solver instance game.solver = solver preset = self.preset_var.get() max_iters = self._getMaxIters() progress = self.app.opt.solver_show_progress solver.config(preset=preset, max_iters=max_iters, progress=progress) try: solver.computeHints() except RuntimeError: self.result_label['text'] = _('Solver not found in the PATH') return hints_len = len(solver.hints) - 1 if hints_len > 0: t = ungettext('This game is solvable in %d move.', 'This game is solvable in %d moves.', hints_len) % hints_len self.result_label['text'] = t self.play_button.config(state='normal') else: self.result_label['text'] = \ (_('I could not solve this game.') if solver.solver_state == 'unsolved' else _('Iterations count exceeded (Intractable)')) self.play_button.config(state='disabled')
def startSolving(self): from gettext import ungettext self._reset() game = self.app.game solver = game.Solver_Class(game, self) # create solver instance game.solver = solver method = self.solving_method_var.get() method = self.solving_methods[method] preset = self.preset_var.get() max_iters = self.max_iters_var.get() max_depth = self.max_depth_var.get() progress = self.progress_var.get() solver.config(method=method, preset=preset, max_iters=max_iters, max_depth=max_depth, progress=progress) solver.computeHints() hints_len = len(solver.hints) - 1 if hints_len > 0: t = ( ungettext("This game is solveable in %d move.", "This game is solveable in %d moves.", hints_len) % hints_len ) self.result_label["text"] = t self.play_button.config(state="normal") else: self.result_label["text"] = _("I could not solve this game.") self.play_button.config(state="disabled")
def updateText(self): if self.preview > 1 or self.texts.info is None: return # find matching tiles stacks = [] for r in self.s.rows: if r.cards and not r.basicIsBlocked(): stacks.append(r) f, i = 0, 0 for r in stacks: n = 0 for t in stacks[i+1:]: if self.cardsMatch(r.cards[0], t.cards[0]): n += 1 #if n == 3: n = 1 #elif n == 2: n = 0 n = n % 2 f += n i += 1 if f == 0: f = _('No Free\nMatching\nPairs') else: f = ungettext('%d Free\nMatching\nPair', '%d Free\nMatching\nPairs', f) % f t = sum([len(i.cards) for i in self.s.foundations]) r1 = ungettext('%d\nTile\nRemoved\n\n', '%d\nTiles\nRemoved\n\n', t) % t r2 = ungettext('%d\nTile\nRemaining\n\n', '%d\nTiles\nRemaining\n\n', self.NCARDS - t) % (self.NCARDS - t) t = r1 + r2 + f self.texts.info.config(text=t)
def updateText(self): if self.preview > 1 or self.texts.info is None: return if self.app.opt.shisen_show_matching: # find matching tiles stacks = self.s.rows f, i = 0, 0 for r in stacks: i = i + 1 if not r.cards: continue for t in stacks[i:]: if not t.cards: continue if r.acceptsCards(t, t.cards): f += 1 if f == 0: f = _('No Free\nMatching\nPairs') else: f = ungettext('%d Free\nMatching\nPair', '%d Free\nMatching\nPairs', f) % f else: f = '' t = len(self.s.foundations[0].cards) r1 = ungettext('%d\nTile\nRemoved\n\n', '%d\nTiles\nRemoved\n\n', t) % t r2 = ungettext('%d\nTile\nRemaining\n\n', '%d\nTiles\nRemaining\n\n', self.NCARDS - t) % (self.NCARDS - t) t = r1 + r2 + f self.texts.info.config(text = t)
def startSolving(self): from gettext import ungettext self._reset() game = self.app.game solver = game.Solver_Class(game, self) # create solver instance game.solver = solver preset = self.preset_var.get() max_iters = self.max_iters_var.get() max_depth = self.max_depth_var.get() progress = self.progress_var.get() solver.config(preset=preset, max_iters=max_iters, max_depth=max_depth, progress=progress) solver.computeHints() hints_len = len(solver.hints)-1 if hints_len > 0: t = ungettext('This game is solveable in %d move.', 'This game is solveable in %d moves.', hints_len) % hints_len self.result_label['text'] = t self.play_button.config(state='normal') else: self.result_label['text'] = (_('I could not solve this game.') if solver.solver_state == 'unsolved' else _('Iterations count exceeded (Intractable)')) self.play_button.config(state='disabled')
def ngettext(self, singular, plural, n, domain=None, origin=None): domain = domain or self._default_domain gettext = self._cached_gettext_instance(domain, origin) result = gettext.ungettext(singular, plural, n) return result