1
0
Fork 0
mirror of https://github.com/shlomif/PySolFC.git synced 2025-04-05 00:02:29 -04:00

+ 2 new games

* updated translation
* misc. improvements and bugs fixes


git-svn-id: file:///home/shlomif/Backup/svn-dumps/PySolFC/svnsync-repos/pysolfc/PySolFC/trunk@75 efabe8c0-fbe8-4139-b769-b5e6d273206e
This commit is contained in:
skomoroh 2006-10-01 21:09:18 +00:00
parent 86aecf019a
commit 3d6636ee2e
5 changed files with 99 additions and 68 deletions

View file

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PySol 0.0.1\n" "Project-Id-Version: PySol 0.0.1\n"
"POT-Creation-Date: Thu Sep 21 15:56:22 2006\n" "POT-Creation-Date: Thu Sep 21 15:56:22 2006\n"
"PO-Revision-Date: 2006-09-17 17:05+0400\n" "PO-Revision-Date: 2006-09-30 18:19+0400\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"
@ -47,13 +47,11 @@ msgstr "8 x 8"
msgid "Abacus" msgid "Abacus"
msgstr "Абак" msgstr "Абак"
#, fuzzy
msgid "Accordion" msgid "Accordion"
msgstr "Скорпион" msgstr "Аккордеон"
#, fuzzy
msgid "Aces High" msgid "Aces High"
msgstr "Тузы вверх" msgstr "Тузы сверху"
msgid "Aces Up" msgid "Aces Up"
msgstr "Тузы вверх" msgstr "Тузы вверх"
@ -211,11 +209,10 @@ msgid "Balance"
msgstr "Баланс" msgstr "Баланс"
msgid "Balarama" msgid "Balarama"
msgstr "" msgstr "Баларама"
#, fuzzy
msgid "Baroness" msgid "Baroness"
msgstr "Основа" msgstr "Баронесса"
msgid "Bastille Day" msgid "Bastille Day"
msgstr "День Бастилии" msgstr "День Бастилии"
@ -244,7 +241,6 @@ msgstr "Клюв и ласты"
msgid "Beatle" msgid "Beatle"
msgstr "Жук" msgstr "Жук"
#, fuzzy
msgid "Beetle" msgid "Beetle"
msgstr "Жук" msgstr "Жук"
@ -272,9 +268,8 @@ msgstr "Большой Внутренний двор"
msgid "Big Deal" msgid "Big Deal"
msgstr "Большая Расдача" msgstr "Большая Расдача"
#, fuzzy
msgid "Big Divorce" msgid "Big Divorce"
msgstr "Большая дыра" msgstr "Большой разрыв"
#, fuzzy #, fuzzy
msgid "Big Easy" msgid "Big Easy"
@ -283,9 +278,8 @@ msgstr "Большая арфа"
msgid "Big Flying Dragon" msgid "Big Flying Dragon"
msgstr "Большой Летящий Дракон" msgstr "Большой Летящий Дракон"
#, fuzzy
msgid "Big Forty" msgid "Big Forty"
msgstr "Форт" msgstr "Большие сорок"
msgid "Big Harp" msgid "Big Harp"
msgstr "Большая арфа" msgstr "Большая арфа"
@ -383,12 +377,11 @@ msgstr "Мост"
msgid "Bridge 2" msgid "Bridge 2"
msgstr "Мост 2" msgstr "Мост 2"
#, fuzzy
msgid "Bridget's Game" msgid "Bridget's Game"
msgstr "Мост 2" msgstr "Пасьянс Бриджит"
msgid "Bridget's Game Doubled" msgid "Bridget's Game Doubled"
msgstr "" msgstr "Двойной Пасьянс Бриджит"
msgid "Brigade" msgid "Brigade"
msgstr "Бригада" msgstr "Бригада"
@ -518,7 +511,7 @@ msgid "Chelicera"
msgstr "Хелицера" msgstr "Хелицера"
msgid "Cheops" msgid "Cheops"
msgstr "" msgstr "Хеопс"
msgid "Chequers" msgid "Chequers"
msgstr "Шахматный порядок" msgstr "Шахматный порядок"
@ -596,9 +589,8 @@ msgstr "Виток"
msgid "Corkscrew" msgid "Corkscrew"
msgstr "Штопор" msgstr "Штопор"
#, fuzzy
msgid "Corner Card" msgid "Corner Card"
msgstr "Углы" msgstr "Угловая карта"
msgid "Corner Suite" msgid "Corner Suite"
msgstr "Угловые масти" msgstr "Угловые масти"
@ -907,9 +899,8 @@ msgstr "Восемь квадратов"
msgid "Eight Times Eight" msgid "Eight Times Eight"
msgstr "Восемь раз по восемь" msgstr "Восемь раз по восемь"
#, fuzzy
msgid "Eight by Eight" msgid "Eight by Eight"
msgstr "Восемь раз по восемь" msgstr "Восемь на восемь"
msgid "Elba" msgid "Elba"
msgstr "Ельба" msgstr "Ельба"
@ -991,12 +982,11 @@ msgstr "Очаровательный веер"
msgid "Fastness" msgid "Fastness"
msgstr "Крепость" msgstr "Крепость"
#, fuzzy
msgid "Fatimeh's Game" msgid "Fatimeh's Game"
msgstr "Бабушкина игра" msgstr "Пасьянс Фатимы"
msgid "Fatimeh's Game Relaxed" msgid "Fatimeh's Game Relaxed"
msgstr "" msgstr "Облегчённый Пасьянс Фатимы"
#, fuzzy #, fuzzy
msgid "Fifteen Puzzle" msgid "Fifteen Puzzle"
@ -1030,9 +1020,8 @@ msgstr "Маджонг Fish face"
msgid "Five Aces" msgid "Five Aces"
msgstr "Пять тузов" msgstr "Пять тузов"
#, fuzzy
msgid "Five Piles" msgid "Five Piles"
msgstr "Пять тузов" msgstr "Пять кучек"
msgid "Five Pyramids" msgid "Five Pyramids"
msgstr "Пять пирамид" msgstr "Пять пирамид"
@ -1043,9 +1032,8 @@ msgstr "Фламенко"
msgid "Floating City" msgid "Floating City"
msgstr "Плавающий город" msgstr "Плавающий город"
#, fuzzy
msgid "Floradora" msgid "Floradora"
msgstr "Колорадо" msgstr "Флорадора"
msgid "Flower Arrangement" msgid "Flower Arrangement"
msgstr "Аранжировка цветов" msgstr "Аранжировка цветов"
@ -1392,9 +1380,8 @@ msgstr "Дурацкое удовольствие"
msgid "Idle Aces" msgid "Idle Aces"
msgstr "Свободные тузы" msgstr "Свободные тузы"
#, fuzzy
msgid "Idle Year" msgid "Idle Year"
msgstr "Свободные тузы" msgstr "Свободный год"
msgid "IloveU" msgid "IloveU"
msgstr "IloveU" msgstr "IloveU"
@ -1498,26 +1485,25 @@ msgid "K for Kyodai"
msgstr "Маджонг K for Kyodai" msgstr "Маджонг K for Kyodai"
msgid "Kali's Game" msgid "Kali's Game"
msgstr "" msgstr "Пасьянс Кали"
msgid "Kali's Game Doubled" msgid "Kali's Game Doubled"
msgstr "" msgstr "Двойной Пасьянс Кали"
msgid "Kali's Game Relaxed" msgid "Kali's Game Relaxed"
msgstr "" msgstr "Облегчённый Пасьянс Кали"
msgid "Kansas" msgid "Kansas"
msgstr "Канзас" msgstr "Канзас"
#, fuzzy
msgid "Katrina's Game" msgid "Katrina's Game"
msgstr "Бабушкина игра" msgstr "Пасьянс Катрины"
msgid "Katrina's Game Doubled" msgid "Katrina's Game Doubled"
msgstr "" msgstr "Двойной Пасьянс Катрины"
msgid "Katrina's Game Relaxed" msgid "Katrina's Game Relaxed"
msgstr "" msgstr "Облегчённый Пасьянс Катрины"
msgid "Khadga" msgid "Khadga"
msgstr "Khadga" msgstr "Khadga"
@ -1546,9 +1532,8 @@ msgstr ""
msgid "Klondike" msgid "Klondike"
msgstr "Клондайк" msgstr "Клондайк"
#, fuzzy
msgid "Klondike Plus 16" msgid "Klondike Plus 16"
msgstr "Клондайк" msgstr "Клондайк Плюс 16"
msgid "Klondike by Threes" msgid "Klondike by Threes"
msgstr "Клондайк по три" msgstr "Клондайк по три"
@ -1660,15 +1645,14 @@ msgstr "Ленивая леди"
msgid "Lanes" msgid "Lanes"
msgstr "Тропинки" msgstr "Тропинки"
#, fuzzy
msgid "Lara's Game" msgid "Lara's Game"
msgstr "Бабушкина игра" msgstr "Пасьянс Лары"
msgid "Lara's Game Doubled" msgid "Lara's Game Doubled"
msgstr "" msgstr "Двойной Пасьянс Лары"
msgid "Lara's Game Relaxed" msgid "Lara's Game Relaxed"
msgstr "" msgstr "Облегчённый Пасьянс Лары"
msgid "Last Chance" msgid "Last Chance"
msgstr "Последний шанс" msgstr "Последний шанс"
@ -1713,9 +1697,8 @@ msgstr "Малыш Билли"
msgid "Little Easy" msgid "Little Easy"
msgstr "Малые ворота" msgstr "Малые ворота"
#, fuzzy
msgid "Little Forty" msgid "Little Forty"
msgstr "Малые ворота" msgstr "Малые сорок"
msgid "Little Gate" msgid "Little Gate"
msgstr "Малые ворота" msgstr "Малые ворота"
@ -1753,9 +1736,8 @@ msgstr "Счастливые Тринадцать"
msgid "Madame" msgid "Madame"
msgstr "Мадам" msgstr "Мадам"
#, fuzzy
msgid "Mage's Game" msgid "Mage's Game"
msgstr "Бабушкина игра" msgstr "Пасьянс Меги"
msgid "Mahjongg Altar" msgid "Mahjongg Altar"
msgstr "Маджонг Алтарь" msgstr "Маджонг Алтарь"
@ -2701,9 +2683,8 @@ msgstr "Настойчивость"
msgid "Phantom Blockade" msgid "Phantom Blockade"
msgstr "Призрачная блокада" msgstr "Призрачная блокада"
#, fuzzy
msgid "Pharaohs" msgid "Pharaohs"
msgstr "Патриархи" msgstr "Фараоны"
msgid "Phoenix" msgid "Phoenix"
msgstr "Феникс" msgstr "Феникс"
@ -3042,7 +3023,7 @@ msgid "Senate +"
msgstr "Сенат +" msgstr "Сенат +"
msgid "Senior Wrangler" msgid "Senior Wrangler"
msgstr "" msgstr "Сеньор Врангель"
msgid "Serpent" msgid "Serpent"
msgstr "Змея" msgstr "Змея"
@ -3149,7 +3130,7 @@ msgid "Sixes and Sevens"
msgstr "Шестёрки и семёрки" msgstr "Шестёрки и семёрки"
msgid "Skippy" msgid "Skippy"
msgstr "" msgstr "Попрыгунчик"
msgid "Skiz" msgid "Skiz"
msgstr "" msgstr ""
@ -3303,7 +3284,7 @@ msgid "Storehouse"
msgstr "Сокровищница" msgstr "Сокровищница"
msgid "Straight Up" msgid "Straight Up"
msgstr "" msgstr "Прямолинейный"
msgid "Strata" msgid "Strata"
msgstr "Пласт" msgstr "Пласт"
@ -3326,7 +3307,7 @@ msgstr "Улицы и аллеи"
#, fuzzy #, fuzzy
msgid "Striptease" msgid "Striptease"
msgstr "Пласт" msgstr "Стриптиз"
msgid "Stronghold" msgid "Stronghold"
msgstr "Твердыня" msgstr "Твердыня"
@ -3349,9 +3330,8 @@ msgstr "Турецкий султан"
msgid "Sumo" msgid "Sumo"
msgstr "Сумо" msgstr "Сумо"
#, fuzzy
msgid "SunMoon" msgid "SunMoon"
msgstr "Голубая луна" msgstr "СолнцеЛуна"
msgid "Super Challenge FreeCell" msgid "Super Challenge FreeCell"
msgstr "Очень Сложная Свободная ячейка" msgstr "Очень Сложная Свободная ячейка"
@ -3502,9 +3482,8 @@ msgstr "Маджонг Totally Random-Made"
msgid "Tournament" msgid "Tournament"
msgstr "Турнир" msgstr "Турнир"
#, fuzzy
msgid "Tower of Babel" msgid "Tower of Babel"
msgstr "Ханойская башня" msgstr "Вавилонская башня"
msgid "Tower of Hanoy" msgid "Tower of Hanoy"
msgstr "Ханойская башня" msgstr "Ханойская башня"
@ -3622,9 +3601,8 @@ msgstr ""
msgid "Vamana" msgid "Vamana"
msgstr "" msgstr ""
#, fuzzy
msgid "Vanishing Cross" msgid "Vanishing Cross"
msgstr "Маджонг Крест" msgstr "Исчезающий Крест"
#, fuzzy #, fuzzy
msgid "Varaha" msgid "Varaha"
@ -3643,7 +3621,7 @@ msgid "Vertical"
msgstr "Вертикаль" msgstr "Вертикаль"
msgid "Very Big Divorce" msgid "Very Big Divorce"
msgstr "" msgstr "Очень большой разрыв"
msgid "Vi" msgid "Vi"
msgstr "" msgstr ""

