Esempio n. 1
0
        public static Response joinBattle(Request req, Battle battle)
        {
            int userid = tokenToUserId(req.token);

            if (userid != -1)
            {
                foreach (user_battle_info user in battle.user_infos)
                {
                    if (user.username == DB_Tools.userIdToName(userid))
                    {
                        foreach (Battle_Actions action in user.actions)
                        {
                            if (action == Battle_Actions.NULL)
                            {
                                return(new Response(req, Status_Code.NOK, AdditionalPayload: "Set the actions first!. "));
                            }
                        }
                        string payload = battle.joinBattle(user);
                        return(new Response(req, Status_Code.NOK, AdditionalPayload: payload));
                    }
                }
                return(new Response(req, Status_Code.NOK, AdditionalPayload: "Set the actions first!. "));
            }
            return(new Response(req, Status_Code.NOK, AdditionalPayload: "Coulnd't verify connection. "));
        }
Esempio n. 2
0
        public static Response getUserActions(Request req, Battle battle)
        {
            int userid = tokenToUserId(req.token);

            if (userid != -1)
            {
                foreach (user_battle_info user in battle.user_infos)
                {
                    if (user != null)
                    {
                        if (user.username == DB_Tools.userIdToName(userid))
                        {
                            string values = "";
                            foreach (Battle_Actions action in user.actions)
                            {
                                values += action.ToString() + ", ";
                            }
                            values += ". ";
                            return(new Response(req, Status_Code.OK, AdditionalPayload: values));
                        }
                    }
                }
                return(new Response(req, Status_Code.NOK, AdditionalPayload: "Couldn't find the user actions. "));
            }
            return(new Response(req, Status_Code.NOK, AdditionalPayload: "Couldn't verify Connection. "));
        }
Esempio n. 3
0
        public static List <Object[]> getScoreboard()
        {
            List <Object[]> scoreboard = new List <Object[]>();

            var conn = new NpgsqlConnection(connstring);

            conn.Open();
            NpgsqlCommand    command;
            NpgsqlDataReader reader;

            command = new NpgsqlCommand($"SELECT userid,wins FROM scoreboard ORDER BY wins ASC;", conn);
            reader  = command.ExecuteReader();
            while (reader.Read())
            {
                scoreboard.Add(new Object[2] {
                    DB_Tools.userIdToName(Int32.Parse(reader[0].ToString())), Int32.Parse(reader[1].ToString())
                });
            }
            return(scoreboard);
        }
Esempio n. 4
0
        //GET
        public static Response setActions(Request req, Battle battle)
        {
            int userid = tokenToUserId(req.token);

            if (userid != -1)
            {
                if (req.ctype == "json")
                {
                    user_battle_info thisUser = null;
                    foreach (user_battle_info user in battle.user_infos)
                    {
                        if (user.username == DB_Tools.userIdToName(userid))
                        {
                            thisUser = user;
                        }
                    }
                    if (thisUser == null)
                    {
                        thisUser = new user_battle_info(DB_Tools.userIdToName(userid));
                        battle.user_infos.Add(thisUser);
                    }
                    int status = thisUser.setActions(JObject.Parse(req.payload).GetValue("actions").ToString());
                    if (status == -2)
                    {
                        return(new Response(req, Status_Code.NOK, AdditionalPayload: "Please use Rock Paper Scissor Lizard Spock initials. "));
                    }
                    if (status == -1)
                    {
                        return(new Response(req, Status_Code.NOK, AdditionalPayload: "Please use 5 Characters. "));
                    }
                    if (status == 0)
                    {
                        return(new Response(req, Status_Code.OK, AdditionalPayload: "Actions Set. "));
                    }
                }
                return(new Response(req, Status_Code.NOK, AdditionalPayload: "Invalid type. "));
            }
            return(new Response(req, Status_Code.NOK, AdditionalPayload: "Coulnd't verify connection. "));
        }