안드로이드 틱택토 앱 게임 만들기 미니맥스 알고리즘 인공지능 #0

2023. 5. 18. 23:42·정리 전 게시글/공부 관련

 

동아리 대축제 부스 전시에 사용하려고 만든 틱택토 앱입니다.

안드로이드 스튜디오로 제작하였으며 안드로이드 기기에서만 동작합니다...

 

틱택토 게임의 이름은 많이들 들어보셨을텐데 실제 게임 방법은 잘 모르더라구요. 쉽게말하면 3목입니다. 

오목은 5개의 돌이 가로 세로 혹은 대각선으로 이어지면 되는데 틱택토는 마찬가지로 3개만 이어지면 됩니다

 

그래서 틱택토의 경우의 수는 9! = 362,880 입니다. 개발 목표는 사용자가 놓은 수에 따라 인공지능이 최적의 수를 선택하여 게임을 진행하면 되겠습니다.

 

예전이라면 많이 어려웠겠지만 인공지능 수업 덕분에 미니맥스 알고리즘으로 틱택토 게임을 구현하는데 도움이 되었네요.

먼저 파이썬으로 틱택토 인공지능을 구현하고 안드로이드 스튜디오에서 자바 코드로 변환하는 과정을 거쳐서

안드로이드 앱에 UI를 넣고 터치를 하면 X (사용자 턴)를 칠하는 기능을 구현했습니다.

 

 

실제 구동 영상입니다. 틱택토 게임은 3 X 3 타일에서 진행되는 게임이므로 서로 최상의 수를 선택한다면 항상 비기는 게임이됩니다.. 그래서 이걸로 부스 전시를 한다면 항상 비기는 게임이 되거나 지는 게임이 될텐데

그러면 별로 재미는 없겠죠 그래서 난이도 조절이 필요했습니다

 

 

5% 확률로 AI는 엉뚱한 수를 두는 코드를 넣게 되면 가끔은 사용자가 이기겠죠... 다음에 방학에 앱을 좀 더 업그레이드 해서 메뉴도 만들고 타이틀도 만들고 딱히 별 기능은 없지만 인터넷 없이 동작 가능한 틱택토 인공지능 게임으로 출시를 해보려고 합니다.

 

 

지금은 부스 전시용으로 앱을 만든거라 딱히 기능은 틱택토 인공지능과 타일 터치 기능, 순전히 틱택토 관련 기능만 만들었습니다. 차차 업그레이드를 하거나 아니면 여기서 뭍히겠죠 ㅎㅎ  

 

 

타일 터치는 버튼말고 TableLayout에 TextView를 넣어서 온클릭 리스너로 만들었습니다... 그리고 백그라운드로 조금 꾸미니 나름 괜찮더군요

 

 

틱택토에 대한 일반적인 코드는 인터넷에도 많고 gpt에게 부탁해도 쉽게 나오니까 따로 코드를 전부 설명하는건 피해야겠습니다

 

 

그냥 이제 틱택토 인공지능 코드만 살짝 올려놓겠습니다. 미니맥스 알고리즘으로 만들었고 간단하게 설명하면 자신에게는 최선의 수를 선택하게끔하고 상대에게는 그 반대으 수를 선택하게끔 하는 알고리즘이죠 

 

다음에 앱을 업데이트 하면 그때 또 일지를 남겨야겠네요

아무튼 부스하면서 잘돼서 다행이다!

 

저작자표시 (새창열림)

'정리 전 게시글 > 공부 관련' 카테고리의 다른 글

[백준 15829번 문제, 파이썬3] Hashing  (0) 2023.05.19
[백준 2869번 문제, 파이썬3] 달팽이는 올라가고 싶다  (1) 2023.05.18
[백준 1032번 문제, 파이썬3] 명령 프롬프트  (0) 2023.05.16
[백준 1436번 문제, 파이썬3] 영화감독 숌  (0) 2023.05.15
[백준 1259번 문제, 파이썬3] 팰린드롬수  (0) 2023.05.15
'정리 전 게시글/공부 관련' 카테고리의 다른 글
  • [백준 15829번 문제, 파이썬3] Hashing
  • [백준 2869번 문제, 파이썬3] 달팽이는 올라가고 싶다
  • [백준 1032번 문제, 파이썬3] 명령 프롬프트
  • [백준 1436번 문제, 파이썬3] 영화감독 숌
aptenia
aptenia
공부하면서 배운 것들
  • aptenia
    새벽의 아이디어
    aptenia
  • 전체
    오늘
    어제
    • 분류 전체보기 (279)
      • 논문 (0)
      • Roboracer (2)
      • 개발 아무거나 (1)
      • 일상 아무거나 (2)
      • 정리 전 게시글 (268)
        • 개발 관련 (25)
        • 정보 관련 (19)
        • 공부 관련 (224)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 네이버 블로그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    C언어
    C++강좌
    콜라츠추측
    이것이자바다확인문제
    파이어베이스
    마크스크립트
    마인크래프트
    백준
    마인크래프트강화스크립트
    캡스톤디자인
    이것이자바다
    마크
    자바
    스크롤바CSS
    티스토리스킨편집
    프로그래머스
    파이썬
    빅데이터공모전
    일본규슈공업대학교
    이것이자바다연습문제
    c언어초보
    안드로이드
    티스토리HTML
    반복하지않는수
    공개SW개발자대회
    티스토리반응형2스킨편집
    C언어강좌
    마인크래프트스크립트
    컨텍스트스위칭
    프로그래머스PCCE
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
aptenia
안드로이드 틱택토 앱 게임 만들기 미니맥스 알고리즘 인공지능 #0
상단으로

티스토리툴바