유니티3D 프로그래밍
C# 1주차 3일 연습 과제 (21.03.10) 본문
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study01
{
class Program
{
static void Main(string[] args)
{
Console.Write("방향을 입력하세요 : ");
string input = Console.ReadLine();
Move(input);
Console.Write("공격할 적을 입력하세요 : ");
input = Console.ReadLine();
Attack(input);
Console.Write("사용할 스킬을 입력하세요 : ");
input = Console.ReadLine();
UsingSkill(input);
Console.Write("총알의 수량을 입력하세요 : ");
input = Console.ReadLine();
int num = Convert.ToInt32(input);
Reload(num);
Console.Write("도발할 대상을 입력하세요 : ");
input = Console.ReadLine();
Provocation(input);
Console.Write("주울 아이템을 입력하세요 : ");
input = Console.ReadLine();
ItemGain(input);
}
//이동한다 (방향)
static private void Move(string direction)
{
Console.WriteLine("{0}으로 이동한다.", direction);
}
//공격한다 (타겟이름)
static private void Attack(string enemy)
{
Console.WriteLine("{0}을 공격한다.", enemy);
}
//스킬을 사용한다 (스킬이름)
static private void UsingSkill(string skiilName)
{
Console.WriteLine("{0}을 사용한다.", skiilName);
}
//총알을 장전한다 (몇발)
static private void Reload(int bulletAmount)
{
Console.WriteLine("{0}만큼 재장전한다.", bulletAmount);
}
//상대를 도발한다 (상대이름)
static private void Provocation(string enemy)
{
Console.WriteLine("{0}을(를) 도발한다.", enemy);
}
//아이템을 줍는다 (아이템이름)
static private void ItemGain(string itemName)
{
Console.WriteLine("{0}을(를) 줍는다.", itemName);
}
//아이템을 사용한다 (아이템이름)
static private void UsingItem(string itemName)
{
Console.WriteLine("{0}을(를) 사용한다.", itemName);
}
//장비를 착용한다 (장비 이름)
static private void Equip(string itemName)
{
Console.WriteLine("{0}을(를) 착용한다", itemName);
}
//장비를 벗는다 (장비이름)
static private void Unequip(string itemName)
{
Console.WriteLine("{0}을(를) 장비해제한다.", itemName);
}
//아이템을 강화 한다 (아이템 이름)
static private void Reinforce(string itemName)
{
Console.WriteLine("{0}을(를) 강화한다.", itemName);
}
//요금을 충전한다 (얼마)
private void ChargeMoney(int pay)
{
Console.WriteLine("요금을 {0}만큼 충전한다.", pay);
}
//합성한다 (아이템1, 아이템2)
private void Synthesize(string item1, string item2)
{
Console.WriteLine("{0}과 {1}을(를) 합성한다.", item1, item2);
}
//귀환한다 (어디로)
private void returnArea(string area)
{
Console.WriteLine("{0}으로 귀환한다.", area);
}
//입장한다 (어디로)
private void Entrance(string area)
{
Console.WriteLine("{0}으로 입장한다.", area);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study01
{
class Program
{
public enum Race
{
Elf, Dwarf, Orc, Goblin, Human
}
static void Main(string[] args)
{
Console.WriteLine("몬스터를 생성합니다. : {0}", RespawnMonster());
Console.WriteLine("생성한 몬스터의 종족 : {0}", Goblin());
Console.WriteLine(KillEnemy());
Console.WriteLine("획득한 아이템 : {0}", DropItem());
Console.WriteLine("드랍된 아이템의 개수 : {0}", DropItemAmount());
Console.WriteLine("획득한 골드 : {0}", GetGold());
Console.WriteLine("획득한 아이템의 무게 : {0}", StingItemWeight());
Console.WriteLine("획득한 아이템의 판매가격 : {0}", StingSold());
Console.WriteLine("포션을 구매합니다. 가격 : {0}", BuyPotion());
Console.WriteLine(LeaveTown());
}
//몬스터가 생성된다.
static private string RespawnMonster()
{
string monster = "고블린";
return monster;
}
//생성된 몬스터의 종족
static private Race Goblin()
{
Race race = Race.Goblin;
return race;
}
//적을 처치했다.
static private string KillEnemy()
{
return "적을 처치했다.";
}
//아이템을 드랍하다
static private string DropItem()
{
string itemName = "고블린의 독침";
return itemName;
}
//드랍된 아이템의 개수
static private int DropItemAmount()
{
Random rand = new Random();
int itemAmount = rand.Next(1, 4);
return itemAmount;
}
//골드를 획득한다.
static private int GetGold()
{
int gold = 100;
return gold;
}
//독침 아이템의 무게
static private float StingItemWeight()
{
return 0.3f;
}
//독침 아이템을 판다
static private int StingSold()
{
int soldItemPrice = 200;
return soldItemPrice;
}
//포션을 구매하다.
static private int BuyPotion()
{
int potionPrice = 100;
return potionPrice;
}
//마을을 떠난다.
static private string LeaveTown()
{
return "마을을 떠납니다.";
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study01
{
class Program
{
static void Main(string[] args)
{
Console.Write("현재 보유 골드 : ");
string input = Console.ReadLine();
int num1 = Convert.ToInt32(input);
Console.WriteLine(ReinforceItem(num1));
Console.WriteLine();
Console.Write("처치한 몬스터 : ");
input = Console.ReadLine();
Console.WriteLine("{0}로부터 획득한 골드 : {1}", input, DropMoney(input));
Console.WriteLine();
Console.Write("사용한 무기 : ");
input = Console.ReadLine();
int subItemDamage = 30;
Console.WriteLine("{0}(으)로 입힌 데미지 : {1}", input, Damage(input, subItemDamage, 100, 20));
Console.WriteLine();
Console.WriteLine("몬스터 2마리 입력과 몬스터 나이 입력 : ");
input = Console.ReadLine();
string input2 = Console.ReadLine();
string input3 = Console.ReadLine();
num1 = Convert.ToInt32(input3);
Console.WriteLine(MonsterEvolution(input, input2, num1));
Console.WriteLine();
Console.Write("경매장의 아이템 개수 :");
input = Console.ReadLine();
num1 = Convert.ToInt32(input);
int[] array = new int[num1];
Random rand = new Random();
for(int i = 0; i < array.Length; i++)
{
int num2 = rand.Next(50, 101);
array[i] = num2;
Console.WriteLine("아이템의 가격 : {0}", num2);
}
Console.WriteLine("경매장의 아이템 평균 시세 : {0}",AverageItemGold(array, num1));
}
//아이템을 강화한다.
static private string ReinforceItem(int gold)
{
if(gold > 150)
{
return "강화를 시작합니다.";
}
else
{
return "돈이 부족합니다.";
}
}
//몬스터가 드랍하는 돈
static private int DropMoney(string monster)
{
if(monster == "고블린")
{
return 100;
}
else if(monster == "오크")
{
return 200;
}
else
{
return 0;
}
}
//무기로 입히는 몬스터에게 입히는 데미지 반환
static private int Damage(string item, int subItemDamage, int itemDamage, int monsterShield)
{
if (item == "대검")
{
//대검은 통상 아이템 데미지의 2배
itemDamage = itemDamage * 2;
}
else if (item == "활")
{
//활 데미지는 활 자체 데미지 + 화살 데미지
itemDamage = itemDamage + subItemDamage;
}
else
return itemDamage - monsterShield;
return itemDamage - monsterShield;
}
//몬스터 진화 방식
static private string MonsterEvolution(string monster1, string monster2, int monsterAge)
{
if(monsterAge > 30)
{
return "몬스터가 나이를 먹어 진화했습니다.";
}
else
{
return monster1 + "와(과) " + monster2 + " 가 만나 돌연변이가 탄생하였습니다.";
}
}
//아이템의 평균 시세
static private int AverageItemGold(int[] tradeItemPrice, int itemCount)
{
//tradeItemPrice 배열은 거래된 가격의 정보들
int sum = 0;
for(int i = 0; i < tradeItemPrice.Length; i++)
{
sum += tradeItemPrice[i];
}
int avg = sum / itemCount;
return avg;
}
}
}
'C# > 수업과제' 카테고리의 다른 글
C# 2주차 1일 수업 과제 (21.03.15) (0) | 2021.03.15 |
---|---|
C# 1주차 5일 연습 과제 (21.03.12) (0) | 2021.03.12 |
C# 1주차 4일 연습 과제 (21.03.11) (0) | 2021.03.11 |
C# 1주차 2일 연습 과제 (21.03.09) (0) | 2021.03.09 |
C# 1주차 1일 연습 과제 (21.03.08) (0) | 2021.03.08 |