[Python] threading을 활용한 간단한 "폭탄 게임"

Min's Study Note·2023년 11월 7일

Python

목록 보기
6/21

👉 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 메서드에서 카운트 다운을 중단하고 종료하도록 
    ```

0개의 댓글