가위바위보 게임을 Dart코드를 통해서 만들어봤다.
1. 컴퓨터의 가위바위보는 랜덤함수를 이용하여 가위바위보를 결정
2. 플레이어의 경우 직접 Input을 넣어서 가위바위보를 지정
3. 1,2의 결과를 출력
4. 2번에서 가위,바위,보외 다른 값을 입력할 경우 예외처리
import 'dart:convert';
import 'dart:io';
import 'dart:math';
void main() {
/// 1. 유저에게 가위 바위 보를 입력 받음
print('가위, 바위, 보 중 하나를 정해주세요');
// final 상수 지정
final String userInput = stdin.readLineSync(encoding: utf8) ?? 'Error';
/// 2. 컴퓨터가 어떤것을 낼지 결정하는 함수
const computerList = ['가위', '바위', '보'];
final computerInput = computerList[Random().nextInt(3)];
print(computerInput);
/// 3. 유저의 타입과 컴퓨터 타입에 대한 결과를 계산할 함수
final result = getResult(userInput, computerInput);
print(result);
}
String getResult(String userInput, String computerInput) {
const comWin = 'Computer가 승리';
const playWin = 'Player가 승리';
const draw = '비겼습니다.';
String result = draw;
switch (userInput) {
case '가위':
if (computerInput == '바위') {
result = comWin;
}
if (computerInput == '보') {
result = playWin;
}
case '바위':
if (computerInput == '보') {
result = comWin;
}
if (computerInput == '가위') {
result = playWin;
}
case '보':
if (computerInput == '가위') {
result = comWin;
}
if (computerInput == '바위') {
result = playWin;
}
default:
result = '올바른 값을 입력해주세요';
}
return result;
}
'Dart & Flutter' 카테고리의 다른 글
[Flutter] Hello World 출력해 보기 (0) | 2024.05.26 |
---|---|
[Flutter] Unable to boot the simulator (0) | 2024.05.25 |
[Dart] 비동기, 동기 프로그래밍 (0) | 2024.05.02 |
[Dart] 예외처리문 (try-catch, finally, on, throw, rethrow) (0) | 2024.05.02 |
[Dart] Dart 기본 함수, 반복문, 분기문 (0) | 2024.05.01 |