예제 #1
0
        public IActionResult MineBlock(string invoiceId, MineBlocksRequest request, [FromServices] Cheater cheater)
        {
            // TODO support altcoins, not just bitcoin
            var blockRewardBitcoinAddress = cheater.CashCow.GetNewAddress();

            try
            {
                if (request.BlockCount > 0)
                {
                    cheater.CashCow.GenerateToAddress(request.BlockCount, blockRewardBitcoinAddress);
                    return(Ok(new
                    {
                        SuccessMessage = "Mined " + request.BlockCount + " blocks"
                    }));
                }
                return(BadRequest(new
                {
                    ErrorMessage = "Number of blocks should be > 0"
                }));
            }
            catch (Exception e)
            {
                return(BadRequest(new
                {
                    ErrorMessage = e.Message
                }));
            }
        }
예제 #2
0
 public void Close()
 {
     Console.WriteLine(@"CrossGate.Close()");
     AutoNurse.Stop();
     Cheater.Close();
     Memo.Close();
 }
예제 #3
0
        public CrossGate(Memo memo) : base(memo)
        {
            Actions = new Actions(memo);
            Cheater = new Cheater(memo);
            Player  = new Player(memo);
            Stuffs  = new StuffList(memo);


            Combat     = new Combat(this);
            AutoCure   = new AutoCure(this);
            Contacts   = new ContactList(memo);
            Pets       = new PetList(memo);
            Items      = new ItemList(this);
            AutoFood   = new AutoFood(this);
            AutoNurse  = new AutoNurse(this);
            PetCatch   = new PetCatch(this);
            Producer   = new Producer(this);
            AutoCombat = new AutoCombat(this);
            AutoWalk   = new AutoWalk(this);
            Script     = Script.GetNewTownInstance(this);
            Poster     = new Poster(this);
            AutoChange = new AutoChange(this);

            MoveScript          = new MoveScript(this);
            Cheater.YiDongJiaSu = true;
        }
예제 #4
0
        public async Task <IActionResult> TestExpireNow(string invoiceId, [FromServices] Cheater cheater)
        {
            try
            {
                await cheater.UpdateInvoiceExpiry(invoiceId, DateTimeOffset.Now);

                return(Ok(new { SuccessMessage = "Invoice is now expired." }));
            }
            catch (Exception e)
            {
                return(BadRequest(new { ErrorMessage = e.Message }));
            }
        }
예제 #5
0
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();

        Cheater cheatScript = (Cheater)target;

        if (GUILayout.Button("UP!"))
        {
            cheatScript.GoUp();
        }
        if (GUILayout.Button("LOW GRAVITY"))
        {
            cheatScript.LowGravity();
        }
    }
예제 #6
0
    void Start()
    {
        controller        = GetComponent <CharacterController>();
        jumping           = false;
        fallen            = false;
        previousGroundedY = transform.position.y;

        thief    = GetComponent <Thief>();
        murderer = GetComponent <Murderer>();
        cheater  = GetComponent <Cheater>();
        addict   = GetComponent <Addict>();
        liar     = GetComponent <Liar>();

        thief.enabled    = false;
        murderer.enabled = false;
        cheater.enabled  = false;
        addict.enabled   = false;
        liar.enabled     = false;

        numPowerUps = 0;
    }
예제 #7
0
        static Play()
        {
            _listOfPlayers = new List <Player>();
            _allGuesses    = new List <int>();

            _createPlayer = new List <Func <Player> >();

            _createPlayer.Add(() => Casual.CreatePlayer());
            _createPlayer.Add(() => Note.CreatePlayer());
            _createPlayer.Add(() => Uber.CreatePlayer());
            _createPlayer.Add(() => Cheater.CreatePlayer());
            _createPlayer.Add(() => UberCheater.CreatePlayer());

            _typeOfPlayers = new Dictionary <int, string>
            {
                { 0, "Casual" },
                { 1, "Note" },
                { 2, "Uber" },
                { 3, "Cheater" },
                { 4, "UberCheater" }
            };
        }