View file

@ -506,9 +506,6 @@ class Robert(Game):
DIAMOND = 3 DIAMOND = 3
class DiamondMine_Foundation(AbstractFoundationStack):
pass
class DiamondMine_RowStack(RK_RowStack): class DiamondMine_RowStack(RK_RowStack):
def acceptsCards(self, from_stack, cards): def acceptsCards(self, from_stack, cards):
if not RK_RowStack.acceptsCards(self, from_stack, cards): if not RK_RowStack.acceptsCards(self, from_stack, cards):
@ -558,6 +555,55 @@ class DiamondMine(Game):
shallHighlightMatch = Game._shallHighlightMatch_RK shallHighlightMatch = Game._shallHighlightMatch_RK
# /***********************************************************************
# // Dolphin
# ************************************************************************/
class Dolphin(Game):
def createGame(self, rows=8, reserves=4, playcards=6):
l, s = Layout(self), self.s
self.setSize(l.XM+rows*l.XS, l.YM+3*l.YS+playcards*l.YOFFSET)
dx = (self.width-l.XM-(reserves+1)*l.XS)/3
x, y = l.XM+dx, l.YM
for i in range(reserves):
s.reserves.append(ReserveStack(x, y, self))
x += l.XS
x += dx
max_cards = 52*self.gameinfo.decks
s.foundations.append(RK_FoundationStack(x, y, self,
base_rank=ANY_RANK, mod=13, max_cards=max_cards))
x, y = l.XM, l.YM+l.YS
for i in range(rows):
s.rows.append(BasicRowStack(x, y, self))
x += l.XS
s.talon = InitialDealTalonStack(l.XM, self.height-l.YS, self)
l.defaultAll()
def startGame(self):
for i in range(5):
self.s.talon.dealRow(frames=0)
self.startDealSample()
self.s.talon.dealRow()
self.s.talon.dealRowAvail()
class DoubleDolphin(Dolphin):
def createGame(self):
Dolphin.createGame(self, rows=10, reserves=5, playcards=10)
def startGame(self):
for i in range(9):
self.s.talon.dealRow(frames=0)
self.startDealSample()
self.s.talon.dealRow()
self.s.talon.dealRowAvail()
# register the game # register the game
registerGame(GameInfo(36, Golf, "Golf", registerGame(GameInfo(36, Golf, "Golf",
GI.GT_GOLF, 1, 0, GI.SL_BALANCED)) GI.GT_GOLF, 1, 0, GI.SL_BALANCED))
@ -580,4 +626,8 @@ registerGame(GameInfo(432, Robert, "Robert",
GI.GT_GOLF, 1, 2, GI.SL_LUCK)) GI.GT_GOLF, 1, 2, GI.SL_LUCK))
registerGame(GameInfo(551, DiamondMine, "Diamond Mine", registerGame(GameInfo(551, DiamondMine, "Diamond Mine",
GI.GT_1DECK_TYPE, 1, 0, GI.SL_BALANCED)) GI.GT_1DECK_TYPE, 1, 0, GI.SL_BALANCED))
registerGame(GameInfo(661, Dolphin, "Dolphin",
GI.GT_GOLF, 1, 0, GI.SL_MOSTLY_SKILL | GI.GT_ORIGINAL))
registerGame(GameInfo(662, DoubleDolphin, "Double Dolphin",
GI.GT_GOLF, 2, 0, GI.SL_MOSTLY_SKILL | GI.GT_ORIGINAL))

