Assignment 1

연습문제 (1)


□ 단원 : C# 기초
□ 목표 : C# 프로그램 기초
□ 주요 연습 내용 : Visual Studio 2008, C# 입출력, 연산자, 변수, 제어문 사용 연습
□ 준비자료 : ScissorRockPaper.cs


1131903608.hwp1003723941.cs
연습문제 Ex1 (Due by 9/28 화 24시까지)
-cyber 강의실 (cyber.dku.edu)로 source code, executable file, solution/project VC# file, 보고서를 학번_이름_Ex1.zip으로 묶어서 낼 것. 보고서 (30%)


[연습문제]
1. 가위바위보 게임 프로그램 ScissorRockPaper 클래스를 작성하라. 이름(name)과 이긴 숫자(numWin)를 가진 게임 플레이어(Player) 구조체를 사용한다.  (30%)
– public enum Game { 가위=1, 바위=2, 보=3 };를 사용
– static Game GetRandomHand() 함수는 1,2,3 중 하나의 난수를 발생하여 enum type인 Game 값을 반환
  + 힌트: Random 클래스를 사용하여 1,2,3 중 하나의 난수를 발생시킴
– static Game GetHandByKeyboard() 함수는 키보드로 1(가위),2(바위),3(보)를 받아서 처리하여 enum type인 Game 값을 반환
  + 가위바위보 입력은 1,2,3 integer 값만을 입력받도록 해야 함
  + 힌트: while 문을 사용하여 1,2,3 integer가 아닌 경우 다시 입력을 받음
  + 힌트: Console.ReadLine() 함수는 string을 반환하므로, int로 변환하기 위하여  
      Parse 함수 사용 => intValue = int.Parse(string)
  + 힌트: TryParse 함수는 string을 integer로 변환이 가능하면, out 매개변수로 변환된
      값을 전달해 주고, true boolean 값을 반환  => boolValue = int.TryParse(string,
      out intValue)
– static void PrintWinner(Player player1, Player player2) 함수는 삼세판 가위바위보 게임하고 난 뒤 최종으로 승리한 사람이 누구인지 화면에 출력
  + 힌트: Player 구조체의 numWin이 더 큰 수를 가진 사람이 게임을 이긴다.


2. Main 함수에서는 2명의 게임 플레이어 객체를 생성하고 (1명은 컴퓨터이고, 다른 1명은 본인이 키보드로 입력함), 가위바위보 게임을 진행하는 routine을 추가한다. (20%)
– 힌트: GetHandByKeyboard와 GetRandomHand로 나온 바위>가위>보>바위를 판단함
– 힌트: do..while 문을 사용하여 만약 둘이 비긴 경우 계속 입력을 받도록 함
– 힌트: for 문을 사용하여 삼세판 가위바위보 게임을 진행함
– 힌트: 한 게임마다 이겼을 경우 Player 구조체의 numWin을 증가시킴


3. Main 함수에서 본인이 더 테스트해보고 싶은 ScissorRockPaper 클래스의 Method나 routine을 추가하라. (20%)

Leave a Reply

Your email address will not be published. Required fields are marked *