새로운 글
새로운 덧글

델파이 프로그래머 분들  안녕하세요  !

 

이번 세션에서는 우리가 지난 3번 세션에서 다운받은 프로젝트 기반으로  다음 작업을 하고자 합니다.

             A  바둑판 배경색(황금색) 을 입히기

    B.  바둑판의 가로 세로 19개의 선을 긋기

    C.  바둑판의 포석점을 그리기

 

    1.  바둑판 배경색(황금색) 을 입히기를 작업을 하기 위해서 FormCreate 이벤트에서  ResetBoard 로

        선언된 프로시져를 호출합니다.       

procedure TMainForm.FormCreate(Sender: TObject);
begin
      ResetBoard;
end;   

   

     2.  이 ResetBoard 프로시져에서는 새 게임 버튼을 클릭하면 언제든 호출하기 위해서 별도로 선언하였습니다.

       

procedure TMainForm.ResetBoard;
var
 I, J : SmallInt;
begin
 //  바둑판을 노란색으로 체우는 과정

  for I := 0 to 19  do
    for J := 0 to 19 do
      begin
        TTTBoard.Canvas.Draw(18 * I, 18 * J, img_board.Picture.Graphic);
      end;

end;

 

여기서  TTTBoard 라로 명명된  Image 컴포넌트의  Canvas.Draw 를 통해 각각의 넓이18 x 높이18

의 위치에  img_board 컴포넌트의 Picture 를 사용하여 바둑판을 그림니다.

  

    3 물론  procedure  TMainForm.ResetBoard; 호출하기위해선  Class 안에 다음처럼 선언을 해주셔야 하겠죠!

  TMainForm = class(TForm)

    ...

  private
    procedure ResetBoard;

   ...     

 

그리고 이제 실행 해보시면 다음의 결과를 보십니다.

badukGold.png

 

     

    4 이제  바둑판 위에 가로 세로 19개의 선을 긋기 위해서 ResetBoard 프로시쳐 안에 다음을 추가합니다.

procedure TMainForm.ResetBoard;
begin

    ...

 //바둑판에 가로 세로 19개씩의 라인을 그리는 과정

  for I :=  1 to 20  do
    begin
      TTTBoard.Canvas.Pen.Width := 1;                            // 선의 굵기
      TTTBoard.Canvas.Pen.Color := clBlack;                      // 선의 색깔
      TTTBoard.Canvas.MoveTo(18, 18 * I);                       // 가로선의 시작점 지정
      TTTBoard.Canvas.LineTo(TTTBoard.Width-18, 18 * I);   // 가로선 긋기 , TTTBoard.Width 은 18x20개=360 입니다
      TTTBoard.Canvas.MoveTo(18 * I, 18);                      // 세로선의 시작점 지정
      TTTBoard.Canvas.LineTo(18 * I, TTTBoard.Width-18);   //세로선 긋기
    end;
end;

    

   여기서 실행하면 다음의 상태가 됩니다.

 

badukGoldLine.png

 

    

    5  이제 마지막으로  바둑판의 포석점을 그리기 위해서 ResetBoard 프로시쳐 안에 다음을 추가합니다.

         여기서 Canvas.Ellipse 이벤트를 사용하는데  4픽셀 크기의 8개의 포석점을 놓았습니다.

 

procedure TMainForm.ResetBoard;
begin

    ...

    //바둑판에 점을 그리는 과정

    TTTBoard.Canvas.Ellipse((18*4)-2 ,(18*4)-2,(18*4)+2,(18*4)+2);
    TTTBoard.Canvas.Ellipse((18*10)-2 ,(18*4)-2,(18*10)+2,(18*4)+2);
    TTTBoard.Canvas.Ellipse((18*16)-2 ,(18*4)-2,(18*16)+2,(18*4)+2);

    TTTBoard.Canvas.Ellipse((18*4)-2 ,(18*10)-2,(18*4)+2,(18*10)+2);
    TTTBoard.Canvas.Ellipse((18*10)-2 ,(18*10)-2,(18*10)+2,(18*10)+2);
    TTTBoard.Canvas.Ellipse((18*16)-2 ,(18*10)-2,(18*16)+2,(18*10)+2);

    TTTBoard.Canvas.Ellipse((18*4)-2 ,(18*16)-2,(18*4)+2,(18*16)+2);
    TTTBoard.Canvas.Ellipse((18*10)-2 ,(18*16)-2,(18*10)+2,(18*16)+2);
    TTTBoard.Canvas.Ellipse((18*16)-2 ,(18*16)-2,(18*16)+2,(18*16)+2);

