전함!... 명령줄에서
Github link to code: https://github.com/guachilimbo/battleship
전함이란 무엇입니까?
Battleship은 상대방의 모든 배를 침몰시키는 것이 목표인 2인용 보드 게임입니다. 매 턴마다 플레이어는 그리드 셀(예: "C7")을 "폭격"합니다. 보트가 셀을 점유하고 있으면 보트가 "히트"됩니다. 그렇지 않으면 "미스"가 됩니다.
게임 설정
내 게임을 위해 10x10 영숫자 그리드를 만들기로 결정했습니다. 각 플레이어는 길이가 다른 5개의 보트를 갖게 됩니다.
게임은 CPU를 상대로 진행됩니다. 초기화 시 사용자는 보트가 차지할 초기 셀을 선택하고 보트를 수직 또는 수평으로 배치할지 여부를 묻는 메시지가 표시됩니다. 이 프로세스는 각 보트에 대해 반복됩니다.
CPU 보드는 Python의 임의 라이브러리를 사용하여 설정됩니다.
columns = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"]
rows = list(range(10))
def random_cell(self):
return "".join([random.choice(Play.columns),str(random.choice(Play.rows))])
게임하기
설정과 유사한 논리를 사용하여 CPU는 폭파할 셀을 무작위로 선택합니다. 플레이어 그리드의 해당 셀에 보트가 있는 경우 셀이 "x"로 업데이트되어 보트가 충돌했음을 표시합니다. 그렇지 않으면 셀이 "~"로 업데이트되어 놓친 폭탄을 표시합니다.
플레이어 로직은 동일하나 사용자가 원하는 셀을 입력해야 합니다. 코드는 이미 폭격된 셀이 선택된 경우 사용자에게 경고합니다.
목록은 보트가 받은 적중 횟수를 추적합니다. 적중 횟수가 보트의 길이(즉, 생명 수)와 같을 때 그리드 아래에 표시되는 남은 보트의 수가 변경됩니다. 사용자가 얼마나 많은 보트가 남아 있는지 알 수 있습니다.
최종 단계
한쪽이 배를 모두 잃으면 게임이 종료됩니다. 사용자가 원하는 경우 코드가 종료되고 다시 시작하라는 메시지가 출력됩니다.
향후 개선
Reference
이 문제에 관하여(전함!... 명령줄에서), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/guachilimbo/battleship-on-command-line-57fh텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)