로그인게임하기
현장 강의록

순서도 기호와 그리는 법 — 조건문·반복문을 C# 코드로 옮기기

2026.10.11

현장 강의록 · 애니메이션고 2022 · 6편

순서도의 마름모·사각형·화살표는 무엇을 뜻하고, 그 흐름을 C# 코드로 어떻게 옮길까요? 기호 여덟 가지를 익히고 랭킹·건설 버튼 예제와 반복문·로그인 흐름 실습을 따라갑니다. 갈림길과 반복, 여러 경로가 합쳐지는 지점을 읽어 코드 작성 전에 처리 순서를 정리하는 현장 강의록입니다.

수업 정보

2022년 1학기 한국애니메이션고등학교 2학년 「3D 게임 프로그래밍」 3강 「프레임워크 설계를 위한 UML」, 4강에서 가르친 내용입니다.

WHY

그림으로 약속하기

절차

순서도 (Flow Chart)

기획자의 개발 의도를 논리로 그려 개발자에게 전합니다. 절차 지향 개발이 주로 쓰이던 시기에는 순서도로 충분했습니다.

구조

UML

객체 지향이 자리 잡고 개발 규모가 커지면서 구조까지 그리는 약속이 필요해졌습니다. 다음 편에서 다룹니다.

순서도는 오래된 도구지만 지금도 쓸모가 큽니다. 버튼을 눌렀을 때 일어나는 일, 로그인 흐름, 결제 흐름처럼 한 장면의 순서와 갈림길을 맞출 때는 순서도가 가장 빠릅니다.

READ

순서도 읽기

배고플 때의 선택을 그린 순서도STARTHungry?HaveMoney?Sleepy?Coding !!DrinkRed Bull !!Coding !!Chicken !!YESYesNoNoYesNo
수업 첫 순서도. 빨간 길은 "배고프고 돈도 있을 때" 의 길입니다.

순서도는 사용자의 시나리오를 논리로 그립니다. 한 장에 시나리오를 하나씩 그립니다. 시작점에서 출발해 사용자의 선택이나 상태에 따라 사다리처럼 갈라지고, 마지막에 정해진 결과에 도착합니다.

위 그림을 따라가 봅시다. 배고픈가? 예 → 돈이 있는가? 예 → 치킨. 배고프지 않으면 졸린지 묻고, 졸리면 에너지 음료를 마시고 코딩합니다. 어느 길로 가도 끝은 정해진 결과 중 하나입니다. 갈림길(마름모)에서 나가는 화살표에는 언제나 예 / 아니오가 붙습니다.

SYMBOLS

순서도 기호 여덟 가지

순서도 기호 여덟 가지시작 / 끝둥근 막대초기화육각형처리(계산)사각형입력 / 출력평행사변형조건판단마름모문서(인쇄)물결 사각형결합원모니터 출력모니터 모양
수업에서 쓴 순서도 기호. 도형 아래 회색 글자는 모양의 이름입니다.
기호모양언제 쓰나예
시작 / 끝둥근 막대순서도의 처음과 마지막게임 실행, 건설 클릭
초기화육각형변수에 처음 값을 넣거나, 준비 작업을 할 때i = 0, 랭킹 데이터 수신
처리(계산)사각형계산하거나 일을 할 때i = i + 2, 데이터 정렬, 건설 실행
입력 / 출력평행사변형데이터를 읽거나 쓸 때건축물 데이터 불러오기, 저장
조건 판단마름모예 / 아니오로 갈라질 때비용 충분?, 로그인 성공?
문서(인쇄)물결 사각형문서나 보고서를 만들 때결과 리포트 출력
결합원갈라졌던 길이 다시 만날 때두 랭킹 페이지가 정렬에서 만남
모니터 출력모니터 모양화면에 보여 줄 때"건설 비용이 부족합니다.", i 출력

파랑은 흐름의 시작과 데이터, 빨강은 준비와 판단과 화면, 초록은 일을 하는 단계입니다. 색은 약속이 아니라 읽기 쉽게 하려는 장치이고, 모양이 약속입니다.

EXAMPLE

수업 예제: 랭킹 페이지와 건설 버튼

랭킹 페이지와 건설 버튼의 순서도전투력 랭킹 페이지전투력 랭킹데이터 수신수집 랭킹 페이지수집 랭킹데이터 수신점수에 따라데이터 정렬랭킹 출력건설 클릭건축물 데이터불러오기비용충분?건설 비용이부족합니다.건설확인건설이취소되었습니다.건설 실행NoYesNoYes
왼쪽은 두 랭킹 페이지가 결합 기호에서 만나는 순서도, 오른쪽은 건설 버튼의 두 단계 확인입니다.

왼쪽 랭킹 페이지. 전투력 랭킹과 수집 랭킹은 받는 데이터만 다르고, 받은 뒤의 일(점수로 정렬해서 출력)은 같습니다. 그래서 두 길을 결합 기호(원)에서 합쳤습니다. 순서도에서 결합을 찾으면 코드에서 함께 쓸 함수가 보입니다.

오른쪽 건설 버튼. 건설을 누르면 건축물 데이터를 불러오고, 비용이 충분한지 묻고, 정말 지을지 한 번 더 묻습니다. 두 번의 "아니오" 는 각각 다른 안내 문구로 끝납니다. 안내 문구까지 순서도에 적어 두면 기획자와 문구를 맞추는 일도 함께 끝납니다.

