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 ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PySol 0.0.1\n"
|
"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"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -3411,6 +3411,9 @@ msgstr ""
|
||||||
msgid "Theater"
|
msgid "Theater"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Thieves of Egypt"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Thirteen Up"
|
msgid "Thirteen Up"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -3513,6 +3516,9 @@ msgstr ""
|
||||||
msgid "Triple FreeCell"
|
msgid "Triple FreeCell"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Triple Interchange"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Triple Klondike"
|
msgid "Triple Klondike"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
472
po/pysol.pot
472
po/pysol.pot
File diff suppressed because it is too large
Load diff
|
@ -5,8 +5,8 @@
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PySol 0.0.1\n"
|
"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: 2006-11-11 14:43+0300\n"
|
"PO-Revision-Date: 2006-11-14 17:04+0300\n"
|
||||||
"Last-Translator: Скоморох <skomoroh@gmail.com>\n"
|
"Last-Translator: Скоморох <skomoroh@gmail.com>\n"
|
||||||
"Language-Team: Russian <ru@li.org>\n"
|
"Language-Team: Russian <ru@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
|
@ -2691,7 +2691,7 @@ msgid "Pegged Triangle 2"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Penelope's Web"
|
msgid "Penelope's Web"
|
||||||
msgstr ""
|
msgstr "Ткань Пенелопы"
|
||||||
|
|
||||||
msgid "Penguin"
|
msgid "Penguin"
|
||||||
msgstr "Пингвин"
|
msgstr "Пингвин"
|
||||||
|
@ -2734,7 +2734,7 @@ msgid "Pitchfork"
|
||||||
msgstr "Камертон"
|
msgstr "Камертон"
|
||||||
|
|
||||||
msgid "Plait"
|
msgid "Plait"
|
||||||
msgstr ""
|
msgstr "Плетёнка"
|
||||||
|
|
||||||
msgid "Plus Belle"
|
msgid "Plus Belle"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2785,7 +2785,7 @@ msgid "Pyramid Golf"
|
||||||
msgstr "Пирамидальный Гольф"
|
msgstr "Пирамидальный Гольф"
|
||||||
|
|
||||||
msgid "Q.C."
|
msgid "Q.C."
|
||||||
msgstr ""
|
msgstr "Q.C."
|
||||||
|
|
||||||
msgid "Quad"
|
msgid "Quad"
|
||||||
msgstr "Четвёрка"
|
msgstr "Четвёрка"
|
||||||
|
@ -2878,7 +2878,7 @@ msgid "Relaxed Pyramid"
|
||||||
msgstr "Смягчённая Пирамида"
|
msgstr "Смягчённая Пирамида"
|
||||||
|
|
||||||
msgid "Relaxed Seahaven Towers"
|
msgid "Relaxed Seahaven Towers"
|
||||||
msgstr ""
|
msgstr "Смягчённые Приморские башни"
|
||||||
|
|
||||||
msgid "Relaxed Spider"
|
msgid "Relaxed Spider"
|
||||||
msgstr "Смягчённый Паук"
|
msgstr "Смягчённый Паук"
|
||||||
|
@ -3264,9 +3264,8 @@ msgstr "Квадрат"
|
||||||
msgid "Squares"
|
msgid "Squares"
|
||||||
msgstr "Квадраты"
|
msgstr "Квадраты"
|
||||||
|
|
||||||
#, fuzzy
|
|
||||||
msgid "Squaring"
|
msgid "Squaring"
|
||||||
msgstr "Квадрат"
|
msgstr "Квадратура"
|
||||||
|
|
||||||
msgid "St. Helena"
|
msgid "St. Helena"
|
||||||
msgstr "Св. Елена"
|
msgstr "Св. Елена"
|
||||||
|
@ -3459,6 +3458,9 @@ msgstr "Желание (открытое)"
|
||||||
msgid "Theater"
|
msgid "Theater"
|
||||||
msgstr "Театр"
|
msgstr "Театр"
|
||||||
|
|
||||||
|
msgid "Thieves of Egypt"
|
||||||
|
msgstr "Египетский вор"
|
||||||
|
|
||||||
msgid "Thirteen Up"
|
msgid "Thirteen Up"
|
||||||
msgstr "Тринадцать вверх"
|
msgstr "Тринадцать вверх"
|
||||||
|
|
||||||
|
@ -3568,6 +3570,9 @@ msgstr ""
|
||||||
msgid "Triple FreeCell"
|
msgid "Triple FreeCell"
|
||||||
msgstr "Тройная Свободная ячейка"
|
msgstr "Тройная Свободная ячейка"
|
||||||
|
|
||||||
|
msgid "Triple Interchange"
|
||||||
|
msgstr "Тройная Перестановка"
|
||||||
|
|
||||||
msgid "Triple Klondike"
|
msgid "Triple Klondike"
|
||||||
msgstr "Тройной Клондайк"
|
msgstr "Тройной Клондайк"
|
||||||
|
|
||||||
|
@ -3617,9 +3622,8 @@ msgstr "Маджонг Two Domes"
|
||||||
msgid "Two Familiars"
|
msgid "Two Familiars"
|
||||||
msgstr "Два знакомца"
|
msgstr "Два знакомца"
|
||||||
|
|
||||||
#, fuzzy
|
|
||||||
msgid "Two Pyramids"
|
msgid "Two Pyramids"
|
||||||
msgstr "Пирамида"
|
msgstr "Две пирамиды"
|
||||||
|
|
||||||
msgid "Two Squares"
|
msgid "Two Squares"
|
||||||
msgstr "Два квадрата"
|
msgstr "Два квадрата"
|
||||||
|
@ -3794,6 +3798,3 @@ msgstr "Зигзагообразный курс"
|
||||||
|
|
||||||
msgid "Zodiac"
|
msgid "Zodiac"
|
||||||
msgstr "Зодиак"
|
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
|
# // Breakwater
|
||||||
# // Forty Nine
|
# // Forty Nine
|
||||||
# // Alternations
|
# // Alternations
|
||||||
|
# // Triple Interchange
|
||||||
# ************************************************************************/
|
# ************************************************************************/
|
||||||
|
|
||||||
class Interchange(FortyThieves):
|
class Interchange(FortyThieves):
|
||||||
|
@ -992,7 +993,8 @@ class Interchange(FortyThieves):
|
||||||
|
|
||||||
class Unlimited(Interchange):
|
class Unlimited(Interchange):
|
||||||
def createGame(self):
|
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):
|
class Breakwater(Interchange):
|
||||||
|
@ -1027,6 +1029,22 @@ class Alternations(Interchange):
|
||||||
shallHighlightMatch = Game._shallHighlightMatch_AC
|
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
|
# // Indian Patience
|
||||||
# ************************************************************************/
|
# ************************************************************************/
|
||||||
|
@ -1219,4 +1237,6 @@ registerGame(GameInfo(631, Alternations, "Alternations",
|
||||||
GI.GT_FORTY_THIEVES, 2, 0, GI.SL_BALANCED))
|
GI.GT_FORTY_THIEVES, 2, 0, GI.SL_BALANCED))
|
||||||
registerGame(GameInfo(632, Floradora, "Floradora",
|
registerGame(GameInfo(632, Floradora, "Floradora",
|
||||||
GI.GT_FORTY_THIEVES, 2, 0, GI.SL_MOSTLY_LUCK))
|
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)
|
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
|
# register the game
|
||||||
registerGame(GameInfo(21, DoubleKlondike, "Double Klondike",
|
registerGame(GameInfo(21, DoubleKlondike, "Double Klondike",
|
||||||
|
@ -325,6 +346,6 @@ registerGame(GameInfo(591, Pantagruel, "Pantagruel",
|
||||||
GI.GT_KLONDIKE, 2, 0, GI.SL_BALANCED))
|
GI.GT_KLONDIKE, 2, 0, GI.SL_BALANCED))
|
||||||
registerGame(GameInfo(668, DoubleKingsley, "Double Kingsley",
|
registerGame(GameInfo(668, DoubleKingsley, "Double Kingsley",
|
||||||
GI.GT_KLONDIKE, 2, 0, GI.SL_BALANCED))
|
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 AbstractHint, DefaultHint, CautiousDefaultHint
|
||||||
from pysollib.hint import SpiderType_Hint, YukonType_Hint
|
from pysollib.hint import SpiderType_Hint, YukonType_Hint
|
||||||
|
|
||||||
|
|
||||||
# /***********************************************************************
|
# /***********************************************************************
|
||||||
# //
|
# //
|
||||||
# ************************************************************************/
|
# ************************************************************************/
|
||||||
|
@ -807,6 +808,7 @@ class SimonJester(Spider):
|
||||||
self.startDealSample()
|
self.startDealSample()
|
||||||
self.s.talon.dealRow(rows=self.s.rows[1:])
|
self.s.talon.dealRow(rows=self.s.rows[1:])
|
||||||
|
|
||||||
|
|
||||||
# /***********************************************************************
|
# /***********************************************************************
|
||||||
# // Applegate
|
# // Applegate
|
||||||
# ************************************************************************/
|
# ************************************************************************/
|
||||||
|
@ -1113,13 +1115,39 @@ class ScorpionII(Scorpion):
|
||||||
self.s.talon.dealRow()
|
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
|
# register the game
|
||||||
registerGame(GameInfo(10, RelaxedSpider, "Relaxed Spider",
|
registerGame(GameInfo(10, RelaxedSpider, "Relaxed Spider",
|
||||||
GI.GT_SPIDER | GI.GT_RELAXED, 2, 0, GI.SL_MOSTLY_SKILL))
|
GI.GT_SPIDER | GI.GT_RELAXED, 2, 0, GI.SL_MOSTLY_SKILL))
|
||||||
registerGame(GameInfo(11, Spider, "Spider",
|
registerGame(GameInfo(11, Spider, "Spider",
|
||||||
GI.GT_SPIDER, 2, 0, GI.SL_MOSTLY_SKILL,
|
GI.GT_SPIDER, 2, 0, GI.SL_MOSTLY_SKILL))
|
||||||
altnames=("Tarantula",) ))
|
|
||||||
registerGame(GameInfo(49, BlackWidow, "Black Widow",
|
registerGame(GameInfo(49, BlackWidow, "Black Widow",
|
||||||
GI.GT_SPIDER, 2, 0, GI.SL_MOSTLY_SKILL,
|
GI.GT_SPIDER, 2, 0, GI.SL_MOSTLY_SKILL,
|
||||||
altnames=("Scarab",) ))
|
altnames=("Scarab",) ))
|
||||||
|
@ -1230,4 +1258,6 @@ registerGame(GameInfo(671, Incompatibility, "Incompatibility",
|
||||||
GI.GT_SPIDER, 2, 0, GI.SL_MOSTLY_SKILL))
|
GI.GT_SPIDER, 2, 0, GI.SL_MOSTLY_SKILL))
|
||||||
registerGame(GameInfo(672, ScorpionII, "Scorpion II",
|
registerGame(GameInfo(672, ScorpionII, "Scorpion II",
|
||||||
GI.GT_SPIDER, 1, 0, GI.SL_MOSTLY_SKILL))
|
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 \
|
if os.environ.has_key('PYSOL_CHECK_GAMES') or \
|
||||||
os.environ.has_key('PYSOL_DEBUG'):
|
os.environ.has_key('PYSOL_DEBUG'):
|
||||||
settings.CHECK_GAMES = True
|
settings.CHECK_GAMES = True
|
||||||
|
print 'PySol debugging: set CHECK_GAMES to True'
|
||||||
if os.environ.has_key('PYSOL_DEBUG'):
|
if os.environ.has_key('PYSOL_DEBUG'):
|
||||||
try:
|
try:
|
||||||
settings.DEBUG = int(os.environ['PYSOL_DEBUG'])
|
settings.DEBUG = int(os.environ['PYSOL_DEBUG'])
|
||||||
except:
|
except:
|
||||||
settings.DEBUG = 1
|
settings.DEBUG = 1
|
||||||
|
print 'PySol debugging: set DEBUG to', settings.DEBUG
|
||||||
|
|
||||||
## init toolkit
|
## init toolkit
|
||||||
if '--gtk' in sys.argv:
|
if '--gtk' in sys.argv:
|
||||||
|
|
Loading…
Add table
Reference in a new issue