티스토리 뷰
반응형
모든 강의 자료 : www.codingnow.co.kr/
print 를 사용하여 별을 출력하는 것에 이어서
이번에는 pygame을 사용하여 별을 출력해 봅니다.
이전 강의에서 파이썬과 C언어를 사용하여 강의한 내용입니다.
파이썬 삼각형 출력하기 강의 : https://youtu.be/DVWfBz7krHQ
C언어 삼각형, 다이이몬드 별 출력 : https://youtu.be/ksYBu-ysLb4
별을 출력하는 알고리즘은 그대로 가져와서 코드 재사용을 하였습니다.
pygame의 간단한 코드를 추가하여 보다 보기 좋게 만들어 보았습니다.
아래 이미지는 (pixabay.com/) 웹에서 다운로드 하였습니다.
자세한 코드 설명은 첨부된 동영상을 참고해주세요.
#이미지파일 출처 : https://pixabay.com/ko/vectors/%EC%8A%A4%ED%83%80-%EC%8B%AC%EC%9E%A5-%EB%B2%A1%ED%84%B0-%EC%95%84%EC%9D%B4%EC%BD%98-2717442/
import pygame
#함수
def event():
global isActive, STAR_X_START, STAR_Y_START
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
isActive = False
# pygame.quit()
if event.key == pygame.K_LEFT:
STAR_X_START -= 10
if event.key == pygame.K_RIGHT:
STAR_X_START += 10
if event.key == pygame.K_UP:
STAR_Y_START -= 10
if event.key == pygame.K_DOWN:
STAR_Y_START += 10
def updateStar(x,y):
global rectStar
rectStar.centerx = x
rectStar.centery = y
SCREEN.blit(star, rectStar)
def drawStar():
global STAR_LINE
y = STAR_Y_START
for i in range(STAR_LINE):
x = STAR_X_START
for k in range(STAR_LINE, i, -1):
# print(' ', end='')
x += STAR_SIZE
for k in range((i+1)*2-1):
# print("*", end='')
x += STAR_SIZE
updateStar(x, y)
# print()
y += STAR_SIZE
for i in range(STAR_LINE):
x = STAR_X_START
for k in range(i+2):
x += STAR_SIZE
for k in range((STAR_LINE-1)*2-1, (i*2), -1):
x += STAR_SIZE
updateStar(x, y)
y += STAR_SIZE
#변수
isActive = True
SCREEN_WIDTH = 600
SCREEN_HIGHT = 600
STAR_SIZE = 20
STAR_LINE = 10
STAR_X_START = 100
STAR_Y_START = 100
#pygame 초기화
pygame.init()
SCREEN = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HIGHT))
pygame.display.set_caption("CodingNow!!")
#star 이미지 가져오기
star = pygame.image.load('star.png')
star = pygame.transform.scale(star, (STAR_SIZE, STAR_SIZE))
rectStar = star.get_rect()
# rectStar.centerx = (SCREEN_WIDTH/2)
# rectStar.centery = (SCREEN_HIGHT/2)
clock = pygame.time.Clock()
#화면&이벤트 업데이트하기
while isActive:
SCREEN.fill((0,0,0))
event()
drawStar()
pygame.display.flip()
clock.tick(500)
반응형
'파이썬 강의' 카테고리의 다른 글
파이썬 기초 활용편 #게임만들기 프로젝트 3탄 #주사위던지기 (0) | 2021.02.22 |
---|---|
파이썬 기초 활용편 #게임만들기 프로젝트 2탄 #가위바위보 (0) | 2021.02.17 |
파이썬 기초 활용 :: 유성피하기 게임 만들기 #우주선에서 미사일발사 추가하기 (0) | 2021.01.29 |
파이썬 기초 활용 :: 유성피하기 게임 만들기 (feat 갤러그 게임) (0) | 2021.01.21 |
파이썬 기초 활용 #간단한 숫자맞추기 게임 만들기 (0) | 2021.01.18 |