∑
INTERACTIVE GAME 01
좌표 보물찾기
수학조작: 방향키 ← ↑ ↓ →
🎯 게임 목표파란 플레이어를 움직여 빨간 보물 5개를 획득하세요.
📘 핵심 개념좌표·거리·벡터
🎮 게임 방법방향키 ← ↑ ↓ →를 사용하여 실시간으로 참여합니다.
🏆 성공·판정 규칙보물과의 거리가 0.7보다 작아지면 점수 +1, 보물은 새 위치로 이동합니다.
Web VPython 3.2
scene.background = color.black
scene.range = 8
player = sphere(pos=vector(0,0,0), radius=0.35, color=color.cyan)
treasure = sphere(pos=vector(4,3,0), radius=0.4, color=color.red)
score = 0
def move(evt):
global score
step = 0.5
if evt.key == 'left': player.pos.x -= step
if evt.key == 'right': player.pos.x += step
if evt.key == 'up': player.pos.y += step
if evt.key == 'down': player.pos.y -= step
if mag(player.pos-treasure.pos) < 0.7:
score += 1
print("점수:", score)
treasure.pos = vector(random()*12-6, random()*10-5, 0)
scene.bind('keydown', move)
print("방향키로 빨간 보물을 5개 찾으세요!")
🔎 코드·게임 상세 해설
키보드 이벤트가 발생할 때마다 player.pos의 x 또는 y 좌표를 바꿉니다. 두 점의 거리는 mag(player.pos-treasure.pos)로 계산합니다.
키보드 이벤트가 발생할 때마다 player.pos의 x 또는 y 좌표를 바꿉니다. 두 점의 거리는 mag(player.pos-treasure.pos)로 계산합니다.
🚀 확장 탐구 미션
장애물 3개를 추가하고 장애물과 충돌하면 점수가 1점 감소하도록 수정해 보세요.
장애물 3개를 추가하고 장애물과 충돌하면 점수가 1점 감소하도록 수정해 보세요.