|
rasm. YO’naltiruvchi oyna
Xulosa
|
səhifə | 2/3 | tarix | 23.06.2023 | ölçüsü | 65,63 Kb. | | #134563 |
| Saidakbar Umarov 8 -amaliy ish. Mavzu qidiruv beam search algor
rasm. YO’naltiruvchi oyna
Xulosa
Qidiruv algoritmlarining juda kо‘plab turlari mavjud bо‘lib, lekin ularning hammasi bitta narsaga natijani olishga qaratilgan. Shu algoritmlaridan biri Beam search hisoblanadi. Xulosa qilib aytadigan bо‘lsak bu laboratoriya ishida biz qidiruv algotimining yana bir turi haqida ma’lumotga ega bо‘ldik. Bu algoritm orqali natijani tez va qulay usulda olishimiz mumkin.
Dasturi. #include #include #include
char square[10] = {‘o‘,’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’};
int checkwin(); void board(); int main()
{ int player = 1,i,choice; char mark; system("cls");
do {
board(); player=(player%2)?1:2;
std::cout << "Player " << player << ", enter a number: "; std::cin >> choice;
mark=(player == 1) ? ‘X’ : ‘O’;
if (choice == 1 && square[1] == ‘1’) square[1] = mark;
else if (choice == 2 && square[2] == ‘2’) square[2] = mark;
else if (choice == 3 && square[3] == ‘3’) square[3] = mark;
else if (choice == 4 && square[4] == ‘4’)
square[4] = mark;
else if (choice == 5 && square[5] == ‘5’) square[5] = mark;
else if (choice == 6 && square[6] == ‘6’) square[6] = mark;
else if (choice == 7 && square[7] == ‘7’) square[7] = mark;
else if (choice == 8 && square[8] == ‘8’) square[8] = mark;
else if (choice == 9 && square[9] == ‘9’) square[9] = mark;
else
{ std::cout<<"Invalid move "; player--;
getch(); }
i=checkwin(); player++;
}while(i==-1); board(); if(i==1)
std::cout<<"==>\aPlayer "<<--player<<" win ";
else
std::cout<<"==>\aGame draw";
getch(); return 0;}
int checkwin()
{ if (square[1] == square[2] && square[2] == square[3]) return 1;
else if (square[4] == square[5] && square[5] == square[6]) return 1;
else if (square[7] == square[8] && square[8] == square[9]) return 1;
else if (square[1] == square[4] && square[4] == square[7]) return 1;
else if (square[2] == square[5] && square[5] == square[8]) return 1;
else if (square[3] == square[6] && square[6] == square[9]) return 1;
else if (square[1] == square[5] && square[5] == square[9]) return 1;
else if (square[3] == square[5] && square[5] == square[7]) return 1;
else if (square[1] != ‘1’ && square[2] != ‘2’ && square[3] != ‘3’ && square[4] != ‘4’ && square[5] != ‘5’ && square[6] != ‘6’ &&
square[7] != ‘7’ && square[8] != ‘8’ && square[9] != ‘9’)
else
return 0;
return -1;
}void board()
{
system("cls");
std::cout << "\n\n\tTic Tac Toe\n\n";
std::cout << "Player 1 (X) - Player 2 (O)" << "\n"; std::cout << "\n";
std::cout << " | | " << "\n";
std::cout << " " << square[1] << " | " << square[2] << " | " << square[3]
<< "\n";
std::cout << " | | " << "\n";
std::cout << " | | " << "\n";
std::cout << " " << square[4] << " | " << square[5] << " | " << square[6]
<< "\n";
std::cout << " | | " << "\n";
std::cout << " | | " << "\n";
std::cout << " " << square[7] << " | " << square[8] << " | " << square[9]
<< "\n";
std::cout << " | | " << "\n" << "\n";
}
rasm. Natija oynasi
Dostları ilə paylaş: |
|
|