Mavzu: qidiruv beam search algoritmi


rasm. YO’naltiruvchi oyna Xulosa



Yüklə 65,63 Kb.
səhifə2/3
tarix23.06.2023
ölçüsü65,63 Kb.
#134563
1   2   3
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";
}


    1. rasm. Natija oynasi




Yüklə 65,63 Kb.

Dostları ilə paylaş:
1   2   3




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin