전체 글 (205)
임진록 2+: 조선의 반격(Seven Years War 2: Chosun's Counterattack)의 유즈맵 패치입니다.패치에 문제가 있다면 wnsrn3436@gmail.com으로 제보해주세요. 이 패치는 게임을 플레이할 때 맵에 있는 유닛의 배치 정보를 읽게 합니다. [패치방법] 1. 실행파일이 임진록 2+: 조선의 반격 폴더에 존재하여야 합니다.2. 임진록 2+: 조선의 반격의 버전이 v1.100이어야 합니다.
using System; using static System.Environment; class Program { static void Main(string[] args) { string option = "/exit"; switch (option) { case "/exit": Console.Write("/exit "); goto case "/writeBye"; case "/writeHI": break; case "/writeBye": Console.Write("bye!" + NewLine); goto default; case "/writeCopyright": break; default: goto gotoLable; } Console.WriteLine("It will be silent."); gotoLabl..
C#에서는 연산자 우선순위에 따라 우선순위가 높은 연산자는 우선순위가 낮은 연산자보다 먼저 실행되며, 우선순위가 같은 연산자끼리는 '좌 결합성'과 '우 결합성'에따라 실행된다. 예를 들어 x+y*z라는 코드는 x+(y*z)로써 실행될 것이다. 여기서 주의해야 할 것은, 이러한 우선순위와 결합성은 연산자들이 실행되는 순서에만 영향을 끼친다는 것이다. 절대 피연산자의 평가 순서에 영향을 주지 않는다. C#에서 피연산자는 항상 왼쪽에서 오른쪽으로 평가된다. A()+B()*C()라는 코드는 'A()->B()->C()' 순으로 평가(호출)되고, 평가된 결과(return)값을 런타임은 우선순위와 결합성을 이용하여 계산한다. 그렇다면 x가 1일 때, F(x++, x++)와 같은 함수 호출은 C#에서는 어떻게 반응할까..
using System; class Program { static void Main(string[] args) { string text = "Hello World"; Console.WriteLine(text); } } Main 메소드는 프로그램의 시작점을 담당하는 특별한 식별자이며, static void 혹은 static int 한정자를 지닌다. static로 지정한 Main은 클래스에 종속된 정적 메소드이므로 new를 통한 인스턴스화 작업 없이도 다른 클래스의 메소드에서 이 메소드를 호출할 수 있음을 의미하기에 프로그램의 최초시작점인 Main 메소드는 정적이 되어야 하는 것이다. 만일 Main이 인스턴스 메소드라면 명령 콘솔에서 인스턴스화를 수행한 뒤 프로그램이 실행되어야 한다. Main의 반환 값은 ..
폴더비교, 텍스트 비교, Hex 비교 등 다양한 기능을 지원하는 파일 비교 유틸리티입니다. 여러 가지 기능도 많고 두 파일의 차이점을 색상을 통해 확연하게 알려주기 때문에 어떤 부분에서 무엇이 수정되었는지, 삭제되었는지를 한 눈에 볼 수 있습니다. 홈페이지 : http://www.scootersoftware.com/
텍스트를 편집하거나 프로그래밍할 때 사용하는 텍스트 에디터입니다. 한국어를 지원하며 여러 가지 프로그래밍 언어 작성을 도와주고, 각종 플러그인을 통해 기능을 더 확장할 수 있습니다. 특히 간단한 웹프로그래밍을 할 때 사용하면 좋은 유용한 도구입니다. 홈페이지 : https://notepad-plus-plus.org/
아트록스의 파라미터 파일은 SPM에서 LHA 압축을 풀면 나오는 맵데이터(MAPDATA) 파일에서 얻을 수 있다. 원래 아트록스에서 파라미터는 유닛의 능력치를 의미하지만, 아트록스의 맵에디터에서 보이듯 능력치, 업그레이드, 특수능력의 한 쌍으로 이루어졌다고도 볼 수 있다. 그래서 이 포스트에서도 업그레이드와 특수능력의 분석까지 다루게 되었다. 먼저, 맵데이터 파일에서 파라미터 구조는 다음과 같다. 플레이어1 유닛 능력치플레이어1 업그레이드플레이어1 특수능력...플레이어8 유닛 능력치플레이어8 업그레이드플레이어8 특수능력 파라미터로 가기 위해서는 플레이어1 유닛 능력치의 주소를 알아내야 하는데, 아직 그것까지는 분석하지 않았고(이것을 얻기 위해서는 모든 맵데이터의 정보를 알아내야 할 것 같은 느낌이라서 포..
[ Atrox Parameter Packer ] 이 프로그램은 SPM 파일에서 추출한 MAPDATA 파일에서 파라미터 부분을 추출하거나 다시 SPM에 삽입하는 기능을 지원합니다. [ 사용방법 ] 1. 추출할 경우 [이름]_parameter[플레이어 넘버].txt 파일이 8개 생겨나며, 파라미터의 통일을 위해 한 개의 파일을 수정한 뒤 복사하여 플레이어 넘버만 바꿔서 8개를 만들어 전체적용을 하셔도 됩니다. 2. 삽입할 경우 [이름]_parameter[플레이어 넘버].txt 파일이 플레이어 넘버별로 8개 필요합니다. (언제나 이 프로그램에서 파라미터.txt를 선택할 때는 플레이어 넘버 1번만 선택해도 나머지 7개가 자동으로 처리됩니다.) [ 주의사항 ] - 파라미터에서 기본설정을 0으로 해놔야 맵에디터에서..
[ Atrox SPM Packer ] 이 프로그램은 아트록스 맵 파일에서 MAPDATA 파일을 추출하거나 새로 적용하는 기능을 지원합니다. 아트록스 시나리오 맵 파일의 경우, 구 버전 맵에디터로 제작된 것이라 맵데이터가 압축되어있지 않아서 MAPDATA 파일을 추출할 때 헤더 에러가 발생할 수 있는데, 이때는 맵에디터로 해당 맵 파일을 열어서 다른 이름으로 새롭게 저장하면 MAPDATA 파일을 추출할 수 있게됩니다. (원래는 아트록스에 MAPDATA라는 확장자는 없습니다. 제가 따로 명명한 것입니다.) 맵에디터로 맵 파일을 열어서 다른 이름으로 새롭게 저장했는데도 헤더 에러가 발생할 경우, 이메일로 해당 맵 파일을 보내주시면 감사하겠습니다. ㅎㅎ [ 스크립트 작성방법 ] U|C:\[6] 네로(Nero) ..
[ 아트록스 파라미터 패치 ] 이 패치는 아트록스 일반게임에서 맵 파일의 파라미터 설정과 맵에 배치된 유닛들을 불러오게끔 합니다. 즉, 여러분들이 아트록스의 능력치를 마음껏 수정하신 뒤 게임에 적용할 수 있습니다. 주의하세요! 이 패치를 하게 되면 구버전 맵에디터로 제작된 아트록스의 시나리오를 불러오지 못하며, 기존에 퓨전과 서바이벌 등을 지원하던 게임 타입은 일반게임만 지원하게 됩니다. [ 버전 관리 이슈 ] 1. 서버와 클라이언트의 맵 파일이 다를 경우 클라이언트가 팅기므로 게임 플레이에 지장이 없습니다.2. 서버나 클라이언트 둘 중 하나만 파라미터 패치를 했고, 맵에 파라미터 설정이 가해졌을 땐 게임 중 동기화 에러가 발생하므로, 버전 관리에 지장은 없습니다. [ 패치 방법 ] - 'Atrox Pa..