Skip to content

jaceleedev/tic-tac-toe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

틱택토 게임 구현 요구사항

개요

C 언어를 사용하여 틱택토 게임을 구현합니다. 본 게임은 사용자와 컴퓨터가 번갈아 가며 3x3 보드에서 X와 O를 놓는 게임입니다. 세 칸을 먼저 연속으로 맞추는 쪽이 승리합니다.


기본 요구사항

1. 3x3 보드 생성

  • 3x3 크기의 틱택토 보드를 구현합니다.
  • 각 칸은 초기에는 비어 있어야 하며, 사용자가 쉽게 위치를 식별할 수 있도록 숫자 또는 공백으로 표시합니다.

2. 사용자와 컴퓨터의 차례

  • 사용자는 X를 사용하며, 컴퓨터는 O를 사용합니다.
  • 사용자가 먼저 시작하며, 좌표를 입력하여 X를 보드에 표시합니다.
  • 컴퓨터는 랜덤한 빈 칸에 O를 표시합니다.
  • 각 차례마다 보드 상태를 화면에 출력합니다.

3. 승리 조건 확인

  • 게임 진행 중 다음 조건을 만족하면 승리로 간주하고 게임을 종료합니다:
    • 가로, 세로, 또는 대각선 방향으로 같은 기호(X 또는 O)가 3개 연속으로 놓여질 경우.
  • 승리한 사람이 "플레이어 승리!" 또는 **"컴퓨터 승리!"**라는 메시지를 출력합니다.

4. 무승부 조건

  • 보드가 가득 찼으나 승리 조건을 만족하지 못하면 무승부로 간주합니다.
  • **"무승부입니다!"**라는 메시지를 출력하고 게임을 종료합니다.

5. 게임 종료

  • 게임이 끝난 후, 프로그램이 종료됩니다. 재시작 기능은 필요하지 않습니다.

구현 시 유의사항

  1. 보드 출력 형식

    • 보드 상태는 직관적으로 출력되어야 하며, 사용자와 컴퓨터가 놓은 위치를 쉽게 확인할 수 있어야 합니다.
    • 예시:
       X | O | X
      ---+---+---
       O | X | O
      ---+---+---
       X |   | O
      
  2. 입력 유효성 검사

    • 사용자가 입력한 좌표가 다음 조건을 만족하지 않을 경우, 오류 메시지를 출력하고 다시 입력을 요청합니다:
      • 입력 좌표가 보드 범위 내에 있어야 합니다.
      • 이미 사용된 칸에 기호를 놓으려 할 경우 다시 입력을 요청합니다.
  3. 컴퓨터의 랜덤 위치 선택

    • 컴퓨터는 매 차례마다 랜덤으로 빈 칸을 선택하여 O를 표시합니다.
    • 동일한 칸에 중복하여 기호를 놓지 않도록 유의합니다.
  4. 메시지 출력

    • 사용자와 컴퓨터의 차례를 명확히 구분할 수 있도록 메시지를 출력합니다.
    • 예시:
      • "사용자의 차례입니다. 위치를 입력하세요 (행과 열):"
      • "컴퓨터가 (1, 2)에 O를 놓았습니다."
  5. 코드 작성 구조

    • 함수 사용 여부는 자유입니다. 함수 없이 main 함수 내에서 모든 로직을 작성해도 무방합니다.

참고

  • 사용자와 컴퓨터의 게임 진행이 자연스럽고 직관적이도록 프로그램을 설계합니다.
  • 무승부, 승리, 또는 입력 오류 상황을 적절히 처리하여 게임이 중단되지 않도록 합니다.
  • 게임 종료 후 결과를 보드와 함께 출력하여 사용자에게 명확히 전달합니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages