본문 바로가기

스파르타 내일배움캠프

TIL 5-2 개인프로젝트 파이썬 윷놀이 만들기 Day-1 (3일 프로젝트)

 

오늘은 2주차 첫번째날... 매니저님과 튜터님께서 이번 파이썬으로 할수있는 첫번째 과제이자 교육 방향 및 목표를 설명해주셨다.. 흐.. 앞으로도 강의보다는 프로젝트 중심으로 진행이될거라는것을 알았다. 사실 코딩하는 사람이 코딩을 많이 해봐야지 백날천날 강의만듣는다고 실력향상이되지않는다. 우리가 K-교육을 할때도 강의 듣고 정리한다고 그게 다가아니구 계속 문제풀면서 익히고 외우고 그 과정이 필요한거같아서 이러한 교육방식을 채택한느낌이다.

 

음..일단 오전에 어떻게 진행할지 설명해주셨고 그로인해서 주제를 정하던 도중 팀원들에 여러의견 슈팅게임(민재님,동현님),벽부수기(규민님)에 의견들이 나왔지만 문득 나는 남들이 시도해보지않는 그런 장르를 좀 도전해보고싶다는 생각이들었다. 혹여라도 그 난이도가 너무 높다면 사실 주어진기간은 3일이기때문에 조심스럽지않을까 싶어서 고민하던도중 때마침 빛의 구세주처럼 이상록 튜터님께서 오셔서 저희들의 고민들을 들어주셨다. 주제를 잡는것도 잡는것이지만 어떻게 구현을 해야될것이며 어떻게 빌드를 짜야될지 막막하다 이것이었다. 저번주에 내가 느꼈던 프론트엔드 작업도 이 부분이랑 일맥상통하였다. 튜터님께서 그러한 초기부분을 잡아주실려고 10시에도 줌으로 설명해주셨고 나는 그 설명으로 아 어떤식으로 구도를 잡고 하루하루 진행해야될지 살짝 감을 잡았다.

 

그래서 든 생각은 어떠한 프로젝트를 구현하더라도 일단 하루는 틀을 잡고 쉽게말해서 큰틀 뭐 나같은경우는 윷놀이를 할려고했기때문에 윷놀이 판에 대한구성이라던지 윷놀이에 쓰일 도구들 혹은 장기말들 등등 이미지에 대한 틀을 잡아보고 2일차에 이 말들이 내가 던지는 윷에 어떻게 움직일것이며 어떤방향으로 잡아줄지에 대한 부분들이나 이부분이 제일 어렵다(왜냐하면 지도에 보면 start를 제외한 4곳에다가 각각 조건을 걸어줘서 좌표에 대한 방향설정을 해줘야된다고생각하니 머리가 지끈지끈하다..ㅎ) 그러고 3일차때는 내가 만든 윷놀이에 대한 게임을 진행하는부분+꾸미기 이렇게 진행할예정이다. 1주차 프로젝트때 쓴맛을 많이 봤기때문에 어리버리 시간을 허비하기에는 시간이 너무아깝고 이 상황을 어떻게든 잡아놔서 목표설정을 뚜렷하게한후에 내가 정해진대로 진행을할수있도록 하는게 가장 중요한거같다. 오늘같은경우도 틀잡는데 시간을 굉장히 많이 투자할거같은 예감이든다..

 

막상해보니...어떻게 구현할지 막막해서 혹시라도 다른분들이 해놓은 코드들이있을까? 살펴보던중 터틀을 이용하셔서 구현해놓으셨지만 막상 구현자체에는 성공을 하지못하신분이 계셔서 그 코드를 이용해서 미완성된 코드를 성공적으로 바꿔보는게 어떨까라는 생각으로 틀을 짜보게됐습니다. 

from tkinter import *


def main():
   class App(Frame):
      def __init__(self, master):
         super().__init__(master)
         self.pack()
         label = Label(self)
         label['text'] = "신나는 윷놀이"
         label.pack()
         Button(self, text="사용자 설정", command=self.function1).pack()
         Button(self, text="순서정하기", command=self.function3).pack()
         Button(self, text="던지기", command=self.function2).pack()
         Button(self, text="그만하기", command=self.quit).pack()

         App(window)


window = Tk()
window.title("윷놀이")
window.geometry("200x140")

이런식으로 turtle창을 만듦에 앞서서 화면을 구성해볼려고했습니다~ 

super() 

- 자식 클래스에서 부모클래스의 내용을 사용하고 싶을경우 사용



출처: https://rednooby.tistory.com/56 [개발자의 취미생활]

 

tkinter을 사용하여 게임을 조작할수있는 커맨드창을 하나 만들었다.

출처: https://076923.github.io/posts/Python-tkinter-13/

 

윷놀이 인터페이스를 이 tkinter을 사용하여 구성할려고한다

출처: https://076923.github.io/posts/Python-tkinter-1/

 

사실 다른 분들과 다르게 이 게임을 구현할수있는 영상이 있는것도 아니라서 코드를 분석하는데 시간을 많이 할애하게된거같습니다.. 일일히 찾아가면서 하고있어서 첫째날에는 아직까지 많은 진전은없구 어느정도 틀만 갖춘상태 이 오류섞인 코드를 직접 해석하여 바꿔갈생각이다.. 음 배열?? 할수있을까? 나??ㅋㅋㅋ 일단 오늘은 이 코드 전부해석해서 각도에서 생기는 오류를 줄일려고해야될거같다.

 

 

출처: https://docs.python.org/ko/dev/library/turtle.html

 

turtle — 터틀 그래픽 — Python 3.11.0a7 문서

turtle — 터틀 그래픽 소스 코드: Lib/turtle.py 소개 터틀(거북이) 그래픽은 아이들에게 프로그래밍을 소개하는 데 널리 사용되는 방법입니다. 1967년 Wally Feurzeig, Seymour Papert 및 Cynthia Solomon이 개발한

docs.python.org

출처:https://kariu.tistory.com/5

 

[Python turtle] 02. 파이썬 터틀명령어 정리

1. 움직임, 그리기 명령어 forward(픽셀수), fd(픽셀수) : 현재 커서가 향하는 방향으로 지정된 픽셀수 만큼 이동 backward(픽셀수), bk(픽셀수), back(픽셀수) : 현재 커서가 향하는 방향의 반대로 지정된

kariu.tistory.com

출처: https://blog.naver.com/PostView.nhn?blogId=qhrmfqhrmf13&logNo=221163980345&parentCategoryNo=&categoryNo=6&viewDate=&isShowPopularPosts=false&from=postView

 

 

이번목표는 이 미완성된 오류의 소스를 완성시키는것이다.. 물론 다른 게임을 만들더라도 비슷한 형식을 인용하거나 틀을 잡았을텐데 그런 소스들을 보고 만들었을때는 정답이 정해져있지만 이번 건 답이없으니까 답을 찾아가는 재미가 있지않을까싶다?? 게임을 만드는건 참 어려운거같다.. 후.. 화이팅!! 주어진시간내에 할수있기를~~!!!! 화이팅!!