1
0
Fork 0
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@93 39dd0a4e-7c14-0410-91b3-c4f2d318f732
This commit is contained in:
skomoroh 2006-11-11 22:12:11 +00:00
parent 356f3808e8
commit e9163216b3
7 changed files with 144 additions and 7 deletions

View file

@ -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: Fri Nov 10 23:00:51 2006\n" "POT-Creation-Date: Sat Nov 11 14:41:04 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"
@ -357,6 +357,9 @@ msgstr ""
msgid "Box Kite" msgid "Box Kite"
msgstr "" msgstr ""
msgid "Boxing the Compass"
msgstr ""
msgid "Braid" msgid "Braid"
msgstr "" msgstr ""
@ -1296,6 +1299,9 @@ msgstr ""
msgid "Hanafuda Four Seasons" msgid "Hanafuda Four Seasons"
msgstr "" msgstr ""
msgid "Hanafuda Four Winds"
msgstr ""
msgid "Hanoi Puzzle 4" msgid "Hanoi Puzzle 4"
msgstr "" msgstr ""
@ -3555,6 +3561,9 @@ msgstr ""
msgid "Two Familiars" msgid "Two Familiars"
msgstr "" msgstr ""
msgid "Two Pyramids"
msgstr ""
msgid "Two Squares" msgid "Two Squares"
msgstr "" msgstr ""

View file

@ -14,7 +14,7 @@ msgid ""
msgstr "" msgstr ""
"#-#-#-#-# pysol-1.pot (PACKAGE VERSION) #-#-#-#-#\n" "#-#-#-#-# pysol-1.pot (PACKAGE VERSION) #-#-#-#-#\n"
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: Fri Nov 10 23:01:45 2006\n" "POT-Creation-Date: Sat Nov 11 14:41:56 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"
@ -24,7 +24,7 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n" "Generated-By: pygettext.py 1.5\n"
"#-#-#-#-# pysol-2.pot (PACKAGE VERSION) #-#-#-#-#\n" "#-#-#-#-# pysol-2.pot (PACKAGE VERSION) #-#-#-#-#\n"
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2006-11-10 23:01+0300\n" "POT-Creation-Date: 2006-11-11 14:41+0300\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"

View file

@ -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: Fri Nov 10 23:00:51 2006\n" "POT-Creation-Date: Sat Nov 11 14:41:04 2006\n"
"PO-Revision-Date: 2006-11-10 13:20+0300\n" "PO-Revision-Date: 2006-11-11 14:43+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"
@ -359,6 +359,9 @@ msgstr "Коробка для веера"
msgid "Box Kite" msgid "Box Kite"
msgstr "Воздушный змей" msgstr "Воздушный змей"
msgid "Boxing the Compass"
msgstr "Футляр для компаса"
msgid "Braid" msgid "Braid"
msgstr "Коса" msgstr "Коса"
@ -1314,6 +1317,9 @@ msgstr "Половинный Маджонг Стена"
msgid "Hanafuda Four Seasons" msgid "Hanafuda Four Seasons"
msgstr "Ханафуда Четыре сезона" msgstr "Ханафуда Четыре сезона"
msgid "Hanafuda Four Winds"
msgstr "Ханафуда Четыре ветра"
msgid "Hanoi Puzzle 4" msgid "Hanoi Puzzle 4"
msgstr "Ханойская головоломка 4" msgstr "Ханойская головоломка 4"
@ -3611,6 +3617,10 @@ msgstr "Маджонг Two Domes"
msgid "Two Familiars" msgid "Two Familiars"
msgstr "Два знакомца" msgstr "Два знакомца"
#, fuzzy
msgid "Two Pyramids"
msgstr "Пирамида"
msgid "Two Squares" msgid "Two Squares"
msgstr "Два квадрата" msgstr "Два квадрата"

View file

@ -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: Fri Nov 10 23:01:45 2006\n" "POT-Creation-Date: Sat Nov 11 14:41:56 2006\n"
"PO-Revision-Date: 2006-11-10 23:18+0300\n" "PO-Revision-Date: 2006-11-10 23:18+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"

View file

