2025.09.09.16:22 ver.
pygame.init()
fps = 60
FramePerSec = pygame.time.Clock()
# 색깔 설정
red = (255, 0, 0)
orange = (255, 153, 51)
yellow = (255, 255, 0)
green = (0, 255, 0)
blue = (0, 0, 255)
white = (255, 255, 255)
black = (0, 0, 0)
# 속도와 플레이어 점수 설정
SPEED = 5
SCORE = 0
# 글씨체 설정
font = pygame.font.SysFont('@System', 20)
small_font = pygame.font.SysFont('@System', 20)
game_over = font.render("GAME_OVER", True, black)
background = pygame.image.load('road.png')
GameDisplay = pygame.display.set_mode((640, 440))
GameDisplay.fill(white)
pygame.display.set_caption("Mini Game")
class Player(pygame.sprite.Sprite):
def __init__(self):
super().__init__()
self.image = pygame.image.load('people.png')
self.rect = self.image.get_rect()
self.rect = self.rect.inflate(-20, -20)
print(" PLayer : ", self.rect)
self.rect.center = (540, 300)
def move(self):
prssdKeys = pygame.key.get_pressed()
if self.rect.left > 0:
if prssdKeys[K_LEFT]:
self.rect.move_ip(-5, 0)
position_P = self.rect.center
return position_P
if self.rect.right < 640:
if prssdKeys[K_RIGHT]:
self.rect.move_ip(5, 0)
position_p = self.rect.center
return position_p
class Poison(pygame.sprite.Sprite) :
def __init__(self,bg,sp):
super().__init__()
self.image = pygame.image.load(bg)
self.rect = self.image.get_rect()
self.rect = self.rect.inflate(-20, -20)
self.rect.center = (random.randint(40, 600), 0)
self.speed = sp
class Enemy(Poison):
def __init__(self,bg,sp):
super().__init__(bg,sp)
def move(self):
global SCORE
self.rect.move_ip(0, self.speed)
if (self.rect.bottom > 440):
SCORE += 1
self.rect.top = 0
self.rect.center = (random.randint(30, 610), 0)
return self.rect.center
class Medicine(Poison):
def __init__(self, bg, sp):
super().__init__(bg,sp)
def move(self):
global SCORE
self.rect.move_ip(0, self.speed)
if (self.rect.bottom > 440):
SCORE -= 1
self.rect.top = 0
self.rect.center = (random.randint(30, 610), 0)
return self.rect.center
P1 = Player()
E1 = Enemy('knife.png', 5)
E3 = Enemy('gravitation.png', 7)
E2 = Enemy('poop.png', 8.7)
M1 = Medicine('magic-potion.png', 6)
Enemies = pygame.sprite.Group()
Enemies.add(E1, E2, E3)
Medicines = pygame.sprite.Group()
Medicines.add(M1)
All_groups = pygame.sprite.Group()
All_groups.add(P1)
All_groups.add(E1, E2, E3, M1)
increaseSpeed = pygame.USEREVENT +1
pygame.time.set_timer(increaseSpeed, 1000)
while True :
GameDisplay.fill(white) ########배경흰색으로칠하기
for event in pygame.event.get():
if event.type==QUIT:
pygame.quit()
sys.exit()
GameDisplay.blit(background, (0, 0))
scores = small_font.render("Score: " + str(SCORE), True, black)
GameDisplay.blit(scores, (10, 400))
for i in All_groups:
GameDisplay.blit(i.image, i.rect)
i.move()
if str(i)== '<PLayer Sprite(in 1 groups>':
player_pos = i
if pygame.sprite.spritecollideany(P1, Medicines):
SCORE+=10
M1.rect.center = (random.randint(30, 610), 0)
combo= font.render("+1O combo!", True, blue)
GameDisplay.blit(combo, (280, 200))
time.sleep(0.1)
pygame.display.update()
time.sleep(0.7)
if pygame.sprite.spritecollideany(P1, Enemies):
for i in All_groups:
i.kill()
GameDisplay.blit(background, (0, 0))
# image0 = pygame.image.load('stickman.png')
# image0.get_rect()
# 게임 오버 화면 설정
GameDisplay.fill(orange)
final_scores = font.render("Your Score: " + str(SCORE), True, black)
GameDisplay.blit(final_scores, (150, 100))
GameDisplay.blit(game_over, (280, 200))
time.sleep(1)
pygame.display.update()
time.sleep(5)
pygame.quit()
sys.exit()
pygame.display.update()
# 초당 프레임 설정
FramePerSec.tick(60)
pygame.init()
fps = 60
FramePerSec = pygame.time.Clock()
# 색깔 설정
red = (255, 0, 0)
orange = (255, 153, 51)
yellow = (255, 255, 0)
green = (0, 255, 0)
blue = (0, 0, 255)
white = (255, 255, 255)
black = (0, 0, 0)
# 속도와 플레이어 점수 설정
SPEED = 5
SCORE = 0
# 글씨체 설정
font = pygame.font.SysFont('@System', 20)
small_font = pygame.font.SysFont('@System', 20)
game_over = font.render("GAME_OVER", True, black)
background = pygame.image.load('road.png')
GameDisplay = pygame.display.set_mode((640, 440))
GameDisplay.fill(white)
pygame.display.set_caption("Mini Game")
class Player(pygame.sprite.Sprite):
def __init__(self):
super().__init__()
self.image = pygame.image.load('people.png')
self.rect = self.image.get_rect()
self.rect = self.rect.inflate(-20, -20)
print(" PLayer : ", self.rect)
self.rect.center = (540, 300)
def move(self):
prssdKeys = pygame.key.get_pressed()
if self.rect.left > 0:
if prssdKeys[K_LEFT]:
self.rect.move_ip(-5, 0)
position_P = self.rect.center
return position_P
if self.rect.right < 640:
if prssdKeys[K_RIGHT]:
self.rect.move_ip(5, 0)
position_p = self.rect.center
return position_p
class Poison(pygame.sprite.Sprite) :
def __init__(self,bg,sp):
super().__init__()
self.image = pygame.image.load(bg)
self.rect = self.image.get_rect()
self.rect = self.rect.inflate(-20, -20)
self.rect.center = (random.randint(40, 600), 0)
self.speed = sp
class Enemy(Poison):
def __init__(self,bg,sp):
super().__init__(bg,sp)
def move(self):
global SCORE
self.rect.move_ip(0, self.speed)
if (self.rect.bottom > 440):
SCORE += 1
self.rect.top = 0
self.rect.center = (random.randint(30, 610), 0)
return self.rect.center
class Medicine(Poison):
def __init__(self, bg, sp):
super().__init__(bg,sp)
def move(self):
global SCORE
self.rect.move_ip(0, self.speed)
if (self.rect.bottom > 440):
SCORE -= 1
self.rect.top = 0
self.rect.center = (random.randint(30, 610), 0)
return self.rect.center
class Drug(Poison):
def __init__(self, bg, sp):
super().__init__(bg,sp)
def move(self):
global SCORE
self.rect.move_ip(0, self.speed)
if (self.rect.bottom > 440):
SCORE +=1
self.rect.top = 0
self.rect.center = (random.randint(30, 610), 0)
return self.rect.center
P1 = Player()
E1 = Enemy('knife.png', 5)
E3 = Enemy('gravitation.png', 7)
E2 = Enemy('poop.png', 8.7)
M1 = Medicine('magic-potion.png', 6)
D1 = Drug('poison.png', 5)
Enemies = pygame.sprite.Group()
Enemies.add(E1, E2, E3)
Medicines = pygame.sprite.Group()
Medicines.add(M1)
# Drugs = 그룹만들기~
All_groups = pygame.sprite.Group()
All_groups.add(P1)
All_groups.add(E1, E2, E3, M1, D1)
increaseSpeed = pygame.USEREVENT +1
pygame.time.set_timer(increaseSpeed, 1000)
while True :
GameDisplay.fill(white) ########배경흰색으로칠하기
for event in pygame.event.get():
if event.type==QUIT:
pygame.quit()
sys.exit()
GameDisplay.blit(background, (0, 0))
scores = small_font.render("Score: " + str(SCORE), True, black)
GameDisplay.blit(scores, (10, 400))
for i in All_groups:
GameDisplay.blit(i.image, i.rect)
i.move()
if str(i)== '<PLayer Sprite(in 1 groups>':
player_pos = i
if pygame.sprite.spritecollideany(P1, Medicines):
SCORE+=10
M1.rect.center = (random.randint(30, 610), 0)
combo= font.render("+1O combo!", True, blue)
GameDisplay.blit(combo, (280, 200))
time.sleep(0.1)
pygame.display.update()
time.sleep(0.7)
if pygame.sprite.spritecollideany(P1, Drug):
M1.rect.center = (random.randint(30, 610), 0)
combo = font.render("-7 combo!", True, red)
GameDisplay.blit(combo, (280, 200))
time.sleep(0.1)
pygame.display.update()
time.sleep(0.7)
if pygame.sprite.spritecollideany(P1, Enemies):
for i in All_groups:
i.kill()
GameDisplay.blit(background, (0, 0))
# image0 = pygame.image.load('stickman.png')
# image0.get_rect()
# 게임 오버 화면 설정
GameDisplay.fill(orange)
final_scores = font.render("Your Score: " + str(SCORE), True, black)
GameDisplay.blit(final_scores, (150, 100))
GameDisplay.blit(game_over, (280, 200))
time.sleep(1)
pygame.display.update()
time.sleep(5)
pygame.quit()
sys.exit()
pygame.display.update()
# 초당 프레임 설정
FramePerSec.tick(60)