سلام
قصد دارم برنامه دوز یا X و O رو در سی شارپ بنویسم. در کد زیر غیر از تابع Main چهار تابع تعریف کردم که همگی هم در یک کلاس هستند.مشکلی که دارم این هست که وقتی توابعی که همگی در یک کلاس هستند رو فراخوانی می کنم کامپایلر Error میده ممنون میشم راهنمایی کنید.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Abbas { class Program { char[] board = { '1', '2', '3', '4', '5', '6', '7', '8', '9' }; static void Main(string[] args) { bool player = false; // true = X false = O Program p = new Program(); displayBoard(ref p.board); bool result = checkWin(true); while (!result) { if (player == true) player = false; else player = true; move(player); } if (player == true) Console.WriteLine("Player 1 WINS"); else Console.WriteLine("Player 2 WINS"); } static void displayBoard(ref char[] board) { Console.WriteLine(); Console.Write('\t'); Console.Write(board[0]); Console.Write(" | "); Console.Write(board[1]); Console.Write(" | "); Console.WriteLine(board[2]); Console.Write('\t'); Console.WriteLine("---------"); Console.Write('\t'); Console.Write(board[3]); Console.Write(" | "); Console.Write(board[4]); Console.Write(" | "); Console.WriteLine(board[5]); Console.Write('\t'); Console.WriteLine("---------"); Console.Write('\t'); Console.Write(board[6]); Console.Write(" | "); Console.Write(board[7]); Console.Write(" | "); Console.Write(board[8]); } bool checkWin() { if (board[0] == board[1] && board[2] == board[0]) return true; else if (board[3] == board[4] && board[5] == board[3]) return true; else if (board[6] == board[7] && board[8] == board[6]) return true; else if (board[0] == board[3] && board[6] == board[0]) return true; else if (board[1] == board[4] && board[7] == board[1]) return true; else if (board[2] == board[5] && board[8] == board[2]) return true; else if (board[0] == board[4] && board[8] == board[0]) return true; else if (board[2] == board[4] && board[6] == board[2]) return true; else return false; } void move(bool who) { int spot; if (who == true) Console.WriteLine("\nEnter your move Player 1: "); else Console.WriteLine("\nEnter your move Player 2: "); spot=int.Parse( Console.ReadLine()); if (isLegal(spot)) { if (who == true) board[spot - 1] = 'X'; else board[spot - 1] = 'O'; } else move(who); displayBoard(ref board); } bool isLegal(int spot) { if (board[spot - 1] == 'X' || board[spot - 1] == 'O') return false; else return true; } } }
این پست در تاریخ {{ dateString(new Date(post.deleteDate)) }} توسط {{ post.deletedByUser }} حذف شده است.
دلیل حذف: {{ post.deleteReason ?? 'نامشخص' }}
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود