DB 디자인에 익숙하지 않습니다. 나는 보드 게임 (최대 4 명)을 쓰려고 애쓰며 서로 간의 움직임을 전달하는 방법을 생각해 내고자 노력했다. stackoverflow에 대한 제안에 따라 DB를 사용하고 있습니다.DB 디자인 질문 - 멀티 플레이어 게임
내 문제는 이것입니다. - 플레이어 A가 이동을하게되면 이동은 B, C 및 D에 의해 읽혀 져야합니다. 따라서 A가 이동을 한 사실은 B, C 및 D와 통신해야합니다. 그것은 다음과 같은 방법입니다. 더 좋은 방법이 있는지 말해주세요. 나에게 그것은 모든 잘못과 믿을 수 없을 정도로 벗겨지는 것처럼 보인다. A는 내가 다른 것들 사이 쓰기 이동을 할 때
게임 ID, userMove, flagA, flagB, flagC,
그래서 flagD - -
나는 다음과 같은 필드가있는 테이블이 (flagA = 0, flagB = 1, 플래그 C = 1, 플래그 D = 1)
B, C 또는 D가 A의 이동을 읽을 때 해당 플래그를 감소시킵니다. 모든 플래그는 다른 사람들이 이동을 할 때 0
같은 일이 발생하지 않는 한
A는 테이블을 업데이트하지 않습니다.
댓글? 이를 위해 더 좋은 방법이 있어야합니다. 내가 잘못 여기에보고하고있는 것들 -
- 나는 선택에 반복하고 모든 플래그는 해당 사용자에 대한 플래그가 움직임을 읽기 전용으로 설정 될 때까지 나는 선택에 루핑 오전
- 0 때까지.
걱정할 필요가있는 많은 서버로드 및 클라이언트 시간 초과입니다.
나는 내 문제를 분명히 설명 할 수 있었으면 좋겠다. 필요한 경우 질문하십시오.
도움을 주시면 감사하겠습니다.
EDIT : 게임은 웹 기반 (브라우저에서 실행)이며 서버 측 개발을 위해 PHP를 사용하고 있으므로 가능한 경우 그렇게하는 것을 좋아했지만 메모리 내장 캐시를 사용할 수 없습니다.
감사합니다, - 메모리에 모든 상태를 유지할 수 있습니다처럼 파브
루핑 의미 폴링 또는 루핑 반복 iterating? – Xailor
왜 데이터베이스를 사용하게 될지 전혀 모르겠다. 선수들 사이에 움직임을 알려주고 싶습니까? 다니엘이 지적했듯이, DB가 그 목적을위한 최선의 선택이 아니라면, 로컬 메모리를 사용하는 것이 훨씬 낫습니다. – yurib