김산나
[멋쟁이사자처럼부트캠프 유니티 게임 개발 7기] 2025년 12월 31일 회고록 - Visual Studio 2022 설치, C# 기초(1) 본문
[멋쟁이사자처럼부트캠프 유니티 게임 개발 7기] 2025년 12월 31일 회고록 - Visual Studio 2022 설치, C# 기초(1)
김산나 2025. 12. 31. 15:462025_12_31 강의 요약본
1. Visual Studio 2022 설치
설치 방법은 다음과 같다
- 유니티 설치 (Visual Studio 2022 체크)
- 아래 링크로 설치 (링크를 누르면 바로 다운됩니다.)
https://aka.ms/vs/17/release/vs_community.exe
워크로드는 다음 두 개를 선택한다.
- Unity를 사용한 게임 개발
- .NET 데스크톱 개발

* 만약 워크로드를 잘못 설치했을 경우, Visual Studio Intaller>수정(M)클릭 시 같은 화면에서 다시 세팅할 수 있다.

< 깨알 잡담 >
멋사 부트캠프가 "뒤끝"이라는 서비스와 계약하여 무료 크래딧을 제공받으며 학습할 기회가 있다고 함.
Wow. 궁금해서 찾아봤습니다.
<사이트 링크>
뒤끝 | 게임 서버 SaaS, 뒤끝 게임 서버, 1인개발자 게임 서버, 게임채팅 서버 구축, 모바일 게임 서
게임 서버 SaaS, 뒤끝 게임 서버, 1인개발자 게임 서버, 게임채팅 서버 구축, 모바일 게임 서버, 유니티 서버 연동, 실시간 PvP 게임 서버, 인디 개발 서버, 무료 서버 개발, 방치형 게임 서버
backnd.com
원래라면 직접 구축해야 하는 데이터베이스, 인증 서비스 등을 통합하고
가독성 좋은 UI로 쉽게 관리할 수 있게 도와주는 서비스.
CCU(동접자) 50명까지 무료인 입문으로 좋은 서비스인 것 같습니다.
<요금제>
https://backnd.com/ko/pricing/base/
베이스 가격 | 뒤끝, 방치형 게임 서버, 게임 서버 SaaS, 뒤끝 게임 서버, 1인개발자 게임 서버, 게
방치형 게임 서버, 게임 서버 SaaS, 뒤끝 게임 서버, 1인개발자 게임 서버, 게임채팅 서버 구축, 모바일 게임 서버, 유니티 서버 연동, 실시간 PvP 게임 서버, 인디 개발 서버, 무료 서버 개발
backnd.com

학습 ~ 인디 단계에서는 꽤 유용하게 사용할 수 있을 것 같습니다.
안 그래도 온라인 게임 만들고 싶었는데 잘됐습니다. 이번 프로젝트 과제는 온라인을 목표로!
+