예제 #8
0
        public async Task <IActionResult> TestPayment(string invoiceId, FakePaymentRequest request, [FromServices] Cheater cheater)
        {
            var invoice = await _InvoiceRepository.GetInvoice(invoiceId);

            var store = await _StoreRepository.FindStore(invoice.StoreId);

            // TODO support altcoins, not just bitcoin
            var network              = _NetworkProvider.GetNetwork <BTCPayNetwork>(request.CryptoCode);
            var paymentMethodId      = store.GetDefaultPaymentId() ?? store.GetEnabledPaymentIds(_NetworkProvider).FirstOrDefault(p => p.CryptoCode == request.CryptoCode && p.PaymentType == PaymentTypes.BTCLike);
            var bitcoinAddressString = invoice.GetPaymentMethod(paymentMethodId).GetPaymentMethodDetails().GetPaymentDestination();
            var bitcoinAddressObj    = BitcoinAddress.Create(bitcoinAddressString, network.NBitcoinNetwork);
            var BtcAmount            = request.Amount;

            try
            {
                var paymentMethod = invoice.GetPaymentMethod(paymentMethodId);
                var rate          = paymentMethod.Rate;
                var txid          = cheater.CashCow.SendToAddress(bitcoinAddressObj, new Money(BtcAmount, MoneyUnit.BTC)).ToString();

                // TODO The value of totalDue is wrong. How can we get the real total due? invoice.Price is only correct if this is the 2nd payment, not for a 3rd or 4th payment.
                var totalDue = invoice.Price;
                return(Ok(new
                {
                    Txid = txid,
                    AmountRemaining = (totalDue - (BtcAmount * rate)) / rate,
                    SuccessMessage = "Created transaction " + txid
                }));
            }
            catch (Exception e)
            {
                return(BadRequest(new
                {
                    ErrorMessage = e.Message,
                    AmountRemaining = invoice.Price
                }));
            }
        }
예제 #9
0
        static void Main(string[] args)
        {
            int    size;
            string input;
            var    rand         = new Random();
            var    bucketWeight = rand.Next(40, 140);

            Console.WriteLine("Bucket weight: " + bucketWeight);
            do
            {
                Console.Write("1) Play \n2) Exit \n\nYour choice: ");
                input = Console.ReadLine();
                int cases;
                Int_Digits_check(input, out cases);
                switch (cases)
                {
                case 1:
                    Console.WriteLine("Starting");
                    Console.WriteLine("Enter the amount of players");

                    input = Console.ReadLine();
                    Borders(2, 8, input, out size);
                    Player[] playersList = new Player[size];

                    for (int i = 0; i < size; i++)
                    {
                        Console.Write("Enter the type of player:\n 1) Simple player \n2) Note player \n3) Uber-player \n4) Cheater \n5) Uber-cheater \n6 Exit \n\nYour choice: ");
                        input = Console.ReadLine();
                        Int_Digits_check(input, out cases);
                        switch (cases)
                        {
                        case 1:
                            Console.WriteLine("Simple player. Give him a name.");
                            playersList[i] = new SimplePlayer(Console.ReadLine());
                            break;

                        case 2:
                            Console.WriteLine("Note player. Give him a name. ");
                            playersList[i] = new NotePlayer(Console.ReadLine());
                            break;

                        case 3:
                            Console.WriteLine("Uber-player. Give him a name. ");
                            playersList[i] = new UberPlayer(Console.ReadLine());
                            break;

                        case 4:
                            Console.WriteLine("Cheater. Give him a name. ");
                            playersList[i] = new Cheater(Console.ReadLine());
                            break;

                        case 5:
                            Console.WriteLine("Uber-cheater. Give him a name. ");
                            playersList[i] = new UberCheater(Console.ReadLine());
                            break;

                        case 6:
                            Console.WriteLine("Exit");
                            return;

                        default:
                            Console.WriteLine("Error. Choose the menu item again.");
                            break;
                        }
                    }
                    for (int i = 0; i < 100; i++)
                    {
                        foreach (Player s in playersList)
                        {
                            s.Guess(bucketWeight);
                        }
                    }
                    int nearestValue = playersList[size - 1].niceTry;

                    foreach (Player s in playersList)
                    {
                        if (Math.Abs(nearestValue - bucketWeight) > Math.Abs(s.niceTry - bucketWeight))
                        {
                            nearestValue = s.niceTry;
                        }
                    }
                    for (int i = 0; i < size; i++)
                    {
                        if (playersList[i].niceTry == nearestValue)
                        {
                            Console.WriteLine($"{playersList[i].Name} has won the game!");
                        }
                    }


                    break;

                case 2:
                    Console.WriteLine("Exit");
                    return;

                default:
                    Console.WriteLine("Error. Choose the menu item again.");
                    break;
                }
            } while (true);
        }
