ആളുകൾക്ക് ലഭ്യമായ വിനോദത്തിന്റെ ഒരു രൂപമാണ് ഗെയിമിംഗ്. എല്ലാ തരത്തിലുമുള്ള ഗെയിമുകൾ ഓൺലൈനിലും മൊബൈലിലും ഡെസ്ക്ടോപ്പ് കമ്പ്യൂട്ടറുകളിലും മറ്റും ലഭ്യമാണ്. ആ വെല്ലുവിളി നിറഞ്ഞ ഗെയിമുകളിലൊന്ന് സൃഷ്ടിക്കാനുള്ള സമയമല്ല ഇപ്പോൾ.
പൈത്തൺ ഉപയോഗിച്ച്, ഞങ്ങൾ ഒരു CLI tic-tac-toe ഗെയിം ഉണ്ടാക്കും. നേരായ ടിക് ടോക് ടോ ഗെയിം നിർമ്മിക്കാൻ നമുക്ക് പൈത്തൺ ഉപയോഗിക്കാം. ഗെയിം ലോജിക് സൃഷ്ടിക്കുന്നതിനും കോഡ് എങ്ങനെ ഓർഗനൈസ് ചെയ്യാമെന്ന് പഠിക്കുന്നതിനും ഇത് നിങ്ങളെ സഹായിക്കും.
ടിക്-ടാക്-ടോ
ഞങ്ങൾ കോഡിംഗ് ആരംഭിക്കുന്നതിന് മുമ്പ്, ഗെയിം വേഗത്തിൽ സംഗ്രഹിക്കാനും അത് വികസിപ്പിക്കുന്നതിനുള്ള എന്റെ പ്ലാൻ ചർച്ച ചെയ്യാനും ഞാൻ കരുതി.
ആദ്യം, Xs എല്ലായ്പ്പോഴും മുൻകൈയെടുക്കുകയും ആദ്യം നീങ്ങുകയും ചെയ്യുമെന്ന അനുമാനം ഞങ്ങൾ സ്ഥാപിക്കും, ഇത് ഉപയോക്താവിന് പ്രവർത്തിക്കാനുള്ള അവസരം നൽകുന്നു.
കൺസോളിൽ നിന്ന്, 1 നും 9 നും ഇടയിലുള്ള ഒരു നമ്പർ ഇൻപുട്ട് ചെയ്യും. ഓരോ സംഖ്യയും മറ്റൊരു സംഖ്യയുമായി പൊരുത്തപ്പെടുന്ന ഗ്രിഡിൽ (മുകളിൽ ഇടത് 1, താഴെ വലത് 9).
ഉപയോക്താവ് നീങ്ങുമ്പോൾ കമ്പ്യൂട്ടർ യാന്ത്രികമായി നിർണ്ണയിക്കുകയും അതിന്റെ നീക്കം നടത്തുകയും ചെയ്യും. വിവിധ ദിനചര്യകൾ വിളിക്കുന്ന ഒരു പ്രാഥമിക ഗെയിം ലൂപ്പ് ഞാൻ ഉപയോഗിക്കും.
ഏത് ഫംഗ്ഷൻ പൂർത്തിയാക്കുന്നു എന്നത് ഈ ടെക്സ്റ്റ് അധിഷ്ഠിത പാഠത്തിന്റെ ഓരോ തലക്കെട്ടിലും സൂചിപ്പിച്ചിരിക്കാം.
ഒരു ബോർഡ് രൂപകൽപ്പന ചെയ്യുന്നു
ഞാൻ മുമ്പ് സൂചിപ്പിച്ചതുപോലെ, ഒരു ഗ്രിഡ് ലേഔട്ട് ഉപയോഗിച്ച് ഞങ്ങൾ ഞങ്ങളുടെ ബോർഡ് ചിത്രീകരിക്കും. ഇത് ചെയ്യുന്നതിന് പൈത്തണിൽ ബോർഡ് എന്ന് പേരുള്ള ഒരു ലിസ്റ്റ് ഞങ്ങൾ ഉണ്ടാക്കും, അത് 10 ശൂന്യമായ മൂല്യങ്ങളിൽ ആരംഭിക്കും.
ഉപയോക്താവിന് 1 മുതൽ 9 വരെയുള്ള അക്കങ്ങൾ മാത്രമേ നൽകാനാവൂ, 0 മുതൽ 8 വരെയുള്ള അക്കങ്ങൾ മാത്രമേ നൽകാനാവൂ, 10-നേക്കാൾ 9 ശൂന്യമായ മൂല്യങ്ങൾ നമുക്കുണ്ട്. അതിനാൽ, കാര്യങ്ങൾ ലളിതമാക്കുന്നതിന്, ഞങ്ങളുടെ ലിസ്റ്റിന്റെ ആദ്യ എൻട്രിക്ക് “ശൂന്യമായ വാചകം” എന്ന മൂല്യം നൽകും.
ഈ രീതിയിൽ, ഞങ്ങളുടെ ലിസ്റ്റിലെ എൻട്രികൾ സൂചികയിലാക്കാൻ 1-9-ന് പകരം 0-8 ഉപയോഗിക്കാം.
ഇൻസേർട്ട് ലെറ്റർ()
ലെറ്ററും പോസും ഈ ഫംഗ്ഷനുള്ള രണ്ട് ഇൻപുട്ടുകളായിരിക്കും. ഇത് ആവശ്യപ്പെട്ട സ്ഥലത്ത് മാത്രം ആവശ്യപ്പെട്ട കത്ത് ഇടും.
സ്പെയ്സ് ഫ്രീ(പോസ്)
ലളിതമായി പറഞ്ഞാൽ, നിർദ്ദിഷ്ട പ്രദേശം സൗജന്യമാണെങ്കിൽ ഈ രീതി ഞങ്ങളെ അറിയിക്കും. അതിനാൽ, ഇതിനകം ഒരു കത്തും ഇല്ല. പോസ്, അതിന്റെ ഏക വാദം, 1 നും 9 നും ഇടയിലുള്ള ഒരു പൂർണ്ണസംഖ്യയായിരിക്കും.
പ്രിന്റ്ബോർഡ്(ബോർഡ്)
ഈ രീതിക്ക് ഒരു ആർഗ്യുമെന്റായി ബോർഡ് അയച്ചു, അത് കൺസോളിൽ പ്രദർശിപ്പിക്കുന്നു.
വിജയി()
നിലവിലെ ബോർഡിനെ അടിസ്ഥാനമാക്കി, നൽകിയ കത്ത് വിജയിച്ചിട്ടുണ്ടോ എന്ന് ഈ ഫംഗ്ഷൻ ഞങ്ങളെ അറിയിക്കും. ഇതിന് രണ്ട് പാരാമീറ്ററുകളുണ്ട്: le, ബോർഡ് (അക്ഷരം).
അത് ഒരു "X" അല്ലെങ്കിൽ ഒരു "O" ആയിരിക്കണം. ബോർഡിലെ വിജയസാധ്യതയുള്ള ഓരോ വരിയിലും നിർദ്ദിഷ്ട അക്ഷരം ഉണ്ടോ എന്ന് നോക്കുക.
പ്രധാന ()
ഞങ്ങൾ ഗെയിം ആരംഭിക്കാൻ ആഗ്രഹിക്കുമ്പോൾ, ഞങ്ങൾ ഈ രീതിയെ വിളിക്കും. ഇത് ഞങ്ങളുടെ പ്രോഗ്രാമിന്റെ നിരവധി ഫംഗ്ഷനുകളിൽ ഓരോന്നിനെയും വിളിക്കുകയും പ്രോഗ്രാം എങ്ങനെ പ്രവർത്തിക്കണമെന്ന് നിർദ്ദേശിക്കുകയും ചെയ്യും.
isBoardFull()
ഒരു ഇൻപുട്ടായി നൽകുമ്പോൾ, ഈ രീതി ബോർഡ് നിറഞ്ഞതാണെങ്കിൽ True എന്നും അല്ലാത്തപക്ഷം False എന്നും നൽകും.
പ്ലേയർ മൂവ്()
ഈ രീതിയിൽ, ഞങ്ങൾ ഉപയോക്താവിൽ നിന്ന് ഒരു നീക്കം അഭ്യർത്ഥിക്കുകയും അത് സാധൂകരിക്കുകയും ചെയ്യും. നീക്കം നിയമാനുസൃതമാണെങ്കിൽ കത്ത് ബോർഡിൽ ചേർക്കും. ഇല്ലെങ്കിൽ, ഞങ്ങൾ ഉപയോക്താവിന്റെ ഫീഡ്ബാക്ക് അഭ്യർത്ഥിക്കുന്നത് തുടരും.
CompMove() - AI
AI ഇപ്പോൾ ആരംഭിക്കും. ഈ ഫംഗ്ഷൻ വഴി കമ്പ്യൂട്ടറുകളുടെ ചലനം നിയന്ത്രിക്കും. ഇത് ബോർഡിനെ വിലയിരുത്തുകയും മികച്ച നീക്കം തിരഞ്ഞെടുക്കുകയും ചെയ്യും.
ഇത് ചെയ്യുന്നതിന് ഞങ്ങൾ ഉപയോഗിക്കുന്ന അൽഗോരിതത്തിന്റെ ഒരു ലിസ്റ്റ് ചുവടെയുണ്ട്.
- നിലവിലെ ഘട്ടം പൂർത്തിയാക്കാൻ കഴിയുന്നില്ലെങ്കിൽ, ഇനിപ്പറയുന്നതിലേക്ക് പോകുക.
- നിങ്ങൾക്ക് കഴിയുമെങ്കിൽ വിജയകരമായ നീക്കം നടത്തുക.
- കളിക്കാരന് വിജയിക്കാൻ സാധ്യതയുള്ള നീക്കമുണ്ടെങ്കിൽ, ഇനിപ്പറയുന്ന ടേണിൽ ആ സ്ഥാനത്തേക്ക് നീങ്ങുക.
- ഒരു മൂല തിരഞ്ഞെടുത്ത് അത് തിരിക്കുക. നിരവധി ഓപ്ഷനുകൾ ഉണ്ടെങ്കിൽ ക്രമരഹിതമായി തിരഞ്ഞെടുക്കുക.
- സ്വയം മധ്യത്തിൽ വയ്ക്കുക.
- അരികുകളിൽ ഒന്ന് പരിഗണിക്കുക. നിരവധി ഓപ്ഷനുകൾ ഉണ്ടെങ്കിൽ ക്രമരഹിതമായി തിരഞ്ഞെടുക്കുക.
- നീങ്ങാൻ വഴിയില്ലെങ്കിൽ, കളി ടൈയിൽ അവസാനിക്കും.
തിരഞ്ഞെടുക്കുക റാൻഡം()
സാധ്യതയുള്ള ലൊക്കേഷനുകളുടെ ഒരു ലിസ്റ്റ് നൽകിയാൽ, ഈ ഫംഗ്ഷൻ എടുക്കേണ്ട നടപടി ക്രമരഹിതമായി തിരഞ്ഞെടുക്കും.
കളിയുടെ തുടക്കം
ഞങ്ങളുടെ എല്ലാ ജോലികളും പൂർത്തിയാക്കിയതിനാൽ ഇപ്പോൾ ഗെയിം ആരംഭിക്കാം. ഒരിക്കൽ ഗെയിം പ്രവർത്തിപ്പിക്കണമെങ്കിൽ മെയിൻ വിളിക്കുക മാത്രമാണ് ഞങ്ങൾ ചെയ്യേണ്ടത്.
എന്നാൽ ഞങ്ങളുടെ സാഹചര്യത്തിൽ, ഉപയോക്താവ് ഇനി കളിക്കേണ്ടതില്ലെന്ന് തീരുമാനിക്കുന്നത് വരെ ഗെയിം പ്രവർത്തിക്കുന്നത് തുടരണമെന്ന് ഞങ്ങൾ ആഗ്രഹിക്കുന്നു, അതിനാൽ ഞങ്ങൾ പ്രധാന ലൈനിലേക്ക് ഒരു ചെറിയ ലൂപ്പ് ചേർക്കും.
കോഡ് പൂർത്തിയാക്കുക
ഞങ്ങളുടെ ഗെയിമിന്റെ മുഴുവൻ കോഡും ഇതാ, അത് ഇപ്പോൾ പൂർത്തിയായി.
ഔട്ട്പുട്ട്
തീരുമാനം
ഹുറേ!
നിങ്ങൾ പൂർണ്ണമായും ആദ്യം മുതൽ ഉണ്ടാക്കിയ ഒരു ഗെയിം. നമ്മൾ സ്ഥിരമായി കളിക്കുന്ന കളിയല്ല. എന്നാൽ ഇത് യുക്തിയുടെ രചനയ്ക്കും കോഡിലെ വ്യക്തമായ ഘടന നിലനിർത്തുന്നതിനും സഹായിക്കുന്നു.
സന്തോഷകരമായ കോഡിംഗ്!
നിങ്ങളുടെ അഭിപ്രായങ്ങൾ രേഖപ്പെടുത്തുക