Updated cheat system. Code rework

This commit is contained in:
2021-04-06 10:15:10 +03:00
parent bf9208577b
commit 29d5676947
9 changed files with 265 additions and 103 deletions
+13 -5
View File
@@ -11,11 +11,19 @@ from BackgroundLayer import BackgroundLayer
class Background():
imgDir = os.path.join(os.path.dirname(__file__), 'data')
backgroundImage = pygame.image.load(os.path.join(imgDir, 'background.png'))#.convert()
backgroundImage = pygame.image.load(
os.path.join(imgDir, 'background.png')
)#.convert()
backgroundImages = (
pygame.transform.scale(backgroundImage.subsurface((0, 0, 800, 150)), (3200, 600)),
pygame.transform.scale(backgroundImage.subsurface((0, 150, 800, 150)), (3200, 600)),
pygame.transform.scale(backgroundImage.subsurface((0, 300, 800, 150)), (3200, 600)),
pygame.transform.scale(
backgroundImage.subsurface((0, 0, 800, 150)), (3200, 600)
),
pygame.transform.scale(
backgroundImage.subsurface((0, 150, 800, 150)), (3200, 600)
),
pygame.transform.scale(
backgroundImage.subsurface((0, 300, 800, 150)), (3200, 600)
),
)
for image in backgroundImages:
image.set_colorkey((255,0,255))
@@ -24,7 +32,7 @@ class Background():
pygame.sprite.Sprite.__init__(self)
self.layers = (
BackgroundLayer(Background.backgroundImages[0], mainGameClass, 0.25),
BackgroundLayer(Background.backgroundImages[0], mainGameClass, 0.2),
BackgroundLayer(Background.backgroundImages[1], mainGameClass, 0.5),
BackgroundLayer(Background.backgroundImages[2], mainGameClass, 1),
)
+6 -2
View File
@@ -14,8 +14,12 @@ class BackgroundLayer():
self.frames = pygame.sprite.Group()
self.frames.add(BackgroundLayerFrame(image, mainGameClass, (0, 0), speedMultiplier))
self.frames.add(BackgroundLayerFrame(image, mainGameClass, (offset, 0), speedMultiplier))
self.frames.add(BackgroundLayerFrame(
image, mainGameClass, (0, 0), speedMultiplier)
)
self.frames.add(BackgroundLayerFrame(
image, mainGameClass, (offset, 0), speedMultiplier)
)
def update(self):
+5 -4
View File
@@ -17,10 +17,11 @@ class Cloud(pygame.sprite.Sprite):
self.image.fill((color, color, color))
self.rect = self.image.get_rect()
self.rect.center = (mainGameClass.getScreenWidth() + self.rect.width,
mainGameClass.getScreenHeight()/2 -
random.randint(100,
mainGameClass.getScreenHeight()/2-100)+50*(2-cloudType))
self.rect.center = (
mainGameClass.getScreenWidth() + self.rect.width,
mainGameClass.getScreenHeight()/2 - random.randint(100,
mainGameClass.getScreenHeight()/2-100) + 50*(2-cloudType)
)
self.speed = cloudType*mainGameClass.getGameSpeed() / 6
self.__doubleX = float(self.rect.x)
+11 -12
View File
@@ -140,15 +140,10 @@ class Drakora():
self.fontMessage = pygame.font.Font(self.font, 56)
self.fontGodmode = pygame.font.Font(self.font, 12)
self.charKeys = {
pygame.K_a:'a', pygame.K_b:'b', pygame.K_c:'c', pygame.K_d:'d',
pygame.K_e:'e', pygame.K_f:'f', pygame.K_g:'g', pygame.K_h:'h',
pygame.K_i:'i', pygame.K_j:'j', pygame.K_k:'k', pygame.K_l:'l',
pygame.K_m:'m', pygame.K_n:'n', pygame.K_o:'o', pygame.K_p:'p',
pygame.K_q:'q', pygame.K_r:'r', pygame.K_s:'s', pygame.K_t:'t',
pygame.K_u:'u', pygame.K_v:'v', pygame.K_w:'w', pygame.K_x:'x',
pygame.K_y:'y', pygame.K_z:'z',
}
self.charKeys = tuple(
pygame.key.key_code(chr(i)) for i in range(ord("a"), ord("z"))
)
self.pressedKeys = deque(maxlen=10)
self.isPressedKeysUpdated = True
@@ -169,7 +164,6 @@ class Drakora():
def render(self):
# self.screen.fill((102, 153, 255))
self.background.draw(self.screen)
for cloudGroup in self.cloudGroups: cloudGroup.draw(self.screen)
self.enemies.draw(self.screen)
@@ -225,6 +219,10 @@ class Drakora():
self.fontGodmode, (255, 255, 255),
(self.getScreenWidth()/2,60))
self.renderText(''.join(self.pressedKeys),
self.fontGodmode, (255, 255, 255),
(self.getScreenWidth()/2,80))
pygame.display.flip()
@@ -242,7 +240,8 @@ class Drakora():
def collideCheck(self):
if sum([1 if pygame.sprite.spritecollideany(i, self.enemies) else 0 for i in self.player.getCollisionBoxes()]):
if sum([1 if pygame.sprite.spritecollideany(i, self.enemies) else 0
for i in self.player.getCollisionBoxes()]):
if not self.isGodmode: self.isGameOver = True
if self.player.isOnFloor:
@@ -299,7 +298,7 @@ class Drakora():
elif event.type == pygame.KEYUP:
if event.key in self.charKeys:
self.pressedKeys.append(self.charKeys[event.key])
self.pressedKeys.append(pygame.key.name(event.key))
self.isPressedKeysUpdated = True
self.doCheats()
+56 -19
View File
@@ -8,11 +8,19 @@ import pygame
class EndSceen():
def __init__(self, mainGameClass):
self.fontGameOver = pygame.font.Font(mainGameClass.getFont(), 56)
self.fontLeaderBoard = pygame.font.Font(mainGameClass.getFont(), 30)
self.fontLeaderBoardActive = pygame.font.Font(mainGameClass.getFont(), 30)
self.fontGameOver = pygame.font.Font(
mainGameClass.getFont(), 56
)
self.fontLeaderBoard = pygame.font.Font(
mainGameClass.getFont(), 30
)
self.fontLeaderBoardActive = pygame.font.Font(
mainGameClass.getFont(), 30
)
self.fontLeaderBoardActive.underline = True
self.fontError = pygame.font.Font(mainGameClass.getFont(), 15)
self.fontError = pygame.font.Font(
mainGameClass.getFont(), 15
)
self.game = mainGameClass
@@ -31,11 +39,14 @@ class EndSceen():
oneStr = line.split()
if (len(oneStr) == 3):
self.data.append([oneStr[0][:10], int(oneStr[1]), float(oneStr[2])])
self.data.append(
[oneStr[0][:10], int(oneStr[1]), float(oneStr[2])]
)
fileWithData.close()
self.sortedDataByScores = sorted(enumerate(self.data), key=lambda i: i[1][1], reverse=True)
self.sortedDataByScores = sorted(enumerate(self.data),
key=lambda i: i[1][1], reverse=True)
def renderText(self, text, font, color, center, backColor=None):
@@ -52,7 +63,10 @@ class EndSceen():
# print(self.data[i])
if (self.game.getScore() > self.data[i][1] and not placeFlag):
self.renderText('>{0:3} {1:^10} {2:6d} {3:8.2f} '.format(j, self.playerName[:10], self.game.getScore(), self.game.getTime()),
self.renderText('>{0:3} {1:^10} {2:6d} {3:8.2f} '.format(j,
self.playerName[:10], self.game.getScore(),
self.game.getTime()
),
self.fontLeaderBoard, (255, 255, 255),
(self.game.getScreenWidth()/2,100 + j*50))
j += 1
@@ -61,7 +75,8 @@ class EndSceen():
if (j > number):
break
formatDataForOnePlayer = ' {0:3} {1:^10} {2:6d} {3:8.2f} '.format(j, *self.data[i])
formatDataForOnePlayer = ' {0:3} {1:^10} {2:6d} {3:8.2f} '.format(
j, *self.data[i])
self.renderText(formatDataForOnePlayer,
self.fontLeaderBoard, (255, 255, 255),
@@ -73,12 +88,17 @@ class EndSceen():
break
if not placeFlag and j <= number:
self.renderText('>{0:3} {1:^10} {2:6d} {3:8.2f} '.format(j, self.playerName[:10], self.game.getScore(), self.game.getTime()),
self.renderText('>{0:3} {1:^10} {2:6d} {3:8.2f} '.format(
j, self.playerName[:10], self.game.getScore(),
self.game.getTime()
),
self.fontLeaderBoard, (255, 255, 255),
(self.game.getScreenWidth()/2,100 + j*50))
self.renderText(' {0:>3} {1:^10} {2:>6} {3:>8} '.format('..','.....', '..', '.....'),
self.renderText(' {0:>3} {1:^10} {2:>6} {3:>8} '.format(
'..','.....', '..', '.....'
),
self.fontLeaderBoard, (255, 255, 255),
(self.game.getScreenWidth()/2,100 + (number + 1)*50))
@@ -119,25 +139,40 @@ class EndSceen():
self.endScreenTimer += 1
if len(self.playerName) > 0:
self.renderText(' {0:3d} {1:^10} {2:6d} {3:8.2f} '.format(self.getScorePosition(self.game.getScore()), self.playerName[:10] + (cursorChar if len(self.playerName) < 10 else ''), self.game.getScore(), self.game.getTime()),
self.renderText(' {0:3d} {1:^10} {2:6d} {3:8.2f} '.format(
self.getScorePosition(self.game.getScore()),
self.playerName[:10] + (cursorChar
if len(self.playerName) < 10 else ''),
self.game.getScore(), self.game.getTime()
),
self.fontLeaderBoard, (255, 255, 255),
(self.game.getScreenWidth()/2,100 + (5 + 2)*50))
else:
self.renderText(' {0:3d} {1:^10} {2:6d} {3:8.2f} '.format(self.getScorePosition(self.game.getScore()), self.playerName[:10] + (cursorChar if len(self.playerName) < 10 else ''), self.game.getScore(), self.game.getTime()),
self.renderText(' {0:3d} {1:^10} {2:6d} {3:8.2f} '.format(
self.getScorePosition(self.game.getScore()),
self.playerName[:10] + (cursorChar
if len(self.playerName) < 10 else ''),
self.game.getScore(), self.game.getTime()
),
self.fontLeaderBoard, (255, 255, 255),
(self.game.getScreenWidth()/2,100 + (5 + 2)*50), (200, 20, 20))
(self.game.getScreenWidth()/2, 100 +
(5 + 2)*50), (200, 20, 20))
self.renderText(' {0:^30} '.format('Missing player name'),
self.fontError, (255, 255, 255),
(self.game.getScreenWidth()/2,100 + (5 + 2)*50 + 25))
self.renderText('Back',
self.fontLeaderBoard if not self.isBackButton else self.fontLeaderBoardActive, (255, 255, 255),
(self.game.getScreenWidth()/2 - 100, self.game.getScreenHeight() - 80))
self.fontLeaderBoard if not self.isBackButton else
self.fontLeaderBoardActive, (255, 255, 255),
(self.game.getScreenWidth()/2 - 100,
self.game.getScreenHeight() - 80))
self.renderText('Continue',
self.fontLeaderBoard if self.isBackButton else self.fontLeaderBoardActive, (255, 255, 255),
(self.game.getScreenWidth()/2 + 100, self.game.getScreenHeight() - 80))
self.fontLeaderBoard if self.isBackButton else
self.fontLeaderBoardActive, (255, 255, 255),
(self.game.getScreenWidth()/2 + 100,
self.game.getScreenHeight() - 80))
def control(self, event):
if event.type == pygame.KEYDOWN and self.game.isGameOver:
@@ -159,7 +194,8 @@ class EndSceen():
elif event.key == pygame.K_BACKSPACE:
self.playerName = self.playerName[:len(self.playerName) - 1]
elif len(pygame.key.name(event.key)) == 1 and len(self.playerName) < 10:
elif len(pygame.key.name(event.key)) == 1 and
len(self.playerName) < 10:
if pygame.key.get_mods() & pygame.KMOD_LSHIFT:
self.playerName += pygame.key.name(event.key).upper()
else:
@@ -177,7 +213,8 @@ class EndSceen():
if not (line.split()[0].rstrip() == self.playerName.rstrip()):
newData.append(line)
newData.append('{0} {1} {2:.2f}\n'.format(self.playerName, self.game.getScore(), self.game.getTime()))
newData.append('{0} {1} {2:.2f}\n'.format(self.playerName,
self.game.getScore(), self.game.getTime()))
with open ('leaders.txt', 'w') as fileWithData:
fileWithData.writelines(newData)
+3 -1
View File
@@ -13,7 +13,9 @@ from Enemy import Enemy
class FlyingEnemy(Enemy):
imgDir = os.path.join(os.path.dirname(__file__), 'data')
senemyImage = pygame.image.load(os.path.join(imgDir, 'fenemy.png'))#.convert()
senemyImage = pygame.image.load(
os.path.join(imgDir, 'fenemy.png')
)#.convert()
images = (
pygame.transform.scale(senemyImage.subsurface((0, 0, 16, 8)),(64, 32)),
pygame.transform.scale(senemyImage.subsurface((16, 0, 16, 8)),(64, 32)),
+55 -18
View File
@@ -11,33 +11,67 @@ from CollisionBox import CollisionBox
class Player(pygame.sprite.Sprite):
imgDir = os.path.join(os.path.dirname(__file__), 'data')
playerImage = pygame.image.load(os.path.join(imgDir, 'player.png'))#.convert()
playerImage = pygame.image.load(
os.path.join(imgDir, 'player.png')
)#.convert()
walkImages = (
pygame.transform.scale(playerImage.subsurface((0, 0, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((16, 0, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((32, 0, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((48, 0, 16, 24)), (64, 98)),
pygame.transform.scale(
playerImage.subsurface((0, 0, 16, 24)), (64, 98)
),
pygame.transform.scale(
playerImage.subsurface((16, 0, 16, 24)), (64, 98)
),
pygame.transform.scale(
playerImage.subsurface((32, 0, 16, 24)), (64, 98)
),
pygame.transform.scale(
playerImage.subsurface((48, 0, 16, 24)), (64, 98)
),
)
upImages = (
pygame.transform.scale(playerImage.subsurface((0, 24, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((16, 24, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((32, 24, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((48, 24, 16, 24)), (64, 98)),
pygame.transform.scale(
playerImage.subsurface((0, 24, 16, 24)), (64, 98)
),
pygame.transform.scale(
playerImage.subsurface((16, 24, 16, 24)), (64, 98)
),
pygame.transform.scale(
playerImage.subsurface((32, 24, 16, 24)), (64, 98)
),
pygame.transform.scale(
playerImage.subsurface((48, 24, 16, 24)), (64, 98)
),
)
downImages = (
pygame.transform.scale(playerImage.subsurface((0, 48, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((16, 48, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((32, 48, 16, 24)), (64, 98)),
pygame.transform.scale(playerImage.subsurface((48, 48, 16, 24)), (64, 98)),
pygame.transform.scale(
playerImage.subsurface((0, 48, 16, 24)), (64, 98)
),
pygame.transform.scale(
playerImage.subsurface((16, 48, 16, 24)), (64, 98)
),
pygame.transform.scale(
playerImage.subsurface((32, 48, 16, 24)), (64, 98)
),
pygame.transform.scale(
playerImage.subsurface((48, 48, 16, 24)), (64, 98)
),
)
crouchImages = (
pygame.transform.scale(playerImage.subsurface((0, 72, 16, 16)), (64, 64)),
pygame.transform.scale(playerImage.subsurface((16, 72, 16, 16)), (64, 64)),
pygame.transform.scale(playerImage.subsurface((32, 72, 16, 16)), (64, 64)),
pygame.transform.scale(playerImage.subsurface((48, 72, 16, 16)), (64, 64)),
pygame.transform.scale(
playerImage.subsurface((0, 72, 16, 16)), (64, 64)
),
pygame.transform.scale(
playerImage.subsurface((16, 72, 16, 16)), (64, 64)
),
pygame.transform.scale(
playerImage.subsurface((32, 72, 16, 16)), (64, 64)
),
pygame.transform.scale(
playerImage.subsurface((48, 72, 16, 16)), (64, 64)
),
)
for array in (walkImages, upImages, downImages, crouchImages):
@@ -147,7 +181,10 @@ class Player(pygame.sprite.Sprite):
else: maxHoverCount = 1
if self.isDownJump and self.hoverCount < maxHoverCount:
self.speed -= self.gameSpeed/8 * ((math.cos(2*math.pi*self.hoverCount/(2*maxHoverCount))+1)/2.5+0.2)
self.speed -= self.gameSpeed/8 * (
(math.cos(2*math.pi*self.hoverCount/
(2*maxHoverCount))+1)/2.5 + 0.2
)
self.hoverCount += 1
else:
self.isJumping = False
+111 -37
View File
@@ -12,55 +12,129 @@ from Enemy import Enemy
class StandingEnemy(Enemy):
imgDir = os.path.join(os.path.dirname(__file__), 'data')
senemyImage = pygame.image.load(os.path.join(imgDir, 'senemy.png'))#.convert()
senemyImage = pygame.image.load(
os.path.join(imgDir, 'senemy.png')
)#.convert()
images = (
(
pygame.transform.scale(senemyImage.subsurface((0, 0, 8, 24)), (32, 98)),
pygame.transform.scale(senemyImage.subsurface((8, 0, 8, 24)), (32, 98)),
pygame.transform.scale(senemyImage.subsurface((16, 0, 8, 24)), (32, 98)),
pygame.transform.scale(senemyImage.subsurface((24, 0, 8, 24)), (32, 98)),
pygame.transform.scale(senemyImage.subsurface((32, 0, 8, 24)), (32, 98)),
pygame.transform.scale(senemyImage.subsurface((40, 0, 8, 24)), (32, 98)),
pygame.transform.scale(
senemyImage.subsurface((0, 0, 8, 24)), (32, 98)
),
pygame.transform.scale(
senemyImage.subsurface((8, 0, 8, 24)), (32, 98)
),
pygame.transform.scale(
senemyImage.subsurface((16, 0, 8, 24)), (32, 98)
),
pygame.transform.scale(
senemyImage.subsurface((24, 0, 8, 24)), (32, 98)
),
pygame.transform.scale(
senemyImage.subsurface((32, 0, 8, 24)), (32, 98)
),
pygame.transform.scale(
senemyImage.subsurface((40, 0, 8, 24)), (32, 98)
),
),
(
pygame.transform.scale(senemyImage.subsurface((0, 24, 8, 16)), (32, 64)),
pygame.transform.scale(senemyImage.subsurface((8, 24, 8, 16)), (32, 64)),
pygame.transform.scale(senemyImage.subsurface((16, 24, 8, 16)), (32, 64)),
pygame.transform.scale(senemyImage.subsurface((24, 24, 8, 16)), (32, 64)),
pygame.transform.scale(senemyImage.subsurface((32, 24, 8, 16)), (32, 64)),
pygame.transform.scale(senemyImage.subsurface((40, 24, 8, 16)), (32, 64)),
pygame.transform.scale(
senemyImage.subsurface((0, 24, 8, 16)), (32, 64)
),
pygame.transform.scale(
senemyImage.subsurface((8, 24, 8, 16)), (32, 64)
),
pygame.transform.scale(
senemyImage.subsurface((16, 24, 8, 16)), (32, 64)
),
pygame.transform.scale(
senemyImage.subsurface((24, 24, 8, 16)), (32, 64)
),
pygame.transform.scale(
senemyImage.subsurface((32, 24, 8, 16)), (32, 64)
),
pygame.transform.scale(
senemyImage.subsurface((40, 24, 8, 16)), (32, 64)
),
),
(
pygame.transform.scale(senemyImage.subsurface((0, 40, 16, 16)), (64, 64)),
pygame.transform.scale(senemyImage.subsurface((16, 40, 16, 16)), (64, 64)),
pygame.transform.scale(senemyImage.subsurface((32, 40, 16, 16)), (64, 64)),
pygame.transform.scale(senemyImage.subsurface((0, 56, 16, 16)), (64, 64)),
pygame.transform.scale(senemyImage.subsurface((16, 56, 16, 16)), (64, 64)),
pygame.transform.scale(senemyImage.subsurface((32, 56, 16, 16)), (64, 64)),
pygame.transform.scale(
senemyImage.subsurface((0, 40, 16, 16)), (64, 64)
),
pygame.transform.scale(
senemyImage.subsurface((16, 40, 16, 16)), (64, 64)
),
pygame.transform.scale(
senemyImage.subsurface((32, 40, 16, 16)), (64, 64)
),
pygame.transform.scale(
senemyImage.subsurface((0, 56, 16, 16)), (64, 64)
),
pygame.transform.scale(
senemyImage.subsurface((16, 56, 16, 16)), (64, 64)
),
pygame.transform.scale(
senemyImage.subsurface((32, 56, 16, 16)), (64, 64)
),
),
(
pygame.transform.scale(senemyImage.subsurface((0, 72, 8, 8)), (32, 32)),
pygame.transform.scale(senemyImage.subsurface((8, 72, 8, 8)), (32, 32)),
pygame.transform.scale(senemyImage.subsurface((16, 72, 8, 8)), (32, 32)),
pygame.transform.scale(senemyImage.subsurface((24, 72, 8, 8)), (32, 32)),
pygame.transform.scale(senemyImage.subsurface((32, 72, 8, 8)), (32, 32)),
pygame.transform.scale(senemyImage.subsurface((40, 72, 8, 8)), (32, 32)),
pygame.transform.scale(
senemyImage.subsurface((0, 72, 8, 8)), (32, 32)
),
pygame.transform.scale(
senemyImage.subsurface((8, 72, 8, 8)), (32, 32)
),
pygame.transform.scale(
senemyImage.subsurface((16, 72, 8, 8)), (32, 32)
),
pygame.transform.scale(
senemyImage.subsurface((24, 72, 8, 8)), (32, 32)
),
pygame.transform.scale(
senemyImage.subsurface((32, 72, 8, 8)), (32, 32)
),
pygame.transform.scale(
senemyImage.subsurface((40, 72, 8, 8)), (32, 32)
),
),
(
pygame.transform.scale(senemyImage.subsurface((0, 80, 16, 8)), (64, 32)),
pygame.transform.scale(senemyImage.subsurface((16, 80, 16, 8)), (64, 32)),
pygame.transform.scale(senemyImage.subsurface((32, 80, 16, 8)), (64, 32)),
pygame.transform.scale(senemyImage.subsurface((0, 88, 16, 8)), (64, 32)),
pygame.transform.scale(senemyImage.subsurface((16, 88, 16, 8)), (64, 32)),
pygame.transform.scale(senemyImage.subsurface((32, 88, 16, 8)), (64, 32)),
pygame.transform.scale(
senemyImage.subsurface((0, 80, 16, 8)), (64, 32)
),
pygame.transform.scale(
senemyImage.subsurface((16, 80, 16, 8)), (64, 32)
),
pygame.transform.scale(
senemyImage.subsurface((32, 80, 16, 8)), (64, 32)
),
pygame.transform.scale(
senemyImage.subsurface((0, 88, 16, 8)), (64, 32)
),
pygame.transform.scale(
senemyImage.subsurface((16, 88, 16, 8)), (64, 32)
),
pygame.transform.scale(
senemyImage.subsurface((32, 88, 16, 8)), (64, 32)
),
),
(
pygame.transform.scale(senemyImage.subsurface((0, 96, 24, 8)), (98, 32)),
pygame.transform.scale(senemyImage.subsurface((24, 96, 24, 8)), (98, 32)),
pygame.transform.scale(senemyImage.subsurface((0, 104, 24, 8)), (98, 32)),
pygame.transform.scale(senemyImage.subsurface((24, 104, 24, 8)), (98, 32)),
pygame.transform.scale(senemyImage.subsurface((0, 112, 24, 8)), (98, 32)),
pygame.transform.scale(senemyImage.subsurface((24, 112, 24, 8)), (98, 32)),
pygame.transform.scale(
senemyImage.subsurface((0, 96, 24, 8)), (98, 32)
),
pygame.transform.scale(
senemyImage.subsurface((24, 96, 24, 8)), (98, 32)
),
pygame.transform.scale(
senemyImage.subsurface((0, 104, 24, 8)), (98, 32)
),
pygame.transform.scale(
senemyImage.subsurface((24, 104, 24, 8)), (98, 32)
),
pygame.transform.scale(
senemyImage.subsurface((0, 112, 24, 8)), (98, 32)
),
pygame.transform.scale(
senemyImage.subsurface((24, 112, 24, 8)), (98, 32)
),
),
)