Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pygame
- pygame.init()#We always need to initalize our pygame IN EVERY PROJECT/FILE
- win = pygame.display.set_mode((500, 480))# Here win is representing "window" for our screen which we have set at 500 by 480
- pygame.display.set_caption("First Game")#We are giving our Window/Screen a name
- walkRight = [pygame.image.load('image/gokuR0.png'), pygame.image.load('image/gokuR1.png'), pygame.image.load('image/gokuR2.png')]
- walkLeft = [pygame.image.load('image/gokuL0.png'), pygame.image.load('image/gokuL1.png'), pygame.image.load('image/gokuL2.png')]
- bg = pygame.image.load('image/bg.jpg')
- char = pygame.image.load('image/goku sprite - standing.png')
- clock = pygame.time.Clock()
- class player():
- def __init__(self, x, y, width, height):
- self.x = x
- self.y = y
- self.width = width
- self.height = height
- self.vel = 5
- self.isJump = False
- self.left = False
- self.right = False
- self.walkCount = 0
- self.jumpCount = 10
- self.standing = False
- def draw(self, win):
- if self.walkCount + 1 >= 8:
- self.walkCount = 0
- if not(self.standing):
- if self.left:
- win.blit(walkLeft[self.walkCount // 100], (self.x, self.y))
- self.walkCount += 1
- elif self.right:
- win.blit(walkRight[self.walkCount // 100], (self.x, self.y))
- self.walkCount += 1
- else:
- if self.right:
- win.blit(walkRight[0], (self.x, self.y))
- else:
- win.blit(walkLeft[0], (self.x, self.y))
- class projectile():
- def __init__(self, x, y, radius, color, facing):
- self.x = x
- self.y = y
- self.radius = radius
- self.color = color
- self.facing = facing
- self.vel = 8 * facing
- def draw(self, win):
- pygame.draw.circle(win, self.color, (self.x, self.y), self.radius)
- class enemy():
- walkRight = [pygame.image.load("image/R1E.png"), pygame.image.load("image/R2E.png"), pygame.image.load("image/R3E.png"), pygame.image.load("image/R4E.png"), pygame.image.load("image/R5E.png"), pygame.image.load("image/R6E.png"), pygame.image.load("image/R7E.png"), pygame.image.load("image/R8E.png"), pygame.image.load("image/R9E.png"), pygame.image.load("image/R10E.png"), pygame.image.load("image/R11E.png")]
- walkLeft = [pygame.image.load("image/L1E.png"), pygame.image.load("image/L2E.png"), pygame.image.load("image/L3E.png"), pygame.image.load("image/L4E.png"), pygame.image.load("image/L5E.png"), pygame.image.load("image/L6E.png"), pygame.image.load("image/L7E.png"), pygame.image.load("image/L8E.png"), pygame.image.load("image/L9E.png"), pygame.image.load("image/L10E.png"), pygame.image.load("image/L11E.png")]
- def __init__(self, x, y, width, height, end):
- self.x = x
- self.y = y
- self.width = width
- self.height = height
- self.end = end
- self.path = [self.x, self.end]
- self.walkcount = 0
- self.vel = 3
- def draw(self,win):
- self.move()
- if self.walkcount + 1 >= 33:
- self.walkcount = 0
- if self.vel > 0:
- win.blit(self.walkRight[self.walkcount // 3], (self.x, self.y))
- self.walkcount += 1
- else:
- win.blit(self.walkLeft[self.walkcount // 3], (self.x, self.y))
- self.walkcount += 1
- def move(self):
- if self.vel > 0:
- if self.x + self.vel < self.path[1]:
- self.x += self.vel
- else:
- self.vel = self.vel * -1
- self.walkcount = 0
- else:
- if self.x - self.vel > self.path[0]:
- self.x += self.vel
- else:
- self.vel = self.vel * -1
- self.walkcount = 0
- def redrawGameWindow():
- win.blit(bg, (0, 0))
- goblin.draw(win)
- man.draw(win)
- for bullet in bullets:
- bullet.draw(win)
- pygame.display.update()
- # mainloop
- man = player(200, 400, 85, 85)
- goblin = enemy(100, 400, 64, 64, 450)
- bullets = []
- run = True
- while run:
- clock.tick(27)
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- run = False
- for bullet in bullets:
- if bullet.x < 500 and bullet.x > 0:
- bullet.x += bullet.vel
- else:
- bullets.pop(bullets.index(bullet))
- keys = pygame.key.get_pressed()
- if keys[pygame.K_SPACE]:
- if man.left:
- facing = -1
- else:
- facing = 1
- if len(bullets) < 5:
- bullets.append(
- projectile(round(man.x + man.width // 2), round(man.y + man.height // 2), 6, (0, 0, 0), facing))
- if keys[pygame.K_LEFT] and man.x > man.vel:
- man.x -= man.vel
- man.left = True
- man.right = False
- man.standing = False
- elif keys[pygame.K_RIGHT] and man.x < 500 - man.width - man.vel:
- man.x += man.vel
- man.right = True
- man.left = False
- man.standing = False
- else:
- man.standing = True
- man.walkCount = 0
- if not (man.isJump):
- if keys[pygame.K_UP]:
- man.isJump = True
- man.right = False
- man.left = False
- man.walkCount = 0
- else:
- if man.jumpCount >= -10:
- neg = 1
- if man.jumpCount < 0:
- neg = -1
- man.y -= (man.jumpCount ** 2) * 0.5 * neg
- man.jumpCount -= 1
- else:
- man.isJump = False
- man.jumpCount = 10
- redrawGameWindow()
- pygame.quit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement