Lost Cities Board Game

로스트 시티(보드게임)는 2인용 전략 카드 게임이다. 룰이 매우 간단하고 실력:운=3:7의 게임이라 처음하는 사람이라도 쉽게 입문할 수 있다. 숫자와 손이 그려진 카드를 내려놓은 뒤에 점수를 계산해서 승패를 결정하는 보드게임인데, 점수 계산량이 많아서 계산기의 힘을 빌려야 한다. Android에는 무료로 전용 계산기를 다운받아 사용할 수 있는데, IOS 앱스토어에는 그런 계산기가 없다. 아쉬운 마음에 ‘직접 계산기를 만들어볼까?’ 생각이 들었는데 나와 같은 생각을 한 사람들이 있는지 다양한 버전의 계산기가 존재했다.(References 참조) 대부분 javascript나 typescript를 이용해서 웹 상에서 구현했는데, (1)나만의 계산기를 만들어보고 싶다는 욕심과 (2)Python으로 구현할 방법은 없는지 고민하다가 개발에 착수했다.

개발 진행 Process

Tech Stack

PlatForms & Languages

Tools

SNS

사용한 툴이나 언어는 위에 정리했다. Python 내장 GUI 툴인 Tkinter을 이용했고, 150줄 정도의 짤막한 코드로 구현했다. 개발기간은 23.04.08-23.04.14 대략 일주일정도 걸렸다. Tkinter을 처음 사용하는거라 grid 지정에서부터 기능을 bind로 묶는 것까지 일일히 찾느라 꽤나 헤맸다. 그래도 어찌저찌 완성했다. :)

구현 결과 구경하기

계산기 바로가기

차후 추가할 기능들

  1. 현재는 플레이어 한 명의 점수만 계산할 수 있는데, 2인용 보드게임인 만큼 Player1, Player2 동시에 계산할 수 있도록 하고 싶다.
  2. Android 버전 계산기를 보면 Player1이 선택한 번호는 자동으로 Player2가 선택하지 못하도록 설정되는 기능이 있는데 이것도 구현하고 싶다.
  3. 계산 후 리셋하기 전에 db에 기록을 남기고 LeaderBoard에서 최고점수와 순위를 파악할 수 있도록 하고 싶다.
  4. 솔직히 Tkinter GUI가 구린데(ㅋㅋ) 다른 GUI 괜찮은게 있는지 찾아봐야겠다.

Source Code

Github Repository

References

  • Lost Cities Calculator
    • https://davidmcneil.github.io/lost-cities/
    • http://plingri.net/lc.html
    • https://phone-cities.netlify.app/
    • https://mattbru.me/tools/lost-cities-score-calculator/
    • https://aizatto.github.io/lost-cities/