@ -1038,6 +1038,48 @@ class Exit(Game):
return self._checkPair(card1, card2) return self._checkPair(card1, card2)
# /***********************************************************************
# // Two Pyramids
# ************************************************************************/
class TwoPyramids(Pyramid):
def createGame(self):
# create layout
l, s = Layout(self), self.s
# set window
w = l.XM + 14*l.XS
h = l.YM + 5*l.YS
self.setSize(w, h)
# create stacks
x, y = l.XM, l.YM+l.YS
s.rows = self._createPyramid(l, x, y, 7)
x += 7*l.XS
s.rows += self._createPyramid(l, x, y, 7)
x, y = l.XM, l.YM
s.talon = self.Talon_Class(x, y, self)
l.createText(s.talon, "se")
tx, ty, ta, tf = l.getTextAttr(s.talon, "ne")
font = self.app.getFont("canvas_default")
s.talon.texts.rounds = MfxCanvasText(self.canvas, tx, ty,
anchor=ta, font=font)
y += l.YS
s.waste = self.WasteStack_Class(x, y, self, max_accept=1)
l.createText(s.waste, "se")
x, y = self.width-l.XS, l.YM
s.foundations.append(self.Foundation_Class(x, y, self,
suit=ANY_SUIT, dir=0, base_rank=ANY_RANK,
max_move=0, max_cards=104))
# define stack-groups
l.defaultStackGroups()
self.sg.openstacks.append(s.talon)
self.sg.dropstacks.append(s.talon)
self.sg.openstacks.append(s.waste)
# register the game # register the game
registerGame(GameInfo(38, Pyramid, "Pyramid", registerGame(GameInfo(38, Pyramid, "Pyramid",
@ -1071,4 +1113,6 @@ registerGame(GameInfo(659, Cheops, "Cheops",
GI.GT_PAIRING_TYPE, 1, 0, GI.SL_MOSTLY_SKILL)) GI.GT_PAIRING_TYPE, 1, 0, GI.SL_MOSTLY_SKILL))
registerGame(GameInfo(674, Exit, "Exit", registerGame(GameInfo(674, Exit, "Exit",
GI.GT_PAIRING_TYPE, 1, 0, GI.SL_MOSTLY_SKILL)) GI.GT_PAIRING_TYPE, 1, 0, GI.SL_MOSTLY_SKILL))
registerGame(GameInfo(677, TwoPyramids, "Two Pyramids",
GI.GT_PAIRING_TYPE | GI.GT_ORIGINAL, 2, 2, GI.SL_MOSTLY_LUCK))

View file

@ -909,6 +909,76 @@ class ShadyLanes(Game):
shallHighlightMatch = Game._shallHighlightMatch_AC shallHighlightMatch = Game._shallHighlightMatch_AC
# /***********************************************************************
# // Four Winds
# // Boxing the Compass
# ************************************************************************/
class FourWinds_RowStack(ReserveStack):
def getBottomImage(self):
return self.game.app.images.getSuitBottom(self.cap.base_suit)
class FourWinds(Game):
def createGame(self):
l, s = Layout(self), self.s
self.setSize(l.XM+9*l.XS, l.YM+6*l.YS)
# vertical rows
x = l.XM+l.XS
for i in (0, 1):
y = l.YM+l.YS
for j in range(4):
s.rows.append(FourWinds_RowStack(x, y, self, base_suit=i))
y += l.YS
x += 6*l.XS
# horizontal rows
y = l.YM+l.YS
for i in (2, 3):
x = l.XM+2.5*l.XS
for j in range(4):
s.rows.append(FourWinds_RowStack(x, y, self, base_suit=i))
x += l.XS
y += 3*l.YS
# foundations
decks = self.gameinfo.decks
for k in range(decks):
suit = 0
for i, j in ((0, 3-decks*0.5+k),
(8, 3-decks*0.5+k),
(4.5-decks*0.5+k, 0),
(4.5-decks*0.5+k, 5)):
x, y = l.XM+i*l.XS, l.YM+j*l.YS
s.foundations.append(SS_FoundationStack(x, y, self,
suit=suit, max_move=0))
suit += 1
# talon & waste
x, y = l.XM+3.5*l.XS, l.YM+2.5*l.YS
s.talon = WasteTalonStack(x, y, self, max_rounds=2)
l.createText(s.talon, 'n')
x += l.XS
s.waste = WasteStack(x, y, self)
l.createText(s.waste, 'n')
l.defaultStackGroups()
def startGame(self):
self.s.talon.dealRow(rows=self.s.foundations, frames=0)
self.startDealSample()
self.s.talon.dealRow()
self.s.talon.dealCards()
def _shuffleHook(self, cards):
# move Aces to top of the Talon (i.e. first cards to be dealt)
return self._shuffleHookMoveToTop(cards,
lambda c: (c.rank == ACE, (c.deck, c.suit)))
class BoxingTheCompass(FourWinds):
pass
# register the game # register the game
registerGame(GameInfo(54, RoyalCotillion, "Royal Cotillion", registerGame(GameInfo(54, RoyalCotillion, "Royal Cotillion",
@ -943,4 +1013,8 @@ registerGame(GameInfo(638, RoyalRendezvous, "Royal Rendezvous",
GI.GT_2DECK_TYPE, 2, 0, GI.SL_BALANCED)) GI.GT_2DECK_TYPE, 2, 0, GI.SL_BALANCED))
registerGame(GameInfo(639, ShadyLanes, "Shady Lanes", registerGame(GameInfo(639, ShadyLanes, "Shady Lanes",
GI.GT_2DECK_TYPE, 2, 0, GI.SL_BALANCED)) GI.GT_2DECK_TYPE, 2, 0, GI.SL_BALANCED))
registerGame(GameInfo(675, FourWinds, "Four Winds",
GI.GT_1DECK_TYPE, 1, 1, GI.SL_BALANCED))
registerGame(GameInfo(676, BoxingTheCompass, "Boxing the Compass",
GI.GT_2DECK_TYPE, 2, 1, GI.SL_BALANCED))

View file

@ -1030,7 +1030,7 @@ r(12348, FlowerClock, "Flower Clock", GI.GT_HANAFUDA | GI.GT_OPEN, 1, 0, GI.SL_M
r(12349, Pagoda, "Pagoda", GI.GT_HANAFUDA, 2, 0, GI.SL_BALANCED) r(12349, Pagoda, "Pagoda", GI.GT_HANAFUDA, 2, 0, GI.SL_BALANCED)
r(12350, Samuri, "Samuri", GI.GT_HANAFUDA, 1, 0, GI.SL_BALANCED) r(12350, Samuri, "Samuri", GI.GT_HANAFUDA, 1, 0, GI.SL_BALANCED)
r(12351, GreatWall, "Great Wall", GI.GT_HANAFUDA, 4, 0, GI.SL_MOSTLY_SKILL) r(12351, GreatWall, "Great Wall", GI.GT_HANAFUDA, 4, 0, GI.SL_MOSTLY_SKILL)
r(12352, FourWinds, "Four Winds", GI.GT_HANAFUDA, 1, 1, GI.SL_MOSTLY_SKILL) r(12352, FourWinds, "Hanafuda Four Winds", GI.GT_HANAFUDA, 1, 1, GI.SL_MOSTLY_SKILL)
r(12353, Sumo, "Sumo", GI.GT_HANAFUDA, 1, 0, GI.SL_MOSTLY_SKILL) r(12353, Sumo, "Sumo", GI.GT_HANAFUDA, 1, 0, GI.SL_MOSTLY_SKILL)
r(12354, BigSumo, "Big Sumo", GI.GT_HANAFUDA, 2, 0, GI.SL_MOSTLY_SKILL) r(12354, BigSumo, "Big Sumo", GI.GT_HANAFUDA, 2, 0, GI.SL_MOSTLY_SKILL)
r(12355, LittleEasy, "Little Easy", GI.GT_HANAFUDA, 1, -1, GI.SL_BALANCED) r(12355, LittleEasy, "Little Easy", GI.GT_HANAFUDA, 1, -1, GI.SL_BALANCED)