▣ 안녕하세요^^
오늘은 간단하게 캔버스를 활용하여 도형을 그려보고
도형을 이용해서 미로게임 맵을 만들어보는 과정까지 함께 공부해도록하겠습니다.
▣ 먼저 동일하게 선언을 TK()를 선언해주시고,
타이틀을 지정한 후에
cavas를 선언해주세요.
그리고 cavas.create_rectangle를 선언해줍니다.
제가 밑에 주석을 넣은 것처럼
create_rectangle(x1, y1, x2, y2, fill=채우기 색, outline=선색, width=선두께)
이렇게 지정을 해줘야 하는데 x1, y1, x2, y 2가 먼지 구분이 잘 안되실 거라 생각합니다.
이건 쉽게 이야기하면
▣ 그림에서처럼 x1, y1은 좌측 상단 좌표를 이야기합니다.
x2, y2는 우측 하단 좌표를 이야기합니다.
한마디로 좌측과 우측에 점에 좌표를 지정해서 그 크기에 맞게 만들어주신다고 생각하시면 됩니다.
만약 x1, y1, x2, y2 가 모두 같은 좌표이면 그 자리에 같은 점이 있기 때문에 삼각형이 안 만들어지겠죠?
좌표를 각각 지정해서 사각형을 만들어준다라고 이해하시면 될 거 같습니다.
그럼 이걸 이용해서 간단하게 미로 맵을 만들어보겠습니다.
▣ 저는 우선 2차원 리스트를 사용했습니다.
2차원 리스트는 리스트 안에 리스트를 선언하는 걸 의미합니다.
기본적으로 0,1,2,3,4 이런 식으로 요소 인덱스값이 하나로 리스트를 관리했다면
2차원적으로 0안에 0,1,2,3,4,5 이런식으로 또 다른 리스트를 관리한다고 생각하시면 됩니다.
자세한 건 C언어 페이지에서 배열 부분을 공부하시면 많은 도움이 되실 거라 생각하 빈다.
그렇게 접근을 하고 1인 부분은 지나가지 못하는 벽(숲)으로 지정하기 위해 green으로 지정하고
만들었습니다.
그리고 출력을 해보면
▣ 이렇게 맵일 잘 만들어진 걸 확인할 수 있습니다.
좀 더 이해를 돕기 위해
▣ 이렇게 리스트 안에 리스트를 넣어서 1인 부분은 green으로 도형을 만들어서 지정을 했습니다.
그래서 x * 50을 해서 해당 리스트에 상단 좌측에 점을 찍고 x2 * 50 + 50은 사각형을 만들기 위해
우측 하단에 점을 찍기 위해서 이렇게 지정을 했습니다.
for문을 돌면서 하나하나 접근하여 사각형을 만들어가는 구조입니다.
꼭 2차원 리스트를 이해해보시고
직접 그려 보신 다음에 for문을 이용하여 하나하나 접근하고
그리고 사각형을 그려보시면 많은 도움이 되실 거라 생각합니다.
▣ 오늘은 이렇게 간단하게 미로 맵까지 디자인해보았습니다.
어려운 부분이지만 그림을 그리면서 그리고 코드를 하나하나 해석하고
주석을 달고 하나하나 만들어가는 과정을 통해서 이해하실 거라 생각합니다.
꼭 직접 제가 말씀드린 방법들 그리고 맵을 디자인 해보세요 ^^
그럼 다음장에서 뵙겠습니다.
질문 있으시면 댓글 남겨주세요^^
▣ 포기하지 마세요!!! 저도 했습니다!!! 파이팅!!!
'[ Python ] > - 파이썬 문법공부' 카테고리의 다른 글
파이썬 24장(tkinter_08, 미로게임_03, 사운드, 아이템, winsound, create_rectangle, delete) (0) | 2021.02.02 |
---|---|
파이썬 23장(tkinter_07, 미로게임_02, 플레이어 이동, keysym, after, coords) (9) | 2021.01.05 |
파이썬 21장(tkinter_05, 키 입력, bind(), 키 입력함수, key, 마우스 클릭) (0) | 2020.12.14 |
파이썬 20장(tkinter_04, 메시지박스 , after(), 시간, GUI, import, 타이머) (0) | 2020.12.07 |
파이썬 19장(tkinter_03, import, GUI, checkbutton, 체크버튼, boolean) (2) | 2020.11.30 |
댓글