본문 바로가기

KDT/C# 프로그래밍50

23/07/30 과제(미션) App using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using Newtonsoft.Json; namespace Practice { public class App { public Game game; //생성자 public App() { MissionInfo missionInfo = null; bool isNewbie = true; //유저 타입별 게임정보 로드 if (File.Exists("./mission_info.json")) { //기존유저 Console.WriteLine("기존 유저"); isNewbie = .. 2023. 7. 30.
23/07/28 게임 세팅 App using System; using System.IO; using Newtonsoft; using Newtonsoft.Json; using System.Collections.Generic; using System.Linq; namespace starcraft { public class App { private Game game; //생성자 public App() { //------------준비-------------------- DataManager.instance.LoadItemData(); DataManager.instance.LoadMonsterData(); //------------------------------------ //-----------서비스 시작--------------- .. 2023. 7. 28.
23/07/27 과제(복습) ※복습할 것 - 대리자 메서드 연습 (무명메서드, 람다, Action 중심으로) ▶대리자(delegate) - 기본 형식 ex) (public) delegate int MyDelegate(int a, int b) -구현 과정 1) 메서드 정의 2) 대리자 형식 정의 3) 대리자 초기화 (대리자 인스턴스 생성 및 메서드 연결) 4) 대리자 호출 ▶대리자(무명메서드) - 기본 형식 ex) MyDelegate del = delegate (int a, int b) { return a + b; }; -구현 과정 1) 대리자 형식 정의 2) 대리자 인스턴스화 3) 대리자 호출 대리자 - 무명메서드 using System; using System.Collections.Generic; using System.Linq;.. 2023. 7. 27.
23/07/27 아이템 정보 저장하기 using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace starcraft { internal class DataManager { public static readonly DataManager instance = new DataManager(); private Dictionary dicItemDatas = new Dictionary(); //아이템 데이터를 딕셔너리에 관리 //생성자 private DataManager() { } //아이템 데이터 로드 메서드 publi.. 2023. 7. 27.
23/07/27 대리자 연습 App 클래스 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; using starcraft; using System.Data; namespace starcraft { public class App { //생성자 public App() { //영웅 생성 Hero hero = new Hero(); hero.HitDamage(3, (hp, maxHp) => { Console.WriteLine("진짜 공격을 받았습니다.({0}/{1})", hp, maxHp); }); } } } Hero 클래스 using Sy.. 2023. 7. 27.
23/07/27 Action 대리자 App 클래스 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; using starcraft; using System.Data; namespace starcraft { public class App { //생성자 public App() { //영웅 생성 Hero hero = new Hero(); hero.attackComplete = () => { Console.WriteLine("공격완료"); }; hero.Attack(); hero.Move(() => { Console.WriteLine("이동완료").. 2023. 7. 27.