Home Flutter를 위한 Dart 가위바위보 만들기
Post
Cancel

Flutter를 위한 Dart 가위바위보 만들기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import 'dart:convert';
import 'dart:io';
import 'dart:math';

void main() {
  /// 1. 유저에게 어떤 타입을 낼 것인지 물어보는 질의 창
  print("가위, 바위, 보 중 하나를 정해서 입력해주세요.");
  final String userInput = stdin.readLineSync(encoding: utf8) ?? "Error";

  /// 2. 컴퓨터가 낼 타입이 어떤 것인지 결정하는 함수
  const selectList = ["가위", "바위", "보"];
  final cpuInput = selectList[Random().nextInt(3)];

  print(cpuInput);

  /// 3. 유저의 타입과 컴퓨터 타입에 대한 결과를 계산할 함수
  final result = getResult(userInput, cpuInput);
  print(result);
}

String getResult(String userInput, String cpuInput) {
  const cpuWin = "CPU가 승리하였습니다.";
  const playWin = "Player가 승리하였습니다.";
  const draw = "비겼습니다.";
  String result = draw;

  switch (userInput) {
    case "가위":
      if (cpuInput == "바위") {
        result = cpuWin;
      }
      if (cpuInput == "보") {
        result = playWin;
      }
    case "바위":
      if (cpuInput == "보") {
        result = cpuWin;
      }
      if (cpuInput == "가위") {
        result = playWin;
      }
    case "보":
      if (cpuInput == "가위") {
        result = cpuWin;
      }
      if (cpuInput == "바위") {
        result = playWin;
      }
    default:
      result = "올바른 값을 입력 해 주세요.";
  }
  return result;
}
This post is licensed under CC BY 4.0 by the author.