728x90

전체 글 137

Interface In Game - 게임 UI 라이브러리

https://interfaceingame.com/games/?sortby=recent_add Games | Interface In GameLibrary of video games interfaces to get to know all the mechanics and elements of a game.interfaceingame.com이 사이트는 다양한 게임의 UI(유저 인터페이스)를 한눈에 살펴볼 수 있는 라이브러리로, 게임 속에서 사용된 모든 화면 구성과 요소들을 세세하게 분석할 수 있습니다. 수많은 게임 UI 데이터베이스Interface In Game에는 수많은 유명 게임의 UI가 정리되어 있습니다.메뉴 화면, HUD, 인벤토리 시스템 등 게임의 각종 인터페이스가 어떻게 설계되었는지 이미지로 확인할 ..

유용한 사이트 2025.01.09

[C#] 랜덤 배열(리스트) 셔플하기 (Fisher-Yates 알고리즘)

랜덤 배열 셔플은 게임 개발, 데이터 샘플링 등 무작위화가 필요한 여러 상황에서  유용하게 사용됩니다. 이번 글에서는 C#에서 배열과 리스트를 무작위로 섞는 방법을 다루고, 이를 구현하는 데 가장 널리 알려진 Fisher-Yates Shuffle 알고리즘를 소개합니다ㅏ. 배열과 리스트의 무작위화 필요성배열이나 리스트를 무작위로 섞는 기능은 게임에서 특히 자주 사용됩니다. 카드 게임: 덱을 무작위로 섞기.적 스폰: 특정 패턴 없이 랜덤한 위치에 적을 배치.퀴즈: 문제나 보기의 순서를 무작위로 섞기. Fisher-Yates Shuffle 알고리즘이란?Fisher-Yates Shuffle 알고리즘은 배열이나 리스트의 요소를 무작위로 섞는 효율적인 방법입니다.작동 원리는 입니다.배열의 마지막 요소부터 시작하여,..

언어/C# 2025.01.09

내일배움캠프 Unity - 사전캠프 (라이즈업 풍선게임)

위에서 떨어지는 사각형의 오브젝트들을 마우스로 막아 하단 중앙의 풍선(원 오브젝트)에 닿지 않게 해야하는 게임입니다.생존해있는동안 측정되는 시간이 곧 점수입니다.데이터 저장 기능을 활용하여 최고 점수 기록 기능이 있습니다.   장애물(Square) 스크립트using System.Drawing;using UnityEngine;using UnityEngine.SocialPlatforms.Impl;public class Square : MonoBehaviour{ float size; // 크기 Vector2 randomPos; // 생성 위치 void Start() { randomPos = new Vector2(Random.Range(-3f, 3f), Random.Range(..

내일배움캠프 2025.01.08

내일배움캠프 Unity - 사전캠프 (빗물 받는 르탄이)

남은 시간안에 위에서 떨어지는 오브젝트를 잘 받아내어 점수를 최대한 올리는게 목적인 간단한 게임이다.캐릭터는 기본적으로 계속움직이며 만약 화면 끝에 닿거나 플레이어가 마우스 좌클릭을하게 되면 방향전환한다.떨어지는 오브젝트는 땅이나 캐릭터에 닿으면 사라지며 만약 캐릭터에 닿을시 종류별로 상이하게 점수를 획득하거나 잃을 수 있다. 모든 시간이 소모되면 재시도 및 끝내는 UI팝업창이 띄워진다.    빗물 오브젝트 스크립트using UnityEngine;public class Rain : MonoBehaviour{ int score; // 빗방울 점수 값 float size; // 빗방울 크기 int type; // 빗방울 유형 (0: small, 1: middle, 2: big, 3: red)..

내일배움캠프 2025.01.07

내일배움캠프 Unity - 사전캠프 (팀원과 함께해요 2)

숫자 야구 게임숫자 야구 게임을 작성하세요. 컴퓨터가 3자리의 숫자를 선택하면 사용자가 그 숫자를 맞추는 게임을 구현하세요. 각 자리의 숫자를 비교하여 스트라이크와 볼의 개수를 출력합니다.숫자 야구 게임 설명숫자 야구 게임은 3자리의 숫자를 맞추는 게임입니다. 컴퓨터가 고른 3자리 숫자는 모두 다른 숫자로 이루어져 있습니다. 사용자는 3자리 숫자를 입력하고, 컴퓨터는 입력한 숫자와 자리수를 비교하여 스트라이크와 볼의 개수를 알려줍니다.스트라이크: 숫자와 자리수가 모두 맞는 경우볼: 숫자는 맞지만 자리수가 다른 경우예를 들어, 컴퓨터가 427을 선택하고 사용자가 123을 입력했을 때, 2는 맞지만 자리수가 다르므로 1볼, 1은 맞지 않으므로 0스트라이크입니다. 이 과정은 사용자가 정확한 숫자를 맞출 때까지..

내일배움캠프 2025.01.07

내일배움캠프 Unity - 사전캠프 (팀원과 함께해요 1)

행맨 게임사용자로부터 문자를 입력받아 숨겨진 단어를 맞추는 행맨 게임을 작성하세요. 사용자가 단어의 모든 문자를 맞추거나 주어진 기회 내에 맞추지 못할 때까지 반복합니다.게임 설명: 행맨 게임은 사용자가 단어를 추측하는 게임입니다. 사용자는 알파벳을 하나씩 입력하고, 맞출 때마다 단어의 해당 위치에 문자가 표시됩니다. 틀릴 경우, 기회가 줄어듭니다.배열 사용: char[] 배열을 사용하여 단어를 저장하고, 추측된 문자를 저장합니다.반복문 사용: 게임은 사용자가 단어를 맞추거나 기회가 끝날 때까지 반복됩니다.조건문 사용: 각 입력된 문자가 단어에 포함되는지 확인합니다.사용 변수 설명secretWord: 맞춰야 할 단어입니다. 예제에서는 "hangman"으로 설정되어 있습니다.guessWord: 사용자가 맞..

내일배움캠프 2025.01.07

내일배움캠프 Unity - 사전캠프 (기초 문법 활용해보기 4)

배열 요소의 최대값과 최소값 찾기int[] numbers = { 10, 20, 30, 40, 50 }; 이와 같이 주어진 숫자 배열에서 최대값과 최소값을 찾는 프로그램을 작성하세요.Console.WriteLine(); 을 사용해 최대값과 최소값을 각각 출력할 수 있습니다.int[] numbers = { 10, 20, 30, 40, 50 };int max = numbers[0];int min = numbers[0];for (int i = 1; i max) { max = numbers[i]; } if (numbers[i]

내일배움캠프 2025.01.07

내일배움캠프 Unity - 사전캠프 (기초 문법 활용해보기 3)

이중 반복문을 사용한 구구단 출력이중 반복문을 사용하여 2단부터 9단까지의 구구단을 출력하는 프로그램을 작성하세요. 각 단은 1부터 9까지 곱하여 결과를 출력해야 합니다. 구구단 세로로 출력해 주세요Console.WriteLine("구구단 세로 출력:\n");for (int i = 1; i   구구단 가로로 출력해 주세요Console.WriteLine("구구단 가로 출력:\n");for (int i = 2; i

내일배움캠프 2025.01.07

내일배움캠프 Unity - 사전캠프 (기초 문법 활용해보기 2)

숫자 맞추기 게임숫자 맞추기 게임을 작성하세요. 컴퓨터가 1부터 100 사이의 숫자를 선택하면 사용자가 그 숫자를 맞추는 게임을 구현하세요. 사용자가 숫자를 입력하면 컴퓨터는 숫자가 더 크거나 작은지 힌트를 줍니다. 맞출 때까지 반복합니다.System.Random random = new System.Random();int targetNumber = random.Next(1, 101); // 1부터 100까지 랜덤 숫자int userGuess = 0; // 사용자의 입력값int tryCount = 0; // 시도 횟수Console.WriteLine("1부터 100 사이의 숫자를 맞춰보세요!");while (userGuess != targetNumber){ Console.Write("숫자를 입력하세요:..

내일배움캠프 2025.01.07

내일배움캠프 Unity - 사전캠프 (기초 문법 활용해보기 1)

팩토리얼 계산사용자로부터 입력받은 숫자의 팩토리얼을 계산하는 프로그램을 작성하세요.팩토리얼은 n!로 표현되며, n! = n × (n-1) × (n-2) × ... × 1입니다.예를 들어, 5! = 5 × 4 × 3 × 2 × 1 = 120입니다.for, while, do-while문 중 하나를 활용하여 해결해주세요.Console.ReadLind() 을 활용해서 출력 값을 출력해주세요.Console.WriteLine("숫자를 입력해주세요.");// 입력 받기int input = int.Parse(Console.ReadLine());if( input 0) { value *= input; input -= 1; } Console.WriteLine("팩토리얼 결과:" +..

내일배움캠프 2025.01.07
728x90