프로젝트/토이프로젝트

[토이프로젝트] 쌓기나무 프로그램 구현 (중간보고)

syveany 2024. 11. 28. 22:00

쌓기나무 프로그램 구현 (중간보고)

소프트웨어와 초등교육 수업의 과제인 교과교육 적용을 위한 소프트웨어 개발의 일환으로 쌓기나무 프로그램을 구현하고 있다.

저번 계획수립에 이어서 중간 진행 상황을 기록해보고자 한다.

 

~ 목차 ~

1. 계획수립 2024.11.24 - [프로젝트/토이프로젝트] - [토이프로젝트] 쌓기나무 프로그램 구현 (계획수립)
2. 중간보고
3. 최종결과물

 

 

전체적인 알고리즘

3D 좌표평면 구축 (-4에서 4까지 1단위로 마우스 클릭 가능하도록 설정)

블럭 설정(1x1x1크기의 블럭, 모서리가 까맣게 되도록 설정)

마우스로 점 (x,y,z)를 클릭하면 (x-1,y-1,z-1)을 꼭짓점으로 하는 정육면체가 그려지도록 설정함

 

 

구현 포인트

떠다니는 나무조각 바로잡기

  - 아래층에 쌓기나무가 없으면 쌓아지지 못하게 함

    - 점 (x,y,z)를 클릭했는데 (x,y,z-1)이 리스트에 없으면 무시되도록 설정함

 

강조된 리스트 목록 설정하는 게 조금 까다로웠음

강조된 셀 리스트에 중복으로 들어가는 문제 -> set(map(tuple, highlighted_cells))로 중복 방지함

 


수정해야 할 것들

나무조각 디자인 수정하기

  - 지금은 투명 나무조각이지만 실제 나무조각처럼 모서리만 있고 불투명하게 수정 필요

 

추가할 것들

지도서를 보면서 구현할 아이디어를 얻을 수 있음

  e.g. 층별 쌓기나무 보기( 1층 시각화, 2층 시각화, 3층 시각화)