Example #1
0
        public IGame FactoryMethod(Games gameType)
        {
            IGame game = null;

            switch (gameType)
            {
            case Games.Atari:
                game = new Atari2();
                break;

            case Games.PC:
                game = new PC2();
                break;

            case Games.PS:
                game = new PS2();
                break;
            }
            return(game);
        }
Example #2
0
        void iau_etichete()
        {
            string[] toate_liniile2 = System.IO.File.ReadAllLines(@"D:\\AC\\nou\\ProiectAC-new\\fisier.asm");

            int    lungime2 = toate_liniile2.Length;
            string linie2;

            while (PC2 / 4 < lungime2)
            {
                index_linie2 = PC2 / 4;
                linie2       = toate_liniile2[index_linie2];
                string[] cuvSeparat2       = linie2.Split(' ');                             // baga in vector cuvintele separate
                int      ct2               = 0;
                char     ultimul_caracter2 = cuvSeparat2[ct2][cuvSeparat2[ct2].Length - 1]; //vf daca am eticheta ( daca se termina cu : )

                if (ultimul_caracter2 == ':')                                               // am eticheta:_
                {
                    Etichete.Text += cuvSeparat2[ct2] + " " + PC2.ToString() + " " + "\n";
                    index_et2++; ct2++;
                }
                PC2 += 4;
            }
        }
    void Update()
    {
        if (puzzle1 == 4)
        {
            PC1.SetActive(true);
        }
        if (puzzle2 == 4)
        {
            PC2.SetActive(true);
        }
        if (puzzle3 == 4)
        {
            PC3.SetActive(true);
        }

        Puzzle_Count = puzzle1 + puzzle2 + puzzle3;
        //한번만 실행되게 하기위해
        if (solDialogue && isSolved)
        {
            solvedDialogue.GetComponent <DialogueTrigger>().TriggerDialogue();
            solDialogue = false;
        }
    }
Example #4
0
        private List <List <bool> > CreateSubkeys() // creates 16 subkeys with use of PC1 & PC2, each of which is 48 bits long
        {
            if (key.Count % 8 != 0)
            {
                throw new Exception();
            }

            // Permuted Choice 1, split into left and right
            List <bool> key_pc1l = new List <bool>();
            List <bool> key_pc1r = new List <bool>();

            for (int i = 0; i < PC1.Length / 2; i++)
            {
                key_pc1l.Add(key[PC1[i] - 1]);
            }

            for (int i = PC1.Length / 2; i < PC1.Length; i++)
            {
                key_pc1r.Add(key[PC1[i] - 1]);
            }

            // next, create 16 blocks based on previous ones with specific bit shifts
            List <List <bool> > left_halves  = new List <List <bool> >();
            List <List <bool> > right_halves = new List <List <bool> >();

            left_halves.Add(key_pc1l); // add original halves at the beginning for the first step
            right_halves.Add(key_pc1r);

            for (int i = 1; i <= 16; i++)
            {
                if (i == 1 || i == 2 || i == 9 || i == 16) // shift these halves once, rest is shifted twice
                {
                    left_halves.Add(ShiftLeft(left_halves[i - 1], 1));
                    right_halves.Add(ShiftLeft(right_halves[i - 1], 1));
                }
                else
                {
                    left_halves.Add(ShiftLeft(left_halves[i - 1], 2));
                    right_halves.Add(ShiftLeft(right_halves[i - 1], 2));
                }
            }

            // now merge left and right halves
            List <List <bool> > pre_subkeys = new List <List <bool> >(); // list of merged, not permuted subkeys
            List <bool>         temp        = new List <bool>();

            for (int i = 1; i <= 16; i++)
            {
                temp = left_halves[i];
                temp.AddRange(right_halves[i]);
                pre_subkeys.Add(temp);
            }

            // Permuted Choice 2
            List <List <bool> > subkeys = new List <List <bool> >(pre_subkeys.Count); // permuted subkeys

            for (int i = 0; i < pre_subkeys.Count; i++)
            {
                List <bool> subkey = new List <bool>();

                for (int j = 0; j < PC2.Count(); j++)
                {
                    subkey.Add(pre_subkeys[i][PC2[j] - 1]);
                }

                subkeys.Add(subkey);
            }

            return(subkeys);
        }
    void FixedUpdate()
    {
        // Part1
        if (ps1.isVisible)
        {
            if (pickedUp)
            {
                ps1.isVisible = false;
                map1.SetActive(false);
                PC1.SetActive(true);
                mapMM.SetActive(true);
                parts1.SetActive(false);
                hold = 1;
            }
        }
        if (hold == 1)
        {
            Debug.Log("yo");
            if (playerDetected == true)
            {
                ps2.isVisible = true;
                map2.SetActive(true);
                mapMM.SetActive(false);
                PC1.SetActive(false);
                parts2.SetActive(true);
                pickedUp       = false;
                tc.startPoint += addTime;
                score         += 1;
                hold           = 0;
                playerDetected = false;
            }
        }

        // Part2
        if (ps2.isVisible)
        {
            if (pickedUp)
            {
                ps2.isVisible = false;
                parts2.SetActive(false);
                PC2.SetActive(true);
                map2.SetActive(false);
                mapMM.SetActive(true);
                hold = 1;
            }
        }
        if (hold == 1)
        {
            if (playerDetected == true)
            {
                ps3.isVisible = true;
                map3.SetActive(true);
                PC2.SetActive(false);
                mapMM.SetActive(false);
                parts3.SetActive(true);
                pickedUp       = false;
                tc.startPoint += addTime;
                score         += 1;
                hold           = 0;
                playerDetected = false;
            }
        }

        // Part3
        if (ps3.isVisible)
        {
            if (pickedUp)
            {
                ps3.isVisible = false;
                parts3.SetActive(false);
                PC3.SetActive(true);
                map2.SetActive(false);
                mapMM.SetActive(true);
                hold = 1;
            }
        }
        if (hold == 1)
        {
            if (playerDetected == true)
            {
                ps4.isVisible = true;
                map4.SetActive(true);
                PC3.SetActive(false);
                mapMM.SetActive(false);
                parts4.SetActive(true);
                pickedUp       = false;
                tc.startPoint += addTime;
                score         += 1;
                hold           = 0;
                playerDetected = false;
            }
        }

        // Part4
        if (ps4.isVisible)
        {
            if (pickedUp)
            {
                ps4.isVisible = false;
                map2.SetActive(false);
                PC4.SetActive(true);
                mapMM.SetActive(true);
                parts4.SetActive(false);
                hold = 1;
            }
        }
        if (hold == 1)
        {
            if (playerDetected == true)
            {
                ps5.isVisible = true;
                parts5.SetActive(true);
                PC4.SetActive(false);
                map5.SetActive(true);
                mapMM.SetActive(false);
                pickedUp       = false;
                tc.startPoint += addTime;
                score         += 1;
                hold           = 0;
                playerDetected = false;
            }
        }

        // Part5
        if (ps5.isVisible)
        {
            if (pickedUp)
            {
                ps5.isVisible = false;
                map5.SetActive(false);
                PC5.SetActive(true);
                mapMM.SetActive(true);
                parts5.SetActive(false);
                hold = 1;
            }
        }
        if (hold == 1)
        {
            if (playerDetected == true)
            {
                pickedUp = false;
                PC5.SetActive(false);
                tc.startPoint += addTime;
                score         += 1;
                hold           = 0;
                win            = true;
                animate.SetBool("isWin", true);
            }
        }
        if (win == true)
        {
            animate.SetBool("isWin", true);
            SceneManager.LoadScene("Win");
        }
    }