[Python]Hang-man 게임만들기 - 1(class 선언)

다나·2022년 2월 26일
0

Python 스터디를 하면서 최종과제물로 HangMan게임이 결정되었다.
개인적으로 파이썬의 모든 기초적인 부분을 훍을 수 있는 프로젝트라 블로그 주제로 선정됐다고 생각한다.

하나하나 톺아보자

  1. main함수부터 구성하자
    디자인 패턴에 관한 지식이 전무하지만 코드를 몇번 짜보니 간결한 main문은 프로젝트 설계의 가장 중요한 부분이 아닐까? 하는 생각이 들었다.
if __name__ == "__main__":
	ranking_path ="../Python_Hangman/Rank.txt"
	rank = Rank(ranking_path)
    
    user = User()
    user.setName() //input()으로 name값을 받는다
    
    game = HangMan(user)
    game.excute()
    game.gameOver()
    
    rank.addUser(user)
    rank.sort()
    
    rank.view()
    user.view()

나로서는 이게 최선인것같다.
(혹시 더 좋은 방법이 있다면 알려주세요.)

다음으로 해야 할것은 main에 사용된 class들의 구현이다. 실제 구현에 앞서 일단 선언만 해두자. User, HangMan, Rank다.

from abc import *
 
class GameImpl(metaclass=ABCMeta):

    @abstractmethod
    def getUserName(self):
        pass

    @abstractmethod
    def execute(self):
        pass

스터디 진행하는 선배가 상속으로 만들라고 하면서 준 GameImpl.py 코드다. 이걸 상속시켜 HangMan.py를 만들자

from GameImpl import GameImpl
from User import User


class HangMan(GameImpl):
    
    def __init__(self, user : User):
        pass
    
    def getUserName(self):
        pass
    
    def execute(self):
        pass
    
    def gameOver(self):
        pass

User.py다

class User():
    def __init__():
        pass
    
    def getUserName(self):
        pass
    
    def view(self):
        pass

Rank.py다

from User import User


class Rank():
    def __init__(self):
        pass
    
    def addUser(self, newUser : User):
        pass
    
    def sort(self):
        pass
    
    def view(self):
        pass

이걸로 핵심적인 class들의 선언은 끝났다.

profile
초년생 애기 개발자 삽질로그

0개의 댓글