Մոլեխաղերը մարդկանց համար հասանելի ժամանցի ձևերից մեկն է: Բոլոր տեսակի խաղերը հասանելի են առցանց՝ շարժական սարքերով, աշխատասեղան համակարգիչներով և այլն: Այժմ այդ դժվար խաղերից մեկը ստեղծելու ժամանակը չէ:
Python-ի օգնությամբ մենք կպատրաստենք CLI tic-tac-toe խաղ: Եկեք օգտագործենք Python-ը պարզ Tic Tac Toe խաղ կառուցելու համար: Այն կօգնի ձեզ ստեղծել խաղի տրամաբանություն և սովորել, թե ինչպես կազմակերպել կոդը:
Տիկ-տաճ-թիթեղ
Նախքան կոդավորումը սկսելը, ես մտածեցի, որ արագ կամփոփեմ խաղը և կքննարկեմ այն զարգացնելու իմ ծրագիրը:
Նախ, մենք կհաստատենք այն ենթադրությունը, որ X-երը միշտ նախաձեռնող են և առաջ են շարժվում՝ օգտատիրոջը գործելու հնարավորություն տալով:
Վահանակից մուտքագրվելու է թիվ 1-ից 9-ի միջև: Ցանցում, որտեղ յուրաքանչյուր թիվ համապատասխանում է մեկ այլ թվի (վերևի ձախը 1 է, ներքևի աջը՝ 9):
Համակարգիչը ավտոմատ կերպով կորոշի և կկատարի իր քայլը, երբ օգտագործողը շարժվի: Մեկ հիմնական խաղ հանգույց, որը կանչում է մի շարք տարբեր առօրյաներ, կօգտագործվի իմ կողմից:
Թե որ գործառույթն է ավարտվում, հավանաբար նշված է այս տեքստի վրա հիմնված դասի յուրաքանչյուր վերնագրում:
Խորհրդի ձևավորում
Մենք կպատկերենք մեր տախտակը ցանցային դասավորության միջոցով, ինչպես ես նշեցի նախկինում: Դա անելու համար մենք Python-ում կկազմենք տախտակ անունով ցուցակ, և այն կսկսվի 10 դատարկ արժեքներով:
Քանի որ օգտատերը կարող է մուտքագրել միայն 1-ից 9-ը, այլ ոչ թե 0-ից 8-ը, մենք ունենք 10 դատարկ արժեք, քան 9-ը: Այսպիսով, պարզեցնելու համար մենք մեր ցուցակի առաջին մուտքին կտանք «դատարկ տեքստ» արժեքը:
Այս կերպ մենք կարող ենք օգտագործել 1–9-ը 0–8-ի փոխարեն՝ մեր ցուցակի գրառումները ինդեքսավորելու համար:
insertLetter ()
Letter-ը և Pos-ը կլինեն այս ֆունկցիայի երկու մուտքերը: Այն կտեղադրի միայն պահանջված նամակը պահանջվող վայրում:
տարածքԱնվճար (pos)
Պարզապես, այս մեթոդը մեզ կտեղեկացնի, եթե նշված տարածքը ազատ է: Հետևաբար, այնտեղ արդեն նամակ չկա։ Pos-ը՝ նրա միակ արգումենտը, կլինի 1-ի և 9-ի միջև եղած ամբողջ թիվ:
տպագիր տախտակ (տախտակ)
Տախտակն ուղարկվում է որպես փաստարկ այս մեթոդին, որն այն ցուցադրում է վահանակի վրա:
isWinner ()
Հիմնվելով ներկա գրատախտակի վրա՝ այս գործառույթը մեզ կտեղեկացնի, թե արդյոք տրված նամակը հաղթել է: Այն ունի երկու պարամետր՝ le և board (տառ):
Այն պետք է լինի «X» կամ «O»: Պարզապես նայեք՝ տեսնելու համար, թե արդյոք նշված տառը առկա է գրատախտակի յուրաքանչյուր հավանական հաղթող տողի վրա:
հիմնական ()
Երբ մենք ցանկանում ենք սկսել խաղը, մենք կկոչենք այս մեթոդը: Այն կկանչի մեր ծրագրի բազմաթիվ գործառույթներից յուրաքանչյուրը և կուղղորդի, թե ինչպես պետք է գործարկվի ծրագիրը:
isBoardFull ()
Երբ որպես մուտքագրում տրվում է, այս մեթոդը պարզապես կվերադարձնի True, եթե տախտակը լիքն է, իսկ հակառակ դեպքում՝ False:
խաղացողի տեղափոխում ()
Այս մեթոդով մենք օգտատիրոջից կպահանջենք տեղափոխում և վավերացնում ենք այն: Նամակը կավելացվի գրատախտակին, եթե քայլը օրինական է: Եթե ոչ, մենք կշարունակենք պահանջել օգտատիրոջ կարծիքը:
CompMove () – AI
AI-ն այժմ կսկսվի: Համակարգիչների շարժումը կվերահսկվի այս ֆունկցիայի միջոցով։ Այն կգնահատի խաղատախտակը և կընտրի լավագույն քայլը:
Ստորև ներկայացված է ալգորիթմի ցանկը, որը մենք կօգտագործենք դա անելու համար:
- Եթե ընթացիկ քայլը հնարավոր չէ ավարտել, անցեք հետևյալին:
- Եթե կարող եք, կատարեք հաղթական քայլը:
- Տեղափոխեք այդ դիրքը հետևյալ շրջադարձով, եթե խաղացողը պոտենցիալ հաղթական քայլ ունի:
- Ընտրեք մի անկյուն և շրջեք այն: Ընտրեք պատահականորեն, եթե կան մի քանի տարբերակներ:
- Տեղադրեք ձեզ մեջտեղում:
- Դիտարկենք եզրերից մեկը: Ընտրեք պատահականորեն, եթե կան մի քանի տարբերակներ:
- Եթե շարժվելու հնարավորություն չկա, խաղն ավարտվում է ոչ-ոքի:
ընտրել Պատահական ()
Հաշվի առնելով պոտենցիալ վայրերի ցանկը՝ այս ֆունկցիան պատահականորեն կընտրի այն գործողությունը, որը պետք է կատարվի:
Խաղի սկիզբը
Խաղն այժմ կարելի է սկսել հիմա, երբ մենք ավարտել ենք մեր բոլոր առաջադրանքները: Այն ամենը, ինչ մենք պետք է անենք, այն է, որ զանգահարենք հիմնականը, եթե միայն մեկ անգամ ցանկանայինք գործարկել խաղը:
Բայց մեր իրավիճակում մենք ցանկանում ենք, որ խաղը շարունակի գործել այնքան ժամանակ, մինչև օգտատերը որոշի, որ այլևս չի ցանկանում խաղալ, այնպես որ մենք կավելացնենք մի փոքր while հանգույց հիմնական գծում:
Ամբողջական կոդը
Ահա մեր խաղի ամբողջ կոդը, որն այժմ ավարտված է:
Արտադրողականություն
Եզրափակում
Hurrah!
Խաղ, որը դուք ամբողջությամբ պատրաստել եք զրոյից: Դա խաղ չէ, որ մենք կանոնավոր կերպով խաղում ենք: Բայց դա օգնում է տրամաբանության գրմանը և կոդի հստակ կառուցվածքի պահպանմանը:
Ուրախ կոդավորում:
Թողնել գրառում