#85[파이썬 이지코딩] 게임만들기 No.13 총알 만들기
HTML-код
- Опубликовано: 3 янв 2025
- 어린이도 할 수 있는 파이썬 코딩 공부!
#파이썬 #어린이파이썬 #초보파이썬 #어린이코딩 #코딩초보 #레토릭게임 #게임만들기 #충돌게임 #클래스 #멤버함수 #함수선언 #오브젝트
변수, 리스트 추가
spacedown = False
bullet_list = []
lost_bullet_list = []
bulletnum = 1000
메인 루프에 추가
repeatflag = True
repeatnum = 0
while repeatflag:
dt = clock.tick(60)
for event in pygame.event.get():
if event.type == pygame.QUIT:
repeatflag = False
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
ball.xmove -= ball.step
elif event.key == pygame.K_RIGHT:
ball.xmove += ball.step
elif event.key == pygame.K_SPACE:
spacedown = True
elif event.type == pygame.KEYUP:
if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
ball.xmove = 0
elif event.key == pygame.K_SPACE:
spacedown = False
총알 만들기(메인루프 안에)
if spacedown == True and repeatnum % 20 == 0 and bulletnum 보다크다 0:
bullet = Myobj()
bullet.image("images/bullet.png")
bullet.size(5,15)
bullet.x = ball.x+ball.wd/2-bullet.wd/2
bullet.y = 520
bullet.step = 1.5
bullet_list.append(bullet)
bulletnum -= 1
총알 이동, 소멸
for i in range(len(bullet_list)):
bul = bullet_list[i]
bul.y -= bul.step*dt
if bul.y 보다작다 -bul.ht:
lost_bullet_list.append(bul)
for bul in lost_bullet_list:
try:
bullet_list.remove(bul)
lost_bullet_list.remove(bul)
except:
pass
화면 출력 수정
screen.fill("#000000")
msg = f"born:{bornalien} land:{landalien} bullet:{bulletnum}"
showmsg = font.render(msg, True, (0,255,255))
screen.blit(showmsg,(50,10))
ball.show()
for ali in alien_list:
ali.show()
for bul in bullet_list:
bul.show()
pygame.display.update()