Spēles ir viens no cilvēkiem pieejamajiem izklaides veidiem. Visu veidu spēles ir pieejamas tiešsaistē, mobilajās ierīcēs, galddatoros utt. Tagad nav īstais laiks izveidot kādu no šīm izaicinošajām spēlēm.
Izmantojot Python, mēs izveidosim CLI tic-tac-toe spēli. Izmantosim Python, lai izveidotu vienkāršu Tic Tac Toe spēli. Tas palīdzēs jums izveidot spēles loģiku un iemācīties organizēt kodu.
Desas spēle
Pirms sākam kodēt, es domāju, ka ātri apkopošu spēli un pārrunāšu savu plānu tās izstrādei.
Pirmkārt, mēs izveidosim pieņēmumu, ka X vienmēr uzņemas iniciatīvu un virzās pirmais, dodot lietotājam iespēju rīkoties.
No konsoles tiks ievadīts skaitlis no 1 līdz 9. Režģī, kur katrs cipars atbilst citam skaitlim (augšējā kreisajā pusē ir 1, apakšējā labajā ir 9).
Dators automātiski noteiks un veiks pārvietošanos, tiklīdz lietotājs pārvietosies. Es izmantošu vienu galveno spēles cilpu, kas izsauc vairākas dažādas rutīnas.
Kura funkcija tiek pabeigta, iespējams, ir norādīta katrā šīs teksta nodarbības galvenē.
Plātnes projektēšana
Mēs attēlosim savu dēli, izmantojot režģa izkārtojumu, kā es norādīju iepriekš. Lai to izdarītu, mēs izveidosim sarakstu ar nosaukumu board Python, un tas sāksies ar 10 tukšām vērtībām.
Tā kā lietotājs var ievadīt tikai ciparus no 1 līdz 9, nevis no 0 līdz 8, mums ir 10 tukšas vērtības, nevis 9. Tāpēc, lai vienkāršotu lietas, saraksta pirmajam ierakstam piešķirsim vērtību “tukšs teksts”.
Tādā veidā mēs varam izmantot 1–9, nevis 0–8, lai indeksētu ierakstus mūsu sarakstā.
insertBurts()
Burts un pozīcija būs divas šīs funkcijas ievades. Tas tikai ievietos pieprasīto vēstuli pieprasītajā vietā.
spaceIsFree(poz)
Vienkārši sakot, šī metode mūs informēs, ja norādītā zona ir brīva. Tāpēc tur jau nav vēstules. Pos, tās vienīgais arguments, būs vesels skaitlis no 1 līdz 9.
drukas tāfele (dēlis)
Tāfele tiek nosūtīta kā arguments šai metodei, kas to parāda konsolē.
ir Uzvarētājs ()
Pamatojoties uz pašreizējo paneli, šī funkcija mums paziņos, vai piegādātā vēstule ir uzvarējusi. Tam ir divi parametri: le un board (burts).
Tam ir jābūt “X” vai “O”. Vienkārši paskatieties, vai norādītais burts ir uz katras iespējamās laimesta līnijas uz galda.
Galvenais ()
Kad mēs vēlamies sākt spēli, mēs saucam šo metodi. Tas izsauks katru no mūsu programmas daudzajām funkcijām un norādīs, kā programmai ir jādarbojas.
isBoardFull()
Ja šī metode tiek ievadīta kā ievade, tā vienkārši atgriezīs vērtību True, ja dēlis ir pilns, un False pretējā gadījumā.
playerMove()
Izmantojot šo metodi, mēs pieprasīsim lietotāja pārvietošanu un apstiprināsim to. Vēstule tiks pievienota tāfelei, ja kustība būs likumīga. Ja nē, mēs turpināsim pieprasīt lietotāja atsauksmes.
CompMove() - AI
AI tagad sāksies. Šī funkcija kontrolēs datoru kustību. Tā novērtēs dēli un izvēlēsies labāko kustību.
Tālāk ir sniegts algoritmu saraksts, ko izmantosim, lai to izdarītu.
- Ja pašreizējo darbību nevar pabeigt, pārejiet uz nākamo.
- Ja iespējams, veiciet uzvaru.
- Pārejiet uz šo pozīciju nākamajā gājienā, ja spēlētājam ir potenciāli uzvarošs gājiens.
- Izvēlieties stūri un pagrieziet to. Izvēlieties nejauši, ja ir vairākas iespējas.
- Novietojiet sevi pa vidu.
- Apsveriet vienu no malām. Izvēlieties nejauši, ja ir vairākas iespējas.
- Ja nav iespējas pārvietoties, spēle beidzas ar neizšķirtu.
izvēlieties Random()
Ņemot vērā iespējamo atrašanās vietu sarakstu, šī funkcija nejauši izvēlēsies veicamo darbību.
Spēles sākums
Spēli tagad var sākt, kad esam pabeiguši visus savus uzdevumus. Viss, kas mums būtu jādara, ir jāizsauc galvenais, ja mēs tikai vēlamies vienreiz palaist spēli.
Taču mūsu situācijā mēs vēlamies, lai spēle turpinātu darboties, līdz lietotājs nolemj, ka vairs nevēlas spēlēt, tāpēc galvenajai līnijai pievienosim nelielu while cilpu.
Pilnīgs kods
Šeit ir viss mūsu spēles kods, kas tagad ir pabeigts.
izvade
Secinājumi
Urā!
Spēle, kuru jūs pilnībā izveidojāt no nulles. Tā nav spēle, ko mēs spēlējam regulāri. Bet tas palīdz rakstīt loģiku un uzturēt skaidru koda struktūru.
Laimīgu kodēšanu!
Atstāj atbildi