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

Restored lost Mahjongg layouts (see issue #301).

This commit is contained in:
Joe R 2023-11-11 12:27:33 -05:00
parent 19639b5727
commit 3483bd16a8
7 changed files with 568 additions and 558 deletions

View file

@ -323,6 +323,13 @@ class GI:
297: 631, # Alternation/Alternations
526: 447, # Australian/Outback Patience
640: 566, # Hypotenuse/Brazilian Patience
# Lost Mahjongg Layouts
5025: 5600, 5032: 5601, 5043: 5602, 5046: 5603, 5051: 5604,
5061: 5605, 5062: 5606, 5066: 5607, 5085: 5608, 5093: 5609,
5101: 5610, 5213: 5611, 5214: 5612, 5238: 5613, 5244: 5614,
5501: 5615, 5502: 5616, 5503: 5617, 5504: 5618, 5505: 5619,
5802: 5620, 5804: 5621, 5902: 5622, 5903: 5623
}
# For games by compatibility, note that missing games may actually
@ -581,8 +588,8 @@ class GI:
('fc-2.21', tuple(range(897, 900)) + tuple(range(11014, 11017)) +
tuple(range(13160, 13163)) + (16682,)),
('dev', tuple(range(906, 929)) + tuple(range(11017, 11020)) +
tuple(range(18000, 18004)) + tuple(range(22303, 22311)) +
tuple(range(22353, 22361))),
tuple(range(5600, 5624)) + tuple(range(18000, 18004)) +
tuple(range(22303, 22311)) + tuple(range(22353, 22361))),
)
# deprecated - the correct way is to or a GI.GT_XXX flag

View file

@ -23,4 +23,5 @@
from . import mahjongg1 # noqa: F401
from . import mahjongg2 # noqa: F401
from . import mahjongg3 # noqa: F401
from . import mahjonggL # noqa: F401
from . import shisensho # noqa: F401

View file

