직업을 골라 보았으니 이제 본격적으로 캐릭터를 생성해 봅시다. 다음은 캐릭터의 직업을 고르고, 직업에 따라 공격력과 HP를 다르게 설정해 주는 코드 전문입니다. namespace CSharp { class Program { enum ClassType { None = 0, Warrior = 1, Rogue = 2, Mage = 3 } struct Player { public int hp; public int attack; } static void Main(string[] args) { while (true) { ClassType playerClassChoice = ChooseClass(); if(playerClassChoice != ClassType.None) { //캐릭터 생성 Player player;..
간단하게 c#을 복습하며 예전에 했던 TextRPG 만들기를 가지고 놀아볼까 합니다. rpg를 시작하려면 플레이어 캐릭터를 만들어야 하겠죠? 다음은 플레이어 직업 고르기를 위한 코드 입니다. 전체 코드 namespace CSharp { class Program { enum ClassType { None = 0, Warrior = 1, Rogue = 2, Mage = 3 } static void Main(string[] args) { ClassType playerClassChoice = ClassType.None; while (true) { playerClassChoice = ChooseClass(); if(playerClassChoice != ClassType.None) break; } } static ..
제 첫 작품인 호사원을 잡아라! 게임을 플레이스토어와 앱스토어에 출시하게 되었습니다! 회사에서 개발 팀장님의 지도 하에 기획과 개발을 전부 담당하여 진행하였고 디자이너 두 분과 협업하였습니다. 게임 링크: https://play.google.com/store/apps/details?id=com.bancogames.hidecatch&hl=ko 호사원을 잡아라 - Google Play 앱 전라감영을 배경으로 호사원들이 펼치는 스릴 만점 숨바꼭질! play.google.com 게임 간단 설명 :호사원을 잡아라! 게임은 캐주얼-멀티 게임입니다. 플레이어는 전주의 마스코트 캐릭터 호사원이 되어 전라감영을 배경으로 하는 무대에 진입하게 됩니다. 게임이 시작되면 플레이어와 똑같이 생긴 수십 마리의 호사원 NPC들과 ..
https://nybot-house.tistory.com/92#comment15051682 함수/메서드 컴퓨터 과학에서 함수란? 함수(function), 서브루틴(subroutine), 루틴(routine), 메서드(method), 프로시저(procedure)는 소프트웨어에서 특정 동작을 수행하는 일정 코드 부분이다. 즉, '특정한 작업을 위해 nybot-house.tistory.com 위 게시글에서 ref 와 out을 잠시 언급했었다. 메서드에서 ref 와 out 키워드를 사용하면 pass by value가 아니라 pass by reference가 된다. 이는 메서드가 전달된 매개변수 값을 수정할 수 있다는 의미이다. (잘 모르겠다면 https://nybot-house.tistory.com/49). 1..
컴퓨터 과학에서 함수란? 함수(function), 서브루틴(subroutine), 루틴(routine), 메서드(method), 프로시저(procedure)는 소프트웨어에서 특정 동작을 수행하는 일정 코드 부분이다. 즉, '특정한 작업을 위해 재활용할 수 있도록 구현한 코드 블록'을 의미한다. 간단하게 풀어 설명하면 프로그래밍에서 함수/메서드란 어떤 기능들의 묶음(코드 블록), 또는 어떤 매개변수를 넣었을 때 특정한 결과값을 도출하는 것으로 볼 수 있다. 코드가 방대해 지면 질수록 Main 함수에 모든 코드를 나열하는 것은 불가능해진다. 예를 들어 온라인 게임 기준으로 프로그램의 코드 줄이 몇십만 줄의 수준이 되는데, 이 줄을 모두 메인 함수에 넣으면 가독성이 너무나도 떨어질 것이다. (개인적인 기준으로..
break, continue, return 등 반복문, 함수의 흐름을 제어할 수 있는 키워드에 대해 알아보자. 1. break 반복문을 돌다가 break를 만나게 되면 반복문은 그 즉시 종료되고(Loop문을 마무리 하지 않고 즉시), 다음 코드 블럭을 실행하게 된다. 아래 코드는 간단하게 짜 본 소수를 찾는 반복문인데, for 문을 실행하자마자 바로 조건을 만족하기에 계속해서 끝까지 loop문을 돌리는 것은 심각한 낭비가 된다. 따라서 break문을 통해 나머지 loop를 생략하고 바로 for문을 탈출할 수 있다. namespace CSharp { class Program { static void Main(string[] args) { int num = 1000000; //소수: 자기 자신과 1로만 나뉘..
별것은 아니고 간단하게 입출력 기능과 조건문 활용해서 가위바위보 게임처럼 구성해 봤습니다. 게임이라고 하기는 좀 민망하지만 갑자기 심심해서; namespace CSharp { class Program { static void Main(string[] args) { //0: 가위 1:바위 2:보 const int SCISSOR = 0; const int ROCK = 1; const int PAPER = 2; Random rand = new Random(); int aiChoice = rand.Next(0, 3); // 0~2 사이의 랜덤 값 int choice = Convert.ToInt32(Console.ReadLine()); switch(choice) { case SCISSOR: Console.Writ..
Instantiate, PhotonNetwork.Instantiate 일반적으로 유니티는 게임 오브젝트의 생명주기를 관리해 주기 위해 Instantiate와 Destroy 함수를 사용한다. public GameObject obj; void Start() { //Instantiate(생성할 오브젝트, position, rotiation) //Quaternion.identity = rotation이 (0,0,0)임을 의미 Instantiate(obj, new Vector3(0,0,0), Quaternion.identity); } 생성하려는 오브젝트는 Scene에 오브젝트로 생성되어 있어야 선택이 가능하다. 게임 실행 후 Hierarchy창을 보면, 선택한 게임오브젝트이름(clone) 이라는 명칭으로 복사 생..