
👉 threading을 활용한 간단한 "폭탄 게임"
import random
import sys
import threading
import time
class Bomb(threading.Thread):
def __init__(self): #생성자 메서드
threading.Thread.__init__(self)
self.life = random.randint(1,2) #폭탄의 수명(self.life)을 랜덤으로 1 또는 2로 설정
self.state = False #폭탄의 상태(self.state)를 False로 설정
def run(self): #run 메서드 #스레드가 시작될 때 호출
for i in range(10,0,-1):
if self.state : break; #self.state가 True로 바뀌면 카운트 다운을 중단
print(i)
time.sleep(0.5)
print("Bomb~!")
sys.exit()
def choose(self, line): #사용자 정의 메서드
try:
line = int(line)
except Exception as e:
line = 1
print(f'{line}을 선택하셨습니다') #사용자가 선택한 숫자를 출력
if(self.life == line): #사용자가 선택한 숫자와 폭탄의 수명이 같은지를 확인
print('Alive~!')
else:
print('Scream~!')
self.state = True #폭탄의 상태를 True로 변경 #run 메서드에서 카운트 다운을 중단하고 종료하도록
```