안녕하세요. javasciprt로 웹 보드게임을 만들고 있는 멜랑콜리입니다.
저번에 조언해주셔서 Node.js와 socket.io로 채팅방을 직접 만들고, 채팅하고, 귓속말까지는 되고 있는데요.
아무래도 각각의 방에서 보드게임이 돌아가기 위해서는
각 방의 상태와 그 방에 있는 각 플레이어들의 상태를 하나씩 주고 받기보다는
그것들을 잘 정리해서 담은 객체를 만들어서 객체 째로 주고 받아야 한다고 생각 하는데,
문제는 현재 채팅방으로 쓰고 있는 rooms이나, socket을 어떻게 재 정의해야 할지 모르겠습니다.
rooms를 검색해도, 배열이라고만 하고 socket.join()이나, socket.leave()만 하면 된다고 짱짱 쉽다고만 하지(쉽긴 쉬운데...).
대략적으로 생각하고 있는 유저의 생성자 구조는
function player(name, socket, socket.id){
this.socket = socket; // 아무래도 socket을 써야 하니까..
this.name = name; // 유저의 닉네임
this.id = socket.id // socket.id
그외 기타..
}
이고, 이후 유저가 들어올 때마다,
players['프로그래머'] = new player('프로그래머', socket, socket.id);
이런 식으로, 객체를 생성하고, players[닉네임]으로, 유저 객체를 제어하려 했슴다.
또한 방도
function room(name, room, owner){
this.room = room; //
this.name = name; // 방 이름
this.owner = owner; // 방장
그외 기타..
}
이고, 역시 방이 생성될 때마다
rooms['오유'] = new room('오유', room, '프로그래머');
이런식으로 하려 했거든여.. 하지만 맞는 방법인지도 모르겠고.. 선배님들의 조언을 구합니다..
책이나 구글신을 살펴봐도 딱 채팅방-채팅(+a 귓속말) 까지만 되어있어서.. ㅠ_ㅠ
socket.io로 RTS 게임이나 모질라 파이어폭스에서 브라우저 퀘스트 만든거 보면 입만 벌어집니다... ㅠㅠ