본문 바로가기
[ CODING STUDY ]/》파이썬 공부

파이썬 22장(tkinter_06, 미로게임_01, 도형그리기, 게임맵만들기, canvas.create_rectangle, 2차원 리스트, 리스트)

by MRG 2020. 12. 31.
728x90
반응형

▣ 안녕하세요^^
오늘은 간단하게 캔버스를 활용하여 도형을 그려보고 
도형을 이용해서 미로게임 맵을 만들어보는 과정까지 함께 공부해도록하겠습니다.

 

▣ 먼저 동일하게 선언을 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문을 이용하여 하나하나 접근하고 
그리고 사각형을 그려보시면 많은 도움이 되실 거라 생각합니다. 


▣ 오늘은 이렇게 간단하게 미로 맵까지 디자인해보았습니다. 
어려운 부분이지만 그림을 그리면서 그리고 코드를 하나하나 해석하고
주석을 달고 하나하나 만들어가는 과정을 통해서 이해하실 거라 생각합니다.
꼭 직접 제가 말씀드린 방법들 그리고 맵을 디자인 해보세요 ^^
그럼 다음장에서 뵙겠습니다.
질문 있으시면 댓글 남겨주세요^^


▣ 포기하지 마세요!!! 저도 했습니다!!! 파이팅!!!

728x90
반응형

댓글