출발 문에서 시작해 갈림길마다 마름모 표지판이 선 정원 미로를 에드윈이 지도를 들고 걸어가는 그림
순서도는 갈림길마다 표지판이 선 정원과 같습니다. 어느 길로 가도 끝은 정해진 문 중 하나입니다.
PRACTICE 1

실습 1: 반복

문제
  1. 변수 i 를 0 에서 시작해 2 씩 늘리고, 10 보다 크면 화면에 출력하세요.
실습 1 정답 순서도: 반복시작i = 0 초기화i > 10i = i + 2i 출력아니오예
실습 1 정답. 결합 기호로 돌아가는 화살표가 반복을 만듭니다.

i 를 0 으로 초기화하고(육각형), 결합 기호를 지나 조건을 묻습니다. i 가 10 보다 크지 않으면 2 를 더하고 다시 결합 기호로 돌아갑니다. 위로 돌아가는 화살표가 곧 반복문입니다. 조건이 참이 되면 반복을 빠져나와 i 를 출력합니다.

순서도 → 코드설명용 예시 — 실습 1 정답을 C# 으로
int i = 0;              // 초기화 (육각형)
while (!(i > 10))       // 조건 판단 (마름모) — 아니오면 계속
{
    i = i + 2;          // 처리 (사각형)
}
Debug.Log(i);           // 모니터 출력 → 12

출력되는 값은 12 입니다. 10 일 때는 "10 보다 크다" 가 거짓이라 한 번 더 2 를 더하기 때문입니다. 순서도를 손가락으로 따라가 보면 이런 경계값 실수를 코드 전에 잡을 수 있습니다.

PRACTICE 2

실습 2: 자동 로그인

문제
  1. 게임이 실행된 뒤 이전에 로그인한 기록이 있으면 마지막에 저장된 계정으로 자동 로그인하고, 없으면 구글 로그인으로 보냅니다.
  2. 로그인에 실패하면 구글 로그인으로 다시 보내고, 성공하면 성공한 계정을 저장합니다.
  3. 자동 로그인이든 수동 로그인이든 성공하면 로비로 이동합니다.
실습 2 정답 순서도: 자동 로그인게임 실행AlreadyLogin 읽기AlreadyLogin= true ?구글 계정로그인 시도로그인 성공?AlreadyLogin 에true 저장로비로 이동아니오아니오예예
실습 2 정답. 실패하면 로그인 시도로 돌아가고, 두 성공 길이 결합 기호에서 만나 로비로 갑니다.

문장으로 읽을 때는 복잡해 보였던 요구가 그림으로는 갈림길 두 개와 반복 하나입니다. 주목할 곳은 결합 기호입니다. "자동 로그인 성공" 과 "수동 로그인 성공" 이 같은 곳에서 만나 로비로 갑니다. 로비로 가는 코드를 여러 군데에 둘 필요가 없다는 뜻입니다.

LoginFlow.cs설명용 예시 — 4강 14쪽 「실습: 순서도 구현」
void Start()
{
    bool alreadyLogin = PlayerPrefs.GetInt("AlreadyLogin", 0) == 1;   // 입력: AlreadyLogin 읽기
    if (alreadyLogin) GoLobby();                                      // 예 → 결합
    else TryGoogleLogin();                                            // 아니오 → 로그인 시도
}

void TryGoogleLogin()
{
    GoogleLogin(success =>
    {
        if (!success) { TryGoogleLogin(); return; }                   // 실패 → 다시 시도
        PlayerPrefs.SetInt("AlreadyLogin", 1);                        // 출력: true 저장
        GoLobby();                                                    // → 결합
    });
}

void GoLobby() => SceneManager.LoadScene("Lobby");                    // 처리: 로비로 이동

4강에서는 이 순서도를 실제 Unity 화면으로 구현했습니다. 순서도의 도형마다 코드 한두 줄과 맞아떨어지는 것을 확인하는 실습이었습니다.

TIP

순서도를 그릴 때의 약속

범위

한 장에 시나리오 하나

로그인과 결제를 한 장에 그리면 읽을 수 없습니다. 장면마다 나눕니다.

방향

위에서 아래로

흐름은 위에서 아래, 왼쪽에서 오른쪽으로 흐르게 둡니다. 돌아가는 화살표는 반복일 때만 씁니다.

판단

모든 갈림길에 예 / 아니오

마름모에서 나가는 화살표에는 언제나 답을 적습니다. 빠진 답이 곧 빠진 예외 처리입니다.

정리

  1. 모양이 약속입니다. 둥근 막대는 시작 · 끝, 마름모는 판단, 원은 다시 만나는 곳입니다.
  2. 돌아가는 화살표는 반복문, 결합은 함께 쓸 코드입니다.
  3. 손가락으로 따라가 봅니다. 경계값과 빠진 예외를 코드 전에 찾습니다.

다음 편에서는 객체 지향의 구조를 그리는 UML 다이어그램을 다룹니다.

함께 읽으면 좋은 글

AI가 만든 Unity 코드를 직접 검증해 보고 싶다면

이 글에서 살펴본 구조를 바탕으로 AI에게 작업을 요청하고 결과를 읽는 연습을 이어가세요. 「AI 코드를 읽는 게임 개발자」 무료 세션 1에서 시작하거나, 전체 커리큘럼과 수강 안내를 확인할 수 있습니다.

← 개발 노트 목록