유니티 C# 간단한 RPG 게임 만들기 예시 구현 Unity RPG Game

반응형

코드 작성

플레이어 코드

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour
{
    // 플레이어의 초기 상태 변수들
    public int level = 1; // 플레이어 레벨
    public int experience = 0; // 경험치
    public int money = 0; // 돈
    public int health = 100; // 체력
    public int maxHealth = 100; // 최대 체력

    // 경험치를 획득하고 레벨을 올리는 함수
    public void GainExperience(int amount)
    {
        experience += amount;
        if (experience >= level * 100) // 경험치가 충분하면 레벨업
        {
            experience -= level * 100;
            level++;
            maxHealth += 20;
            health = maxHealth;
        }
    }

    // 돈을 획득하는 함수
    public void GainMoney(int amount)
    {
        money += amount;
    }

    // 체력을 회복하는 함수
    public void Heal(int amount)
    {
        health += amount;
        if (health > maxHealth)
        {
            health = maxHealth;
        }
    }
}

 

몬스터 코드

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Monster : MonoBehaviour
{
    // 몬스터의 초기 상태 변수들
    public int health = 50; // 몬스터 체력
    public int experienceReward = 20; // 처치 시 주는 경험치
    public int moneyReward = 10; // 처치 시 주는 돈

    // 몬스터가 공격받을 때 호출되는 함수
    public void TakeDamage(int amount)
    {
        health -= amount;
        if (health <= 0)
        {
            Die();
        }
    }

    // 몬스터가 죽을 때 호출되는 함수
    void Die()
    {
        Player player = FindObjectOfType<Player>();
        player.GainExperience(experienceReward);
        player.GainMoney(moneyReward);
        Destroy(gameObject); // 몬스터 제거
    }
}

 

상점 코드

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Store : MonoBehaviour
{
    public int potionCost = 10; // 포션 가격
    public int potionHealAmount = 50; // 포션 회복량

    // 포션을 구매하는 함수
    public void BuyPotion()
    {
        Player player = FindObjectOfType<Player>();
        if (player.money >= potionCost)
        {
            player.money -= potionCost;
            player.Heal(potionHealAmount);
        }
        else
        {
            Debug.Log("돈이 부족합니다!"); // 돈이 부족할 때 메시지 출력
        }
    }
}

 

게임 UI 코드

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class GameUI : MonoBehaviour
{
    public Player player;
    public Text levelText;
    public Text experienceText;
    public Text moneyText;
    public Text healthText;
    public Store store;

    // UI를 업데이트하는 함수
    void Update()
    {
        levelText.text = "레벨: " + player.level;
        experienceText.text = "경험치: " + player.experience + "/" + (player.level * 100);
        moneyText.text = "돈: " + player.money;
        healthText.text = "체력: " + player.health + "/" + player.maxHealth;
    }

    // 버튼을 통해 포션을 구매하는 함수
    public void OnBuyPotionButton()
    {
        store.BuyPotion();
    }
}

 


다른 간단한 게임 만들기

 

유니티 C# 간단한 타워 디펜스 게임 만들기 Tower Defense

적 코드using UnityEngine;public class Enemy : MonoBehaviour{ public float speed = 5f; // 적의 이동 속도 void Update() { Move(); // 이동 함수 호출 } void Move() { // 적이 현재 위치에서 목표 지점으로 이동하는 방향을 계산

parksh3641.tistory.com

 

유니티 C# 간단한 방치형 클리커 게임 만들기 예시 구현

코드 작성using System.Collections;using UnityEngine;using UnityEngine.UI;public class ClickerGame : MonoBehaviour{ // UI 요소들을 연결할 변수들 public Text scoreText; // 점수를 표시하는 텍스트 public Text perSecondText; // 초당

parksh3641.tistory.com

 


의뢰하기

 

유니티로 제작된 게임을 업그레이드 해드립니다. - 크몽

DevPark 전문가의 IT·프로그래밍 서비스를 만나보세요. <p><strong style="font-size: 24px;&q...

kmong.com

반응형