@ -447,27 +447,6 @@ r(5024, "Dude", layout="0bfabtabhbbjbblb" +
"kcjmclmcnmcrmctm" +
"cvmcpncjocvockqc" +
"mqcoqcqqcsqcuq")
# r(5025, "Eagle", layout="0cmadoacqaasbbmc" +
# "bocaedagdaudawdb" +
# "cebieakebmeboeaq" +
# "ebsebyeaefagfauf" +
# "awfbcgbigakgbmgb" +
# "ogaqgbsgbygaehag" +
# "hauhawhaaiacibmi" +
# "boiayiaAibejbwja" +
# "akackbmkbokaykaA" +
# "kaambkmanmbqmaAm" +
# "cioclocpocsoheeh" +
# "gehuehweheghgghu" +
# "ghwghbihzihbkhzk" +
# "omdoododeofeoheo" +
# "teoveoxeomfoofod" +
# "gofgohgotgovgoxg" +
# "omhoohobjomjoojo" +
# "zjvndveevgevuevw" +
# "evnfvegvggvugvwg" +
# "vnhvnjCfeCveCfgC" +
# "vg")
r(5026, "Enterprise", layout="0agaaiaakaamaaoa" +
"aqaasaauaawaayaa" +
"acbccbecbgcbicbk" +
@ -570,7 +549,7 @@ r(5030, "Fish", layout="0afaajaasaauaawa" +
"oteolfonfopfovfo" +
"rgotgovhoxh")
#
r(5031, "Five Pyramids", layout="0aaaacaaeaagaaya" +
r(5031, "Five Pyramids 1", layout="0aaaacaaeaagaaya" +
"aAaaCaaEaaacacca" +
"ecagcapcaycaAcaC" +
"caEcaaeaceaeeage" +
@ -597,29 +576,7 @@ r(5031, "Five Pyramids", layout="0aaaacaaeaagaaya" +
"hoqhocmoemoAmoCm" +
"ocooeooAooCovddv" +
"BdvphvdnvBn")
# r(5032, "Five Pyramids 2", layout="0aoaaabacbaebagb" +
# "awbaybaAbaCbboca" +
# "adacdaedagdaidak" +
# "damdaqdasdaudawd" +
# "aydaAdaCdcoeaafa" +
# "cfaefagfawfayfaA" +
# "faCfamgdogaqgadh" +
# "azhagibiickidmid" +
# "oidqicsibuiawiad" +
# "jazjamkdokaqkaal" +
# "aclaelaglawlayla" +
# "AlaClcomaanacnae" +
# "nagnainaknamnaqn" +
# "asnaunawnaynaAna" +
# "Cnbooaapacpaepag" +
# "pawpaypaApaCpaoq" +
# "hbchdchfchxchzch" +
# "Bchbehdehfehxehz" +
# "ehBehbmhdmhfmhxm" +
# "hzmhBmhbohdohfoh" +
# "xohzohBoocdoedoy" +
# "doAdocnoenoynoAn")
r(5033, "Flowers", layout="0baaccaceabgaaka" +
r(5033, "Flowers 1", layout="0baaccaceabgaaka" +
"bmaboaaqaauabwab" +
"yaaAadacdgcckccq" +
"ccuccAcbaeccecee" +
@ -636,7 +593,7 @@ r(5033, "Flowers", layout="0baaccaceabgaaka" +
"naoxaoneoxeodkon" +
"koxkodoonooxovda" +
"vde")
r(5034, "Flying Dragon", layout="0acaaeaagaaiaaka" +
r(5034, "Traditional", layout="0acaaeaagaaiaaka" +
"amaaoaaqaasaauaa" +
"waayaagcbicbkcbm" +
"cbocbqcbscaucaee" +
@ -824,24 +781,7 @@ r(5042, "H for Haga", layout="0aaaacaaeaagaaka" +
"oekomkookocmoemo" +
"mmoomvddvndvdlvn" +
"l")
# r(5043, "H for Haga Traditional", layout="0acaaeaagaaiaaka" +
# "amaaoaaqaasaauaa" +
# "waayabgcbicakcam" +
# "caocaqcbscbucaee" +
# "bgebieakeameaoea" +
# "qebsebueaweacgae" +
# "gbggbigbkgbmgbog" +
# "bqgbsgbugawgayga" +
# "ahaAhaciaeibgibi" +
# "ibkibmiboibqibsi" +
# "buiawiayiaekbgkb" +
# "ikakkamkaokaqkbs" +
# "kbukawkbgmbimakm" +
# "ammaomaqmbsmbuma" +
# "coaeoagoaioakoam" +
# "oaooaqoasoauoawo" +
# "ayoklcknckpchdhh" +
# "xhklmknmkpm")
r(5044, "Helios", layout="0eaadcaduaewadac" +
"bccbucdwcbaeacea" +
"eeaiedkedmeaoeas" +
@ -866,33 +806,7 @@ r(5045, "High and Low", layout="0eaadcaceabgaaia" +
"miboiaqiaekagkbi" +
"kakkamkahmajmhim")
#
# r(5046, "Hourglass", layout="0aaaacaaeaagaaia" +
# "akaamaaoaaqaasaa" +
# "uaawaayaaacamcay" +
# "cacdawdaaeaeeame" +
# "aueayeacfagfasfa" +
# "wfaagaegaigamgaq" +
# "gaugaygachaghbkh" +
# "bohashawhaaiaeia" +
# "iiamiaqiauiayiac" +
# "jagjasjawjaakaek" +
# "amkaukaykaclawla" +
# "amammaymaaoacoae" +
# "oagoaioakoamoaoo" +
# "aqoasoauoawoayoh" +
# "abhmbhybhadhmdhy" +
# "dhcehwehafhefhuf" +
# "hyfhcghgghsghwgh" +
# "ahhehhihhqhhuhhy" +
# "hhcihgihsihwihaj" +
# "hejhujhyjhckhwkh" +
# "alhmlhylhanhmnhy" +
# "noacoycoaeoyeoag" +
# "oygoaioyioakoyko" +
# "amoymvadvydvafvy" +
# "fvahvyhvajvyjval" +
# "vylCaeCyeCagCygC" +
# "aiCyiCakCyk")
r(5047, "Inca", layout="0aoaaqaaibakbamb" +
"asbaubawbbocbqca" +
"idbkdbmdbsdbudaw" +
@ -950,26 +864,7 @@ r(5050, "K for Kyodai", layout="0caaccaceacmacoa" +
"cemcimbkmcmmcaob" +
"coceockobmocooca" +
"qccqceqcmqcoqcqq")
# r(5051, "K for Kyodai Traditional", layout="0acaaeaagaaiaaka" +
# "amaaoaaqaasaauaa" +
# "waayaagcaicakcam" +
# "caocaqcascaucaee" +
# "ageaieakeameaoea" +
# "qeaseaueaweacgae" +
# "gaggaigakgamgaog" +
# "aqgasgaugawgayga" +
# "ahaAhaciaeiagiai" +
# "iakiamiaoiaqiasi" +
# "auiawiayiaekagka" +
# "ikakkamkaokaqkas" +
# "kaukawkagmaimakm" +
# "ammaomaqmasmauma" +
# "coaeoagoaioakoam" +
# "oaooaqoasoauoawo" +
# "ayokjckrckpdkjeh" +
# "gfknfhufkjghghkl" +
# "hhuhkjihgjknjhuj" +
# "kjkkplkjmkrm")
r(5052, "Km", layout="0baabcabiaakaboa" +
"cqacyabAabacaccb" +
"gcaicbocaqcdscdw" +
@ -1023,7 +918,7 @@ r(5054, "Labyrinth", layout="0caaacaaeaagaaia" +
"caqacqbeqdgqdkqb" +
"mqaoqaqqasqauqbw" +
"qdyqdCqbEq")
r(5055, "Lion", layout="0bdbbfbcjbclbawb" +
r(5055, "Lion 1", layout="0bdbbfbcjbclbawb" +
"aybbbcbhcaucaAcc" +
"jdcldasdaCdbaeaq" +
"ecvfczfaDfbbgapg" +
@ -1038,7 +933,7 @@ r(5055, "Lion", layout="0bdbbfbcjbclbawb" +
"dhpehEfhoghFhhni" +
"hGjhFlhEnhsohCoh" +
"uphwphyphApwkc")
r(5056, "Lost ", layout="0afaaxaabbadbahb" +
r(5056, "Lost", layout="0afaaxaabbadbahb" +
"ajbblbbnbbpbbrba" +
"tbavbazbaBbafcax" +
"cabdaddbkdcodbsd" +
@ -1130,43 +1025,9 @@ r(5060, "N for Namida", layout="0caaccaceacgacqa" +
"akbckcekbmkbokbq" +
"kbskcukcamccmcem" +
"comcqmcsmcum")
# r(5061, "N for Namida Traditional", layout="0acaaeaagaaiaaka" +
# "amaaoaaqaasaauaa" +
# "waayacgcaicakcbm" +
# "ccoccqcasccucaee" +
# "cgecieakeameaoea" +
# "qeasecueaweacgae" +
# "gcggcigakgcmgaog" +
# "aqgasgcugawgayga" +
# "ahaAhaciaeicgiai" +
# "iakicmiaoicqiasi" +
# "cuiawiayiaekcgka" +
# "ikakkamkaokcqkas" +
# "kcukawkcgmaimckm" +
# "cmmbomaqmasmcuma" +
# "coaeoagoaioakoam" +
# "oaooaqoasoauoawo" +
# "ayoikfikhiohioji" +
# "sjisl")
# r(5062, "Naoki Haga Traditional", layout="0acaaeaagaaiaaka" +
# "amaaoaaqaasaauaa" +
# "waayadgcaicakcdm" +
# "caocaqcascaucaee" +
# "dgeaiedkedmeaoec" +
# "qecseaueaweacgae" +
# "gdggaigakgdmgaog" +
# "aqgasgaugawgayga" +
# "ahaAhaciaeiagiai" +
# "iakiamidoiaqiasi" +
# "duiawiayiaekagkc" +
# "ikckkamkdokdqkds" +
# "kdukawkagmaimakm" +
# "ammdomaqmasmduma" +
# "coaeoagoaioakoam" +
# "oaooaqoasoauoawo" +
# "ayojidvrevjk")
#
r(5063, "New Layout", layout="0aeaagaaiaakabpa" +
r(5063, "New Layout 1", layout="0aeaagaaiaakabpa" +
"auaawaayaaAaacca" +
"Ccahdajdavdaxdaa" +
"eacealeateaCeaEe" +
@ -1230,31 +1091,7 @@ r(5065, "Pattern", layout="0aaaacaafaahaaka" +
"cwmczmaBmibailai" +
"fbihbibciqciqfil" +
"hialihl")
# r(5066, "Phoenix", layout="0aaaacaapaaraaEa" +
# "aGaaebatbaCbaaca" +
# "gcapcarcaAcaGcai" +
# "daydakeboebqebse" +
# "aweaafacfaefamfa" +
# "ufaCfaEfaGfaggbp" +
# "gbrgaAgaahaihamh" +
# "auhayhaGhaeiakic" +
# "picriawiaCiaajam" +
# "jaujaGjbpkbrkacl" +
# "aelaglailamlaula" +
# "ylaAlaClaElakmbp" +
# "mbrmawmacnafnamn" +
# "aunaBnaEnaioaooa" +
# "soayoacpafpaBpaE" +
# "pakqawqhbbhFbhdc" +
# "hDchfdhBdhhehzeh" +
# "jfhxfhdghlghvghD" +
# "ghfhhBhhhihnihti" +
# "hzihjjhxjhdkhlkh" +
# "vkhDkhflhnlhtlhB" +
# "lhhmhzmhjnhxnhlo" +
# "hvohnphtponfppfp" +
# "rfotfoplorlvqivq" +
# "lCqf")
r(5067, "Portal", layout="0accagcawcaAcaed" +
"aydaceageaweaAea" +
"mgaqgamiaqiackag" +
@ -1449,34 +1286,7 @@ r(5074, "Siam", layout="0afaazaadbahbaxb" +
"hoihowhoyhoAhoCh" +
"odjofjohjoxjozjo" +
"BjoelogloyloAl")
#
# r(5075, "Space Ship", layout="0afaahaajaalaana" +
# "apaaraataavaadba" +
# "xbabcancazcaaeaf" +
# "eaheajealeaneape" +
# "areateaveaAeadfa" +
# "xfangadhaxhaniad" +
# "jaxjankadlaxlanm" +
# "adnaxnanohgahiah" +
# "kahmahoahqahsahu" +
# "ahebhwbhcchychad" +
# "hmdhodhAdhgehieh" +
# "kehqehsehuehmfho" +
# "fhdghxghnhhdihxi" +
# "hnjhdkhxkhnlhdmh" +
# "xmhnnohaojaolaon" +
# "aopaoraotaofbovb" +
# "odcoxcobdozdoheo" +
# "jeoleoneopeoreot" +
# "eqngodhoxhqniodj" +
# "oxjqnkodloxlqnmv" +
# "iavkavmavoavqavs" +
# "avgbvubvecvwcvcd" +
# "vydvievkevmevoev" +
# "qevsevdivxivdkvx" +
# "kCnaCjeCleCneCpe" +
# "CreCdjCxj")
#
r(5076, "Square", layout="0daadcadeadgadia" +
"dkadacdccdecdgcd" +
"icdkcdaedcedeedg" +
@ -1619,31 +1429,7 @@ r(5084, "Temple 1", layout="0baaacaaeaalaana" +
"oioqiosiouiookoq" +
"kvpgvpi")
#
# r(5085, "Teotihucan", layout="0aaaacaaeaagaaia" +
# "akaamaaoaaqaasaa" +
# "acascaaeaseaagcg" +
# "gckgcogasgaaicgi" +
# "ckicoiasiaakaska" +
# "amasmaaoacoaeoag" +
# "oaioakoamoaooaqo" +
# "asoajqhbbhdbhfbh" +
# "hbhjbhlbhnbhpbhr" +
# "bhbdhrdhbfhrfhbh" +
# "hrhhbjhrjhblhrlh" +
# "bnhdnhfnhhnhjnhl" +
# "nhnnhpnhrnhjpocc" +
# "oecogcoicokcomco" +
# "ocoqcoceoqeocgoq" +
# "gocioqiockoqkocm" +
# "oemogmoimokmommo" +
# "omoqmojovddvfdvh" +
# "dvjdvldvndvpdvdf" +
# "vffvhfvjfvlfvnfv" +
# "pfvdhwfhvhhwjhvl" +
# "hwnhvphvdjvfjvhj" +
# "vjjvljvnjvpjvdlv" +
# "flvhlvjlvllvnlvp" +
# "lvjn")
r(5086, "The Door", layout="0amaaoaaqaeicekc" +
"emceoceqcesceuca" +
"gediedueaweaegag" +
@ -1766,14 +1552,7 @@ r(5092, "Tomb", layout="0eaabcabeabgabia" +
"bmkaimakmhjevfcv" +
"hcvjcvlcvncCgcCi" +
"cCkcCmc")
#
# r(5093, "Tower and Walls", layout="0ekadmaeoadqaesa" +
# "dkccmccoccqcdscd" +
# "aeecedeeegedieek" +
# "ecmedoecqeesedue" +
# "ewedyeeAedCedkgc" +
# "mgcogcqgdsgekidm" +
# "ieoidqiesi")
r(5094, "Traditional Reviewed", layout="0acaaeaaiaakaama" +
"aoaaqaasaawaayaa" +
"gcaicbkccmccocbq" +
@ -1913,22 +1692,7 @@ r(5100, "Well 1", layout="0aiaakaamaaoaagc" +
"mmbomaioakoamoao" +
"ohcfhufhchhuhhcj" +
"huj")
# r(5101, "What a Pyramid", layout="0aaaacaaeaagaaia" +
# "akaamaaoaaqaasaa" +
# "uaawaaacaccbecbg" +
# "cbicbkcbmcbocbqc" +
# "bscaucawcaceaeeb" +
# "geciedkedmecoebq" +
# "easeaueaegbggdig" +
# "bkgbmgdogbqgasga" +
# "eibgidiibkibmido" +
# "ibqiasiackaekbgk" +
# "cikdkkdmkcokbqka" +
# "skaukaamacmbembg" +
# "mbimbkmbmmbombqm" +
# "bsmaumawmaaoacoa" +
# "eoagoaioakoamoao" +
# "oaqoasoauoawo")
r(5102, "Yummy", layout="0aoaaibakbbmbbqb" +
"asbaubaocagdbidb" +
"kdbmdbqdbsdbudaw" +

View file

@ -286,60 +286,7 @@ r(5212, "Floating City", layout="0oagoaiocdocfoch" +
"nhzahzchzmhzooAd" +
"oAfoAhoAjoAloApo" +
"CgoCi")
# r(5213, "Flowers 2", layout="0aaiacgbciackadc" +
# "adoaeiafabfcafea" +
# "fmbfoafqahcahoai" +
# "haijhjiakfakhakj" +
# "aklhlghlihlkamda" +
# "mfamhomhamjomjam" +
# "lamnhnehnghnivni" +
# "hnkhnmaobaodaofo" +
# "ofaohoohaojoojao" +
# "loolaonaophpchpe" +
# "hpgvpghpivpihpkv" +
# "pkhpmhpoaqbaqdoq" +
# "daqfoqfaqhoqhCqh" +
# "aqjoqjCqjaqloqla" +
# "qnoqnaqphrchrehr" +
# "gvrghrivrihrkvrk" +
# "hrmhroasbasdasfo" +
# "sfashoshasjosjas" +
# "loslasnasphtehtg" +
# "htivtihtkhtmauda" +
# "ufauhouhaujoujau" +
# "launhvghvihvkawf" +
# "awhawjawlhxiayha" +
# "yjazcazoaBabBcaB" +
# "eaBmbBoaBqaCiaDc" +
# "aDoaEgbEiaEkaGi")
# r(5214, "Full Vision 3", layout="0aaeaagaaihbehbi" +
# "acbhccacdacfhcga" +
# "chacjhckaclacnhc" +
# "oacpaeahebaecaee" +
# "aegaeiaekhelaema" +
# "gbhgcagdagfhggag" +
# "hagjhgkaglagnhgo" +
# "agphhehhiaieaiga" +
# "iiainhioaiphjgak" +
# "eakgakiaknhkoakp" +
# "hlehliambhmcamda" +
# "mfhmgamhamjhmkam" +
# "lamnhmoampaoahob" +
# "aocaoehofaogaoia" +
# "okholaomaqbhqcaq" +
# "daqfhqgaqhaqjhqk" +
# "aqlaqnhqoaqphreh" +
# "riaseasgasiasnhs" +
# "oasphtgaueaugaui" +
# "aunhuoauphvehvia" +
# "wbhwcawdawfhwgaw" +
# "hawjhwkawlawnhwo" +
# "awpayahybaycayea" +
# "ygayiaykhylaymaA" +
# "bhAcaAdaAfhAgaAh" +
# "aAjhAkaAlaAnhAoa" +
# "AphBehBiaCeaCgaC" +
# "i")
r(5215, "Hidden Words", layout="0haahachaehaghal" +
"abaabcobdabeabga" +
"bjablbbnabphcahc" +
@ -796,33 +743,7 @@ r(5237, "Lattice", layout="0aaiacebciacmaec" +
"ecAiaAmaCcbCeaCg" +
"bCiaCkbCmaCoaEeb" +
"EiaEmaGi")
#
# r(5238, "Leo", layout="0aapabiablhbphcf" +
# "acghchhclacnocpa" +
# "djodladpvdpheeae" +
# "fheiaelvelhepCep" +
# "ofihflCflafnofph" +
# "gdagevgiagjoglag" +
# "pvgphhiChiahlvhl" +
# "hhpChphicaidoiih" +
# "ilCilainoipvjiaj" +
# "jojlajpvjpbkabkc" +
# "hkiCkiaklvklhkpC" +
# "kpolbolihllalnol" +
# "pbmabmcvmiamjoml" +
# "ampvmphnianlhnpo" +
# "oiholaonoophpfap" +
# "hapjappaqfhqiaql" +
# "hqphrdarnasehsqh" +
# "tcatpaudbumhuphv" +
# "bcvgavqawccwlhwq" +
# "hxbcxjaxpayccylh" +
# "yphzbczgazqaAdbA" +
# "mhAqhBcaBpaCehCp" +
# "hDeaDgaDohEgaEia" +
# "EmhEohFiaFkhFmhG" +
# "k")
#
r(5239, "Loose Ends", layout="0aaaoabaaioapaaq" +
"hbahbihbqacbocca" +
"chociacjocoacphd" +
@ -901,27 +822,7 @@ r(5243, "Multi X", layout="0aaaaaiaaqhbbhbh" +
"vzdvzfvzlvznoAco" +
"AgoAkoAohBbhBhhB" +
"jhBpaCaaCiaCq")
# r(5244, "New Layout 2", layout="0CabCadCafacapca" +
# "hccvccacepcehcgv" +
# "cgheaveaaecpeche" +
# "eveeaegpegCfaCfc" +
# "CfeCfgagapgahgcv" +
# "gcagepgehggvggCh" +
# "aChcCheChghiavia" +
# "aicpichievieaigp" +
# "igakaqkahkcwkcak" +
# "eqkehkgwkghmawma" +
# "amcqmchmewmeamgq" +
# "mgaoaqoahocwocao" +
# "eqoehogwoghqavqa" +
# "aqcpqchqevqeaqgp" +
# "qgCraCrcCreCrgas" +
# "apsahscvscasepse" +
# "hsgvsgCtaCtcCteC" +
# "tghuavuaaucpuchu" +
# "evueaugpugawapwa" +
# "hwcvwcawepwehwgv" +
# "wgCybCydCyf")
r(5245, "Okie's Nitemare", layout="0aaoaaqbbeabmhbp" +
"acoacqcddbdgadmh" +
"dpaeoaeqbfccffaf" +

View file

@ -285,120 +285,6 @@ r(5414, "Bridge 2", layout="0daadacdaedagdai" +
"AedAgdAidAkdAmdA" +
"o")
# r(5501, "Big X", layout="0aacaamhbchbmacb" +
# "occacdaclocmacnh" +
# "dbhddhdlhdnaeaae" +
# "coedaeeaekoelaem" +
# "aeohfchfehfkhfma" +
# "gbagdogeagfagjog" +
# "kaglagnhhdhhfhhj" +
# "hhlaicaieoifaiga" +
# "iioijaikaimhjehj" +
# "ghjihjkakdakfokg" +
# "akhokiakjaklhlfh" +
# "lhhljameamgomgam" +
# "iomiamkhnfhnhhnj" +
# "aofoofaohoohaojo" +
# "ojhpfhphhpjaqeaq" +
# "goqgaqioqiaqkhrf" +
# "hrhhrjasdasfosga" +
# "shosiasjaslhteht" +
# "ghtihtkaucaueouf" +
# "augauioujaukaumh" +
# "vdhvfhvjhvlawbaw" +
# "doweawfawjowkawl" +
# "awnhxchxehxkhxma" +
# "yaaycoydayeaykoy" +
# "laymayohzbhzdhzl" +
# "hznaAboAcaAdaAlo" +
# "AmaAnhBchBmaCcaC" +
# "m")
# r(5502, "Axis", layout="0bafcahbajbbdvbh" +
# "bblcchCchbdcvdhb" +
# "dmcehCehbfbvfhbf" +
# "ncghahaahohiahio" +
# "ajabjhajohkabkfb" +
# "kjhkoalabldbllal" +
# "ohmacmhhmoanaanc" +
# "vnhanmanoiobcohi" +
# "onapbwphapniqbcq" +
# "hiqnaraarcvrharm" +
# "arohsacshhsoatab" +
# "tdbtlatohuabufbu" +
# "jhuoavabvhavohwa" +
# "hwoaxaaxocyhbzbv" +
# "zhbzncAhCAhbBcvB" +
# "hbBmcChCChbDdvDh" +
# "bDlbEfcEhbEj")
# r(5503, "Cobweb", layout="0aacaafhagaahoah" +
# "haiaajaamacbhcca" +
# "cdaclhcmacnadfhd" +
# "gadhodhhdiadjaea" +
# "aeohfaafcafeafha" +
# "fkafmhfoagaogaag" +
# "oogohhaahcahhahm" +
# "hhoaiaoiaaiooioh" +
# "jaajdajhajlhjoak" +
# "aakoalealhalkama" +
# "amoancanfhnganhh" +
# "nianjanmaoahoboo" +
# "gooihonaooopbapc" +
# "bpgvpgbpivpiapmo" +
# "pnaqahqboqgoqihq" +
# "naqoarcarfhrgarh" +
# "hriarjarmasaasoa" +
# "teathatkauaauohv" +
# "aavdavhavlhvoawa" +
# "owaawoowohxaaxca" +
# "xhaxmhxoayaoyaay" +
# "ooyohzaazcazeazh" +
# "azkazmhzoaAaaAoa" +
# "BfhBgaBhoBhhBiaB" +
# "jaCbhCcaCdaClhCm" +
# "aCnaEcaEfhEgaEho" +
# "EhhEiaEjaEm")
# r(5504, "Pyramids", layout="0aaaaacaakaamhbb" +
# "abeabgabihblacaa" +
# "ccackacmhdbadead" +
# "gadihdlaeaaecaek" +
# "aemaffhfgafhahba" +
# "heahiahlhibhiehi" +
# "ihilajbojbajdoje" +
# "ajfajhojiajjajlo" +
# "jlhkbvkbhkevkehk" +
# "ghkivkihklvklalb" +
# "olbClbaldoleClea" +
# "lfolgalholiClial" +
# "jallollCllhmbvmb" +
# "hmevmehmgvmghmiv" +
# "mihmlvmlanbonbCn" +
# "bandoneCneanfong" +
# "anhoniCnianjanlo" +
# "nlCnlhobvobhoevo" +
# "ehoghoivoiholvol" +
# "apbopbapdopeapfa" +
# "phopiapjaploplhq" +
# "bhqehqihqlarbare" +
# "ariarlatfhtgatha" +
# "uaaucaukaumhvbav" +
# "eavgavihvlawaawc" +
# "awkawmhxbaxeaxga" +
# "xihxlayaaycaykay" +
# "m")
# r(5505, "Wicker", layout="0bafbakbbcbbhbbm" +
# "bcebcjbdbbdgbdlb" +
# "edbeibenbfabffbf" +
# "kbgcbghbgmbhebhj" +
# "bibbigbilbjdbjib" +
# "jnbkabkfbkkblcbl" +
# "hblmbmebmjbnbbng" +
# "bnlbodboibonbpab" +
# "pfbpkbqcbqhbqmbr" +
# "ebrjbsbbsgbslbtd" +
# "btibtnbuabufbukb" +
# "vcbvhbvmbwebwjbx" +
# "bbxgbxlbydbyibyn" +
# "bzfbzkbAh")
r(5801, "Faro", name="Double Mahjongg Faro", ncards=288, layout="0aaaha" +
"baachadaae" +
@ -446,21 +332,6 @@ r(5801, "Faro", name="Double Mahjongg Faro", ncards=288, layout="0aaaha" +
"chEdaEeoEehEfaEg" +
"iEhaEihEjaEkoEkh" +
"ElaEmhEnaEo")
# r(5802, "Big Square", name="Double Mahjongg Big Square", ncards=288,
# layout="0daadacdaedagdai" +
# "dakdcadccdcedcgd" +
# "cidckdeadecdeede" +
# "gdeidekdgadgcdge" +
# "dggdgidgkdiadicd" +
# "iedigdiidikdkadk" +
# "cdkedkgdkidkkdma" +
# "dmcdmedmgdmidmkd" +
# "oadocdoedogdoido" +
# "kdqadqcdqedqgdqi" +
# "dqkdsadscdsedsgd" +
# "sidskduaducduedu" +
# "gduidukdwadwcdwe" +
# "dwgdwidwk")
r(5803, "Two Squares", name="Double Mahjongg Two Squares", ncards=288,
layout="0daadacdaedagdai" +
"dakdcadccdcedcgd" +
@ -476,20 +347,6 @@ r(5803, "Two Squares", name="Double Mahjongg Two Squares", ncards=288,
"uidukdwadwcdwedw" +
"gdwidwkdyadycdye" +
"dygdyidyk")
# r(5804, "Rows", name="Double Mahjongg Rows", ncards=288,
# layout="0daadacCaddaeCaf" +
# "dagCahdaidakdcad" +
# "ckeeadeceeeeegde" +
# "ieekegaegkeiadic" +
# "eieeigdiieikekae" +
# "kkemadmcemeemgdm" +
# "iemkeoaeokeqadqc" +
# "eqeeqgdqieqkesae" +
# "skeuaduceueeugdu" +
# "ieukewaewkeyadyc" +
# "eyeeygdyieykdAad" +
# "AkdCadCcCCddCeCC" +
# "fdCgCChdCidCk")
r(5805, "Twin Picks", name="Double Mahjongg Twin Picks", ncards=288,
layout="0aacaaeaagaaiaak" +
"aamhbdhbfhbhhbjh" +
@ -639,7 +496,7 @@ r(5808, "Eight Squares", name="Double Mahjongg Eight Squares", ncards=288,
"vjdvldxadxcdxedx" +
"hdxjdxldzadzcdze" +
"dzhdzjdzl")
r(5809, "Big Flying Dragon", name="Double Mahjongg Big Flying Dragon",
r(5809, "Big Traditional", name="Double Mahjongg Big Traditional",
ncards=288, layout="0aajacaaciackacs" +
"aeaaegaeihejaeka" +
"emaesagaageaggbg" +
@ -736,32 +593,7 @@ r(5901, "Happy New Year", name="Half Mahjongg Happy New Year", ncards=72,
"nhbodbohaolopdop" +
"hhplbqdbqhaqlase" +
"asiasmaufaujaun")
# r(5902, "K 2", name="Half Mahjongg K 2", ncards=72,
# layout="0aagabcabehbfobg" +
# "hbhabiabkacgvcga" +
# "dbidgadlaegvegbf" +
# "aifgbfmaggbhaihg" +
# "bhmaigbjahjgbjma" +
# "kgokgblahlgblmam" +
# "gbnaingbnmaogbpa" +
# "ipgbpmaqgvqgarbi" +
# "rgarlasgvsgatcat" +
# "ehtfotghthatiatk" +
# "aug")
# r(5903, "Abstract", name="Half Mahjongg Abstract", ncards=72,
# layout="0aaaaagabcabebdd" +
# "adgadioedhehafch" +
# "fdafeafhagahhaah" +
# "dahgaiahjaojbbjc" +
# "ajfakaalcamfamha" +
# "nbhncandhngaogbo" +
# "iapdhqdaqiarcord" +
# "arehrihsdasgasia" +
# "tdauaaufhvbavcav" +
# "iawaawehxeaxiayc" +
# "ayebyghzdaAdaAha" +
# "BbaBfhCfaCiaDcaD" +
# "eaDghDhaEaaEi")
r(5904, "Smile", name="Half Mahjongg Smile", ncards=72,
layout="0bagoahbaibbebbk" +
"bccbcmbebbenaffb" +

View file

@ -0,0 +1,518 @@
#!/usr/bin/env python
# -*- mode: python; coding: utf-8; -*-
# ---------------------------------------------------------------------------##
#
# Copyright (C) 1998-2003 Markus Franz Xaver Johannes Oberhumer
# Copyright (C) 2003 Mt. Hood Playing Card Co.
# Copyright (C) 2005-2009 Skomoroh
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# ---------------------------------------------------------------------------##
from pysollib.games.mahjongg.mahjongg import r
# These Mahjongg layouts are "Lost" layouts from Flowersol, and were
# commented in previous versions of PySolFC.
# ************************************************************************
# * game definitions
# ************************************************************************
r(5600, "Eagle", layout="0cmadoacqaasbbmc" +
"bocaedagdaudawdb" +
"cebieakebmeboeaq" +
"ebsebyeaefagfauf" +
"awfbcgbigakgbmgb" +
"ogaqgbsgbygaehag" +
"hauhawhaaiacibmi" +
"boiayiaAibejbwja" +
"akackbmkbokaykaA" +
"kaambkmanmbqmaAm" +
"cioclocpocsoheeh" +
"gehuehweheghgghu" +
"ghwghbihzihbkhzk" +
"omdoododeofeoheo" +
"teoveoxeomfoofod" +
"gofgohgotgovgoxg" +
"omhoohobjomjoojo" +
"zjvndveevgevuevw" +
"evnfvegvggvugvwg" +
"vnhvnjCfeCveCfgC" +
"vg")
r(5601, "Five Pyramids 2", layout="0aoaaabacbaebagb" +
"awbaybaAbaCbboca" +
"adacdaedagdaidak" +
"damdaqdasdaudawd" +
"aydaAdaCdcoeaafa" +
"cfaefagfawfayfaA" +
"faCfamgdogaqgadh" +
"azhagibiickidmid" +
"oidqicsibuiawiad" +
"jazjamkdokaqkaal" +
"aclaelaglawlayla" +
"AlaClcomaanacnae" +
"nagnainaknamnaqn" +
"asnaunawnaynaAna" +
"Cnbooaapacpaepag" +
"pawpaypaApaCpaoq" +
"hbchdchfchxchzch" +
"Bchbehdehfehxehz" +
"ehBehbmhdmhfmhxm" +
"hzmhBmhbohdohfoh" +
"xohzohBoocdoedoy" +
"doAdocnoenoynoAn")
r(5602, "H for Haga Traditional", layout="0acaaeaagaaiaaka" +
"amaaoaaqaasaauaa" +
"waayabgcbicakcam" +
"caocaqcbscbucaee" +
"bgebieakeameaoea" +
"qebsebueaweacgae" +
"gbggbigbkgbmgbog" +
"bqgbsgbugawgayga" +
"ahaAhaciaeibgibi" +
"ibkibmiboibqibsi" +
"buiawiayiaekbgkb" +
"ikakkamkaokaqkbs" +
"kbukawkbgmbimakm" +
"ammaomaqmbsmbuma" +
"coaeoagoaioakoam" +
"oaooaqoasoauoawo" +
"ayoklcknckpchdhh" +
"xhklmknmkpm")
r(5603, "Hourglass", layout="0aaaacaaeaagaaia" +
"akaamaaoaaqaasaa" +
"uaawaayaaacamcay" +
"cacdawdaaeaeeame" +
"aueayeacfagfasfa" +
"wfaagaegaigamgaq" +
"gaugaygachaghbkh" +
"bohashawhaaiaeia" +
"iiamiaqiauiayiac" +
"jagjasjawjaakaek" +
"amkaukaykaclawla" +
"amammaymaaoacoae" +
"oagoaioakoamoaoo" +
"aqoasoauoawoayoh" +
"abhmbhybhadhmdhy" +
"dhcehwehafhefhuf" +
"hyfhcghgghsghwgh" +
"ahhehhihhqhhuhhy" +
"hhcihgihsihwihaj" +
"hejhujhyjhckhwkh" +
"alhmlhylhanhmnhy" +
"noacoycoaeoyeoag" +
"oygoaioyioakoyko" +
"amoymvadvydvafvy" +
"fvahvyhvajvyjval" +
"vylCaeCyeCagCygC" +
"aiCyiCakCyk")
r(5604, "K for Kyodai Traditional", layout="0acaaeaagaaiaaka" +
"amaaoaaqaasaauaa" +
"waayaagcaicakcam" +
"caocaqcascaucaee" +
"ageaieakeameaoea" +
"qeaseaueaweacgae" +
"gaggaigakgamgaog" +
"aqgasgaugawgayga" +
"ahaAhaciaeiagiai" +
"iakiamiaoiaqiasi" +
"auiawiayiaekagka" +
"ikakkamkaokaqkas" +
"kaukawkagmaimakm" +
"ammaomaqmasmauma" +
"coaeoagoaioakoam" +
"oaooaqoasoauoawo" +
"ayokjckrckpdkjeh" +
"gfknfhufkjghghkl" +
"hhuhkjihgjknjhuj" +
"kjkkplkjmkrm")
r(5605, "N for Namida Traditional", layout="0acaaeaagaaiaaka" +
"amaaoaaqaasaauaa" +
"waayacgcaicakcbm" +
"ccoccqcasccucaee" +
"cgecieakeameaoea" +
"qeasecueaweacgae" +
"gcggcigakgcmgaog" +
"aqgasgcugawgayga" +
"ahaAhaciaeicgiai" +
"iakicmiaoicqiasi" +
"cuiawiayiaekcgka" +
"ikakkamkaokcqkas" +
"kcukawkcgmaimckm" +
"cmmbomaqmasmcuma" +
"coaeoagoaioakoam" +
"oaooaqoasoauoawo" +
"ayoikfikhiohioji" +
"sjisl")
r(5606, "Naoki Haga Traditional", layout="0acaaeaagaaiaaka" +
"amaaoaaqaasaauaa" +
"waayadgcaicakcdm" +
"caocaqcascaucaee" +
"dgeaiedkedmeaoec" +
"qecseaueaweacgae" +
"gdggaigakgdmgaog" +
"aqgasgaugawgayga" +
"ahaAhaciaeiagiai" +
"iakiamidoiaqiasi" +
"duiawiayiaekagkc" +
"ikckkamkdokdqkds" +
"kdukawkagmaimakm" +
"ammdomaqmasmduma" +
"coaeoagoaioakoam" +
"oaooaqoasoauoawo" +
"ayojidvrevjk")
r(5607, "Phoenix", layout="0aaaacaapaaraaEa" +
"aGaaebatbaCbaaca" +
"gcapcarcaAcaGcai" +
"daydakeboebqebse" +
"aweaafacfaefamfa" +
"ufaCfaEfaGfaggbp" +
"gbrgaAgaahaihamh" +
"auhayhaGhaeiakic" +
"picriawiaCiaajam" +
"jaujaGjbpkbrkacl" +
"aelaglailamlaula" +
"ylaAlaClaElakmbp" +
"mbrmawmacnafnamn" +
"aunaBnaEnaioaooa" +
"soayoacpafpaBpaE" +
"pakqawqhbbhFbhdc" +
"hDchfdhBdhhehzeh" +
"jfhxfhdghlghvghD" +
"ghfhhBhhhihnihti" +
"hzihjjhxjhdkhlkh" +
"vkhDkhflhnlhtlhB" +
"lhhmhzmhjnhxnhlo" +
"hvohnphtponfppfp" +
"rfotfoplorlvqivq" +
"lCqf")
r(5608, "Teotihucan", layout="0aaaacaaeaagaaia" +
"akaamaaoaaqaasaa" +
"acascaaeaseaagcg" +
"gckgcogasgaaicgi" +
"ckicoiasiaakaska" +
"amasmaaoacoaeoag" +
"oaioakoamoaooaqo" +
"asoajqhbbhdbhfbh" +
"hbhjbhlbhnbhpbhr" +
"bhbdhrdhbfhrfhbh" +
"hrhhbjhrjhblhrlh" +
"bnhdnhfnhhnhjnhl" +
"nhnnhpnhrnhjpocc" +
"oecogcoicokcomco" +
"ocoqcoceoqeocgoq" +
"gocioqiockoqkocm" +
"oemogmoimokmommo" +
"omoqmojovddvfdvh" +
"dvjdvldvndvpdvdf" +
"vffvhfvjfvlfvnfv" +
"pfvdhwfhvhhwjhvl" +
"hwnhvphvdjvfjvhj" +
"vjjvljvnjvpjvdlv" +
"flvhlvjlvllvnlvp" +
"lvjn")
r(5609, "Tower and Walls", layout="0ekadmaeoadqaesa" +
"dkccmccoccqcdscd" +
"aeecedeeegedieek" +
"ecmedoecqeesedue" +
"ewedyeeAedCedkgc" +
"mgcogcqgdsgekidm" +
"ieoidqiesi")
r(5610, "What a Pyramid", layout="0aaaacaaeaagaaia" +
"akaamaaoaaqaasaa" +
"uaawaaacaccbecbg" +
"cbicbkcbmcbocbqc" +
"bscaucawcaceaeeb" +
"geciedkedmecoebq" +
"easeaueaegbggdig" +
"bkgbmgdogbqgasga" +
"eibgidiibkibmido" +
"ibqiasiackaekbgk" +
"cikdkkdmkcokbqka" +
"skaukaamacmbembg" +
"mbimbkmbmmbombqm" +
"bsmaumawmaaoacoa" +
"eoagoaioakoamoao" +
"oaqoasoauoawo")
r(5611, "Flowers 2", layout="0aaiacgbciackadc" +
"adoaeiafabfcafea" +
"fmbfoafqahcahoai" +
"haijhjiakfakhakj" +
"aklhlghlihlkamda" +
"mfamhomhamjomjam" +
"lamnhnehnghnivni" +
"hnkhnmaobaodaofo" +
"ofaohoohaojoojao" +
"loolaonaophpchpe" +
"hpgvpghpivpihpkv" +
"pkhpmhpoaqbaqdoq" +
"daqfoqfaqhoqhCqh" +
"aqjoqjCqjaqloqla" +
"qnoqnaqphrchrehr" +
"gvrghrivrihrkvrk" +
"hrmhroasbasdasfo" +
"sfashoshasjosjas" +
"loslasnasphtehtg" +
"htivtihtkhtmauda" +
"ufauhouhaujoujau" +
"launhvghvihvkawf" +
"awhawjawlhxiayha" +
"yjazcazoaBabBcaB" +
"eaBmbBoaBqaCiaDc" +
"aDoaEgbEiaEkaGi")
r(5612, "Full Vision 3", layout="0aaeaagaaihbehbi" +
"acbhccacdacfhcga" +
"chacjhckaclacnhc" +
"oacpaeahebaecaee" +
"aegaeiaekhelaema" +
"gbhgcagdagfhggag" +
"hagjhgkaglagnhgo" +
"agphhehhiaieaiga" +
"iiainhioaiphjgak" +
"eakgakiaknhkoakp" +
"hlehliambhmcamda" +
"mfhmgamhamjhmkam" +
"lamnhmoampaoahob" +
"aocaoehofaogaoia" +
"okholaomaqbhqcaq" +
"daqfhqgaqhaqjhqk" +
"aqlaqnhqoaqphreh" +
"riaseasgasiasnhs" +
"oasphtgaueaugaui" +
"aunhuoauphvehvia" +
"wbhwcawdawfhwgaw" +
"hawjhwkawlawnhwo" +
"awpayahybaycayea" +
"ygayiaykhylaymaA" +
"bhAcaAdaAfhAgaAh" +
"aAjhAkaAlaAnhAoa" +
"AphBehBiaCeaCgaC" +
"i")
r(5613, "Lion 2", layout="0aapabiablhbphcf" +
"acghchhclacnocpa" +
"djodladpvdpheeae" +
"fheiaelvelhepCep" +
"ofihflCflafnofph" +
"gdagevgiagjoglag" +
"pvgphhiChiahlvhl" +
"hhpChphicaidoiih" +
"ilCilainoipvjiaj" +
"jojlajpvjpbkabkc" +
"hkiCkiaklvklhkpC" +
"kpolbolihllalnol" +
"pbmabmcvmiamjoml" +
"ampvmphnianlhnpo" +
"oiholaonoophpfap" +
"hapjappaqfhqiaql" +
"hqphrdarnasehsqh" +
"tcatpaudbumhuphv" +
"bcvgavqawccwlhwq" +
"hxbcxjaxpayccylh" +
"yphzbczgazqaAdbA" +
"mhAqhBcaBpaCehCp" +
"hDeaDgaDohEgaEia" +
"EmhEohFiaFkhFmhG" +
"k")
r(5614, "New Layout 2", layout="0CabCadCafacapca" +
"hccvccacepcehcgv" +
"cgheaveaaecpeche" +
"eveeaegpegCfaCfc" +
"CfeCfgagapgahgcv" +
"gcagepgehggvggCh" +
"aChcCheChghiavia" +
"aicpichievieaigp" +
"igakaqkahkcwkcak" +
"eqkehkgwkghmawma" +
"amcqmchmewmeamgq" +
"mgaoaqoahocwocao" +
"eqoehogwoghqavqa" +
"aqcpqchqevqeaqgp" +
"qgCraCrcCreCrgas" +
"apsahscvscasepse" +
"hsgvsgCtaCtcCteC" +
"tghuavuaaucpuchu" +
"evueaugpugawapwa" +
"hwcvwcawepwehwgv" +
"wgCybCydCyf")
r(5615, "Big X", layout="0aacaamhbchbmacb" +
"occacdaclocmacnh" +
"dbhddhdlhdnaeaae" +
"coedaeeaekoelaem" +
"aeohfchfehfkhfma" +
"gbagdogeagfagjog" +
"kaglagnhhdhhfhhj" +
"hhlaicaieoifaiga" +
"iioijaikaimhjehj" +
"ghjihjkakdakfokg" +
"akhokiakjaklhlfh" +
"lhhljameamgomgam" +
"iomiamkhnfhnhhnj" +
"aofoofaohoohaojo" +
"ojhpfhphhpjaqeaq" +
"goqgaqioqiaqkhrf" +
"hrhhrjasdasfosga" +
"shosiasjaslhteht" +
"ghtihtkaucaueouf" +
"augauioujaukaumh" +
"vdhvfhvjhvlawbaw" +
"doweawfawjowkawl" +
"awnhxchxehxkhxma" +
"yaaycoydayeaykoy" +
"laymayohzbhzdhzl" +
"hznaAboAcaAdaAlo" +
"AmaAnhBchBmaCcaC" +
"m")
r(5616, "Axis", layout="0bafcahbajbbdvbh" +
"bblcchCchbdcvdhb" +
"dmcehCehbfbvfhbf" +
"ncghahaahohiahio" +
"ajabjhajohkabkfb" +
"kjhkoalabldbllal" +
"ohmacmhhmoanaanc" +
"vnhanmanoiobcohi" +
"onapbwphapniqbcq" +
"hiqnaraarcvrharm" +
"arohsacshhsoatab" +
"tdbtlatohuabufbu" +
"jhuoavabvhavohwa" +
"hwoaxaaxocyhbzbv" +
"zhbzncAhCAhbBcvB" +
"hbBmcChCChbDdvDh" +
"bDlbEfcEhbEj")
r(5617, "Cobweb", layout="0aacaafhagaahoah" +
"haiaajaamacbhcca" +
"cdaclhcmacnadfhd" +
"gadhodhhdiadjaea" +
"aeohfaafcafeafha" +
"fkafmhfoagaogaag" +
"oogohhaahcahhahm" +
"hhoaiaoiaaiooioh" +
"jaajdajhajlhjoak" +
"aakoalealhalkama" +
"amoancanfhnganhh" +
"nianjanmaoahoboo" +
"gooihonaooopbapc" +
"bpgvpgbpivpiapmo" +
"pnaqahqboqgoqihq" +
"naqoarcarfhrgarh" +
"hriarjarmasaasoa" +
"teathatkauaauohv" +
"aavdavhavlhvoawa" +
"owaawoowohxaaxca" +
"xhaxmhxoayaoyaay" +
"ooyohzaazcazeazh" +
"azkazmhzoaAaaAoa" +
"BfhBgaBhoBhhBiaB" +
"jaCbhCcaCdaClhCm" +
"aCnaEcaEfhEgaEho" +
"EhhEiaEjaEm")
r(5618, "Pyramids", layout="0aaaaacaakaamhbb" +
"abeabgabihblacaa" +
"ccackacmhdbadead" +
"gadihdlaeaaecaek" +
"aemaffhfgafhahba" +
"heahiahlhibhiehi" +
"ihilajbojbajdoje" +
"ajfajhojiajjajlo" +
"jlhkbvkbhkevkehk" +
"ghkivkihklvklalb" +
"olbClbaldoleClea" +
"lfolgalholiClial" +
"jallollCllhmbvmb" +
"hmevmehmgvmghmiv" +
"mihmlvmlanbonbCn" +
"bandoneCneanfong" +
"anhoniCnianjanlo" +
"nlCnlhobvobhoevo" +
"ehoghoivoiholvol" +
"apbopbapdopeapfa" +
"phopiapjaploplhq" +
"bhqehqihqlarbare" +
"ariarlatfhtgatha" +
"uaaucaukaumhvbav" +
"eavgavihvlawaawc" +
"awkawmhxbaxeaxga" +
"xihxlayaaycaykay" +
"m")
r(5619, "Wicker", layout="0bafbakbbcbbhbbm" +
"bcebcjbdbbdgbdlb" +
"edbeibenbfabffbf" +
"kbgcbghbgmbhebhj" +
"bibbigbilbjdbjib" +
"jnbkabkfbkkblcbl" +
"hblmbmebmjbnbbng" +
"bnlbodboibonbpab" +
"pfbpkbqcbqhbqmbr" +
"ebrjbsbbsgbslbtd" +
"btibtnbuabufbukb" +
"vcbvhbvmbwebwjbx" +
"bbxgbxlbydbyibyn" +
"bzfbzkbAh")
r(5620, "Big Square", name="Double Mahjongg Big Square", ncards=288,
layout="0daadacdaedagdai" +
"dakdcadccdcedcgd" +
"cidckdeadecdeede" +
"gdeidekdgadgcdge" +
"dggdgidgkdiadicd" +
"iedigdiidikdkadk" +
"cdkedkgdkidkkdma" +
"dmcdmedmgdmidmkd" +
"oadocdoedogdoido" +
"kdqadqcdqedqgdqi" +
"dqkdsadscdsedsgd" +
"sidskduaducduedu" +
"gduidukdwadwcdwe" +
"dwgdwidwk")
r(5621, "Rows", name="Double Mahjongg Rows", ncards=288,
layout="0daadacCaddaeCaf" +
"dagCahdaidakdcad" +
"ckeeadeceeeeegde" +
"ieekegaegkeiadic" +
"eieeigdiieikekae" +
"kkemadmcemeemgdm" +
"iemkeoaeokeqadqc" +
"eqeeqgdqieqkesae" +
"skeuaduceueeugdu" +
"ieukewaewkeyadyc" +
"eyeeygdyieykdAad" +
"AkdCadCcCCddCeCC" +
"fdCgCChdCidCk")
r(5622, "K 2", name="Half Mahjongg K 2", ncards=72,
layout="0aagabcabehbfobg" +
"hbhabiabkacgvcga" +
"dbidgadlaegvegbf" +
"aifgbfmaggbhaihg" +
"bhmaigbjahjgbjma" +
"kgokgblahlgblmam" +
"gbnaingbnmaogbpa" +
"ipgbpmaqgvqgarbi" +
"rgarlasgvsgatcat" +
"ehtfotghthatiatk" +
"aug")
r(5623, "Abstract", name="Half Mahjongg Abstract", ncards=72,
layout="0aaaaagabcabebdd" +
"adgadioedhehafch" +
"fdafeafhagahhaah" +
"dahgaiahjaojbbjc" +
"ajfakaalcamfamha" +
"nbhncandhngaogbo" +
"iapdhqdaqiarcord" +
"arehrihsdasgasia" +
"tdauaaufhvbavcav" +
"iawaawehxeaxiayc" +
"ayebyghzdaAdaAha" +
"BbaBfhCfaCiaDcaD" +
"eaDghDhaEaaEi")

View file

@ -967,7 +967,7 @@ class PysolMenubarTkCommon:
self.tkopt.gameid)
def _addSelectGameSubMenu(self, games, menu, select_data,
command, variable):
command, variable, short_name=False):
# print select_data
need_sep = 0
for label, select_func in select_data:
@ -981,7 +981,8 @@ class PysolMenubarTkCommon:
menu.add_separator()
need_sep = 0
submenu = MfxMenu(menu, label=label)
self._addSelectGameSubSubMenu(g, submenu, command, variable)
self._addSelectGameSubSubMenu(g, submenu, command, variable,
short_name=short_name)
def _getNumGames(self, games, select_data):
ngames = 0
@ -1003,38 +1004,24 @@ class PysolMenubarTkCommon:
mahjongg_games.sort(key=sort_func)
#
menu = MfxMenu(menu, label=n_("&Mahjongg games"))
def add_menu(games, c0, c1, menu=menu,
variable=variable, command=command):
if not games:
return
label = c0 + ' - ' + c1
if c0 == c1:
label = c0
n, d = 0, self.cb_max
i = 0
while True:
if self.progress:
self.progress.update(step=1)
columnbreak = i > 0 and (i % d) == 0
i += 1
if not mahjongg_games[n:n + d]:
break
m = min(n + d - 1, len(mahjongg_games) - 1)
label = mahjongg_games[n].short_name[:3] + ' - ' + \
mahjongg_games[m].short_name[:3]
submenu = MfxMenu(menu, label=label, name=None)
self._addSelectGameSubSubMenu(games, submenu, command,
variable, short_name=True)
games = {}
for gi in mahjongg_games:
c = gi.short_name.strip()[0]
if c in games:
games[c].append(gi)
else:
games[c] = [gi]
games = list(games.items())
games.sort()
g0 = []
c0 = c1 = games[0][0]
for c, g1 in games:
if len(g0)+len(g1) >= self.cb_max:
add_menu(g0, c0, c1)
g0 = g1
c0 = c1 = c
else:
g0 += g1
c1 = c
add_menu(g0, c0, c1)
self._addSelectGameSubSubMenu(mahjongg_games[n:n + d], submenu,
command, variable, short_name=True)
n += d
if columnbreak:
menu.entryconfigure(i, columnbreak=columnbreak)
def _addSelectPopularGameSubMenu(self, games, menu, command, variable):
def select_func(gi):