완전히 처음부터 시작하는 보드 게임의 프로그래밍과 기계 학습 [6 일째]

마지막 회복



완전히 처음부터 시작하는 보드 게임 프로그래밍 및 기계 학습 [5 일] - Qiita
  • 지금까지의 개요
  • 일단 참고서에서 탈각
  • Python IDE (통합 개발 환경) PyCharm 도입

  • 9개월 만에 프로젝트를 재개했습니다. 과연 어디까지 도달할 수 있을까…

    PyCharm과 Github의 협력



    본격적으로 프로그램을 써 가는 것으로 IDE는 PyCharm을 도입했습니다.
    그리고는 버전 관리를 위해 Github와 연계시켜 보았습니다. 소스를 클라우드 관리하면 어떤 환경에서도 액세스할 수 있어 정말 편리하네요.

    PyCharm에서 GitHub로 연결 - Qiita

    조작은 특히 문제없이 직관적으로 가능하네요. 단지 처음은 Git가 메뉴에 보이지 않고 왕생했습니다. VCS 메뉴에서 활성화하고 Git 자체를 로컬에 설치하지 않으면 안됩니다. 당연하다면 당연한가. .

    우선 화면에 타일을 표시해 본다



    그럼, 막판 게임의 구현에 착수해 보겠습니다. 재현하는 게임은 「카르카손느」라고 불리는 타일과 말을 사용한 명작입니다. 타일을 표시하지 않으려면 시작되지 않으므로 먼저 시작 타일 한 장을 창에 표시해 보겠습니다.



    이런 일은 없는 프로그램입니다만 이것만으로도 게임 같은 느낌이 있어 조금 감동합니다. 보드를 관리하기 쉽게 그리드를 당겨 각각 사각형의 도형 그리기를 실시하고 있습니다.
        (x,y) = (2,2)  #タイル座標
        start_tile = pygame.image.load("tile.png").convert_alpha() # タイル画像読み込み
        rect_start_tile = start_tile.get_rect() # 画像領域取得
        rect_start_tile.center = (100*x+50, 100*y+50) # 座標からタイル位置補正
        screen.blit(start_tile, rect_start_tile) # 画像の描画
    

    왼쪽 상단의 그리드를 (0,0) 좌표로 보드를 관리하고 있습니다. 스타트 타일은 (2,2)로서 윈도우내의 좌표에 보정해 표시시키고 있습니다. 특히 어려운 일은 없다. 타일의 회전 등을 어떻게 관리해 나갈지는 향후의 과제군요.

    타일의 클릭 판정



    이어 간이 되는 타일의 클릭 판정도 만들어 보았습니다.
        if (event.type == pygame.MOUSEBUTTONDOWN) and (event.button == 1) : #クリックイベント取得
            if rect_start_tile.collidepoint(event.pos): # タイルの領域をクリック
                print("hit")
            else:
                print("out") # タイル外をクリック
    

    타일을 클릭하면 hit가 표시되고 타일 밖이면 out이 표시됩니다. 실제로 게임 안에 배치되어 있는 타일을 클릭하는 것은 없다고 생각합니다만, 게임의 조작으로서 유사한 처리는 필요하게 될 것이므로 시험해 본 느낌입니다. 아래를 참고로하겠습니다.

    Python - pygame 이미지 범위 클릭 | teratail

    향후 예정


  • 보드 게임 프로그래밍
  • 파이썬 기초 공부
  • Pygame 기초 공부
  • 보드 게임 구현 👈

  • 보드 게임 AI 만들기
  • 기계 학습에 의한 AI 강화

  • 게임에 필요한 요소를 철저히 구현합니다.

    이번 되돌아


  • 했던 일
  • Github를 처음 사용해 보았습니다
  • 보드 게임의 구현을 시작했다
  • 이미지를 보았습니다.

  • 알았던 것
  • 클라우드에서 소스 제어가 편리
  • Git을 설치하지 않으면 Github에 연결할 수 없습니다
  • 클릭 이벤트의 취득은 상당히 간단

  • 다음에 하는 것
  • 타일 클래스 구현
  • 타일을 회전시켜보십시오

  • 좋은 웹페이지 즐겨찾기