Ejemplo n.º 1
0
        private string HandleHttp(HttpListenerRequest request, HttpListenerResponse response)
        {
            switch (request.Url.AbsolutePath)
            {
            case "/":
                if (File.Exists("html/index.html"))
                {
                    return(File.ReadAllText("html/index.html"));
                }
                response.Redirect($"http://mtglt.redpoint.games/?url={Uri.EscapeUriString(request.UserHostAddress)}");
                return(null);

            case "/totals.json":
                break;

            case "/names.json":
                return(JsonConvert.SerializeObject(new {
                    player1 = Player_1.GetPlayerName(),
                    player2 = Player_2.GetPlayerName(),
                    player3 = Player_3.GetPlayerName(),
                    player4 = Player_4.GetPlayerName(),
                }));

            case "/set":
                if (request.HasEntityBody)
                {
                    var data = JsonConvert.DeserializeObject <SetRequest>(request.GetRequestPostData());
                    if (data.player == 0)
                    {
                        return(JsonError("Missing key `player`"));
                    }
                    var grid = GetPlayerGrids().ElementAt(data.player - 1);
                    if (!data.commander.HasValue || data.commander == 0)
                    {
                        Dispatcher.Invoke(() => grid.GetLifeButton().LifeTotal += data.change);
                        break;
                    }
                }
                else
                {
                    return(JsonError("POST json not found."));
                }
                break;

            case "/l1":
                return(Player_1.GetLifeButton().LifeTotal.ToString());

            case "/n1":
                return(Player_1.GetPlayerName());

            case "/l2":
                return(Player_2.GetLifeButton().LifeTotal.ToString());

            case "/n2":
                return(Player_2.GetPlayerName());

            case "/l3":
                return(Player_3.GetLifeButton().LifeTotal.ToString());

            case "/n3":
                return(Player_3.GetPlayerName());

            case "/l4":
                return(Player_4.GetLifeButton().LifeTotal.ToString());

            case "/n4":
                return(Player_4.GetPlayerName());

            case "/card.jpg":
            default:
                if (File.Exists("html" + request.Url.AbsolutePath))
                {
                    return(File.ReadAllText("html" + request.Url.AbsolutePath));
                }
                return(JsonError("Wat"));
            }
            return(JsonConvert.SerializeObject(new
            {
                player1 = Player_1.GetLifeButton().LifeTotal,
                player2 = Player_2.GetLifeButton().LifeTotal,
                player3 = Player_3.GetLifeButton().LifeTotal,
                player4 = Player_4.GetLifeButton().LifeTotal
            }));
        }
Ejemplo n.º 2
0
        public Igra2(List <Igrach> igrachi, int mainIndex, int prevFile)
        {
            InitializeComponent();
            stuck_counter  = 0;
            this.mainIndex = mainIndex;
            solved         = false;
            buttons        = new List <Button>();
            buttons.Add(A1);
            buttons.Add(A2);
            buttons.Add(A3);
            buttons.Add(A4);
            buttons.Add(B1);
            buttons.Add(B2);
            buttons.Add(B3);
            buttons.Add(B4);
            buttons.Add(C1);
            buttons.Add(C2);
            buttons.Add(C3);
            buttons.Add(C4);
            buttons.Add(D1);
            buttons.Add(D2);
            buttons.Add(D3);
            buttons.Add(D4);
            Answer1.ReadOnly    = true;
            Answer2.ReadOnly    = true;
            Answer3.ReadOnly    = true;
            Answer4.ReadOnly    = true;
            lockedbuttons       = new bool[16];
            columns             = new bool[4];
            enabledForAnswering = new HashSet <int>();
            filenames           = System.IO.Directory.GetFiles(@"Asocijacii");
            Random rand = new Random();

            if (mainIndex == 1)
            {
                file_index = rand.Next(0, filenames.Length);
            }
            else
            {
                if (prevFile == 0)
                {
                    file_index = prevFile + 1;
                }
                else
                {
                    file_index = prevFile - 1;
                }
            }
            lines          = System.IO.File.ReadAllLines(filenames[file_index]);
            A_words        = lines[0].Split(' ');
            A_solutions    = lines[1].Split(' ');
            B_words        = lines[2].Split(' ');
            B_solutions    = lines[3].Split(' ');
            C_words        = lines[4].Split(' ');
            C_solutions    = lines[5].Split(' ');
            D_words        = lines[6].Split(' ');
            D_solutions    = lines[7].Split(' ');
            full_solutions = lines[8].Split(' ');


            A_words.ListShuffle();
            B_words.ListShuffle();
            C_words.ListShuffle();
            D_words.ListShuffle();
            for (int i = 0; i < 4; i++)
            {
                A_words[i] = WhiteSpace.FIX(A_words[i]);
                B_words[i] = WhiteSpace.FIX(B_words[i]);
                C_words[i] = WhiteSpace.FIX(C_words[i]);
                D_words[i] = WhiteSpace.FIX(D_words[i]);
            }

            for (int i = 0; i < A_solutions.Length; i++)
            {
                A_solutions[i] = WhiteSpace.FIX(A_solutions[i]);
            }
            for (int i = 0; i < B_solutions.Length; i++)
            {
                B_solutions[i] = WhiteSpace.FIX(B_solutions[i]);
            }
            for (int i = 0; i < C_solutions.Length; i++)
            {
                C_solutions[i] = WhiteSpace.FIX(C_solutions[i]);
            }
            for (int i = 0; i < D_solutions.Length; i++)
            {
                D_solutions[i] = WhiteSpace.FIX(D_solutions[i]);
            }

            this.igrachi  = igrachi;
            Player_1.Text = igrachi[0].ime + " " + igrachi[0].prezime;
            Player_2.Text = igrachi[1].ime + " " + igrachi[1].prezime;
            if (igrachi.Count >= 3)
            {
                Player_3.Text = igrachi[2].ime + " " + igrachi[2].prezime;
                if (igrachi.Count == 4)
                {
                    Player_4.Text = igrachi[3].ime + " " + igrachi[3].prezime;
                }
                else
                {
                    Player_4.Hide();
                }
            }
            else
            {
                Player_3.Hide();
                Player_4.Hide();
            }

            int min   = 100;
            int index = 0;

            for (int i = 0; i < igrachi.Count; i++)
            {
                if (igrachi[i].poeniVkupno < min)
                {
                    min   = igrachi[i].poeniVkupno;
                    index = i;
                }
            }
            maxturn = igrachi.Count - 1;
            turn    = index;
            if (turn == 0)
            {
                turn = maxturn;
            }
            else
            {
                turn--;
            }
            NextPlayer_Click(null, null);
        }