示例#1
0
    void take_cards_from_others(byte pee_count)
    {
        CPlayerAgent attacker = this.player_agents[this.current_player_index];

        byte         next_player = get_next_player_index();
        CPlayerAgent victim      = this.player_agents[next_player];

        //todo:코드를 좀더 명확하게 수정하기.
        if (!this.other_cards_to_player.ContainsKey(next_player))
        {
            this.other_cards_to_player.Add(next_player, new List <CCard>());
        }

        List <CCard> cards = victim.pop_card_from_floor(pee_count);

        if (cards == null)
        {
            return;
        }

        for (int i = 0; i < cards.Count; ++i)
        {
            attacker.add_card_to_floor(cards[i]);
            this.other_cards_to_player[next_player].Add(cards[i]);
        }
    }
示例#2
0
    void send_player_statistics(byte player_index)
    {
        CPlayerAgent target_player = this.players[player_index].agent;

        for (int i = 0; i < this.players.Count; ++i)
        {
            CPacket msg = CPacket.create((short)PROTOCOL.UPDATE_PLAYER_STATISTICS);
            msg.push(player_index);
            msg.push(target_player.score);
            msg.push(target_player.go_count);
            msg.push(target_player.shaking_count);
            msg.push(target_player.ppuk_count);
            msg.push(target_player.get_pee_count());
            this.players[i].send(msg);
        }
    }
示例#3
0
    public CPlayer(byte player_index, PLAYER_TYPE player_type, SendFn send_function, CLocalServer local_server)
    {
        this.player_index = player_index;
        this.agent        = new CPlayerAgent(player_index);
        this.player_type  = player_type;

        switch (this.player_type)
        {
        case PLAYER_TYPE.HUMAN:
            this.send_function = send_function;
            break;

        case PLAYER_TYPE.AI:
            this.ai_logic      = new CAIPlayer(local_server);
            this.send_function = this.ai_logic.send;
            break;
        }
    }
示例#4
0
 void Awake()
 {
     this.cell_indexes = new List <short>();
     this.agent        = new CPlayerAgent();
 }