이번엔 배열을 알아 볼 것이다. 배열도 은근 많이 바꼇다. 배열을 선언하는 방식은 int[] Arr = new int[100]{1,2,3…….}; 와 같이 선언한다 당연하지만 배열 인덱스는 0부터 시작 또한 int[] Arr = new int[]{1,2,3….}; 와 같은 선언도 가능하며 int[] Arr = {1,2,3…}; 도 가능 하다 이와 같은 선언은 위 문장의 선언과 같다. 다차원 배열을 선언 하는 방식은 Int[,] arr2 = new int[5,5]; 와 같이 선언 하며 초기화 방법은 다 같다 참고로 콤마 잘 못 넣은거 아님 그 이외에 차원을 계속 늘리고 싶으면 콤마를 계속 늘려주면 된다. System.Array 이번에는 Array클래스에 대해 알아 볼 것 이다. 배열에 관한 클래스인데 은근..
이번에는 메소드에 인자 제한 없이 인자를 넘길 수 있는params에 대해 알아 보겠습니다. 먼저 C/C++에도 이런 방법..? 이 있었고 실제로도 사용이 됐지요(printf,scanf와 같은) 실제로도 C#에서도 Console.Write()함수에도 사용 되고 있습니다.(라고 해도 잘 안 쓸 거 같은데..) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplicatio..
이번에는 ref와 out을 알아 볼 것 인데 보통 C# 에서는 포인터를 사용하지 않습니다 그 이유가 CLR이 메모리를 자동 관리 해준다고 하기 때문에 직접 메모리를 건드는 것은 안전하지 않으므로 포인터는 사용하지 않고 메모리를 건드는 것이 아닌 참조자를 이용하는거 같습니다.(C#에서도 포인터를 사용 할 수 있다만 함수에 unsafe를 붙여야 한다) C++ 에서의 참조자는 int& 형으로 변수를 만들었는데 C#에선 &가 아닌 ref라는 단어를 붙여줘야 한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42using System; using Syst..
이번에는 C#에 새로 생긴 반복문중 하나인 foreach에 대해 알아 보겠습니다. 생긴 모습을 보니 for문과 많이 닮아 있는데. 차이점 이라 함은 for문을 사용하는 형식은 for(초기식;조건식;증감식) { //내용 } 이런 형식으로 사용 되는데 foreach문의 사용 방식은 Foreach(변수 in 배열 or 컬렉션) { //내용 } 이렇게 사용됩니다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp..
C#의 데이터 형은 C/C++과 많이 유사 하기에 딱히 큰 문제점이 없다.구분데이터 형크기(Byte) 정수byte1short2int4long8문자char2 실수float4double8decimal16문자열string 논리bool1객체object 크게 다른첨이라 함은 object타입이 있는데.12345678910111213141516171819202122using System;using System.Linq; namespace ConsoleApplication1{ class Program { static void Main(string[] args) { object Dec = 123456789; object Float = 123.1651616; object Bool = false; object str = "..
2016 년 4/28 코드를 제출해서 애들 앞에서 쇼케이스를 하였고 버그 몇가지를 수정 하였다. 수정한 버그 맵(오브젝트)에다가 총알을 쏠 경우 장전(셋)이 되지 않음 (수정) ..끝 맨처음 C로 작성한것https://drive.google.com/file/d/0B0yX7THk2gzOMk9TYnZsX0ZCZlE/view?usp=sharing 코드를 C++로 갈아 엎은것https://drive.google.com/file/d/0B0yX7THk2gzOaEdnbkg3UWlZTms/view?usp=sharing 완성품https://drive.google.com/file/d/0B0yX7THk2gzOeUh6VVY4bzJyRzA/view?usp=sharing
2016년 4/25일 의 전공에 이어서 달라진 점 : Map.h/Rank.h의 코드 변경, 버그 수정 그에 따라 Game.h도 수정 Game.h 원랜 rank와 map이 public선언 되있고 클래스 내부에 각각의 배열이 있었는데 그걸 없애고 Game클래스 내에서 처리 하도록 변경함 그에 따라서 몇가지 함수 추가 Map.h와 Rank.h 클래스 내에 있던 배열을 지움으로써 멤버함수가 간략화 되었다 현재까지 구현한 것 플레이어 상하좌우 움직임 몹 출력, 속도 총알 발사 폭탄 발사 스테이지 이펙트 출력 시간 출력 점수 출력 랭크 입출력 메뉴 맵(오브젝트) 출력 맵 충돌체크(추가) 현재 있는 버그,오류 이펙트가 다른 물체를 가림. 게임 종료후 다시 게임 시작시 시작이 안되고 사용자의 이름을 계속 입력 받음(해..
2016년 4/25일 야간 전공 수업시간 내용 선생님 왈 : 맵 만들어. 그러므로 저번까지 하였던 내용에다가 맵 입출력을 더했다. 달라진 점 : Map.h/Map.cpp가 추가됨 Map.h/Map.cpp 맵도 마찬가지로 x, y좌표가 필요하므로 UNIT클래스를 상속 시키고 그 이외에도 직사각형의 형태로 출력 할 것 이므로 가로길이 세로길이를 추가 하였다. MakeMap함수에서 파일 입출력을 통해 txt파일 안에 맵의 개수, x좌표,가로길이, 세로길이를 넣어서 fscanf를 통해 서식 입력을 이용하였다. 그리고 입력 받은 MapCount의 변수를 통해 멤버변수 포인터map을 이용하여서 동적 할당 한 후 맵을 출력 하도록 하였음. 현재까지 구현한 것 플레이어 상하좌우 움직임 몹 출력, 속도 총알 발사 폭탄 ..
레지스터는 CPU내에 존재하며 데이터의 빠른 접근을 위해 존재 한다. 레지스터의 종류에는 범용 레지스터, 포인터 레지스터, 인덱스 레지스터, IP(명령 포인터), 플래그 레지스터, 컨트롤 플래그, 세그먼트 레지스터가 있다. 범용 레지스터 (General Register) 범용 레지스터는 연산 결과를 받을 수도 있으며, 연산에 사용되어질 수도 있는 레지스터이다. AX(AH,AL) Accumulator Register 산술, 논리 연산의 중심이 되는 레지스터. I/O Port의 입출력 명령 또한 주로 이 레지스터를 사용한다.BX(BH,BL) Base Register간접 번지 지정 시(C언어의 포인터 * 연산자 같은 것) 번지 레지스터, 베이스 레지스터로 주로 사용된다.CX(CH,CL) Count Regist..