회원가입하고 서버를 생성하니 이런 메일도 왔다... Yasashii...
초심자 타겟 + 스타트업/1인/인디게임 대상이라 그런갑다
2. C# 기초 콘솔 - (1) 변수
변수는 라면 박스임.
박스에 로고를 그려두면 바로바로 분류하기 좋은 것처럼, 변수의 타입도 미리 정해둬야 PC가 쉽게 알아먹는다.
라면 박스 종류
- int: 정수타입
- double: 실수타입
- char: 문자형
- string: 문자열
이외에도 많이 있다. (웬만하면 이 안에서 해결됨)
* 참고 - 라면박스 이름은 영어가 국룰이다 (외산라면이라 한글로 선언하면 못 읽을 때도 있음)
<실습 코드>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Lec_2025_12_31_var
{
internal class Var_test
{
static void Main(string[] args)
{
// Lecture 1 - 변수 선언: 데이터 타입과 변수 이름을 지정합니다.
int age; // 정수형 변수 age 선언
age = 25; // 변수에 값 저장
Console.WriteLine(age); // 변수에 저장된 값을 출력
// Mission 1 - 레벨 100을 변수를 이용해서 출력하시오
int level = 100;
Console.WriteLine(level);
}
}
}
* 코드 설명 - Lecture 1 변수선언부
- int age; : 정수형(int) 변수를 선언하는데 이름은 "age"임.
- age = 15; : age라는 변수에 15라는 값을 넣음.
- Console.WriteLine(age); : 콘솔에(Console) 한 줄을 적고 줄바꿈(WriteLine) 내용은 "age"라는 변수의 값임.
* 코드 설명 - Mission 1
- int level = 100; : 정수형(int) 변수를 선언하는데 이름은 "level"이고 값 100을 넣는다.
- Console.WriteLine(level); : 콘솔에(Console) 한 줄을 적고 줄바꿈(WriteLine) 내용은 "level"라는 변수의 값임.
* 참고 - 주석
주석은 코드가 실행되지 않는 영역이다. 보통 코드에 대한 설명을 적어두는 용도로 사용.
//, /* */ 두 가지 종류가 있음.
* 참고 - 각종 단축키
컴파일: F5
선택부 주석처리: Ctrl + K + C or Ctrl + /
선택부 주석처리 해제: {주석처리 단축키} + U
<출력 결과>

3. C# 기초 콘솔 - (2) 리터럴
리터럴은 라면임.
본인이 선택한 라면박스에 맞는 라면을 넣도록 한다. (안 맞으면 오류 뱉거나 지맘대로 가려먹음)
<실습 코드>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Lec_2025_12_31_literal
{
internal class Lec_test
{
static void Main(string[] args)
{
// Lecture 2 - 리터럴: 코드에 고정된 값
int number = 10; //정수값 10
double pi = 3.14; //실수값 3.14
char letter = 'A'; //문자 'A'
string name = "Alice"; //문자열 "Hello"
Console.WriteLine(number);
Console.WriteLine(pi);
Console.WriteLine(letter);
Console.WriteLine(name);
//줄바꿈 있음
// Mission 2 - 다음 리터럴을 저장 후 출력
//플레이 스코어 100
//파이 3.14
//등급 A
//플레이어 이름 홍길동
int score = 100; //10진수 리터럴
float piValue = 3.14f; //실수 리터럴
char grade = 'A'; //문자 리터럴
string playerName = "홍길동"; //문자열 리터럴
bool isGameOver = false; //불리언 리터럴
//결과 출력
Console.WriteLine(score);
Console.WriteLine(piValue);
Console.WriteLine(grade);
Console.WriteLine(playerName);
Console.WriteLine(isGameOver);
}
}
}
<출력 결과>

* 참고 - Console.Write과 Console.WriteLine의 차이
- Console.Write: 내용을 출력하고 줄바꿈
- Console.WriteLine: 내용을 출력함. (줄바꿈 없음)
4. C# 기초 콘솔 - (3) 변수를 만들어 값 저장 후 사용하기
변수에다 리터럴을 집어넣어 사용하는 실습.
<실습 코드>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Lec_2025_12_31_literal_to_var
{
internal class Literal_to_var_test
{
static void Main(string[] args)
{
// Lecture 3 - 리터럴을 변수에 저장
string greeting; // 문자열 변수를 선언
greeting = "Hello, World!"; // 변수에 값을 저장
//변수의 값 사용
Console.WriteLine("인삿말: " + greeting);
}
}
}
* 참고 - Console.WriteLine의 복합 출력
"+" 기호로 연결한다. 변수의 경우 그냥 넣어도 되지만, 임의의 값일 경우 ""으로 묶어 넣는다.
<출력 결과>

