mirror of
https://github.com/shlomif/PySolFC.git
synced 2025-04-05 00:02:29 -04:00
+ 3 new games
git-svn-id: https://pysolfc.svn.sourceforge.net/svnroot/pysolfc/PySolFC/trunk@96 39dd0a4e-7c14-0410-91b3-c4f2d318f732
This commit is contained in:
parent
c5adcb6cb7
commit
3a15762180
8 changed files with 577 additions and 485 deletions
|
@ -5,7 +5,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PySol 0.0.1\n"
|
||||
"POT-Creation-Date: Sat Nov 11 14:41:04 2006\n"
|
||||
"POT-Creation-Date: Tue Nov 14 16:43:27 2006\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -3411,6 +3411,9 @@ msgstr ""
|
|||
msgid "Theater"
|
||||
msgstr ""
|
||||
|
||||
msgid "Thieves of Egypt"
|
||||
msgstr ""
|
||||
|
||||
msgid "Thirteen Up"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3513,6 +3516,9 @@ msgstr ""
|
|||
msgid "Triple FreeCell"
|
||||
msgstr ""
|
||||
|
||||
msgid "Triple Interchange"
|
||||
msgstr ""
|
||||
|
||||
msgid "Triple Klondike"
|
||||
msgstr ""
|
||||
|
||||
|
|
472
po/pysol.pot
472
po/pysol.pot
File diff suppressed because it is too large
Load diff
|
@ -5,8 +5,8 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PySol 0.0.1\n"
|
||||
"POT-Creation-Date: Sat Nov 11 14:41:04 2006\n"
|
||||
"PO-Revision-Date: 2006-11-11 14:43+0300\n"
|
||||
"POT-Creation-Date: Tue Nov 14 16:43:27 2006\n"
|
||||
"PO-Revision-Date: 2006-11-14 17:04+0300\n"
|
||||
"Last-Translator: Скоморох <skomoroh@gmail.com>\n"
|
||||
"Language-Team: Russian <ru@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -2691,7 +2691,7 @@ msgid "Pegged Triangle 2"
|
|||
msgstr ""
|
||||
|
||||
msgid "Penelope's Web"
|
||||
msgstr ""
|
||||
msgstr "Ткань Пенелопы"
|
||||
|
||||
msgid "Penguin"
|
||||
msgstr "Пингвин"
|
||||
|
@ -2734,7 +2734,7 @@ msgid "Pitchfork"
|
|||
msgstr "Камертон"
|
||||
|
||||
msgid "Plait"
|
||||
msgstr ""
|
||||
msgstr "Плетёнка"
|
||||
|
||||
msgid "Plus Belle"
|
||||
msgstr ""
|
||||
|
@ -2785,7 +2785,7 @@ msgid "Pyramid Golf"
|
|||
msgstr "Пирамидальный Гольф"
|
||||
|
||||
msgid "Q.C."
|
||||
msgstr ""
|
||||
msgstr "Q.C."
|
||||
|
||||
msgid "Quad"
|
||||
msgstr "Четвёрка"
|
||||
|
@ -2878,7 +2878,7 @@ msgid "Relaxed Pyramid"
|
|||
msgstr "Смягчённая Пирамида"
|
||||
|
||||
msgid "Relaxed Seahaven Towers"
|
||||
msgstr ""
|
||||
msgstr "Смягчённые Приморские башни"
|
||||
|
||||
msgid "Relaxed Spider"
|
||||
msgstr "Смягчённый Паук"
|
||||
|
@ -3264,9 +3264,8 @@ msgstr "Квадрат"
|
|||
msgid "Squares"
|
||||
msgstr "Квадраты"
|
||||
|
||||
#, fuzzy
|
||||
msgid "Squaring"
|
||||
msgstr "Квадрат"
|
||||
msgstr "Квадратура"
|
||||
|
||||
msgid "St. Helena"
|
||||
msgstr "Св. Елена"
|
||||
|
@ -3459,6 +3458,9 @@ msgstr "Желание (открытое)"
|
|||
msgid "Theater"
|
||||
msgstr "Театр"
|
||||
|
||||
msgid "Thieves of Egypt"
|
||||
msgstr "Египетский вор"
|
||||
|
||||
msgid "Thirteen Up"
|
||||
msgstr "Тринадцать вверх"
|
||||
|
||||
|
@ -3568,6 +3570,9 @@ msgstr ""
|
|||
msgid "Triple FreeCell"
|
||||
msgstr "Тройная Свободная ячейка"
|
||||
|
||||
msgid "Triple Interchange"
|
||||
msgstr "Тройная Перестановка"
|
||||
|
||||
msgid "Triple Klondike"
|
||||
msgstr "Тройной Клондайк"
|
||||
|
||||
|
@ -3617,9 +3622,8 @@ msgstr "Маджонг Two Domes"
|
|||
msgid "Two Familiars"
|
||||
msgstr "Два знакомца"
|
||||
|
||||
#, fuzzy
|
||||
msgid "Two Pyramids"
|
||||
msgstr "Пирамида"
|
||||
msgstr "Две пирамиды"
|
||||
|
||||
msgid "Two Squares"
|
||||
msgstr "Два квадрата"
|
||||
|
@ -3794,6 +3798,3 @@ msgstr "Зигзагообразный курс"
|
|||
|
||||
msgid "Zodiac"
|
||||
msgstr "Зодиак"
|
||||
|
||||
#~ msgid "Troika +"
|
||||
#~ msgstr "Тройка +"
|
||||
|
|
472
po/ru_pysol.po
472
po/ru_pysol.po
File diff suppressed because it is too large
Load diff
|
@ -970,6 +970,7 @@ class DoubleGoldMine(Streets):
|
|||
# // Breakwater
|
||||
# // Forty Nine
|
||||
# // Alternations
|
||||
# // Triple Interchange
|
||||
# ************************************************************************/
|
||||
|
||||
class Interchange(FortyThieves):
|
||||
|
@ -992,7 +993,8 @@ class Interchange(FortyThieves):
|
|||
|
||||
class Unlimited(Interchange):
|
||||
def createGame(self):
|
||||
FortyThieves.createGame(self, rows=7, max_rounds=UNLIMITED_REDEALS)
|
||||
FortyThieves.createGame(self, rows=7, XOFFSET=0,
|
||||
max_rounds=UNLIMITED_REDEALS)
|
||||
|
||||
|
||||
class Breakwater(Interchange):
|
||||
|
@ -1027,6 +1029,22 @@ class Alternations(Interchange):
|
|||
shallHighlightMatch = Game._shallHighlightMatch_AC
|
||||
|
||||
|
||||
class TripleInterchange(Interchange):
|
||||
RowStack_Class = SS_RowStack
|
||||
|
||||
def createGame(self):
|
||||
FortyThieves.createGame(self, rows=9, XOFFSET=0,
|
||||
max_rounds=UNLIMITED_REDEALS)
|
||||
|
||||
def startGame(self):
|
||||
for i in (0,1,2,3):
|
||||
self.s.talon.dealRow(frames=0)
|
||||
self.s.talon.dealRow(flip=0, frames=0)
|
||||
self.startDealSample()
|
||||
self.s.talon.dealRow()
|
||||
self.s.talon.dealCards()
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // Indian Patience
|
||||
# ************************************************************************/
|
||||
|
@ -1219,4 +1237,6 @@ registerGame(GameInfo(631, Alternations, "Alternations",
|
|||
GI.GT_FORTY_THIEVES, 2, 0, GI.SL_BALANCED))
|
||||
registerGame(GameInfo(632, Floradora, "Floradora",
|
||||
GI.GT_FORTY_THIEVES, 2, 0, GI.SL_MOSTLY_LUCK))
|
||||
registerGame(GameInfo(679, TripleInterchange, "Triple Interchange",
|
||||
GI.GT_FORTY_THIEVES, 3, -1, GI.SL_MOSTLY_SKILL))
|
||||
|
||||
|
|
|
@ -291,6 +291,27 @@ class DoubleKingsley(DoubleKlondike):
|
|||
DoubleKlondike.createGame(self, max_rounds=1)
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // Thieves of Egypt
|
||||
# ************************************************************************/
|
||||
|
||||
class ThievesOfEgypt(DoubleKlondike):
|
||||
Layout_Method = Layout.klondikeLayout
|
||||
|
||||
def createGame(self):
|
||||
DoubleKlondike.createGame(self, rows=10, max_rounds=2)
|
||||
|
||||
def startGame(self):
|
||||
# rows: 1 3 5 7 9 10 8 6 4 2
|
||||
row = 0
|
||||
for i in (0,2,4,6,8,9,7,5,3,1):
|
||||
for j in range(i):
|
||||
self.s.talon.dealRow(rows=[self.s.rows[row]], frames=0)
|
||||
row += 1
|
||||
self.startDealSample()
|
||||
self.s.talon.dealRow()
|
||||
self.s.talon.dealCards() # deal first card to WasteStack
|
||||
|
||||
|
||||
# register the game
|
||||
registerGame(GameInfo(21, DoubleKlondike, "Double Klondike",
|
||||
|
@ -325,6 +346,6 @@ registerGame(GameInfo(591, Pantagruel, "Pantagruel",
|
|||
GI.GT_KLONDIKE, 2, 0, GI.SL_BALANCED))
|
||||
registerGame(GameInfo(668, DoubleKingsley, "Double Kingsley",
|
||||
GI.GT_KLONDIKE, 2, 0, GI.SL_BALANCED))
|
||||
|
||||
|
||||
registerGame(GameInfo(678, ThievesOfEgypt, "Thieves of Egypt",
|
||||
GI.GT_KLONDIKE, 2, 1, GI.SL_BALANCED))
|
||||
|
||||
|
|
|
@ -44,6 +44,7 @@ from pysollib.layout import Layout
|
|||
from pysollib.hint import AbstractHint, DefaultHint, CautiousDefaultHint
|
||||
from pysollib.hint import SpiderType_Hint, YukonType_Hint
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# //
|
||||
# ************************************************************************/
|
||||
|
@ -807,6 +808,7 @@ class SimonJester(Spider):
|
|||
self.startDealSample()
|
||||
self.s.talon.dealRow(rows=self.s.rows[1:])
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // Applegate
|
||||
# ************************************************************************/
|
||||
|
@ -1113,13 +1115,39 @@ class ScorpionII(Scorpion):
|
|||
self.s.talon.dealRow()
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // Tarantula
|
||||
# ************************************************************************/
|
||||
|
||||
class Tarantula_RowStack(Spider_RowStack):
|
||||
def _isSequence(self, cards):
|
||||
return isSameColorSequence(cards, self.cap.mod, self.cap.dir)
|
||||
def _isAcceptableSequence(self, cards):
|
||||
return isRankSequence(cards, self.cap.mod, self.cap.dir)
|
||||
def getHelp(self):
|
||||
return _('Tableau. Build down regardless of suit. Sequences of cards in the same color can be moved as a unit.')
|
||||
|
||||
|
||||
class Tarantula(Spider):
|
||||
RowStack_Class = Tarantula_RowStack
|
||||
|
||||
def getQuickPlayScore(self, ncards, from_stack, to_stack):
|
||||
if to_stack.cards:
|
||||
if from_stack.cards[-1].suit == to_stack.cards[-1].suit:
|
||||
# same suit
|
||||
return 3
|
||||
elif from_stack.cards[-1].color == to_stack.cards[-1].color:
|
||||
# same color
|
||||
return 2
|
||||
return 1
|
||||
return 0
|
||||
|
||||
|
||||
# register the game
|
||||
registerGame(GameInfo(10, RelaxedSpider, "Relaxed Spider",
|
||||
GI.GT_SPIDER | GI.GT_RELAXED, 2, 0, GI.SL_MOSTLY_SKILL))
|
||||
registerGame(GameInfo(11, Spider, "Spider",
|
||||
GI.GT_SPIDER, 2, 0, GI.SL_MOSTLY_SKILL,
|
||||
altnames=("Tarantula",) ))
|
||||
GI.GT_SPIDER, 2, 0, GI.SL_MOSTLY_SKILL))
|
||||
registerGame(GameInfo(49, BlackWidow, "Black Widow",
|
||||
GI.GT_SPIDER, 2, 0, GI.SL_MOSTLY_SKILL,
|
||||
altnames=("Scarab",) ))
|
||||
|
@ -1230,4 +1258,6 @@ registerGame(GameInfo(671, Incompatibility, "Incompatibility",
|
|||
GI.GT_SPIDER, 2, 0, GI.SL_MOSTLY_SKILL))
|
||||
registerGame(GameInfo(672, ScorpionII, "Scorpion II",
|
||||
GI.GT_SPIDER, 1, 0, GI.SL_MOSTLY_SKILL))
|
||||
registerGame(GameInfo(680, Tarantula, "Tarantula",
|
||||
GI.GT_SPIDER, 2, 0, GI.SL_MOSTLY_SKILL))
|
||||
|
||||
|
|
|
@ -54,11 +54,13 @@ def init():
|
|||
if os.environ.has_key('PYSOL_CHECK_GAMES') or \
|
||||
os.environ.has_key('PYSOL_DEBUG'):
|
||||
settings.CHECK_GAMES = True
|
||||
print 'PySol debugging: set CHECK_GAMES to True'
|
||||
if os.environ.has_key('PYSOL_DEBUG'):
|
||||
try:
|
||||
settings.DEBUG = int(os.environ['PYSOL_DEBUG'])
|
||||
except:
|
||||
settings.DEBUG = 1
|
||||
print 'PySol debugging: set DEBUG to', settings.DEBUG
|
||||
|
||||
## init toolkit
|
||||
if '--gtk' in sys.argv:
|
||||
|
|
Loading…
Add table
Reference in a new issue