ጨዋታ ለሰዎች የሚገኝ መዝናኛ አንዱ ነው። ሁሉም አይነት ጨዋታዎች በመስመር ላይ፣ በሞባይል መሳሪያዎች፣ በዴስክቶፕ ኮምፒውተሮች ላይ ወዘተ ይገኛሉ። ከእነዚህ ፈታኝ ጨዋታዎች ውስጥ አንዱን ለመፍጠር ጊዜው አሁን አይደለም።
Pythonን በመጠቀም፣ CLI tic-tac-toe ጨዋታ እንሰራለን። ቀጥ ያለ የቲክ ታክ ጣት ጨዋታን ለመገንባት Pythonን እንጠቀም። የጨዋታ አመክንዮ ለመፍጠር እና ኮድን እንዴት ማደራጀት እንደሚችሉ ለመማር ይረዳዎታል።
Tic-Tac-Toe
ኮድ ማድረግ ከመጀመራችን በፊት ጨዋታውን በፍጥነት ላጠቃልለው እና እሱን ለማዳበር ያለኝን እቅድ ለመወያየት አስቤ ነበር።
በመጀመሪያ፣ Xs ሁልጊዜ ተነሳሽነቱን እንደሚወስድ እና መጀመሪያ እንዲንቀሳቀስ፣ ተጠቃሚው እንዲሰራ እድል እንሰጣለን የሚለውን ግምት እንፈጥራለን።
ከኮንሶሉ ላይ በ1 እና በ9 መካከል ያለው ቁጥር ይገባል ። እያንዳንዱ ቁጥር ከተለየ ቁጥር ጋር በሚመሳሰልበት ፍርግርግ ውስጥ (ከላይ በስተግራ 1 ነው, ከታች በስተቀኝ 9 ነው).
ኮምፒዩተሩ ተጠቃሚው ከተንቀሳቀሰ በኋላ በራስ-ሰር ይወስናል እና እንቅስቃሴውን ያደርጋል። በርካታ የተለያዩ ልማዶችን የሚጠራ አንድ የመጀመሪያ ደረጃ ጨዋታ ምልልስ በእኔ ጥቅም ላይ ይውላል።
የትኛው ተግባር እየተጠናቀቀ ነው ምናልባት በዚህ ጽሑፍ ላይ የተመሰረተ ትምህርት በእያንዳንዱ ርዕስ ላይ ተጠቁሟል።
ቦርድ መንደፍ
ቀደም ብዬ እንዳመለከትኩት ሰሌዳችንን የፍርግርግ አቀማመጥን በመጠቀም እናሳያለን። ይህንን ለማድረግ በፓይዘን ውስጥ የተሰየመ ሰሌዳ እንሰራለን እና በ10 ባዶ እሴቶች ይጀምራል።
ተጠቃሚው ከ 1 እስከ 9 ቁጥሮችን ብቻ ማስገባት ስለሚችል ከ 0 እስከ 8 ሳይሆን ከ 10 ይልቅ 9 ባዶ እሴቶች አሉን. ስለዚህ ነገሮችን ለማቃለል የዝርዝራችንን የመጀመሪያ መግቢያ ዋጋ "ባዶ ጽሑፍ" እንሰጣለን.
በዚህ መንገድ በዝርዝራችን ውስጥ ያሉትን ግቤቶች ለመጠቆም ከ1–9 ይልቅ 0–8 ልንጠቀም እንችላለን።
ማስገቢያ ደብዳቤ()
ደብዳቤ እና ፖስ ለዚህ ተግባር ሁለቱ ግብዓቶች ይሆናሉ። የተጠየቀውን ደብዳቤ በተጠየቀው ቦታ ላይ ብቻ ያስቀምጣል.
spaceIsFree(POS)
በቀላል አነጋገር, ይህ ዘዴ የተገለጸው ቦታ ነጻ ከሆነ ያሳውቀናል. ስለዚህ, እዚያ ምንም ደብዳቤ የለም. ፖስ፣ ብቸኛ መከራከሪያው፣ በ1 እና 9 መካከል ያለው ኢንቲጀር ይሆናል።
የህትመት ሰሌዳ (ቦርድ)
ቦርዱ ለዚህ ዘዴ እንደ ክርክር ይላካል, ይህም በኮንሶል ላይ ያሳያል.
አሸናፊ ()
አሁን ባለው ቦርድ ላይ በመመስረት ይህ ተግባር የቀረበው ደብዳቤ እንዳሸነፈ ያሳውቀናል። ሁለት መመዘኛዎች አሉት: le እና ቦርድ (ፊደል).
እሱ “X” ወይም “O” መሆን አለበት። የተገለጸው ፊደል በቦርዱ ላይ በእያንዳንዱ የአሸናፊነት መስመር ላይ መኖሩን ለማየት ብቻ ይመልከቱ።
ዋና ()
ጨዋታውን ለመጀመር ስንፈልግ ይህንን ዘዴ እንጠራዋለን. እያንዳንዱን የፕሮግራማችንን በርካታ ተግባራት በመጥራት ፕሮግራሙ እንዴት መካሄድ እንዳለበት ይመራዋል።
isBoardFull()
በመርከቡ ላይ እንደ ግብአት ሲሰጥ ይህ ዘዴ ቦርዱ ሞልቶ ከሆነ እና ካልሆነ በቀላሉ እውነት ይመለሳል.
playerMove()
በዚህ ዘዴ ከተጠቃሚው እንዲንቀሳቀስ እንጠይቃለን እና እናረጋግጣለን። እርምጃው ህጋዊ ከሆነ ደብዳቤው ወደ ቦርዱ ይታከላል. ካልሆነ የተጠቃሚውን አስተያየት መጠየቃችንን እንቀጥላለን።
CompMove () - AI
AI አሁን ይጀምራል። የኮምፒውተሮቹ እንቅስቃሴ በዚህ ተግባር ቁጥጥር ይደረግበታል። ቦርዱን ይገመግማል እና ለመስራት የተሻለውን እንቅስቃሴ ይመርጣል.
ይህንን ለማድረግ የምንጠቀምበት የአልጎሪዝም ዝርዝር የሚከተለው ነው።
- አሁን ያለው እርምጃ መጨረስ ካልቻለ ወደሚከተለው ይሂዱ።
- ከቻሉ አሸናፊውን ይውሰዱ።
- ተጫዋቹ ሊያሸንፍ የሚችል እንቅስቃሴ ካለው በሚከተለው ማዞሪያ ወደዚያ ቦታ ይሂዱ።
- አንድ ጥግ ምረጥ እና አዙረው. ብዙ አማራጮች ካሉ በዘፈቀደ ይምረጡ።
- እራስዎን መሃል ላይ ያስቀምጡ.
- አንዱን ጠርዝ አስቡበት. ብዙ አማራጮች ካሉ በዘፈቀደ ይምረጡ።
- መንቀሳቀስ የሚቻልበት መንገድ ከሌለ ጨዋታው በአቻ ውጤት ይጠናቀቃል።
የዘፈቀደ() ይምረጡ
ሊሆኑ የሚችሉ ቦታዎችን ዝርዝር ከሰጠን፣ ይህ ተግባር የሚወስደውን እርምጃ በዘፈቀደ ይመርጣል።
የጨዋታው መጀመሪያ
ሁሉንም ተግባሮቻችንን እንደጨረስን ጨዋታው አሁን ሊጀመር ይችላል። ጨዋታውን አንድ ጊዜ መሮጥ ከፈለግን ማድረግ ያለብን ዋናውን መደወል ብቻ ነው።
ነገር ግን በእኛ ሁኔታ፣ ተጠቃሚው መጫወት እንደማይፈልጉ እስኪወስን ድረስ ጨዋታው መሮጡን እንዲቀጥል እንፈልጋለን፣ ስለዚህ በዋናው መስመር ላይ ትንሽ ትንሽ ጊዜ እንጨምራለን ።
ሙሉ ኮድ
አሁን የተጠናቀቀው የኛ ጨዋታ ሙሉ ኮድ እነሆ።
ዉጤት
መደምደሚያ
አረጋጋ!
ሙሉ በሙሉ ከባዶ የሰሩት ጨዋታ። በመደበኛነት የምንጫወትበት ጨዋታ አይደለም። ነገር ግን አመክንዮ ለመጻፍ እና በኮድ ውስጥ ግልጽ የሆነ መዋቅርን ለመጠበቅ ይረዳል.
መልካም ኮድ መስጠት!
መልስ ይስጡ