Şimdi Ara

Konsol XOX oyunu sorunu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
1
Cevap
0
Favori
620
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Okulda c# öğrenmeye başlayacağız 2. dönem.Ben de biraz alıştırma olsun diye konsoldan 2 kişilik oynanabilecek bir xox oyunu yapmak istedim.Kodu derlerken hiçbir hata ile karşılaşmıyorum ancak kodum doğru çalışmıyor.Hatamı söyleyebilecek varsa şimdiden teşekkür ederim.
    visual studio dosyasının linki =http://dosya.co/3v8kbv6vm0iu/XOXConsole.rar.html

    eğer indirmek istemeyenler varsa kod aşağıda

    kodda bir oyun.cs,bir de main program.cs var

    oyun.cs şu şekilde


    namespace XOXConsole
    {

    class Oyun
    {


    private void TavanCiz()
    {
    Console.Write("╔");
    Console.Write("═");
    Console.Write("╦");
    Console.Write("═");
    Console.Write("╦");
    Console.Write("═");
    Console.Write("╗");
    Console.WriteLine();
    }

    private void AraCiz(int a,int b,int c)
    {
    Console.Write("║");

    if (a == 0)
    Console.Write(" ");
    if (a == 1)
    Console.Write("X");
    if (a == 2)
    Console.Write("O");

    Console.Write("║");

    if (b == 0)
    Console.Write(" ");
    if (b == 1)
    Console.Write("X");
    if (b == 2)
    Console.Write("O");

    Console.Write("║");

    if (c == 0)
    Console.Write(" ");
    if (c == 1)
    Console.Write("X");
    if (c == 2)
    Console.Write("O");

    Console.Write("║");
    Console.WriteLine();


    }

    private void ayracCiz()
    {
    Console.Write("╠");
    Console.Write("═");
    Console.Write("╬");
    Console.Write("═");
    Console.Write("╬");
    Console.Write("═");
    Console.Write("╣");
    Console.WriteLine();
    }

    private void tabanCiz()
    {
    Console.Write("╚");
    Console.Write("═");
    Console.Write("╩");
    Console.Write("═");
    Console.Write("╩");
    Console.Write("═");
    Console.Write("╝");
    Console.WriteLine();
    }

    public void tahtaCiz(int[] temp)
    {

    int a1 = temp[0];
    int a2 = temp[1];
    int a3 = temp[2];
    int a4 = temp[3];
    int a5 = temp[4];
    int a6 = temp[5];
    int a7 = temp[6];
    int a8 = temp[7];
    int a9 = temp[8];
    TavanCiz();
    AraCiz(a1,a2,a3);
    ayracCiz();
    AraCiz(a4,a5,a6);
    ayracCiz();
    AraCiz(a7,a8,a9);
    tabanCiz();
    }

    public bool win(int[] temp)
    {
    if (temp[0] == 1)
    {
    if (temp[1] == 2 && temp[2] == 1)
    return true;
    if (temp[3] == 2 && temp[6] == 1)
    return true;
    if (temp[4] == 2 && temp[8] == 1)
    return true;
    }
    else if (temp[1] == 1)
    {
    if (temp[4] == 2 && temp[7] == 1)
    return true;
    }
    else if (temp[2] == 1)
    {
    if (temp[5] == 2 && temp[8] == 1)
    return true;
    }
    else if (temp[3] == 1)
    {
    if (temp[4] == 2 && temp[5] == 1)
    return true;
    }
    else if (temp [4] == 1)
    {
    return false;
    }
    else if (temp [5] == 1)
    {
    return false;
    }
    else if(temp [6] == 1)
    {
    if (temp[7] == 2 && temp[8] == 1)
    return true;
    }
    return false;
    }

    public char karakterSor()
    {
    Console.WriteLine("Girmek istediğiniz karakteri seçin.");
    char secilenkarakter = char.Parse(Console.ReadLine());
    return secilenkarakter;
    }
    public int kareSor()
    {

    Console.WriteLine("Girmek istediğiniz kareyi seçin");
    int secilenkare = int.Parse(Console.ReadLine());
    if (secilenkare > 9 || secilenkare < 1)
    {

    kareSor();
    }
    return secilenkare;
    }

    }

    }




    program.cs ise şu şekilde

    namespace XOXConsole
    {
    class Program
    {
    static void Main(string[] args)
    {
    int[] kayit = new int[9];
    for (int i = 0;i<9;i++) //default
    {
    kayit = 0;
    }
    Oyun oyun = new Oyun();
    while(!oyun.win(kayit))
    {
    oyun.tahtaCiz(kayit);
    int secilenkare = oyun.kareSor();
    char secilenkarakter = oyun.karakterSor();
    kayit[secilenkare] = secilenkarakter;
    Console.Clear();
    }
    }
    }
    }







  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.