program podobny do gry w oczko

0

witam mam do napisania program przypominający grę w oczko na 2 graczy. Napisałem program ale coś nie gra. Co jest nie tak?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int suma = 0, suma1 = 0, c, d, i = 0, j = 0;
            string t = "n",t1="n";
            do
            {
                Random liczba = new Random();
                c = Convert.ToInt16(liczba.Next(2, 11));
                d = Convert.ToInt16(liczba.Next(2, 11));
                if (suma < 21)
                {
                    Console.WriteLine("gracz 1");
                    if (i == 0)
                    {
                        Console.WriteLine("czy chcesz zagrac? t/n");
                        t = Console.ReadLine();
                    }
                    else
                    {
                        Console.WriteLine("masz już" + suma);
                        Console.WriteLine("jeszcze jedna karta? t/n");
                        t = Console.ReadLine();
                    }
                    

                    if (t == "t")
                    {
                        
                        Console.WriteLine("wylosowałeś" + c);
                        suma += c;
                        i++;
                        Console.WriteLine("teraz masz" + suma);
                        if (suma > 21)
                        {
                            if (suma == 22 && i == 2)
                                Console.WriteLine("perskie oczko");
                            else
                                Console.WriteLine("za dużo");
                        }
                        if (suma == 21)
                            Console.WriteLine("oczko");

                    }
                }

                if (suma1 < 21)
                {
                    Console.WriteLine("gracz 2");
                    if (j == 0)
                    {
                        Console.WriteLine("czy chcesz zagrac? t/n");
                        t1 = Console.ReadLine();
                    }
                    else
                    {
                        Console.WriteLine("masz już" + suma1);
                        Console.WriteLine("jeszcze jedna karta? t/n");
                        t1 = Console.ReadLine();
                    }
                   

                    if (t1 == "t")
                    {
                        
                        Console.WriteLine("wylosowałeś" + d);
                        suma1 += d;
                        j++;
                        Console.WriteLine("teraz masz" + suma1);
                        if (suma1 > 21)
                        {
                            if (suma1 == 22 && j == 2)
                                Console.WriteLine("za dużo");
                            else
                                Console.WriteLine("za dużo");
                        }
                        if (suma1 == 21)
                            Console.WriteLine("oczko");

                    }
                }


            } while (suma < 21 && t == "t" && suma1 < 21 && t1=="t");

            if (suma == 21 && suma1 == 21)
                Console.WriteLine("remis");
            if(suma<21 && suma1<21 && suma<suma1)
                Console.WriteLine("wygrywa gracz 2");
            if (suma < 21 && suma1 < 21 && suma1 < suma)
                Console.WriteLine("wygrywa gracz 1");
           
            if (suma > 21 && suma > 21 && i!=2 && j!=2)
                Console.WriteLine("nikt nie wygrał");
            if (suma == 22 && i == 2 && suma1 == 22 && j == 2)
                Console.WriteLine("remis");
            if (suma == 22 && i == 2 && suma != 21)
                Console.WriteLine("wygrywa gracz 1");
            if (suma1 == 22 && j == 2 && suma1 != 21)
                Console.WriteLine("wygrywa gracz 2");

            Console.ReadKey();

        }
    }
}
0

zapomniałem dodać program ma losować liczby od 2 do 11 ;)

0

Nie napisałeś co nie działa. Jest coś takiego jak debuger, możesz sobie sprawdzić linia po linii jak to działa.

0

Program odpala, ale nie zawsze wszytko działa tzn zależnie od wylosowanych liczb pętla kończy się za szybko. Dopiero zacząłem zabawę z tym językiem i nie potrafię dostrzec błędów.

0

Wyjdzie z pętli jeśli jeden gracz będzie chciał grać a drugi nie.

Wciskając F10 w Visualu wchodzisz w tryb debugowania i linia po linii możesz sobie sprawdzać co się dzieje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1