tas-kagit-makas oyunu

+1 oy
7 Haziran 2015 davyjones06 Stajyer (530 puan)   sordu
task kagit makas oyunu yapmak istiyorum ancak kodum çalışmıyor hatam nerde acaba?

http://pastebin.com/24g5GhpW

bu arada randomdan gelen sonuc

0=rock

1=paper

2=scissors şeklindedir.

2 Cevap

+1 oy
7 Haziran 2015 ismailaltun Stajyer (560 puan)   cevapladı
stringleri her zaman equals metodu ile kontrol et.Şu şekilde mesela ;

http://paste.ubuntu.com/11631436/
0 oy
23 Haziran 2015 SRHATŞS Stajyer (550 puan)   cevapladı
BİRDE ŞUNU DENE!

int nWin = 0, nLose = 0;

            Console.Title = "Taş Kağıt Makas - Kodzilla";

            Console.WriteLine("\n\tBaşlamak için bir tuşa basın..");

            while (Console.ReadKey(true).Key != ConsoleKey.Escape)

            {

                Console.Clear();

                Echo("\n\tTaş Kağıt Makas\n\t-----------------\n\n", ConsoleColor.Yellow);

                Echo("\t[1] ", ConsoleColor.White);

                Echo("Taş\n", ConsoleColor.Gray);

                Echo("\t[2] ", ConsoleColor.White);

                Echo("Kağıt\n", ConsoleColor.Gray);

                Echo("\t[3] ", ConsoleColor.White);

                Echo("Makas\n", ConsoleColor.Gray);

 

                string userSelection = "x";

                bool selection = false;

 

                while (!selection)

                {

                    userSelection = Console.ReadKey(true).KeyChar.ToString();

                    selection = ShowSelection(userSelection, "Kullanıcı");

                }

                string computerSelection = new Random().Next(1, 4).ToString();

                ShowSelection(computerSelection, "Bilgisayar");

                if (userSelection.Equals(computerSelection))

                    Echo(String.Format("\n\n\t{0} : {0} berabere.\n", GetElement(userSelection)), ConsoleColor.White);

                else if (userSelection == "1" && computerSelection == "2")

                { Echo("\n\n\tKağıt makası sarar: Bilgisayar kazandı.\n", ConsoleColor.Magenta); nLose++; }

                else if (userSelection == "1" && computerSelection == "3")

                { Echo("\n\n\tTaş makası kırar: Kullanıcı kazandı.\n", ConsoleColor.Green); nWin++; }

                else if (userSelection == "2" && computerSelection == "1")

                { Echo("\n\n\tKağıt makası sarar: Kullanıcı kazandı.\n", ConsoleColor.Green); nWin++; }

                else if (userSelection == "2" && computerSelection == "3")

                { Echo("\n\n\tMakas kağıdı keser: Bilgisayar kazandı.\n", ConsoleColor.Magenta); nLose++; }

                else if (userSelection == "3" && computerSelection == "1")

                { Echo("\n\n\tTaş makası kırar: Bilgisayar kazandı.\n", ConsoleColor.Magenta); nLose++; }

                else if (userSelection == "3" && computerSelection == "2")

                { Echo("\n\n\tMakas kağıdı keser: Kullanıcı kazandı.\n", ConsoleColor.Green); nWin++; }

                Echo(String.Format("\n\tKullanıcı:  {0} puan\n\tBilgisayar: {1} puan", nWin, nLose), ConsoleColor.White);

            }

        }

        static string GetElement(string selection)

        {

            switch (selection)

            {

                case "1": return "Taş";

                case "2": return "Kağıt";

                case "3": return "Makas";

                default: return String.Empty;

            }

        }

        static bool ShowSelection(string x, string user)

        {

            x = GetElement(x);

            if (x == String.Empty)

            {

                Echo("\n\tYanlış seçim! Tekrar deneyin..\n", ConsoleColor.Red);

                return false;

            }

            Echo(String.Format("\n\t{0}: {1}", user, x), ConsoleColor.Green);

            return true;

        }

        static void Echo(string text , ConsoleColor color)

        {

            Console.ForegroundColor = color;

            Console.Write(text);

            Console.ResetColor();

        }
...