10.15 Dictionary 활용해 업적 보상 UIPanel 만들기
C#/실습 2019. 10. 15. 16:44

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _10._15_step4
{
class App
{
public App()
{
Dictionary<int, RewardData> rewardDatas = new Dictionary<int, RewardData>();
rewardDatas.Add(1, new RewardData("코인", 1000));
rewardDatas.Add(2, new RewardData("보호구1", 1));
rewardDatas.Add(3, new RewardData("랜덤박스", 10));
rewardDatas.Add(4, new RewardData("코인", 1500));
Dictionary<int, AcheivementData> acheivementDatas = new Dictionary<int, AcheivementData>();
acheivementDatas.Add(1, new AcheivementData("업적1", "업적1설명", 1));
acheivementDatas.Add(2, new AcheivementData("업적2", "업적2설명", 2));
acheivementDatas.Add(3, new AcheivementData("업적3", "업적3설명", 3));
acheivementDatas.Add(4, new AcheivementData("업적4", "업적4설명", 4));
UIPanel panel1 = new UIPanel(rewardDatas, acheivementDatas);
panel1.ShowAchDataByKey(3);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _10._15_step4
{
class UIPanel
{
public Dictionary<int, AcheivementData> dicAchData;
public Dictionary<int, RewardData> dicRewData;
public UIPanel(Dictionary<int, RewardData> rewardDatas, Dictionary<int, AcheivementData> achDatas)
{
this.dicAchData = achDatas;
this.dicRewData = rewardDatas;
}
public RewardData SearchRewardDataByKey(int id)
{
return dicRewData[id];
}
public void ShowAchDataByKey(int id)
{
Console.WriteLine($"ID 번호{id}를 가진 업적데이터를 출력합니다.");
Console.WriteLine(dicAchData[id].achName);
Console.WriteLine(dicAchData[id].achDesc);
Console.WriteLine(SearchRewardDataByKey(dicAchData[id].rewardDataId).name);
Console.WriteLine(SearchRewardDataByKey(dicAchData[id].rewardDataId).amount);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _10._15_step4
{
class AcheivementData
{
public string achName;
public string achDesc;
public int rewardDataId;
public AcheivementData( string name, string desc, int rewardData)
{
this.achName = name;
this.achDesc = desc;
this.rewardDataId = rewardData;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _10._15_step4
{
class RewardData
{
public string name;
public int amount;
public RewardData( string name, int amount)
{
this.name = name;
this.amount = amount;
}
}
}
'C# > 실습' 카테고리의 다른 글
2048 프로그램 (저장기능x) (0) | 2019.10.23 |
---|---|
10.17 상속 클래스를 이용한 뽑기박스 (0) | 2019.10.17 |
10.14 클오클 클랜원 UIPanel 만들기 (0) | 2019.10.14 |
10.10 class를 활용해 인벤토리와 기능 만들기 (0) | 2019.10.10 |
10.07 class 활용해 1955버거 만들기 (0) | 2019.10.07 |