コード例 #1
0
        public static void Write(Nettention.Proud.Message msg, ScoreBoardArray data)
        {
            if (data == null)
            {
                return;
            }

            msg.Write(data.Count);

            for (int i = 0; i < data.Count; i++)
            {
                GameScoreBoard temp = data[i];

                msg.Write(temp.ShipUID);
                msg.Write(temp.PlayerUID);
                msg.Write(temp.NickName);
                msg.Write(temp.Life);
                msg.Write(temp.PlayMoney);
                msg.Write(temp.CardBag.C_Card);
                msg.Write(temp.CardBag.G_Card);
                msg.Write(temp.CardBag.P_Card);
                msg.Write(temp.Win);
                msg.Write(temp.Lose);
                msg.Write(temp.Draw);
                msg.Write(temp.Reason);
                msg.Write(temp.Reward);
                msg.Write(temp.Ranking);
            }
        }
コード例 #2
0
    public ClientInfo(long id, string name, HostID remote)
    {
        GameBoard = new GameScoreBoard();

        UniqID     = id;
        Name       = name;
        RemoteID   = remote;
        P2PGroupID = HostID.HostID_None;
    }
コード例 #3
0
ファイル: GameScoreBoard.cs プロジェクト: Pacman18/ProudTest
 public ScoreMiniBoard(byte local, GameScoreBoard board)
 {
     OwnerIndex = local;
     G_Card     = (byte)board.CardBag.G_Card;
     C_Card     = (byte)board.CardBag.C_Card;
     P_Card     = (byte)board.CardBag.P_Card;
     Life       = board.Life;
     PlayMoney  = board.PlayMoney;
 }
コード例 #4
0
    /// <summary>
    /// 현재 접속상태인지 아닌지도 내부적으로 구별한다
    /// </summary>
    /// <param name="addUser"></param>
    public ClientInfo AddGamePlayer(ClientInfo addUser, GameScoreBoard board = null)
    {
        ClientInfo addPlayer = UpdateClientData(addUser, board);

        // 만약 접속상태라면 추가해준다


        return(addPlayer);
    }
コード例 #5
0
        private static void Main(string[] args)
        {
            var firstPlayer  = new TennisPlayer();
            var secondPlayer = new TennisPlayer();

            var tennisPlayers = new List <TennisPlayer>()
            {
                firstPlayer,
                secondPlayer
            };

            var gameScoreboard = new GameScoreBoard(firstPlayer, secondPlayer);

            InputPlayersName(tennisPlayers);
            InputPlayersScore(tennisPlayers);

            while (true)
            {
                var currentGameSituation = gameScoreboard.GetGameResult();
                Console.WriteLine("★Current game situation:  {0}", currentGameSituation);

                if (!gameScoreboard.IsGameEnd)
                {
                    Console.Write("Which player gets next point? (1 or 2):");

                    ClearKeyBuffer();
                    var inputKey = Console.ReadKey().Key;
                    Console.WriteLine();

                    int indexOfGetPointPlayer;

                    if (inputKey == ConsoleKey.D1 || inputKey == ConsoleKey.NumPad1)
                    {
                        indexOfGetPointPlayer = 0;
                        tennisPlayers[indexOfGetPointPlayer].Score++;
                    }
                    else if (inputKey == ConsoleKey.D2 || inputKey == ConsoleKey.NumPad2)
                    {
                        indexOfGetPointPlayer = 1;
                        tennisPlayers[indexOfGetPointPlayer].Score++;
                    }
                    else
                    {
                        Console.WriteLine("You enter a wrong key, please try to enter 1 or 2 again!");
                    }
                }
                else
                {
                    break;
                }
                Console.WriteLine();
            }

            Console.WriteLine("===== Game End =====");
            Console.ReadKey();
        }
コード例 #6
0
ファイル: AmostiService.cs プロジェクト: andrnors/TestForms
        public async Task AddHighScore(GameScoreBoard record, bool isNewItem = false)
        {
            var restUrl = "https://app.amosti.net/api/v1/addScoreBoardData/";

            var uri        = new Uri(restUrl);
            var recordJSON = JsonConvert.SerializeObject(record, Formatting.Indented);

            var content = new StringContent(recordJSON, Encoding.UTF8, "application/json");

            HttpResponseMessage response = null;

            if (isNewItem)
            {
                response = await client.PostAsync(uri, content);
            }
        }
コード例 #7
0
 public static void Write(Nettention.Proud.Message msg, GameScoreBoard data)
 {
     msg.Write(data.ShipUID);
     msg.Write(data.PlayerUID);
     msg.Write(data.NickName);
     msg.Write(data.Life);
     msg.Write(data.PlayMoney);
     msg.Write(data.CardBag.C_Card);
     msg.Write(data.CardBag.G_Card);
     msg.Write(data.CardBag.P_Card);
     msg.Write(data.Win);
     msg.Write(data.Lose);
     msg.Write(data.Draw);
     msg.Write(data.Reason);
     msg.Write(data.Reward);
     msg.Write(data.Ranking);
 }
コード例 #8
0
        public static void Read(Nettention.Proud.Message msg, out GameScoreBoard data)
        {
            data = new GameScoreBoard();

            msg.Read(out data.ShipUID);
            msg.Read(out data.PlayerUID);
            msg.Read(out data.NickName);
            msg.Read(out data.Life);
            msg.Read(out data.PlayMoney);
            msg.Read(out data.CardBag.C_Card);
            msg.Read(out data.CardBag.G_Card);
            msg.Read(out data.CardBag.P_Card);
            msg.Read(out data.Win);
            msg.Read(out data.Lose);
            msg.Read(out data.Draw);
            msg.Read(out data.Reason);
            msg.Read(out data.Reward);
            msg.Read(out data.Ranking);
        }
コード例 #9
0
        private async void SubmitBtn_OnClicked(object sender, EventArgs e)
        {
            if (Score.Text != null)
            {
                var scoreConvert = Int32.Parse(Score.Text);
                RecordId += 1;
                var amosti   = new AmostiService();
                var newScore = new GameScoreBoard()
                {
                    gameName = GameName, playerName = "Batman", recordId = RecordId, score = scoreConvert
                };
                await amosti.AddHighScore(newScore, true);

                Navigation.RemovePage(this);
            }
            else
            {
                await DisplayAlert("Score not filled", "Seems like you forgot to add a score", "Try Again");
            }
        }
コード例 #10
0
        public static void Read(Nettention.Proud.Message msg, out ScoreBoardArray data)
        {
            int count = 0;

            msg.Read(out count);

            if (count > 0)
            {
                GameScoreBoard[] worldData = new GameScoreBoard[count];

                for (int i = 0; i < count; i++)
                {
                    GameScoreBoard temp = new GameScoreBoard();

                    msg.Read(out temp.ShipUID);
                    msg.Read(out temp.PlayerUID);
                    msg.Read(out temp.NickName);
                    msg.Read(out temp.Life);
                    msg.Read(out temp.PlayMoney);
                    msg.Read(out temp.CardBag.C_Card);
                    msg.Read(out temp.CardBag.G_Card);
                    msg.Read(out temp.CardBag.P_Card);
                    msg.Read(out temp.Win);
                    msg.Read(out temp.Lose);
                    msg.Read(out temp.Draw);
                    msg.Read(out temp.Reason);
                    msg.Read(out temp.Reward);
                    msg.Read(out temp.Ranking);

                    worldData[i] = temp;
                }

                data = new ScoreBoardArray(worldData);
            }
            else
            {
                data = new ScoreBoardArray();
            }
        }
コード例 #11
0
    public ClientInfo UpdateClientData(ClientInfo data, GameScoreBoard board = null)
    {
        ClientInfo outData;

        if (_totalPlayerList.TryGetValue(data.locaIndex, out outData))
        {
            outData.State      = data.State;
            outData.Money      = data.Money;
            outData.locaIndex  = data.locaIndex;
            outData.Name       = data.Name;
            outData.P2PGroupID = data.P2PGroupID;
            outData.PlayMoney  = data.PlayMoney;
            outData.RemoteID   = data.RemoteID;
            outData.IsJoin     = data.IsJoin;
            outData.UniqID     = data.UniqID;

            if (board != null)
            {
                outData.GameBoard = board;
            }

            Debug.LogFormat("Cliend Update localIndex: {0} , name : {1}", data.locaIndex, data.Name);
        }
        else
        {
            if (board != null)
            {
                data.GameBoard = board;
            }

            _totalPlayerList.Add(data.locaIndex, data);

            outData = data;

            Debug.LogFormat("Cliend Add localIndex: {0} , name : {1}", data.locaIndex, data.Name);
        }

        return(outData);
    }
コード例 #12
0
 public ClientInfo()
 {
     GameBoard = new GameScoreBoard();
 }