'가이스터'에 해당되는 글 3건

  1. 2007.09.19 가이스터 맵의 자리번호 by UrC9 1
  2. 2007.09.19 가이스터 통신 프로토콜 by UrC9 2
  3. 2007.09.04 가이스터 (고스터) 게임설명 by UrC9
사용자 삽입 이미지

게임판의 왼쪽위부터 차례대로
0 ~ 5,
6 ~ 11
12 ~ 17
18 ~ 23
24 ~ 29
30 ~ 35

내말 쪽
죽은 말 : 36 ~ 43

상대말 쪽
죽은 말 : 44 ~ 51

화면밖 : 52 (박스가 필요 없을때와 상대말이 죽거나 도착했을때 를 대비)

상대방의 말이 죽거나 도착하면 흰색말은 화면 밖으로 빼고 색깔말을 상대말 쪽에 배치
Posted by UrC9
,

서버 실행 (7000번 포트 이용)

 final int portNum = 7000;
 
 public testServer() {
  try {
   m_sckServer = new ServerSocket(portNum);
   m_vctClients = new Vector();
   System.out.println(portNum + "번 소켓 생성");
   this.start();
  }
  catch(IOException e) {
   System.out.println("서버소켓생성 에러 : " + e);
  }
 }

7000번 소켓 생성

사용자 삽입 이미지

----------------------------------------------------------------------------------

클라이언트 2개가 접속하면 게임을 진행하고

   System.out.println("연결시도\n");
   socket = new Socket(ip, 7000);
   System.out.println("연결완료\n");


각 클라이언트가 "ready"를 받으면 랜덤함수로 선을 정하고

      ready = true;
      sendMsg("ready");
      System.out.println("ready : " + ready);


사용자 삽입 이미지

----------------------------------------------------------------------------------

    Socket socket = m_sckServer.accept();
    clientSocket client = new clientSocket(socket, this, m_vctClients.size());
    m_vctClients.addElement(client);
   
    System.out.println("연결 소켓수 : " + m_vctClients.size());
    if(m_vctClients.size() == 2) {
//     send("게임시작", 0);
//     send("게임시작", 1);
     
     clientSocket temp = null;
     temp = (clientSocket)m_vctClients.elementAt(0);
     System.out.println("0번 : " + temp.clientReady());
     temp.start();
     temp = (clientSocket)m_vctClients.elementAt(1);
     System.out.println("1번 : " + temp.clientReady());
     temp.start();
     
     Random random=new Random();
     int first;
     first=random.nextInt(2);
     System.out.println("선공 : " + first);
     send("01", first);
     send("00", ((first+1) % 2));
    }



선공에는 01, 후공에는 00 을 보낸다.

사용자 삽입 이미지

----------------------------------------------------------------------------------

메시지의 첫자리는 메시지의 종류를 나타맨
0 : 게임 개시와 선을 알림
1 : 상대가 메시지를 보내옴(상대 가이스터의 위치). 이걸 받음으로써 자신의 차례임을 암

종류가 0일때
둘째자리가 1이면 선공, 0이면 후공
종류가 1일때
둘째자리부터 두자리씩 파란 가이스터 4개의 자리번호와 빨간 가이스터 4개의 자리번호가 차례로 옴 (메시지를 받은 측에서는 상대가 자신 중심으로 자리 번호를 보내기 때문에 이 번호에서 35를 빼서 내 중심으로 변형해야 한다.)
사용자 삽입 이미지

 - 그림에서는 상대의 자리를 받고(파란 가이스터 10,9,14,2 빨간 가이스터 3,4,1,7 - 메시지를 순차적으로 읽은것이 아님)나서 내가 플레이 후에는 메시지 종류는 1로 하고 나의 자리(파란 가이스터 19,32,26,27 빨간 가이스터 33,34,28,31)을 보낸다.

Posted by UrC9
,

Ghoster

 

이동판에서 8마리의 유령 컨퍼넌트를 배치하고 유령 등에 보이는 빨간색과 파란색 점으로 상대방의 심리를 교묘하게 이용해서 파란색 점을 가진 유령이 상대방 진영까지 무사히 가는 게임.

 

승리조건

1. 파란 유령을 탈출시킨다.

2. 상대방의 파란유령을 다 잡는다.

3. 상대방이 내 빨간유령을 다 잡게 한다.

 

말은 앞으로만 전진가능, , 옆으로 이동가능

 

출구

 

 

 

 

출구

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

출구

 

 

 

 

출구

 

 

모양판에 8칸에 파란유령 4, 빨간유령 4개를 랜덤으로 놓는다.

(각자 자신만이 어떤 유령이 파란유령이고, 어떤유령이 빨간유령인지를 알 수 있다)

유령은 →, , ← 방향으로만 움직일 수 있다.

상대방의 유령을 잡았을 경우, 상대방의 유령이 파란유령인지, 빨간유령인지를 알려준다.

 

Posted by UrC9
,