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

 

이번 세션에서는 우리가 지난 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. 에서 확인 해보실수 있습니다.

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 14387
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13023
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 15532
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 21064
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 22297
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 17933
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 38228
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 173741
35 [디버깅 작업] 코드사이트 – 무료 EXPRESS 에디션 활용하기 관리자 2021.05.20 409
34 [무료 동영상 강의] 전체 모음 링크 관리자 2014.07.10 6377
33 모바일 첫걸음: 델파이 iOS 개발 - 5.제스처를 사용한 탭 간 이동 관리자 2013.10.15 4750
32 모바일 첫걸음: 델파이 iOS 개발 - 4.사진 찍기와 공유 관리자 2013.10.08 4476
31 [추가자료] 델파이에서 안드로이드 앱 개발 "환경설정과 개발의 시작" [1] 관리자 2013.10.01 7819
30 모바일 첫걸음: 델파이 iOS 개발 - 3. 웹브라우저 작성 손보라 2013.09.17 4393
29 모바일 첫걸음: 델파이 iOS 개발 - 2. 컴포넌트와 스타일 적용 관리자 2013.09.13 4084
28 모바일 첫걸음: 델파이 iOS 개발-1.첫걸음 떼기(환경 설정 등) 관리자 2013.09.10 4484
27 델파이 iOS 개발 따라잡기: 3. 데이터베이스 연결하기 관리자 2013.08.27 4718
26 델파이 iOS 개발 따라잡기: 2. 3D 애니메이션 관리자 2013.08.27 3912
25 델파이 iOS 개발 따라잡기: 1-2. 기본 컴포넌트 사용하기 관리자 2013.07.31 4012
24 델파이 iOS 개발 따라잡기: 1-1. 기본 컴포넌트 사용하기 관리자 2013.07.23 4705
23 C++Builder XE3 파이어몽키 31 비디오(한글자막) 관리자 2013.03.05 6701
22 David I 의 31일 튜토리얼 비디오 관리자 2012.11.14 6961
21 [동영상 강의] 델파이 기본 교육_21.트랜잭션처리 관리자 2012.08.10 6788
20 [동영상 강의] 델파이 기본 교육_20.스토어드 프로시저 관리자 2012.08.07 6323
19 [동영상 강의] 델파이 기본 교육_19.예외(Exception)처리 관리자 2012.08.06 6506
18 [동영상 강의] 델파이 기본 교육_18.부서관리 관리자 2012.08.03 5806
17 [동영상 강의] 델파이 기본 교육_17.인사관리(편집과차) 관리자 2012.07.25 6556
16 [동영상강의] 델파이 기본 교육_16.인사관리 화면(연결과 조회) 관리자 2012.07.19 6557