2011/12/19 09:03

오브젝트 파스칼 특징

1. 대소문자를 구별하지 않는다.

2. 문자열은 ‘’ 작은 따옴표로 묶는다.

3. 변수 선언은 함수가 시작하는 begin 이전에 키워드 var를 쓰고 선언한다.

4. indent Style 은 통상 2로 사용한다.

5. 리턴 유/무에 따라 함수/프로시저로 구분한다.

 

주로 쓰이는 변수타입

Integer -  4바이트 정수

String – 문자열, 문자를 사용할 때도 쓴다.

 

주로 쓰이는 비교 연산자

and, or. =, <>, >, <, >=, <=

 

 

// (Input, Output) 생략가능
program ProgramName(Input, Output); 

// 콘솔 프로젝트 명시, 없으면 윈도우 프로젝트
{APPTYPE CONSOLE}

// 참조할 다른 파일들
// 폴더를 명시적으로 지정 가능
uses
  UnitFileName, UnitFileName.
  UnitFileName in 'FilePath';

// 전처리기 - 델파이에서 윈도우 프로젝트로 개발할 때 참조할 리소스 파일
{$R *.res}

// 조건부 전처리기 
{$DEFINE A}

{$IFDEF A}
{$ENDIF}

{$IFNDEF A}
{$ENDIF}

// 함수 선언 및 정의 구현 ( 리턴값이 있는 함수 )
// Calling Convention은 생략가능( 생략시 stdcall )
// 매개변수 이름 앞에 var 키워드를 선언하면 레퍼런스 변수가 된다.
function FuncName( argv1: Type, var argv2 ... ): ReturnType; Calling Convention;
// 함수 내에서 사용할 변수 선언
var
  VariableName: Type;
  VariableName: Type;
begin

// 리턴값 설정
// 바로 리턴이 되지는 않는다.
FuncName := ReturnValue;

// 함수 종료
Exit;

// 프로시저 선언 및 정의 구현 ( 리턴값이 없는 함수 )
// Calling Convention은 생략가능( 생략시 stdcall )
// 매개변수 이름 앞에 var 키워드를 선언하면 레퍼런스 변수가 된다.
procedure ProcName( argv1: Type, var argv2 ... ); Calling Convention;
// 프로시저  내에서 사용할 변수 선언
var
  VariableName: Type;
  VariableName: Type;
begin

// 함수 종료
Exit;

end;

// EOF를 제외하고 모든 end 뒤에는 ; 를 붙인다.
end;

// 전역 변수 선언
// 배열 선언 0과 10은 다른 인덱스로 대체 가능( 왜 이런걸 지원하는진 알수없음)
var
  VariableName: Type;
  VariableName = array[0..10] of Type;

// program으로 시작하는 소스코드의 begin은 엔트리 포인트이다.
begin


// for 문
// 10이 포함되며 총 11번 실행한다.
for i := 0 to 10 do
begin
  WriteLn( IntToStr( i ) );
end;

for I := 10 downTo 0 do
  WriteLn( IntToStr( i ) );

// 배열 순회 방법
// 인덱스가 항상 0부터 시작하지 않기 떄문에 Low() 와 High() 같은 함수를 지원한다.
for for i := Low( ArrayVariablename ) to high( ArrayVariablename ) do
  WriteLn( IntToStr( i ) );


// if문
if 'A' = 'A' then
begin
  WriteLn( 'True' );
end
else
begin
  WriteLn( 'False' );
end;

// begin end 로 감싸지 않으면 ; 를 표시하지 않는다.
if ( 'A' = 'A' ) and ( 'A' <> 'B' )
  WriteLn( 'True' )
else
  WriteLn( 'False' );


// switch case 문
// break 가 따로 없다.
case 'A' of
'A': WriteLn( 'A' );
'B': WriteLn( 'B' );
'C': WriteLn( 'C' );
end;

// EOF( end. 은 파일의 끝에만 쓰인다 )
end.

 

 

 

Posted by 유종원 tornare86
2010/08/27 19:00

첨부파일
1. DB 테이블 구조
2. 패킷 구조 및 정의
3. 소스코드 프로젝트 (클라이언트/윈도우)
4. 소스코드 및 Makefile (서버/리눅스 SentOS)



온라인게임 프로토타입이다.
로그인을 하여, 채널 선택, 방 만들기/나가기/정보수정/게임 시작, 채팅 등이 구현되어 있다.
동영상에서 게임에서 나온 후 대기실에서 동기화가 안된 모습이 보이는데, 처리가 안된 부분이다.

[ 개발이야기 ]

더보기


[ 개발환경 ]
서버
 - CentOS 2.6
 - VI Editor
 - C++
 - Mysql
 
클라이언트
 - Windows 7
 - Visual C++ 2008
 - C++
 - DirectX 9.0c
 - FMod
Posted by 유종원 tornare86
2010/07/23 20:29

C++은 못쓰는거..
Posted by 유종원 tornare86
2010/04/01 17:25

[ 첨부파일 ]
1. 소스코드 프로젝트
2. 실행파일 (노설치)
3. 실행파일 (인스톨)
4. 스크린좌표->마름모꼴 배열좌표 변환, 오토타일링 구현 설명 ppt

 
MFC공부를 목적으로 기획.
학교 졸업작품으로 제출할 예정인 프로그램이다.
아이소메트릭 형태의 타일을 편집할 수 있는 게임 맵 에디터이다.

개발이야기..

더보기


타일 이미지 - TGL사의 파랜드 택틱스 1/2

개발환경
 - Windows7 32bit (WindowsXP 32/64 에서 테스트)
 - MFC 9.0 SDI
 - DirectX 9.0c
 - C++

기능
 - 오토타일링 온/오프 (스타크래프트의 타일 설정방식)
 - 높낮이 표현
 - 장식물(Doodad) 표현
 - 플레이어 시작위치 설정 (플레이어당 캐릭터 3개 / 최대 8명)
 - 미니맵
 - 전체화면 미리보기
 - 새로만들기 / 열기 / 저장 / 다른이름으로 저장
 - 모든 기능에 단축키 지원
 - BrushPallate창 위치보존

사용방법
실행 후 h/H 를 눌러 도움말 참조

첨부파일
1. Visual C++ 2008 프로젝트
2. 실행파일 (설치 없이) - 32비트 mfc배포 라이브러리 설치해야 실행됨 (파일포함)
3. 실행파일 (인스톨)
Posted by 유종원 tornare86
2009/11/17 03:44
[ 첨부파일 ]
1. 소스코드 프로젝트
2. 실행파일 (노셋업)

2009년도 교내 학술제에 출품했던 작품이다.
A-Star 라는 길찾기 알고리즘 적용 사례라는 제목으로 출품했다.


[ 개발 이야기 ]

더보기


[ 개발 환경 ]
 - WindowsXP 32bit
 - DirectX 9.0c
 - Fmod (AudioEngine)
 - C++

[ 리소스 ]
 - 스프라이트 (파랜드 택틱스 1/2)
 - 배경음악 (던전앤파이터 bgm)
 - 효과음 (파랜드 택틱스 1/2)
 - UI (자체제작)

[ 기능 ]
 - A-Star 길찾기 알고리즘
 - 캐릭터 선택 / 이동 / 공격 / 피격

[ 사용방법 ]
 - 마우스 왼쪽버튼 (캐릭터 선택/이동)
 - 마우스 오른쪽버튼 (다른 캐릭터 쫒아가기)
 - 키보드 1, 2, 3 (캐릭터 선택)
 - 스페이스 (공격)
 - 쉬프트 (마법)
Posted by 유종원 tornare86