๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
studies/Back-end

[Python] ํ™ˆ๋ฉ”์ด๋“œ ์ฝ”๋“œ / Up & Down Game

by Vada Kim 2020. 7. 23.
728x90
๋ฐ˜์‘ํ˜•

ํด๋ž˜์Šค ํ•˜๋‚˜๋ฅผ ํ†ต์งธ๋กœ ๊ฒŒ์ž„ ๋ชจ๋“ˆ๋กœ ๋งŒ๋“ค์—ˆ๋‹ค.

UpDownFunk ํด๋ž˜์Šค ์ƒ์„ฑ๋งŒ ํ•˜๋ฉด ๊ณง๋ฐ”๋กœ ๊ฒŒ์ž„์ด ์‹คํ–‰๋œ๋‹ค.

UI๋กœ๋„ ๋งŒ๋“ค์–ด๋ณผ ์˜ˆ์ •์ด๋‹ค. ๊ทผ๋ฐ Tkinter๋ž‘ ์•ˆ์นœํ•˜๋‹ค.

๊ฐ ์ ์œผ๋กœ ํŒŒ์ด์ฌ์€... ๋ฐ์ดํ„ฐ๋ถ„์„์šฉ์— ๋„ˆ๋ฌด ์ตœ์ ํ™”๋˜์–ด์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์—... 


import random

class UpDownFunk:
    __figure = 0

    def __init__(self):
        print("Enter a number that will range of figure", end=": ")
        range_ = self.input_filteringNaN()
        self.__figure = random.randint(0, range_)
        print("Enter a limit of turn", end=": ")
        self.limit = self.input_filteringNaN()
        print("[Game start!]")
        self.starting()

    def starting(self):
        for i in range(self.limit):
            print(f"Enter number({i+1}/{self.limit}):", end=" ")
            number = self.input_filteringNaN()
            if number > self.__figure: print("<Down>")
            elif number < self.__figure: print("<Up>")
            else:
                self.ending()
                return
        self.overing()

    def input_filteringNaN(self):
        while(True):
            try:
                intnum = int(input())
                return intnum
            except: print(" [Not a number, re-enter]", end=": ")

    def ending(self):
        print("<Currect!>")

    def overing(self):
        print(f"<limit is full:Game over> figure is {self.__figure}")

    def __del__(self):
        print("[Close the game]")
    def __str__(self):
        return "[Game is underway]"


test = UpDownFunk() #Runโ€‹

 

728x90
๋ฐ˜์‘ํ˜•