end;

 

 

그럼 실행해보시면 이제 바둑판이 완성되었죠!   다음 세션에서는 바둑알을 놓아보도록 하겠습니다.

그럼 좋은 하루보내십시요.

 

ps. 오늘 세션 내용은 첨부파일 main.pas. 에서 확인 해보실수 있습니다.

번호 제목 글쓴이 날짜 조회 수
공지 [10.3 리오][업데이트 3] What's NEW! 신기능 자세히 보기 관리자 2019.11.22 1747
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 3958
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 6779
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 3193
공지 [프로그래밍 강의] 2019.8~2019.12 관리자 2015.01.22 10218
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 관리자 2015.06.30 16365
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2019년 11월 업데이트 됨) 험프리 2014.01.16 153706
241 델파이에서 아이콘 폰트 사용하기 험프리 2019.12.12 23
240 Class에서 Interface 2개를 구현하려고 하는데, 이 Interface 2개가 같은 이름으로된 Method를 가지고 있다면? file 험프리 2019.12.11 36
239 [고객사례-유틸리티, 델파이] 녹음기 앱 - Voice Recorder 관리자 2019.12.10 166
238 [10.3.3] 안드로이드 64비트 앱 빌드하기 [2] file 험프리 2019.11.27 150
237 [델파이 샘플 코드] 안드로이드, iOS, OSX, 윈도우, 리눅스, HTML5 관리자 2019.11.13 235
236 [고객사례-게임, 델파이] Rise of Legions 관리자 2019.11.08 480
235 델파이 코드 컨버전 빠르게 완료하기 관리자 2019.11.06 203
234 DLL 폼에서 VCL 폼 스타일 적용하기 file 김원경 2019.10.28 220
233 [고객 사례- 의료, 델파이] 의료용 소프트웨어(폐활량&심전도 체크) - Advanced Spirometer and ECG 관리자 2019.10.25 311
232 델파이 컴포넌트/소스 마이그레이션 자동화 도구 소개 험프리 2019.10.11 285
231 [도서/PDF/소스코드] 델파이 Begin...End - 부록 file 관리자 2019.08.20 192
230 [도서/PDF/소스코드] 델파이 Begin...End - 21장. 쓰레드 file 관리자 2019.08.20 513
229 [도서/PDF/소스코드] 델파이 Begin...End - 20장. 인디 컴포넌트를 이용한 프로그래밍 file 관리자 2019.08.20 197
228 [도서/PDF/소스코드] 델파이 Begin...End - 19장. 컴포넌트 작성 file 관리자 2019.08.20 159
227 [도서/PDF/소스코드] 델파이 Begin...End - 18장. 인트라웹을 이용한 웹 프로그래밍 file 관리자 2019.08.20 151
226 [도서/PDF/소스코드] 델파이 Begin...End - 17장. DataSnap REST file 관리자 2019.08.20 146
225 [도서/PDF/소스코드] 델파이 Begin...End - 16장. DataSnap 웹 file 관리자 2019.08.20 133
224 [도서/PDF/소스코드] 델파이 Begin...End - 15장. 웹 브로커를 이용한 웹 프로그래밍 file 관리자 2019.08.20 152
223 [도서/PDF/소스코드] 델파이 Begin...End - 14장. 분산처리(DataSnap) file 관리자 2019.08.20 167
222 [도서/PDF/소스코드] 델파이 Begin...End - 13장. ADO를 사용한 데이터베이스 프로그래밍 file 관리자 2019.08.20 145


광고 모듈이 설치되어 있지 않아 실행을 중단합니다..