සූදු යනු මිනිසුන්ට ලබා ගත හැකි විනෝදාස්වාදයේ එක් ආකාරයකි. සියලුම වර්ගවල ක්රීඩා මාර්ගගතව, ජංගම උපාංගවල, ඩෙස්ක්ටොප් පරිගණක ආදියෙහි තිබේ. දැන් එම අභියෝගාත්මක ක්රීඩාවලින් එකක් නිර්මාණය කිරීමට කාලය නොවේ.
Python භාවිතයෙන්, අපි CLI tic-tac-toe ක්රීඩාවක් සාදන්නෙමු. සරල ටික් ටැක් ටෝ ක්රීඩාවක් තැනීමට අපි පයිතන් භාවිතා කරමු. එය ඔබට ක්රීඩා තර්කනය නිර්මාණය කිරීමට සහ කේත සංවිධානය කරන ආකාරය ඉගෙන ගැනීමට සහාය වනු ඇත.
ටික්-ටැක්-ටෝ
අපි කේතීකරණය ආරම්භ කිරීමට පෙර, මම ඉක්මනින් ක්රීඩාව සාරාංශ කර එය සංවර්ධනය කිරීමේ මගේ සැලැස්ම සාකච්ඡා කිරීමට සිතුවෙමි.
පළමුව, අපි Xs සෑම විටම මූලිකත්වය ගෙන ප්රථමයෙන් ගමන් කරයි යන උපකල්පනය ස්ථාපිත කරන්නෙමු, පරිශීලකයාට ක්රියා කිරීමට අවස්ථාව ලබා දේ.
කොන්සෝලයෙන්, 1 සහ 9 අතර අංකයක් ආදානය කෙරේ. එක් එක් අංකය වෙනස් අංකයකට අනුරූප වන ජාලකය තුළ (ඉහළ වමේ 1, පහළ දකුණ 9).
පරිශීලකයා චලනය වූ පසු පරිගණකය ස්වයංක්රීයව තීරණය කර එහි චලනය සිදු කරයි. විවිධ චර්යාවන් ගණනාවක් අමතන එක් ප්රාථමික ක්රීඩා ලූපයක් මා විසින් භාවිතා කරනු ඇත.
කුමන කාර්යය අවසන් වන්නේද යන්න මෙම පෙළ පදනම් වූ පාඩමේ එක් එක් ශීර්ෂය තුළ බොහෝ විට දක්වා ඇත.
පුවරුවක් සැලසුම් කිරීම
මා කලින් සඳහන් කළ පරිදි, අපි අපගේ පුවරුව ජාල සැකැස්මක් භාවිතයෙන් නිරූපණය කරන්නෙමු. මෙය සිදු කිරීම සඳහා අපි Python හි පුවරුව නම් ලැයිස්තුවක් සාදන්නෙමු, එය හිස් අගයන් 10 කින් ආරම්භ වේ.
පරිශීලකයාට අංක 1 සිට 9 දක්වා පමණක් ඇතුළත් කළ හැකි නිසා, 0 සිට 8 දක්වා නොව, අපට ඇත්තේ 10ට වඩා හිස් අගයන් 9කි. එබැවින්, දේවල් සරල කිරීම සඳහා, අපි අපගේ ලැයිස්තුවේ පළමු ප්රවේශයට “හිස් පෙළ” අගය ලබා දෙමු.
මේ ආකාරයට, අපගේ ලැයිස්තුවේ ඇතුළත් කිරීම් සුචිගත කිරීමට 1-9 වෙනුවට 0-8 භාවිතා කළ හැක.
ඇතුල් ලිපිය ()
ලිපිය සහ Pos මෙම කාර්යය සඳහා යෙදවුම් දෙක වේ. එය ඉල්ලූ ලිපිය පමණක් ඉල්ලූ ස්ථානයේ තබනු ඇත.
spaceIsFree(pos)
සරලව කිවහොත්, මෙම ක්රමය මඟින් නිශ්චිත ප්රදේශය නොමිලේ නම් අපට දන්වනු ඇත. ඒ නිසා දැනටමත් එහි ලිපියක් නොමැත. Pos, එහි එකම තර්කය, 1 සහ 9 අතර පූර්ණ සංඛ්යාවක් වනු ඇත.
මුද්රණ පුවරුව (පුවරුව)
පුවරුව මෙම ක්රමයට තර්කයක් ලෙස යවනු ලැබේ, එය කොන්සෝලය මත පෙන්වයි.
ජයග්රාහකයා ()
වත්මන් පුවරුව මත පදනම්ව, සපයන ලද ලිපිය ජයග්රහණය කර ඇත්නම් මෙම කාර්යය අපට දන්වනු ඇත. එය පරාමිති දෙකක් ඇත: le සහ පුවරුව (ලිපිය).
එය "X" හෝ "O" විය යුතුය. පුවරුවේ එක් එක් විභව ජයග්රාහී රේඛාව මත නිශ්චිත ලිපිය තිබේදැයි බැලීමට සරලව බලන්න.
main ()
අපට ක්රීඩාව ආරම්භ කිරීමට අවශ්ය වූ විට, අපි මෙම ක්රමය ලෙස හඳුන්වමු. එය අපගේ වැඩසටහනේ බොහෝ කාර්යයන් අමතා වැඩසටහන ක්රියාත්මක විය යුතු ආකාරය මෙහෙයවනු ඇත.
isBoardFull()
ආදානයක් ලෙස බෝඩ් එකට ලබා දුන් විට, මෙම ක්රමය පුවරුව පිරී ඇත්නම් True සහ වෙනත් ආකාරයකින් False ලබා දෙයි.
playerMove()
මෙම ක්රමයේදී, අපි පරිශීලකයාගෙන් මාරුවක් ඉල්ලා එය වලංගු කරන්නෙමු. මෙම පියවර නීත්යානුකූල නම් පුවරුවට ලිපිය එකතු කරනු ලැබේ. එසේ නොවේ නම්, අපි පරිශීලකයාගේ ප්රතිපෝෂණය දිගටම ඉල්ලා සිටිමු.
CompMove () - AI
AI දැන් ආරම්භ වනු ඇත. මෙම කාර්යය මගින් පරිගණකවල චලනය පාලනය කරනු ලැබේ. එය පුවරුව ඇගයීමට ලක් කර හොඳම පියවර තෝරා ගනු ඇත.
පහත දැක්වෙන්නේ අපි මෙය කිරීමට භාවිතා කරන ඇල්ගොරිතම ලැයිස්තුවකි.
- වත්මන් පියවර අවසන් කළ නොහැකි නම්, පහත පියවර වෙත යන්න.
- ඔබට හැකි නම් ජයග්රාහී පියවර ගන්න.
- ක්රීඩකයාට ජයග්රාහී පියවරක් තිබේ නම් පහත හැරීමේදී එම ස්ථානයට යන්න.
- කෙළවරක් තෝරා එය හරවන්න. විකල්ප කිහිපයක් තිබේ නම් අහඹු ලෙස තෝරන්න.
- ඔබම මැද තබන්න.
- එක් දාරයක් සලකා බලන්න. විකල්ප කිහිපයක් තිබේ නම් අහඹු ලෙස තෝරන්න.
- චලනය වීමට ක්රමයක් නොමැති නම්, ක්රීඩාව සම තත්ත්වයෙන් අවසන් වේ.
තෝරන්න සසම්භාවී ()
විභව ස්ථාන ලැයිස්තුවක් ලබා දී ඇති අතර, මෙම ශ්රිතය අහඹු ලෙස ගත යුතු ක්රියාව තෝරා ගනු ඇත.
ක්රීඩාවේ ආරම්භය
අපගේ සියලු කාර්යයන් අවසන් කර ඇති බැවින් දැන් ක්රීඩාව ආරම්භ කළ හැකිය. අපට ක්රීඩාව එක් වරක් ධාවනය කිරීමට අවශ්ය නම් ප්රධාන ඇමතීමට අපට අවශ්ය වනු ඇත.
නමුත් අපගේ තත්වය තුළ, පරිශීලකයා තවදුරටත් ක්රීඩා කිරීමට අවශ්ය නැති බව තීරණය කරන තෙක් ක්රීඩාව දිගටම ක්රියාත්මක වීමට අපට අවශ්යය, එබැවින් අපි ප්රධාන රේඛාවට කුඩා ලුප් එකක් එක් කරන්නෙමු.
සම්පූර්ණ කේතය
මෙන්න අපේ ක්රීඩාව සඳහා සම්පූර්ණ කේතය, එය දැන් සම්පූර්ණයි.
ප්රතිදාන
නිගමනය
හුරේ!
ඔබ මුලුමනින්ම මුල සිටම සාදන ලද ක්රීඩාවක්. ඒක අපි හැමදාම කරන සෙල්ලමක් නෙවෙයි. නමුත් එය තර්කනය ලිවීමට සහ කේතයේ පැහැදිලි ව්යුහයක් පවත්වා ගැනීමට උපකාරී වේ.
සතුටු කේතනය!
ඔබමයි