الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مسااعده عاجله في عمل لعبة ال Tic-toe

مغلق
بدأه غالية الروح في 5 يناير 2008 · 6 رد · 664 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

إخواني الأعزاء آنا سويت بروقرم بالبورلاند حق لعبة الاكس والاو والحمد لله ظبط معاي بس ابغى منكم مساعده بسيطه فيه وهو

إن الكمبيوتر في اللعبه مش ذكي يعني ابغاه يكون ذكي في اللعبه وثاني شي ابغاه يوم مايفوز ولاحد يقول لهم

sorry nobody won,,,

وفي آخر القيم ابغى يوم يضغطون على exit

enter

يصير لهم

exit

من اللعبه

ورجاااء ساعدووني اليوم لانه مطلوب غدا ولكم كل الشكر والتقدير

وهذا هو الكود


#include <iostream.h>
char numbers[]={'1','2','3','4','5','6','7','8','9'};
int choice,o;
void display (){

cout<<endl<<"_________________"<<endl;
for (int n=0;n<9;n++){
cout<<"| "<< numbers[n]<<" | ";
if (n==2 || n==5)
cout<<endl<<"_________________"<<endl;
}// end of n
cout<<endl<<"_________________"<<endl;
}// end of display
void choose(){
cout<<"enter your choise"<<endl;
cin>>choice;
if (choice > 9)
cout<<endl<<"sorry try again";
else if(numbers[choice-1]!='x'&& numbers[choice-1]!='o')
numbers[choice-1]='x';

else
cout<<"Sorry "<<choice<<" is used "<<endl<<endl;
}// end of choice
int winnerX(){
if((numbers[0]=='x' && numbers[1]=='x' && numbers[2]=='x')||
(numbers[3]=='x' && numbers[4]=='x' && numbers[5]=='x')||
(numbers[6]=='x' && numbers[7]=='x' && numbers[8]=='x'))
{
cout<<endl<<" ** you win **"<<endl;
return 0;
}
else if ((numbers[0]=='x'&& numbers[3]=='x' && numbers[6]=='x')||
(numbers[1]=='x'&& numbers[4]=='x' && numbers[7]=='x')||
(numbers[2]=='x'&& numbers[5]=='x' && numbers[8]=='x')){
cout<<endl<<" ** you win **"<<endl;
return 0;
}
else if ((numbers[0]=='x'&& numbers[4]=='x' && numbers[8]=='x')||
(numbers[2]=='x'&& numbers[4]=='x' && numbers[6]=='x')){
cout<<endl<<" ** you win **"<<endl;
return 0;
}
}
void Movment(){
do{
o=rand()%9;
}while (numbers[o]=='x'|| numbers[o]=='o');
numbers[o]='o';
}

void main()
{
int i=1;
do{

display();
choose();
Movment();
winnerX();
}while(winnerX()!=0);
display();
}
#include <stdlib.h>

وشكرا لكم وبانتظاركم

#2

Where are U plz ?!!!

#3

بخصوص نقطة الخروج من البرنامج, ممكن تحطيها فى دالة choose و تشوفى لو المستخدم دخل q مثﻻ تعملى exit() غير كدة تحطى قيمة ال input دا فى choice, يعنى حيبقى حاجة شبه كدة

void choose(){
char temp_input;
cout<<"enter your choise"<<endl;
//cin>>choice;

cin >> temp_input;
if (temp_input == 'q')	exit(0);
else if (isdigit(temp_input) != 0)
{
	choice = atoi(temp_input);
	if (choice > 9)
	cout<<endl<<"sorry try again";
	............
}
else
	 cout << "not a valid choice\n";
	 ..........

أما بخصوص الذكاء فقصدك إيه؟ الذكاء دا بيبقى فى الخوارزمية اللى إنتى بتتبعيها علشان تخلى الكمبيوتر يحط ال o بتاعته, و الموضوع دا مش سهل عايز خوارزمية محكمة, لو فهمتينا إيه الخوارزمية اللى إنتى متبعاها هنا ممكن نساعدك فى تطويرها.

#4

مشكور أخوي طيب وبخصوص اذا محد فاز شلون اخليه يطلع

مسج nobody won

ولك كل الشكر

#5

إخواني عندي مشكله بعد هني ياااريت لو تحلونها لي بسرعه ضرووووري

وهي يوم يفوز اللاعب يطلع له congragulation you won

مرتين وآنا بس ابغاها مره

وايضا يطلع البورد النهائي وآنا بس ابغى يطلع له هذا المسج

تكفووون ابي مساعدتكم الحين لإني لازم اسلم الواجب اليوم

شكرا لكم

#6
اقتباس
محد فاز شلون اخليه يطلع

مسج nobody won

حيبقى بإضافة else فى الدالة WinnerX فى حالة إن مفيش وﻻ شرط يتحقق يطلع المسج اللى إنتى عايزاها.

اقتباس
وايضا يطلع البورد النهائي وآنا بس ابغى يطلع له هذا المسج

علشان فى display بعد ال while فى الدالة main

اقتباس
وهي يوم يفوز اللاعب يطلع له congragulation you won

مرتين وآنا بس ابغاها مره

علشان إنتى كاتبة WinnerX مرة جوة اللووب و مرة جوة ال condition بتاع ال while فهى بتتنفذ مرتين فى كل لفة, و أعتقد إن كفاية إنك تناديها جوة ال condition فقط.

#7

مشكووور أخوي ويعطيك ألف عااافيه

وياااليت لو يتم حذف الموضوع للسريه ولكم كل الشكر والتقدير

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…