View file

@ -233,7 +233,7 @@ class MissMilligan(Gypsy):
l, s = Layout(self), self.s l, s = Layout(self), self.s
# set window # set window
self.setSize(l.XM + (1+max(8,rows))*l.XS, l.YM + (1+max(4, reserves))*l.YS) self.setSize(l.XM + (1+max(8,rows))*l.XS, l.YM + (1+max(4, reserves))*l.YS+l.TEXT_HEIGHT)
# create stacks # create stacks
x, y = l.XM, l.YM x, y = l.XM, l.YM
@ -242,14 +242,14 @@ class MissMilligan(Gypsy):
x = x + l.XS x = x + l.XS
s.foundations.append(self.Foundation_Class(x, y, self, suit=i/2)) s.foundations.append(self.Foundation_Class(x, y, self, suit=i/2))
x, y = l.XM, y + l.YS x, y = l.XM, y + l.YS
rx, ry = x + l.XS - l.XM/2, y - l.YM/2 rx, ry = x + l.XS - l.CW/2, y - l.CH/2
for i in range(reserves): for i in range(reserves):
s.reserves.append(self.ReserveStack_Class(x, y, self)) s.reserves.append(self.ReserveStack_Class(x, y+l.TEXT_HEIGHT, self))
y = y + l.YS y = y + l.YS
l.createText(s.talon, "s")
if s.reserves: if s.reserves:
self.setRegion(s.reserves, (-999, ry, rx - 1, 999999)) self.setRegion(s.reserves, (-999, ry+l.TEXT_HEIGHT, rx-1, 999999))
else: else:
l.createText(s.talon, "s")
rx = -999 rx = -999
x, y = l.XM + (8-rows)*l.XS/2, l.YM + l.YS x, y = l.XM + (8-rows)*l.XS/2, l.YM + l.YS
for i in range(rows): for i in range(rows):

View file

@ -168,6 +168,8 @@ class Chinaman(ThumbAndPouch):
class Whitehead_RowStack(SS_RowStack): class Whitehead_RowStack(SS_RowStack):
def _isAcceptableSequence(self, cards): def _isAcceptableSequence(self, cards):
return isSameColorSequence(cards, self.cap.mod, self.cap.dir) return isSameColorSequence(cards, self.cap.mod, self.cap.dir)
def getHelp(self):
return _('Tableau. Build down by color.')
class Whitehead(Klondike): class Whitehead(Klondike):
RowStack_Class = Whitehead_RowStack RowStack_Class = Whitehead_RowStack

View file

@ -937,6 +937,7 @@ class Stack:
self.game.event_handled = True # for Game.undoHandler self.game.event_handled = True # for Game.undoHandler
if self.game.demo: if self.game.demo:
self.game.stopDemo(event) self.game.stopDemo(event)
return EVENT_HANDLED
self.game.interruptSleep() self.game.interruptSleep()
if self.game.busy: return EVENT_HANDLED if self.game.busy: return EVENT_HANDLED
if self.game.drag.stack and cancel_drag: if self.game.drag.stack and cancel_drag: