Simple Python Pygame Game

I’m trying to make a simple game for a my school project. Do you have any tips on how to simplify and beautify the code?

https://github.com/20nicolas/Game.git

import pygame as py import os  py.init ()  screen = py.display.set_mode ((800,600))    bg = py.image.load('game-assets-game-background-sidescroller.png') clock = py.time.Clock ()   idle = [py.image.load(os.path.join('player','Idle (1).png')),py.image.load(os.path.join('player','Idle (2).png')),py.image.load(os.path.join('player','Idle (3).png')),py.image.load(os.path.join('player','Idle (4).png')),py.image.load(os.path.join('player','Idle (5).png')),py.image.load(os.path.join('player','Idle (6).png')),py.image.load(os.path.join('player','Idle (7).png')),py.image.load(os.path.join('player','Idle (8).png')),py.image.load(os.path.join('player','Idle (9).png')),py.image.load(os.path.join('player','Idle (10).png'))] run_right = [py.image.load(os.path.join('player','Run (1).png')),py.image.load(os.path.join('player','Run (2).png')),py.image.load(os.path.join('player','Run (3).png')),py.image.load(os.path.join('player','Run (4).png')),py.image.load(os.path.join('player','Run (5).png')),py.image.load(os.path.join('player','Run (6).png')),py.image.load(os.path.join('player','Run (7).png')),py.image.load(os.path.join('player','Run (8).png'))] jump = [py.image.load(os.path.join('player','Jump (1).png')),py.image.load(os.path.join('player','Jump (2).png')),py.image.load(os.path.join('player','Jump (3).png')),py.image.load(os.path.join('player','Jump (4).png')),py.image.load(os.path.join('player','Jump (5).png')),py.image.load(os.path.join('player','Jump (6).png')),py.image.load(os.path.join('player','Jump (7).png')),py.image.load(os.path.join('player','Jump (8).png')),py.image.load(os.path.join('player','Jump (9).png')),py.image.load(os.path.join('player','Jump (10).png'))] shoot_idle = [py.image.load(os.path.join('player','Shoot (1).png')),py.image.load(os.path.join('player','Shoot (2).png')),py.image.load(os.path.join('player','Shoot (3).png')),py.image.load(os.path.join('player','Shoot (4).png'))] shoot_run = [py.image.load(os.path.join('player','RunShoot (1).png')),py.image.load(os.path.join('player','RunShoot (2).png')),py.image.load(os.path.join('player','RunShoot (3).png')),py.image.load(os.path.join('player','RunShoot (4).png')),py.image.load(os.path.join('player','RunShoot (5).png')),py.image.load(os.path.join('player','RunShoot (6).png')),py.image.load(os.path.join('player','RunShoot (7).png')),py.image.load(os.path.join('player','Run (8).png'))]  class player(object):     def __init__(self,x,y,width,lenght):         self.x = x         self.y = y         self.width = width         self.lenght = lenght         self.vel = 5         self.right = False         self.left = False         self.standing = True         self.idlecount = 0         self.runcount = 0         self.jumping = False         self.jumpcount = 14         self.direction = 1         self.jumpingcount = 0         self.shooting = False         self.shootingcount = 0      def draw (self,screen):         if self.idlecount + 1 >= 30:             self.idlecount = 0          if self.runcount + 1 >= 24:             self.runcount = 0          if self.jumpingcount + 1 >= 31:             self.jumpingcount = 0          if self.shootingcount + 1 >= 9:             self.shootingcount = 0          if not (self.jumping):             if not (self.standing):                  if self.right:                     screen.blit (run_right[self.runcount//3],(self.x,self.y))                     self.runcount += 1                  elif self.left:                     screen.blit (run_left[self.runcount//3],(self.x,self.y))                     self.runcount += 1              else:                 if self.shooting:                     if self.direction == 1:                         screen.blit (shoot_idle[self.shootingcount//2],(self.x,self.y))                         self.shootingcount += 1                      elif self.direction == -1:                         screen.blit (shoot_idle2[self.shootingcount//2],(self.x,self.y))                         self.shootingcount += 1                  elif self.direction == 1:                     screen.blit (idle[self.idlecount//3],(self.x,self.y))                     self.idlecount += 1                  elif self.direction == -1:                     screen.blit (idle2[self.idlecount//3],(self.x,self.y))                     self.idlecount += 1          else:             if self.direction == 1:                 screen.blit (jump[self.jumpingcount//3],(self.x,self.y))                 self.jumpingcount += 1                 self.runcount = 0              elif self.direction == -1:                 screen.blit (jump2[self.jumpingcount//3],(self.x,self.y))                 self.jumpingcount += 1                 self.runcount = 0    pows = [py.image.load(os.path.join('player','Bullet_000.png')),py.image.load(os.path.join('player','Bullet_001.png')),py.image.load(os.path.join('player','Bullet_002.png')),py.image.load(os.path.join('player','Bullet_003.png')),py.image.load(os.path.join('player','Bullet_004.png'))]  class bulletss (object):     def __init__(self,x,y,facing):         self.x = x         self.y = y         self.facing = facing         self.vel = 10 * facing         self.shootcount = 0         self.lenght = 50         self.width = 50      def draw(self,win):          if self.shootcount + 1 == 12:             self.shootcount = 0          if self.facing == 1:             screen.blit (pows[self.shootcount//3],(self.x+25,self.y-25))             self.shootcount += 1          elif self.facing == -1:             screen.blit (pows2[self.shootcount//3],(self.x-75,self.y-25))             self.shootcount += 1   def drawGameScreen ():     screen.blit(bg,(0,0))     man.draw (screen)     for bullet in bullets:         bullet.draw (screen)       py.display.update ()  ##main loop  man = player (100,430,100,100) game = True bullets = [] shootloop = 0  idle = [(py.transform.scale(idle[0],(man.width,man.lenght))),(py.transform.scale(idle[1],(man.width,man.lenght))),(py.transform.scale(idle[2],(man.width,man.lenght))),(py.transform.scale(idle[3],(man.width,man.lenght))),(py.transform.scale(idle[4],(man.width,man.lenght))),(py.transform.scale(idle[5],(man.width,man.lenght))),(py.transform.scale(idle[6],(man.width,man.lenght))),(py.transform.scale(idle[7],(man.width,man.lenght))),(py.transform.scale(idle[8],(man.width,man.lenght))),(py.transform.scale(idle[9],(man.width,man.lenght)))] run_right = [(py.transform.scale(run_right[0],(man.width,man.lenght))),(py.transform.scale(run_right[1],(man.width,man.lenght))),(py.transform.scale(run_right[2],(man.width,man.lenght))),(py.transform.scale(run_right[3],(man.width,man.lenght))),(py.transform.scale(run_right[4],(man.width,man.lenght))),(py.transform.scale(run_right[5],(man.width,man.lenght))),(py.transform.scale(run_right[6],(man.width,man.lenght))),(py.transform.scale(run_right[7],(man.width,man.lenght)))] jump = [(py.transform.scale(jump[0],(man.width,man.lenght))),(py.transform.scale(jump[1],(man.width,man.lenght))),(py.transform.scale(jump[2],(man.width,man.lenght))),(py.transform.scale(jump[3],(man.width,man.lenght))),(py.transform.scale(jump[4],(man.width,man.lenght))),(py.transform.scale(jump[5],(man.width,man.lenght))),(py.transform.scale(jump[6],(man.width,man.lenght))),(py.transform.scale(jump[7],(man.width,man.lenght))),(py.transform.scale(jump[8],(man.width,man.lenght))),(py.transform.scale(jump[9],(man.width,man.lenght)))] run_left = [(py.transform.flip(run_right[0],True,False)),(py.transform.flip(run_right[1],True,False)),(py.transform.flip(run_right[2],True,False)),(py.transform.flip(run_right[3],True,False)),(py.transform.flip(run_right[4],True,False)),(py.transform.flip(run_right[5],True,False)),(py.transform.flip(run_right[6],True,False)),(py.transform.flip(run_right[7],True,False))] idle2 = [(py.transform.flip(idle[0],True,False)),(py.transform.flip(idle[1],True,False)),(py.transform.flip(idle[2],True,False)),(py.transform.flip(idle[3],True,False)),(py.transform.flip(idle[4],True,False)),(py.transform.flip(idle[5],True,False)),(py.transform.flip(idle[6],True,False)),(py.transform.flip(idle[7],True,False)),(py.transform.flip(idle[8],True,False)),(py.transform.flip(idle[9],True,False))] jump2 = [(py.transform.flip(jump[0],True,False)),(py.transform.flip(jump[1],True,False)),(py.transform.flip(jump[2],True,False)),(py.transform.flip(jump[3],True,False)),(py.transform.flip(jump[4],True,False)),(py.transform.flip(jump[5],True,False)),(py.transform.flip(jump[6],True,False)),(py.transform.flip(jump[7],True,False)),(py.transform.flip(jump[8],True,False)),(py.transform.flip(jump[9],True,False))] shoot_idle = [(py.transform.scale(shoot_idle[0],(man.width,man.lenght))),(py.transform.scale(shoot_idle[1],(man.width,man.lenght))),(py.transform.scale(shoot_idle[2],(man.width,man.lenght))),(py.transform.scale(shoot_idle[3],(man.width,man.lenght)))] shoot_idle2 = [(py.transform.flip(shoot_idle[0],True,False)),(py.transform.flip(shoot_idle[1],True,False)),(py.transform.flip(shoot_idle[2],True,False)),(py.transform.flip(shoot_idle[3],True,False))] pows = [(py.transform.scale(pows[0],(50,50))),(py.transform.scale(pows[1],(50,50))),(py.transform.scale(pows[2],(50,50))),(py.transform.scale(pows[3],(50,50))),(py.transform.scale(pows[4],(50,50)))] pows2 = [(py.transform.flip(pows[0],True,False)),(py.transform.flip(pows[1],True,False)),(py.transform.flip(pows[2],True,False)),(py.transform.flip(pows[3],True,False)),(py.transform.flip(pows[4],True,False))]   while game:     clock.tick (30)      if shootloop > 0:         shootloop += 1      if shootloop > 5:         shootloop = 0      for event in py.event.get():         if event == py.QUIT:             game = False      keys = py.key.get_pressed ()      for bullet in bullets:         if bullet.x < 800 and bullet.x > 0:             bullet.x += bullet.vel          else:             bullets.remove (bullet)         if keys[py.K_RIGHT] and man.x <= 700:         man.x += man.vel         man.right = True         man.left = False         man.standing = False         man.idlecount = 0         man.direction = 1      elif keys[py.K_LEFT] and man.x >= 0:         man.x -= man.vel         man.right = False         man.left = True         man.standing = False         man.idlecount = 0         man.direction = -1      else:         man.standing = True         man.shooting = False      if keys [py.K_SPACE] and shootloop == 0:         if man.left:             facing = -1          elif man.right:             facing = 1          if len(bullets) < 5:             man.standing = True             man.shooting = True             bullets.append(bulletss(round(man.x + man.lenght//2), round(man.y + man.lenght//2), facing))          shootloop = 1      if not(man.jumping):         if keys[py.K_UP]:             man.jumping = True             man.right = False             man.left = False             man.standing = False             man.walkcount = 0     else:         if man.jumpcount >= -14:             neg = 1             if man.jumpcount < 0:                 neg = -1             man.y -= (man.jumpcount ** 2) * 0.2 * neg             man.jumpcount -= 1         else:             man.jumping = False             man.jumpcount = 14       drawGameScreen ()