1. 배열
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using System.IO;
namespace Quest
{
class App
{
//생성자
public App()
{
string json0 = File.ReadAllText("./mission_data.json");
string json1 = File.ReadAllText("./item_data.json");
MissonData[] missonDatas = JsonConvert.DeserializeObject<MissonData[]>(json0);
ItemData[] itemDatas = JsonConvert.DeserializeObject<ItemData[]>(json1);
//출력 확인
foreach (MissonData data in missonDatas)
{
Console.WriteLine("id: {0}, 미션명: {1}, 미션설명: {2}, 목표: {3}, 보상아이템id: {4}, 수량: {5}", data.id, data.name, data.description, data.target, data.reward, data.count);
}
foreach (ItemData data in itemDatas)
{
Console.WriteLine("id: {0}, 아이템 명: {1}", data.id, data.name);
}
Console.WriteLine();
PrintMission(missonDatas, itemDatas);
Console.WriteLine();
//찾기
int searchMissionId = 1001;
MissonData foundData = null;
foreach(MissonData data in missonDatas)
{
if(data.id == searchMissionId)
{
foundData = data;
}
}
if (foundData != null)
{
Console.WriteLine("id: {0}, 미션명: {1}, 미션설명: {2}, 목표: {3}, 보상아이템id: {4}, 수량: {5}", foundData.id, foundData.name, foundData.description, foundData.target, foundData.reward, foundData.count);
}
}
public void PrintMission(MissonData[] missonDatas, ItemData[] itemDatas)
{
//사용자 출력
for (int i = 0; i < missonDatas.Length; i++)
{
for (int j = 0; j < itemDatas.Length; j++)
{
if (missonDatas[i].reward == itemDatas[j].id)
{
string rewardItem = itemDatas[j].name;
Console.WriteLine("id: {0}, 미션명: {1}, 미션설명: {2}, 목표: {3}, 보상아이템id: {4}, 수량: {5}", missonDatas[i].id, missonDatas[i].name, missonDatas[i].description, missonDatas[i].target, rewardItem, missonDatas[i].count);
}
}
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Quest
{
class MissonData
{
public int id;
public string name;
public string description;
public int target;
public int reward;
public int count;
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Quest
{
class ItemData
{
public int id;
public string name;
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Quest
{
class Program
{
static void Main(string[] args)
{
new App();
}
}
}
'C# > 수업내용' 카테고리의 다른 글
[ C# 11일차 ] 변하지 않는 데이터 만들기 연습1 (0) | 2023.01.13 |
---|---|
[ C# 11일차 ] JSON 직렬화/역직렬화 연습 (0) | 2023.01.13 |
[ C# 10일차 ] 파일 입출력 File.WriteAllText(String, String), File.ReadAllText(String) (0) | 2023.01.13 |
[ C# 10일차 ] File.Exists(String) (0) | 2023.01.13 |
[ C# 10일차 ] 실행시 매개변수 넣기 (0) | 2023.01.13 |