5. C# 기초 콘솔 - (4) 변수 선언과 동시에 초기화하기
변수의 리터럴을 지정해 주어야 한다.
변수 선언 후 초기화하는 방식이 있고, 선언과 동시에 초기화하는 방식이 있다.
<실습 코드>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Lec_2025_12_31_var_rst
{
internal class Var_rst_test
{
static void Main(string[] args)
{
// Lecture 4 - 변수 선언과 초기화를 한 번에 수행
int score = 100; // 정수형 변수 선언과 동시에 100으로 초기화
double temperature = 36.5; // 실수형 변수 선언과 초기화
string city = "Seoul"; // 문자열 변수 선언과 초기화
Console.WriteLine(score); // 출력: 100
Console.WriteLine(temperature); // 출력: 36.5
Console.WriteLine(city); // 출력: Seoul
// Mission 4_1 - 방법 1: 선언 후 할당 (두 줄)
int health;
health = 100;
// Mission 4_2 - 방법 2: 선언과 동시에 할당 (한 줄)
int maxHealth = 100;
int damage = 15;
maxHealth = 90; // maxHealth 값을 90으로 변경
// Mission 4_3 게임 로직 출력
Console.WriteLine("Player Health: " + health + "/" + maxHealth);
//Mission 4_4 데미지를 받았습니다.
Console.WriteLine("데미지를 받았습니다. ( -" + damage + " )");
}
}
}
코드는 위에서부터 아래로 읽어내려가기 때문에, 하단에 있는 것이 최종 결과값이라고 생각하면 된다.
때문에 maxHealth값이 100이 아닌 90으로 출력되는 것.
<출력 결과>

* 참고 - 폰트 변경
도구>옵션>환경>글꼴 및 색 에서 변경 가능.
Consolas 추천한다고 함.
* 참고 - 테마 변경
설치: 확장>확장관리>확장관리자>검색창에 "Theme">원하는 테마 인스톨
설정: 도구>테마
6. C# 기초 콘솔 - (5) 형식이 같은 변수 여러 개를 한 번에 선언하기
형식이 같으면 같은 줄에 ","로 이어 쓰기가 가능하다.
<실습 코드>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Lecture_2025_12_31_Vars
{
internal class Vars_test
{
static void Main(string[] args)
{
//Lecture 5 - 형식이 같은 변수 여러 개를 한 번에 선언하기
int x = 10, y = 20, z = 30; // 정수형 변수 x, y, z를 선언하고 각각 초기화.
Console.WriteLine(x); //x값 출력: 10
Console.WriteLine(y); //y값 출력: 20
Console.WriteLine(z); //z값 출력: 30
// Mission 5_1 - 문자열에 변수값 대입 -> {}
int age = 5;
Console.WriteLine("나이: {0}", age);
string name = "철수";
Console.WriteLine("이름: {0} 나이: {1}", name, age);
// 유니티에서 잘 쓰는 방식
Console.WriteLine("나이:" + age);
Console.WriteLine($"이름: {name} 나이: {age}");
// Mission 5_2 각 변수를 세 가지 방식으로 출력하기
// 좌표 예
int posX = 0, posY = 50, posZ = 100;
// RGB 색상 값 예
int red = 255, green = 128, blue = 50;
Console.WriteLine("좌표: (" + posX + ", " + posY + ", " + posZ + ") " + "색상: (" + red + ", " + green + ", " + blue + ")");
Console.WriteLine($"좌표: ({posX}, {posY}, {posZ}) " + $"색상: ({red}, {green}, {blue})");
Console.WriteLine("좌표: ({0}, {1}, {2}) 색상: ({3}, {4}, {5})", posX, posY, posZ, red, green, blue);
}
}
}
* 코드 설명 - Mission 5_1 다양한 출력 방식
- Console.WriteLine("나이: {0}", age); : {0}안에 다음에 오는 변수값을 해당 위치에 넣어서 출력.
- Console.WriteLine("이름: {0} 나이: {1}", name, age); : {0}, {1} 위치에 각각 숫자 순서대로 뒤에 붙은 변수를 넣어 출력.
- * Console.WriteLine("나이:" + age); : "+" 문자로 연결.
- * Console.WriteLine($"이름: {name} 나이: {age}"); : "$"문자를 붙인 후 문자열 내부에 {변수} 삽입.
* 하단 두 가지 방식이 자주 쓰인다. 가독성도 좋고 쓰기도 좋음.
<출력 결과>

