File indexing completed on 2024-04-21 04:01:55
0001 # -*- coding: utf-8 -*- 0002 0003 """ 0004 Copyright (C) 2008-2016 Wolfgang Rohdewald <wolfgang@rohdewald.de> 0005 0006 SPDX-License-Identifier: GPL-2.0 0007 0008 """ 0009 0010 class TileSource: 0011 """ 0012 some constants 0013 """ 0014 0015 byChar = dict() 0016 0017 def __str__(self): 0018 return self.char 0019 0020 def __repr__(self): 0021 return 'TileSource.{}'.format(self.__class__.__name__) 0022 0023 class SourceClass: 0024 """Defines defaults""" 0025 isDiscarded = False 0026 0027 class LivingWallDiscard(SourceClass): 0028 """Last Tile was discarded""" 0029 char = 'd' 0030 isDiscarded = True 0031 0032 class LivingWall(SourceClass): 0033 """Last tile comes from wall""" 0034 char = 'w' 0035 0036 class East14th(SourceClass): 0037 """This is the 14th tile for East""" 0038 char = '1' 0039 0040 class RobbedKong(SourceClass): 0041 """Last tile comes from robbing a kong""" 0042 char = 'k' 0043 0044 class DeadWall(SourceClass): 0045 """Last tile comes from dead wall""" 0046 char = 'e' 0047 0048 class LivingWallEnd(SourceClass): 0049 """Last tile comes from living wall and is the last living wall tile""" 0050 char = 'z' 0051 0052 class LivingWallEndDiscard(SourceClass): 0053 """like LivingWallEnd but discarded""" 0054 char = 'Z' 0055 isDiscarded = True 0056 0057 class Unknown(SourceClass): 0058 """Unknown source""" 0059 char = '.' 0060 0061 TileSource.byChar['w'] = TileSource.LivingWall 0062 TileSource.byChar['d'] = TileSource.LivingWallDiscard 0063 TileSource.byChar['z'] = TileSource.LivingWallEnd 0064 TileSource.byChar['e'] = TileSource.DeadWall 0065 TileSource.byChar['Z'] = TileSource.LivingWallEndDiscard 0066 TileSource.byChar['1'] = TileSource.East14th 0067 TileSource.byChar['k'] = TileSource.RobbedKong 0068 TileSource.byChar['.'] = TileSource.Unknown