본문 바로가기
반응형

프로그래밍 이야기83

C#코딩 연습 - Indexer Indexer는 클래스나 구조체의 인스턴스를 배열처럼 인덱싱하게 해준다. 아래의 예제에서 this[int index]가 그 핵심 코드이다. this 객체에 배열과 같은 접근을 허용하면서 내부의 data 배열에서 하나의 값을 return 하거나 입력 해준다. class LH2Demo_Indexer { // 배열의 크기 private const int MAX = 10; // 배열 생성 private int[] data = new int[MAX]; // Indexer public int this[int index] { get { // 입력 index가 허용 법위인지 검사 if (index = MAX) { throw new IndexOutOfRangeException(); } else .. 2020. 11. 21.
C#코딩연습 - 클래스 연습 오늘은 클래스의 상속과 인스턴스 관리에 대한 연습을 해봤습니다. Babarian, Giant, Healer의 인스턴스들을 관리하는 UnitControl 클래스와 이에 대한 구현이 본 내용의 핵심입니다. 오늘까지 강의 수강 진행률이 거의 40%. 화이팅~! class Army { protected int _HP; protected int _MP; protected int _Speed; protected int _Attack; public virtual void Run() { Console.Write("Speed : {0}, ", _Speed); } public virtual void Attack() { // 줄내림 Console.WriteLine(); // Console.Write("Att : {0}, ".. 2020. 11. 18.
C# 코딩 연습 - 확장 메서드 오늘은 C# 확장 매서드를 공부했습니다. 이거 참 신기한 기능이네요. class AA { public void PrintAA(string str) { Console.WriteLine("PrintAA {0}", str); } } static class Util { public static void Print(this AA aa, string str) { aa.PrintAA(str); } public static void Sum(this int a) { Console.WriteLine("{0} + {1} = {0}", a, a, a + a); } } class Program { static void Main(string[] args) { AA aa = new AA(); Util.Print(aa, "Hello.. 2020. 11. 15.
C# 코딩 연습 - 배열기반 달리기 게임 이번에는 배열 기반으로 달리기 게임 코딩 const int MAP_X = 7; const int MAP_Y = 22; const int DELAY_TIME = 300; static void UpdateView(char[] _tile, int[,] _map) { for (int i = 0; i < MAP_X; i++) { for (int j = 0; j < MAP_Y; j++) { int tileIndex = _map[i, j]; Console.Write(_tile[tileIndex]); if (j == MAP_Y - 1) Console.WriteLine(); } } } static void ClearView() { Thread.Sleep(DELAY_TIME); Console.Clear(); } stati.. 2020. 11. 11.
반응형