예제 #10
0
        static void Main(string[] args)
        {
            List <Player> PlayersList = new List <Player>();

            Player normalPlayer = new NormalPlayer("Normal Player");

            PlayersList.Add(normalPlayer);

            Player textbookPlayer = new TextBookPlayer("TextBook Player");

            PlayersList.Add(textbookPlayer);

            Player uberPlayer = new UberPlayer("Uber Player");

            PlayersList.Add(uberPlayer);

            Player cheater = new Cheater("Cheater");

            PlayersList.Add(cheater);

            Player uberCheater = new UberCheater("Uber Cheater");

            PlayersList.Add(uberCheater);



            int    bucketweight  = CustomRandom.GetNext();
            Player closestPlayer = null;
            int    closestWeight = 150;

            Console.WriteLine($"{bucketweight} is Bucket Weight");

            bool isgamefinished = false;

            for (int i = 0; i < 100; i++)
            {
                foreach (Player player in PlayersList)
                {
                    int number = player.GetNumber();
                    Console.WriteLine($"{player.Name} select number {number}");
                    if (number == bucketweight)
                    {
                        Console.WriteLine($"{player.Name} won");
                        isgamefinished = true;
                        break;
                    }
                    else if (Math.Abs(number - bucketweight) < closestWeight)
                    {
                        closestWeight = Math.Abs(number - bucketweight);
                        closestPlayer = player;
                    }
                }

                if (isgamefinished)
                {
                    break;
                }
            }

            if (!isgamefinished)
            {
                Console.WriteLine($"{closestPlayer.Name} won because he had closest guess");
            }

            Console.ReadKey();
        }
예제 #11
0
        static void Main(string[] args)
        {
            int  switcher   = 0;
            bool IsSwitcher = false;

            int[] allAnswers    = new int[100];
            int   howMuchGamers = 0;
            int   toChooseTypes = 0;

            Player[] gamers   = new Player[8];
            Random   rand     = new Random((int)DateTime.Now.Ticks);
            int      winDigit = rand.Next(40, 140);

            Console.WriteLine("Hi, member!Let's see our game!");
            do
            {
                Console.WriteLine();
                Console.WriteLine();
                Console.WriteLine("Do some options with choose of count and type of player (press right number)");
                Console.WriteLine("1.Start your Programm");
                Console.WriteLine("2.See all digits and arrays (for admin)");
                Console.WriteLine("3.Choose options for game");
                Console.WriteLine("4.Clear All Data");
                Console.WriteLine("5.Exit");
                switcher = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine();
                switch (switcher)
                {
                case 1:
                    Console.WriteLine($"Our winDigit is {winDigit}.");
                    if (gamers[0] == null)
                    {
                        Console.WriteLine("U can't start, choose options firstly!");
                    }
                    else
                    {
                        for (int i = 0; i < gamers.Length; i++)
                        {
                            if (gamers[i] != null)
                            {
                                gamers[i].Play(winDigit, ref allAnswers, i, howMuchGamers);
                            }
                        }
                    }
                    break;

                case 2:
                    Console.WriteLine($"Our winDigit is {winDigit}.");
                    Console.WriteLine("Full array of tries :");
                    for (int i = 0; i < allAnswers.Length; i++)
                    {
                        Console.Write(allAnswers[i] + " ");
                    }
                    break;

                case 3:
                    do
                    {
                        Console.WriteLine("Enter number of members between 2 and 8");
                        howMuchGamers = Convert.ToInt32(Console.ReadLine());
                        if (howMuchGamers >= 9 || howMuchGamers <= 1)
                        {
                            Console.WriteLine("Try again!");
                        }
                    } while (howMuchGamers >= 9 || howMuchGamers <= 1);
                    do
                    {
                        Console.WriteLine();
                        Console.WriteLine();
                        Console.WriteLine("Enter number to choose or other to end option!");
                        Console.WriteLine("1.Create BasikPlayer");
                        Console.WriteLine("2.Create Cheater");
                        Console.WriteLine("3.Create NodeGamer");
                        Console.WriteLine("4.Create UberGamer");
                        Console.WriteLine("5.Create UberCheater");
                        switcher = Convert.ToInt32(Console.ReadLine());
                        Console.WriteLine();
                        switch (switcher)
                        {
                        case 1:
                            for (int i = 0; i < gamers.Length; i++)
                            {
                                if (gamers[i] == null)
                                {
                                    var basikPlayer = new BasikGamer(howMuchGamers);
                                    gamers[i] = basikPlayer;
                                    Console.WriteLine("BasikGamer was Created");
                                    toChooseTypes++;
                                    break;
                                }
                            }

                            break;

                        case 2:
                            for (int i = 0; i < gamers.Length; i++)
                            {
                                if (gamers[i] == null)
                                {
                                    var cheaterPlayer = new Cheater(howMuchGamers);
                                    gamers[i] = cheaterPlayer;
                                    Console.WriteLine("Cheater was Created");
                                    toChooseTypes++;
                                    break;
                                }
                            }
                            break;

                        case 3:
                            for (int i = 0; i < gamers.Length; i++)
                            {
                                if (gamers[i] == null)
                                {
                                    var nodePlayer = new NodeGamer(howMuchGamers);
                                    gamers[i] = nodePlayer;
                                    Console.WriteLine("nodePlayer was Created");
                                    toChooseTypes++;
                                    break;
                                }
                            }
                            break;

                        case 4:
                            for (int i = 0; i < gamers.Length; i++)
                            {
                                if (gamers[i] == null)
                                {
                                    var uberPlayer = new UberGamer(howMuchGamers);
                                    gamers[i] = uberPlayer;
                                    Console.WriteLine("UberGamer was Created");
                                    toChooseTypes++;
                                    break;
                                }
                            }
                            break;

                        case 5:
                            for (int i = 0; i < gamers.Length; i++)
                            {
                                if (gamers[i] == null)
                                {
                                    var uberCheaterPlayer = new UberCheater(howMuchGamers);
                                    gamers[i] = uberCheaterPlayer;
                                    Console.WriteLine("UberCheater was Created");
                                    toChooseTypes++;
                                    break;
                                }
                            }
                            break;

                        default:
                            Console.WriteLine("Missed! Try Again!");
                            break;
                        }
                    }while (toChooseTypes != howMuchGamers);
                    IsSwitcher = false;
                    break;

                case 4:
                    for (int i = 0; i < gamers.Length; i++)
                    {
                        gamers[i] = null;
                    }
                    for (int i = 0; i < allAnswers.Length; i++)
                    {
                        allAnswers[i] = 0;
                    }
                    Console.WriteLine("All data was cleared!");
                    break;

                case 5:
                    IsSwitcher = true;
                    break;

                default:
                    Console.WriteLine("U need to write number of operation.");
                    Console.WriteLine("Try Again pls. Ok?");
                    break;
                }
            }while (IsSwitcher == false);
            Console.WriteLine("All players was choosen!");
        }
