고양국제고

GTT 6 개발 스토리 #3: 가상화폐 제작은 힘들어

카루-R 2022. 8. 4. 20:28
반응형

환영합니다, Rolling Ress의 카루입니다.

예전에 이런 글을 본 적이 있어요.

개발자는 빡치지 않습니다.

그들은 항상 빡쳐있거든요.

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ아 누군지는 몰라도, 정말 재치 있는 말이라고 생각해요. 맞아요. 개발자는 빡치지 않아요. 매 순간이 빡침의 연속이니까.

여튼, 저는 Conet을 계속 개발하고 있었습니다. 이번 GTT 6의 핵심 기능이라고도 할 수 있죠. 그런데, 이게 창진프에서 구상만 했을 때는 쉬웠는데 직접 만들어보려니까 너무 어려운 거예요. 특히 원래는 서버와 연동해서 사용자의 에그(화폐)를 관리해야 하는데, 지금 보면 로컬로만 저장하고 있죠. 이게... 큰 문제가 있습니다. 지난번에 제가 개발자는 자신이 만든 프로그램 안에서 신이 된다고 했죠. 신이 힘이 없어요. 그래서.. 어쩔 수 없이 SQL 서버와 연동하는 방식을 택했습니다.

그래서 학생 정보에 학번/이름, 비밀번호 뿐 아니라 가상 화폐까지 때려박는 방식을 선택했습니다. smallint.. 30000정도까지 저장할 수 있으면 되겠죠. 뭐 설마 여기에 300만원 이상 때려박는 사람은 없으리라 보고. 이제 문제는 변화된 값들을 GTT 코드에서 어떻게 처리하느냐겠지요.

우선 회원가입할 때 기본적으로 50 에그를 제공하도록 설정했습니다. 이제 이 에그를 관리하는 함수를 만들어보죠.

좋습니다. 이제 이걸 C# 코드로 옮겨봅시다.

SQL에서 값을 받아올 때는 ExcuteScalarAsync를 사용합니다. 그러면 (0, 0)에 있는 값을 가져옵니다. 그거 딱 하나만. 다른 값들까지 읽으려면 우리가 아는 그 귀찮은 방식을 사용해야 해요.

그리고 에그가 변경되면 바로 서버로 업데이트 할 수 있도록 장치를 마련해줍시다.

자, 이렇게 해서 에그 관리가 끝났습니다. 이제 남은 기능은 도움을 요청하면 수락할 사람과 수락한 사람에게 에그를 보내는 방식이군요. 이건 좀 더 알고리즘을 고민해보고 4편에서 이어서 하겠습니다.

GGHS Time Table V6.0.2를 스토어에서 만나보세요.

반응형