C :: 컴퓨터와 가위바위보를 하자. - 설계편

2009/01/16 10:41

컴퓨터와 가위바위보를 하는 간단한 게임을 만들려고 합니다. 콘솔에서 동작할 겁니다. 그리고 지금까지와 마찬가지로 C언로 만들 것이고, 컴파일러는 gcc를 사용합니다. 뭐, 간단한 게임이니 gcc이든 다른 것이든 큰 차이는 없겠지요. IDE는 제가 요즘 애용하는 Code Blocks입니다. 이걸 정리하자면,


  • OS: Ubuntu 8.10 x86 / GNOME
  • Tool: gcc / Code Blocks
  • GUI: 사용 안함. Console Application

그럼, 이제 설계를 해야겠네요. 만들고자 하는 것은 사용자와 컴퓨터가 가위바위보를 하는 게임입니다. 그렇다면 사용자와 컴퓨터가 각자 자신이 내야할 패를 선택해야겠지요. 사용자는 안내문을 보여주면서 고르라 하면 되겠군요. 컴퓨터는 어떻게 선택하게 해야 할까요? 역시 난수를 이용한 방법이 좋겠습니다.


문제는 가위바위보의 승부를 어떻게 결정하냐 입니다. 변수가 가위랑 바위, 이렇게 2개라면 그냥 단순 비교하면 되는데, 가위, 바위, 보, 이렇게 3개군요. 복잡하구만...


뭐, 일단 대충 여기까지만 정리해보죠.


  • 안내문 출력.
  • 사용자의 선택
  • 컴퓨터의 선택 (난수 이용)
  • 승부 결정.
  • 결과 출력.

main() 함수 하나에 이 모든 걸 넣자니 꽤 난잡할 것 같습니다. 몇 개는 함수로 따로 빼야겠군요. 적당한 게 사용자의 선택, 컴퓨터의 선택, 승부 결정 이 3개 같습니다. 흠, 함수명을 지어야 할텐데요. 각 함수의 특징을 살려야 하겠습니다.


  • 사용자의 선택: UserSelect
  • 컴퓨터의 선택: ComSelect
  • 승부 결정: Battle

이렇게가 적당하겠네요. 변수는 첫글자를 보통 소문자로 하니, 함수는 대문자로 시작하는 게 보기 편할 겁니다.


이렇게 설계는 끝났습니다. 다음은 코딩을 할 차례네요.


관련글

C :: 컴퓨터와 가위바위보를 하자. - 설계편 :: http://hisjournal.net/blog/126

C :: 컴퓨터와 가위바위보를 하자. - 코딩편 :: http://hisjournal.net/blog/127

크리에이티브 커먼즈 라이센스
Creative Commons License

6l4ck3y3 #1. 내 머리 속의 노트/C 언어 마스터 Go! gO! , , , , ,

Trackback Address:http://hisjournal.net/blog/trackback/126
[로그인][오픈아이디란?]