예제 #12
0
        static void Main()
        {
            Storage storage = new Storage();

            Console.WriteLine("Chose number of players form 2 to 8");
            int number;

            do
            {
                Console.Write("Number of players");
            } while (!int.TryParse(Console.ReadLine(), out number) || number == 0);
            switch (number)
            {
            case 2:
                string[] names = new string[2];
                for (int i = 0; i < 2; i++)
                {
                    Console.Write($"Name of {i + 1} player: ");
                    names[i] = Console.ReadLine();
                }

                Cheater       cheater       = new Cheater(names[0]);
                CommonStudent commonStudent = new CommonStudent(names[1]);

                ListOfStudents.studentList.Add(cheater);
                ListOfStudents.studentList.Add(commonStudent);
                break;

            case 3:
                string[] names2 = new string[3];
                for (int i = 0; i < 3; i++)
                {
                    Console.Write($"Name of {i + 1} player: ");
                    names2[i] = Console.ReadLine();
                }

                Cheater       cheater2       = new Cheater(names2[0]);
                CommonStudent commonStudent2 = new CommonStudent(names2[1]);
                UberCheater   ubercheater    = new UberCheater(names2[2]);

                ListOfStudents.studentList.Add(cheater2);
                ListOfStudents.studentList.Add(commonStudent2);
                ListOfStudents.studentList.Add(ubercheater);
                break;

            case 4:
                string[] names4 = new string[4];
                for (int i = 0; i < 4; i++)
                {
                    Console.Write($"Name of {i + 1} player: ");
                    names4[i] = Console.ReadLine();
                }

                Cheater       cheater4       = new Cheater(names4[0]);
                CommonStudent commonStudent4 = new CommonStudent(names4[1]);
                UberCheater   ubercheater4   = new UberCheater(names4[2]);
                UberStudent   uberStudent    = new UberStudent(names4[3]);

                ListOfStudents.studentList.Add(cheater4);
                ListOfStudents.studentList.Add(commonStudent4);
                ListOfStudents.studentList.Add(ubercheater4);
                ListOfStudents.studentList.Add(uberStudent);
                break;

            case 5:
                string[] names5 = new string[5];
                for (int i = 0; i < 5; i++)
                {
                    Console.Write($"Name of {i + 1} player: ");
                    names5[i] = Console.ReadLine();
                }

                Cheater         cheater5         = new Cheater(names5[0]);
                CommonStudent   commonStudent5   = new CommonStudent(names5[1]);
                UberCheater     ubercheater5     = new UberCheater(names5[2]);
                UberStudent     uberStudent5     = new UberStudent(names5[3]);
                StudentNotebook studentNotebook5 = new StudentNotebook(names5[4]);

                ListOfStudents.studentList.Add(cheater5);
                ListOfStudents.studentList.Add(commonStudent5);
                ListOfStudents.studentList.Add(ubercheater5);
                ListOfStudents.studentList.Add(uberStudent5);
                ListOfStudents.studentList.Add(studentNotebook5);
                break;
            }
            int iterations = 0;

            do
            {
                foreach (IBaseStudent student in ListOfStudents.studentList)
                {
                    if (student.Guess(storage))
                    {
                        Console.WriteLine($"Winner {student.Name}");
                        break;
                    }
                }
                iterations++;
            } while (iterations < 100);
            Console.ReadKey();
        }