+ VSCode AI 에이전트 활용에 대한 꿀팁
- 에이전트창 띄우기: Ctrl+Alt+I
- GitHub 로그인해야 함. (유료 사용 시 LLM 다수 선택 가능)
7. 오늘의 미션 1 - 게임 시작 버튼 콘솔로 출력시키기
<실습 코드>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Game_start
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓");
Console.WriteLine("┃ 게임 시작 ┃");
Console.WriteLine("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛");
}
}
}
* 참고 - 특수문자 입력
"ㅂ" 입력 후 한자를 누르면 각종 선을 입력할 수 있다.
<출력 결과>

8. 오늘의 미션 2 - 원하는 게임 화면 하나 선택하고 콘솔로 구현하기
<레퍼런스 사이트>
https://www.gameuidatabase.com/
https://interfaceingame.com/
저는 원신이 눈에 띄어 원신 캐릭터 선택 창을 구현하기로 했습니다.

<실습 코드>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Game_start
{
internal class Program
{
static void Main(string[] args)
{
// Mission side 1 - 원하는 게임 화면 콘솔로 구현하기
string char1 = "향릉";
string char2 = "향릉";
string char3 = "향릉";
string char4 = "향릉";
string char5 = "향릉";
string char6 = "향릉";
string char7 = "향릉";
string char8 = "향릉";
string char9 = "향릉";
string char10 = "향릉";
string char11 = "향릉";
string char12 = "향릉";
string char13 = "향릉";
Console.WriteLine("┏━━━━━━━┓┏━━━━━━━┓┏━━━━━━━┓┏━━━━━━━┓");
Console.WriteLine("┃ ┃┃ ┃┃ ┃┃ ┃");
Console.WriteLine("┃ ┃┃ ┃┃ ┃┃ ┃");
Console.WriteLine("┃ ┃┃ ┃┃ ┃┃ ┃");
Console.WriteLine("┗━━━━━━━┛┗━━━━━━━┛┗━━━━━━━┛┗━━━━━━━┛");
Console.WriteLine($" {char1} {char2} {char3} {char4}");
Console.WriteLine("┏━━━━━━━┓┏━━━━━━━┓┏━━━━━━━┓┏━━━━━━━┓");
Console.WriteLine("┃ ┃┃ ┃┃ ┃┃ ┃");
Console.WriteLine("┃ ┃┃ ┃┃ ┃┃ ┃");
Console.WriteLine("┃ ┃┃ ┃┃ ┃┃ ┃");
Console.WriteLine("┗━━━━━━━┛┗━━━━━━━┛┗━━━━━━━┛┗━━━━━━━┛");
Console.WriteLine($" {char5} {char6} {char7} {char8}");
Console.WriteLine("┏━━━━━━━┓┏━━━━━━━┓┏━━━━━━━┓");
Console.WriteLine("┃ ┃┃ ┃┃ ┃");
Console.WriteLine("┃ ┃┃ ┃┃ ┃");
Console.WriteLine("┃ ┃┃ ┃┃ ┃");
Console.WriteLine("┗━━━━━━━┛┗━━━━━━━┛┗━━━━━━━┛");
Console.WriteLine($" {char9} {char10} {char11}");
Console.WriteLine("┏━━┓┏━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━━┓");
Console.WriteLine("┃▼ ┃┃ 기본 ┃┃↑↓┃");
Console.WriteLine("┗━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━┛");
}
}
}
<출력 결과>

* 참고 - 전공자는 백준 프로그래머스 3단계까지 풀라고 하셨습니다.
===========================================================
2022버전의 비주얼스튜디오를 깔 수 있게 되었다 !
데이터를 입출력할 수 있게 되었다 !
간단한 인터페이스를 콘솔 화면에 그려볼 수 있게 되었다 !
