일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- delete function
- virtual function
- c++ basic practice
- std::cout
- constructor
- this call
- pointer to member data
- 더 지니어스 양면포커
- virtual destructor
- C++
- vector size
- conversion constructor
- increment operator
- return by reference
- std::endl
- member function pointer
- virtual function table
- std::ostream
- new&delete
- dynamic_cast
- operator overloading
- diamond inheritance
- virtual inheritance
- vector capacity
- suffix return type
- c++ multi chatting room
- base from member
- std::vector
- placement new
- discord bot
- Today
- Total
목록Toy Project/EA FC Pro club Draft Bot [Python] (8)
I'm FanJae.
※ 초기 결제 정보를 설정하는 부분은 임의 생략하였다.※ 구글 클라우드 플랫폼 관련 키워드를 검색하면 어렵지 않게 찾을 수 있다. 1. 호스팅이란?- 서버 컴퓨터의 전체 또는 일정 공간을 이용할 수 있도록 해주는 서비스를 의미한다. 1-1. GCP(Google Cloud Platform)- 구글에서 제공하는 클라우드 컴퓨팅 플랫폼이다.- 자체적으로 여러 가지 컴퓨팅 환경을 제공하고 있지만, 현재 내가 사용하는 디스코드 봇은 사용자가 많지 않다.- 호스팅을 하지 않는다면, 서버를 위해서 매번 전원을 켜둬야한다. - 따라서, GCP가 제공하는 무료 등급을 사용해서 디스코드 봇을 올려두고 사용하려고 한다. 1-2. 무료 티어 확인 1-3. 새 VM 인스턴스 생성- 다음과 같이 설정한다.- 부팅 디스크는 Wi..
1. 기존 구현했던 Draft Logic의 문제점- 기존 Draft Logic을 생각해보면 아래와 같은 문제가 있다. ① 한 팀의 추첨을 위해 설계되었다.- 이 프로클럽이라는 모드는 보통 2팀(22인)이서 게임을 한다.- 이 드래프트는 최대 1팀에서 최대 8팀 정도까지도 사용이 가능해야 한다. (필요에 따라서는 그 이상도 가능할 것이다.)- 이에 따라서 봇을 재설계 하기로 했다. ② 기존 코드의 재사용이 어렵다.- 기존 로직은 여러 팀으로 나눠서 하기에는 코드가 복잡해질 여지가 높았다.- 이에 따라서, 로직을 아예 새롭게 구성하기로 하였다. 2. 개선 방향 2-1. 삭제 사항① pick_and_remove() 삭제def pick_and_remove(player_list, count): logging..
1. logging 설정import logginglogging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')- logging을 하도록 기록해두면, 오류를 잡는데 있어서 상당히 유용하다.- 본인은 우선, 개발을 진행중이였기에 logging level을 DEBUG로 처리하였다.2. 초기 셋팅2-1. 기본 전제- 프로클럽 모드에서 가장 많이 쓰이는 4-3-3 포메이션(DM)을 예시로 하였다.- 가장 일반적으로 많이 하는 포메이션이고, 여러 인원이 처음 접하기 무난한 포메이션이다.- 기본적인 드래프트 구현을 우선으로 했다. 남은 포지션 출력 및 충돌 처리는 고려하지 않았다.- 충돌 처리가 정말 중요한 문제..
- 지난 시간까지 기본적인 봇을 실행하는 작업까지 했으니 이제 Project를 Git에 추가해서 관리해보자.- Git을 설치하는 방법은 따로 다루지 않았다. 즉, Git은 추후 별도 포스트로 다루거나 여기선 남겨두겠다. 1. Git 연결 1-1. git 저장소 생성git init- 프로젝트에 git init을 입력해 git 저장소를 새로 생성해준다.- 그렇게 하면 현재 디렉토리에 .git이라는 숨김 디렉토리가 생성된다. 1-2. .gitignore 추가.env- .env 파일에는 환경변수 값 (TOKEN_KEY,API KEY) 등이 들어가 있다.- 이를 git과 같은 공개 저장소에 절대 넣으면 안된다. - 따라서 프로젝트 디렉토리에 반드시 .gitignore를 추가해야한다. - 물론 본인은 private..
1. Discord 패키지 추가pip install discord- 위 명령으로 설치를 진행했으나 아래와 같은 오류가 발생하였다.AttributeError : module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'?- Stack overflow에서 확인한 글에 따르면, pkgutil.Implmporter 클래스가 제거되었다고 한다.- 이에 따라 pip 수동 설치가 필요하다고 한다.python -m ensurepip --upgrade python -m pip install --upgrade setuptoolssetuptools python -m pip install - 에 디스코드를 입력하여 설치해준다.2. 기본 봇 생성 2..
1. Python(파이썬) 설치- 이전 Discord Bot을 파이썬을 사용해 개발했고, 이번 프로젝트에서도 개발기간의 단축을 위해 파이썬을 사용하고자 한다.① Python.org 사이트를 들어가서 파이썬을 다운로드 한다.② Add pythoin.exe to PATH를 클릭한 이후 Customize installation를 클릭한다.③ Next를 클릭한다.④ Install를 클릭한다.⑤ Disable path length limit를 클릭한다. (캡쳐에 실패했는데 사용자 계정 컨트롤 창이 뜨면 예를 누른다.)※ Windows는 파일 이름과 경로의 길이가 260자로 제한되어 있다. 260자를 넘더라도 길이 제한을 해제한다.⑥ Close를 클릭합니다.2. IntelliJ 설정 2-1. 기본 설정- 다소 구버..
1. Discord Bot 초기 설정 1-1. 개발자 포털 설정.Discord Developer Portal에 들어가면 기본 창으로 Application 프로젝트를 설정하는 창이 뜬다. ① 좌측 Applications를 누르고 New Application을 누르면 디스코드 애플리케이션 프로젝트 이름을 생성하는 창이 뜬다.② 봇 이름이 아닌 프로젝트 명을 적어서, 구분할 수 있도록 작성한다.- 위와 같이 프로젝트가 생성됨을 확인할 수 있다. 이를 클릭한다. ③ 봇 토큰 리셋- 봇 토큰을 리셋 한다.- 이 토큰 값은 코드상에서 봇을 접속하기 위한 고유키이다. 즉, 누구에게 함부로 공개하면 안된다. ④ 봇 추가- OAuth2를 누른 이후 페이지를 아래로 조금 더 내려보면, SCOPES와 BOT PERMISS..
0. 게임 모드 설명 및 Draft Bot의 필요성0-1. 게임 모드 설명- 'EA FC'는 피파라는 이름으로 더 유명한 게임이다. (보통 EA FC라는 이름은 낯설어 해도 피파는 알고 있다..)- 축구 게임하면 가장 많이 떠올리는 '피파'가 라이센스 문제로 EA SPORTS FC로 명칭을 바꾼것이다.- 이 게임은 EA FC 온라인이라는 국내 서비스 중인 작품과 'EA SPORTS FC 시리즈'라고 해서 두 가지의 시리즈가 있다.- 여기서 Proclub 모드는 EA SPORTS FC 시리즈에 있는 게임 모드이다.- 축구라는 게임이 11명이 하는 것처럼 이 모드는 총 22명이 모두 사람이다. - 골키퍼, 수비수, 미드필더, 공격수가 모두 각각의 사람인 것이다.- 이러한 이유로 주로 '비슷한 시간대' 디스코..