예제 #13
0
    public Wave(Dictionary <string, System.Object> json)
    {
        canvas = GameObject.Find("Canvas").transform;
        System.Random rand = new System.Random();

        enemies = new List <GameObject> ();
        //note: ints in MiniJSON come out as longs, so must be cast twice
        levelID  = (int)(long)json ["levelID"];
        waveID   = (int)(long)json ["waveID"];
        maxTime  = (int)(long)json ["maxMilliseconds"];
        interval = (int)(long)json ["minimumInterval"];
        List <System.Object> enemyjson = (List <System.Object>)json ["enemies"];

        //step one: create a randomized list of spawn times
        int slots = maxTime / interval;
        //Debug.Log ("wave "+ waveID + " slots: " + slots);
        int occupants = enemyjson.Count;

        //create bool array to randomize
        List <bool> timeslots = new List <bool>();

        for (int i = 0; i < slots; i++)
        {
            if (i < occupants)
            {
                timeslots.Add(true);
            }
            else
            {
                timeslots.Add(false);
            }
        }
        //randomize this array (fisher-yates shuffle)
        for (int i = slots - 1; i > 0; i--)
        {
            int  j    = rand.Next(i + 1);
            bool temp = timeslots[i];
            timeslots[i] = timeslots[j];
            timeslots[j] = temp;
        }
        //make sure one enemy spawns immediately
        if (!timeslots[0])
        {
            for (int i = 1; i < slots; i++)
            {
                if (timeslots[i])
                {
                    timeslots[0] = true;
                    timeslots[i] = false;
                    break;
                }
            }
        }
        //create corresponding array of random-ish long bonuses to positions
        List <long> timeChaos = new List <long>();

        for (int i = 0; i < timeslots.Count; i++)
        {
            timeChaos.Add(0);
        }
        for (int i = 0; i < timeChaos.Count; i++)
        {
            if (timeslots[i])             //if an enemy should spawn in this timeframe,
            //get the previous bonus to make sure you're the min distance away
            {
                long previous = 0;
                if (i > 0)
                {
                    previous = timeChaos[i - 1];
                }
                //create random spawn time within the time slot allotted
                long chaos = rand.Next((int)previous, (int)interval);
                timeChaos[i] = chaos;
            }
        }
        //check to make sure nothing went wrong and timeslots and timechaos are both of length slots
        if (timeslots.Count != slots)
        {
            Debug.Log("timeslots is wrong length! slots is " + slots + " but timeslots length is " + timeslots.Count);
        }
        if (timeChaos.Count != slots)
        {
            Debug.Log("timechaos is wrong length! slots is " + slots + " but timechaos length is " + timeChaos.Count);
        }

        //finally, create final list of spawn times
        List <long> spawntimesInMillis = new List <long>();

        for (int i = 0; i < timeslots.Count; i++)
        {
            if (timeslots[i])
            {
                long spawntime = i * interval;
                spawntime += timeChaos[i];
                spawntimesInMillis.Add(spawntime);
            }
        }
        //for(int i = 0; i < spawntimesInMillis.Count; i++){
        //	Debug.Log ("wave "+ waveID + " spawntime "+i +": " + spawntimesInMillis[i]);
        //}
        //check to make sure nothing went wrong and spawntimes is of length occupants
        if (spawntimesInMillis.Count != enemyjson.Count)
        {
            Debug.Log("spawntimes and enemies don't match! (" + spawntimesInMillis.Count + "/" + enemyjson.Count + ")");
        }

        //shuffle the enemy order (fisher-yates)
        for (int i = enemyjson.Count - 1; i > 0; i--)
        {
            int           j    = rand.Next(i + 1);
            System.Object temp = enemyjson[i];
            enemyjson[i] = enemyjson[j];
            enemyjson[j] = temp;
        }

        for (int i = 0; i < enemyjson.Count; i++)
        {
            System.Object enemy = enemyjson[i];
            Dictionary <string, System.Object> enemydict = (Dictionary <string, System.Object>)enemy;
            //would load from bestiary using (string)enemydict["enemyID"], but no bestiary yet
            //long spawntimeInMillis = (long)enemydict["spawntime"];
            string filename = (string)enemydict["enemyID"];
            int    track    = (int)(long)enemydict["trackID"];
            int    trackpos = 0;
            if (enemydict.ContainsKey("trackpos"))
            {
                trackpos = (int)(long)enemydict["trackpos"];
            }
            //make enemy
            GameObject enemyspawn = GameObject.Instantiate(Resources.Load("Prefabs/MainCanvas/Enemy")) as GameObject;
            //Debug.Log("we're setting it to the spawn layer");
            //Debug.Log (Dial.spawnLayer == null);
            enemyspawn.transform.SetParent(Dial.spawnLayer, false);
            enemyspawn.SetActive(false);
            Enemy ec = enemyspawn.GetComponent <Enemy>();

            FileLoader fl = new FileLoader("JSONData" + Path.DirectorySeparatorChar + "Bestiary", filename);
            string     actualenemyjson = fl.Read();
            Dictionary <string, System.Object> actualenemydict = Json.Deserialize(actualenemyjson) as Dictionary <string, System.Object>;
            string enemytype = (string)actualenemydict["enemyType"];
            if (enemytype.Equals("Chainers"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Chainer c          = enemyobj.AddComponent <Chainer>() as Chainer;
                float   chaindelay = (float)(double)actualenemydict["delay"];
                c.delay = chaindelay;
                ec      = c;
            }
            else if (enemytype.Equals("TipOfTheSpear"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                TipOfTheSpear tots       = enemyobj.AddComponent <TipOfTheSpear>() as TipOfTheSpear;
                float         chaindelay = (float)(double)actualenemydict["delay"];
                tots.SetDelay(chaindelay);
                tots.leader = true;
                ec          = tots;
            }
            else if (enemytype.Equals("WallOfDoom"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                WallOfDoom wod = enemyobj.AddComponent <WallOfDoom>() as WallOfDoom;
                ec = wod;
            }
            else if (enemytype.Equals("TheDiversion"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Diversion d          = enemyobj.AddComponent <Diversion>() as Diversion;
                float     chaindelay = (float)(double)actualenemydict["delay"];
                d.SetDelay(chaindelay);
                ec = d;
            }
            else if (enemytype.Equals("MeatShield"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                MeatShield ms         = enemyobj.AddComponent <MeatShield>() as MeatShield;
                float      chaindelay = (float)(double)actualenemydict["delay"];
                ms.SetDelay(chaindelay);
                ms.leader = true;
                ec        = ms;
            }
            else if (enemytype.Equals("Splitter"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Splitter s = enemyobj.AddComponent <Splitter>() as Splitter;
                ec = s;
            }
            else if (enemytype.Equals("Blob"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Blob b = enemyobj.AddComponent <Blob>() as Blob;
                ec = b;
            }
            else if (enemytype.Equals("Megasplit"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Megasplit ms = enemyobj.AddComponent <Megasplit>() as Megasplit;
                ec = ms;
            }
            else if (enemytype.Equals("Melder"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Melder m = enemyobj.AddComponent <Melder>() as Melder;
                ec = m;
            }
            else if (enemytype.Equals("BigSplit"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                BigSplit bs = enemyobj.AddComponent <BigSplit>() as BigSplit;
                ec = bs;
            }
            else if (enemytype.Equals("Junior"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Junior j = enemyobj.AddComponent <Junior>() as Junior;
                ec = j;
            }
            else if (enemytype.Equals("Cheater"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Cheater ch = enemyobj.AddComponent <Cheater>() as Cheater;
                ec = ch;
            }
            else if (enemytype.Equals("Spite"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Spite s = enemyobj.AddComponent <Spite>() as Spite;
                ec = s;
            }
            else if (enemytype.Equals("Executor"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Executor s = enemyobj.AddComponent <Executor>() as Executor;
                ec = s;
            }
            else if (enemytype.Equals("Saboteur"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Saboteur s = enemyobj.AddComponent <Saboteur>() as Saboteur;
                ec = s;
            }
            else if (enemytype.Equals("Pusher"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Pusher s = enemyobj.AddComponent <Pusher>() as Pusher;
                ec = s;
            }

            //give enemy a filename to load from

            ec.SetSrcFileName(filename);
            ec.SetTrackID(track);
            ec.SetTrackLane(trackpos);

            //calculate and set position
            float degrees = (track - 1) * 60 + 30;   //clockwise of y-axis
            degrees += 15 * trackpos;                //negative trackpos is left side, positive is right side, 0 is middle
            degrees  = ((360 - degrees) + 90) % 360; //convert to counterclockwise of x axis
            degrees *= Mathf.Deg2Rad;


            ((RectTransform)enemyspawn.transform).anchoredPosition = new Vector2(Dial.ENEMY_SPAWN_LENGTH * Mathf.Cos(degrees), Dial.ENEMY_SPAWN_LENGTH * Mathf.Sin(degrees));
            //set spawn time
            ec.SetSpawnTime(spawntimesInMillis[i]);

            enemies.Add(enemyspawn);
        }

        /*foreach (System.Object enemy in enemyjson) {
         *      //ec.ConfigureEnemy ();
         * }*/
    }
        private void AddGrid(Cheater cheater, int row)
        {
            void AddToGrid(UIElement element, int column)
            {
                this.GridCheaters.Children.Add(element);
                Grid.SetColumn(element, column);
                Grid.SetRow(element, row);
            }

            TextBox TextBoxCreate(string value) => new()
            {
                Text   = value,
                Margin = new Thickness(5, 0, 5, 0),
            };



            /* <Label Grid.Column="0">WhiteList</Label>
             *                                              <Label Grid.Column="1">Name</Label>
             *                                              <Label Grid.Column="2">Steam ID</Label>
             *                                              <Label Grid.Column="3">Submitter</Label>
             *                                              <Label Grid.Column="4">Cheat List</Label>
             *                                              <Label Grid.Column="5">Notes</Label>
             *                                              <Label Grid.Column="6">ThreatLevel</Label>
             *                                              <Label Grid.Column="7"></Label>*/

            BiaCheckBox wlCheckBox = new()
            {
                BoxBorderColor = new ByteColor((byte)(255 * .9), 200, 200, 200),
                Margin         = CheckBoxThickness,
            };



            Label lblName = new()
            {
                Content = cheater.LastKnownName,
                Style   = TableRowLabelStyle
            };
            Label lblSteamID = new()
            {
                Content = new SteamID(cheater.AccountID).Render(false).Replace("_", "__"),
                Style   = TableRowLabelStyle
            };

            TextBox txtSubmitter = TextBoxCreate(cheater.Submitter);
            TextBox txtCheatList = TextBoxCreate(cheater.CheatList);
            TextBox txtNotes     = TextBoxCreate(cheater.Notes);
            TextBox txtThreat    = TextBoxCreate(cheater.ThreatLevel.ToString());
            Button  btnRemove    = new();

            btnRemove.Content = "Remove";

            AddToGrid(wlCheckBox, 0);
            AddToGrid(lblName, 1);
            AddToGrid(lblSteamID, 2);
            AddToGrid(txtSubmitter, 3);
            AddToGrid(txtCheatList, 4);
            AddToGrid(txtNotes, 5);
            AddToGrid(txtThreat, 6);
            AddToGrid(btnRemove, 7);

            btnRemove.Click += (object sender, RoutedEventArgs args) =>
            {
                Cheaters.Remove(cheater);
                GridCheaters.Children.Remove(wlCheckBox);
                GridCheaters.Children.Remove(lblName);
                GridCheaters.Children.Remove(lblSteamID);
                GridCheaters.Children.Remove(txtSubmitter);
                GridCheaters.Children.Remove(txtCheatList);
                GridCheaters.Children.Remove(txtNotes);
                GridCheaters.Children.Remove(txtThreat);
                GridCheaters.Children.Remove(btnRemove);
                UpdateCounterLabels();
            };

            lblSteamID.MouseRightButtonDown += (object sender, MouseButtonEventArgs e) =>
            {
                Clipboard.SetText($"{cheater.LastKnownName}, {cheater.CheatList}, {cheater.ThreatLevel}, {cheater.Notes} " +
                                  $"\nhttp://steamcommunity.com/profiles/{cheater.AccountID}");


                lblSteamID.Content = "*Copied To Clipboard*";
                var timer = new System.Timers.Timer(1000);
                timer.Elapsed += (object sender, System.Timers.ElapsedEventArgs e) => Dispatcher.Invoke(() =>
                {
                    lblSteamID.Content = new SteamID(cheater.AccountID).Render(false).Replace("_", "__");

                    timer.Dispose();
                });
                timer.Start();
            };

            lblName.MouseLeftButtonDown += (object sender, MouseButtonEventArgs e) =>
            {
                try
                {
                    Process.Start(new ProcessStartInfo($"http://steamcommunity.com/profiles/{cheater.AccountID}")
                    {
                        UseShellExecute = true
                    });
                }
                catch { }
            };

            void HandleText(object sender, TextChangedEventArgs e)
            {
                cheater.CheatList = txtCheatList.Text;
                int.TryParse(txtThreat.Text, out int threat2);
                txtThreat.Text      = threat2.ToString();
                cheater.ThreatLevel = threat2;
                cheater.Submitter   = string.IsNullOrEmpty(txtSubmitter.Text) ? Settings["UserNameOverride"] : txtSubmitter.Text;

                cheater.Notes = txtNotes.Text;
                Cheaters.Save();
            }

            txtSubmitter.TextChanged += HandleText;
            txtCheatList.TextChanged += HandleText;
            txtNotes.TextChanged     += HandleText;
            txtThreat.TextChanged    += HandleText;
        }

        TextBox TextBoxCreate(string value) => new()
        {
            Text   = value,
            Margin = new Thickness(5, 0, 5, 0),
        };
    }
}
예제 #15
0
        static void Main(string[] args)
        {
            // value, that players need to guess and maximum number of turns
            int valueToGuess     = 45;
            int maxNumberOfTurns = 100;
            int minValueToGuess  = 40;
            int maxValueToGuess  = 140;

            bool continueGame = true;

            do
            {
                Console.WriteLine($"Choose your action\n1 - Play new game\n2 - Exit");
                int  action        = int.Parse(Console.ReadLine());
                Menu menuOperation = (Menu)action;

                // simple menu logic
                switch (menuOperation)
                {
                case Menu.Newgame:
                {
                    try
                    {
                        Console.WriteLine("Enter value to guess");
                        valueToGuess = int.Parse(Console.ReadLine());

                        if (valueToGuess < minValueToGuess || valueToGuess > maxValueToGuess)

                        {
                            throw new ArgumentOutOfRangeException();
                        }

                        // create a new game
                        Game myGame = new Game(valueToGuess, maxNumberOfTurns);

                        // create new players add add them to the game
                        RegularPlayer myRegularPlayer     = new RegularPlayer("Vasya", 1);
                        UberPlayer    myUberPlayer        = new UberPlayer("Gans", 2);
                        Bloknot       myBloknotPlayer     = new Bloknot("Igor Valerievish", 3);
                        Cheater       myCheaterPlayer     = new Cheater("Gome Simson", 4);
                        UberCheater   myUberCheaterPlayer = new UberCheater("Mozzg", 5);

                        myGame.AddPlayer(myRegularPlayer);
                        myGame.AddPlayer(myUberPlayer);
                        myGame.AddPlayer(myBloknotPlayer);
                        myGame.AddPlayer(myCheaterPlayer);
                        myGame.AddPlayer(myUberCheaterPlayer);


                        // start game
                        GeneralPlayer winner = myGame.PlayGame();
                        // write name of the pleyer, who guessed the value if exist
                        if (winner != null)
                        {
                            Console.WriteLine($"Player {winner.Name} won");
                        }
                        // or write name of the pleyer, who gave the nearest value
                        else
                        {
                            winner = myGame.GetNearestResult();
                            Console.WriteLine($"Player {winner.Name} gave the nearest result");
                        }
                    }
                    catch (ArgumentOutOfRangeException)
                    {
                        Console.WriteLine("Value to guess should be in range [40,140]");
                    }
                    catch (Exception)
                    {
                        Console.WriteLine("Cant parse to int");
                    }
                    break;
                }

                case Menu.Exit:
                {
                    continueGame = false;
                    break;
                }
                }
            } while (continueGame);


            Console.ReadKey();
        }
    void Start()
    {
        controller = GetComponent<CharacterController>();
        jumping = false;
        fallen = false;
        previousGroundedY = transform.position.y;

        thief = GetComponent<Thief>();
        murderer = GetComponent<Murderer>();
        cheater = GetComponent<Cheater>();
        addict = GetComponent<Addict>();
        liar = GetComponent<Liar>();

        thief.enabled = false;
        murderer.enabled = false;
        cheater.enabled = false;
        addict.enabled = false;
        liar.enabled = false;

        numPowerUps = 0;
    }