ዝርዝር ሁኔታ:

የአርዱዲኖ ንካ ቲክ ታክ ጣት ጨዋታ 6 ደረጃዎች (ከስዕሎች ጋር)
የአርዱዲኖ ንካ ቲክ ታክ ጣት ጨዋታ 6 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የአርዱዲኖ ንካ ቲክ ታክ ጣት ጨዋታ 6 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የአርዱዲኖ ንካ ቲክ ታክ ጣት ጨዋታ 6 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: Arduino በከፊል ሲብራራ https://t.me/arduinoshopping 2024, ሰኔ
Anonim
Image
Image
የአርዱዲኖ ንካ ቲክ ታክ ጣት ጨዋታ
የአርዱዲኖ ንካ ቲክ ታክ ጣት ጨዋታ
የአርዱዲኖ ንካ ቲክ ታክ ጣት ጨዋታ
የአርዱዲኖ ንካ ቲክ ታክ ጣት ጨዋታ
የአርዱዲኖ ንካ ቲክ ታክ ጣት ጨዋታ
የአርዱዲኖ ንካ ቲክ ታክ ጣት ጨዋታ

ውድ ጓደኞቼ ወደ ሌላ የአርዱዲኖ ትምህርት እንኳን በደህና መጡ! በዚህ ዝርዝር ትምህርት ውስጥ የአርዱዲኖ ቲክ ታክ ጣት ጨዋታ እንገነባለን። እርስዎ እንደሚመለከቱት ፣ የምንነካ ማያ ገጽ እየተጠቀምን እና ከኮምፒውተሩ ጋር እየተጫወትን ነው። እንደ Tic Tac Toe ያለ ቀላል ጨዋታ ለጨዋታ ፕሮግራም እና አርቲፊሻል ኢንተለጀንስ ጥሩ መግቢያ ነው። ምንም እንኳን በዚህ ጨዋታ ውስጥ ማንኛውንም ሰው ሰራሽ የማሰብ ስልተ ቀመሮችን ባንጠቀምም ፣ ውስብስብ በሆኑ ጨዋታዎች ውስጥ ሰው ሰራሽ የማሰብ ስልተ ቀመሮች ለምን እንደሚያስፈልጉ እንረዳለን።

ለ Arduino ጨዋታዎችን ማዳበር ቀላል አይደለም እና ብዙ ጊዜ ይጠይቃል። ግን ለአርዱዲኖ አንዳንድ ቀላል ጨዋታዎችን መገንባት እንችላለን ምክንያቱም አስደሳች ስለሆነ እና እንደ አርቴፊሻል ኢንተለጀንስ ያሉ አንዳንድ የላቁ የፕሮግራም ርዕሶችን እንድንመረምር ያስችለናል። እሱ ጥሩ የመማሪያ ተሞክሮ ነው እና በመጨረሻ ለልጆች ጥሩ ጨዋታ ይኖርዎታል!

አሁን ይህንን ፕሮጀክት እንገንባ።

ደረጃ 1 ሁሉንም ክፍሎች ያግኙ

Image
Image
2.8
2.8

ይህንን ፕሮጀክት ለመገንባት የሚያስፈልጉት ክፍሎች የሚከተሉት ናቸው።

አንድ አርዱዲኖ ኡኖ ▶

2.8”ንክኪ ማያ ገጽ ▶

የፕሮጀክቱ ዋጋ በጣም ዝቅተኛ ነው። እሱ 15 ዶላር ብቻ ነው።

ይህንን ፕሮጀክት ለመገንባት ከመሞከርዎ በፊት እባክዎን ስለ ንኪ ማሳያ ማሳያ ያዘጋጀሁትን ቪዲዮ ይመልከቱ። በዚህ አስተማሪ ውስጥ አያይ Iዋለሁ። ኮዱን እንዲረዱ እና የንክኪ ማያ ገጹን እንዲያስተካክሉ ይረዳዎታል።

ደረጃ 2 - 2.8 ኢንች የንክኪ ቀለም ማሳያ ለአርዱዲኖ።

Image
Image
2.8
2.8
2.8
2.8

ይህንን የንክኪ ማያ ገጽ በ banggood.com ላይ አግኝቼ በአንዳንድ ፕሮጀክቶቼ ውስጥ ለመጠቀም ለመሞከር ለመግዛት ወሰንኩ። እርስዎ እንደሚመለከቱት ማሳያው ርካሽ ነው ፣ ዋጋው ወደ 11 ዶላር አካባቢ ነው።

እዚህ ያግኙት ed

ማሳያው የ 320x240 ፒክሰሎች ጥራት ይሰጣል እና ከአርዱዲኖ ጋር ያለውን ግንኙነት እጅግ በጣም ቀላል የሚያደርግ ጋሻ ሆኖ ይመጣል። እንደሚመለከቱት ፣ ማሳያው ሁሉንም የአርዲኖኖ ኡኖ ዲጂታል እና አናሎግ ፒኖችን ይጠቀማል። ይህንን ጋሻ ስንጠቀም ለፕሮጀክቶቻችን 2 ዲጂታል ፒኖች እና 1 የአናሎግ ፒን ብቻ እንቀራለን። እንደ እድል ሆኖ ፣ ማሳያው ከአርዱዲኖ ሜጋ ጋር በጥሩ ሁኔታ ይሠራል ፣ ስለዚህ እኛ ብዙ ፒኖች ስንፈልግ ከአርዲኖ ኡኖ ይልቅ አርዱዲኖ ሜጋን መጠቀም እንችላለን። እንደ አለመታደል ሆኖ ይህ ማሳያ ከ Arduino Due ወይም Wemos D1 ESP8266 ቦርድ ጋር አይሰራም። የጋሻው ሌላው ጠቀሜታ ለመጠቀም በጣም ቀላል የሆነ የማይክሮ ኤስዲ ማስገቢያ ነው።

ደረጃ 3 ፕሮጀክቱን መገንባት እና መሞከር።

ፕሮጀክቱን መገንባት እና መሞከር።
ፕሮጀክቱን መገንባት እና መሞከር።
ፕሮጀክቱን መገንባት እና መሞከር።
ፕሮጀክቱን መገንባት እና መሞከር።
ፕሮጀክቱን መገንባት እና መሞከር።
ፕሮጀክቱን መገንባት እና መሞከር።

ማያ ገጹን ከአርዲኖ ኡኖ ጋር ካገናኘን በኋላ ኮዱን መጫን እንችላለን እና ለመጫወት ዝግጁ ነን።

መጀመሪያ ላይ “ጨዋታ ጀምር” የሚለውን ቁልፍ ተጭነን ጨዋታው ይጀምራል። አርዱዲኖ በመጀመሪያ ይጫወታል። ከዚያ ማያ ገጹን በመንካት በቀላሉ የእኛን እንቅስቃሴ መጫወት እንችላለን። ከዚያ አርዱዲኖ እንቅስቃሴውን እና የመሳሰሉትን ይጫወታል። ሶስት ምልክቶቻቸውን በአግድም ፣ በአቀባዊ ወይም በሰያፍ ረድፍ ውስጥ ያስቀመጠው ተጫዋች ጨዋታውን ያሸንፋል። ጨዋታው ሲያልቅ የጨዋታ Over ማያ ገጹ ይታያል። ከዚያ ጨዋታውን እንደገና ለመጀመር የጨዋታውን እንደገና ቁልፍን መጫን እንችላለን።

በዚህ ጨዋታ አርዱዲኖ በጣም ጥሩ ነው። አብዛኞቹን ጨዋታዎች ያሸንፋል ፣ ወይም በጣም ጥሩ ተጫዋች ከሆኑ ጨዋታው በአቻ ውጤት ይጠናቀቃል። ለሰብዓዊው ተጫዋች የማሸነፍ ዕድል ለመስጠት ሆን ብዬ ይህንን ስልተ ቀመር አንዳንድ ስህተቶችን ለማድረግ ሆንኩ። በጨዋታው ኮድ ላይ ሁለት ተጨማሪ መስመሮችን በማከል አርዱዲኖ ጨዋታውን ለማጣት የማይቻል እንዲሆን ማድረግ እንችላለን። ግን የ 2 $ ቺፕ አርዱinoኖ ሲፒዩ የሰውን አንጎል እንዴት ሊመታ ይችላል? እኛ ያዘጋጀነው ፕሮግራም ከሰው አንጎል የበለጠ ብልህ ነውን?

ደረጃ 4 - የጨዋታ ስልተ ቀመር

የጨዋታ ስልተ ቀመር
የጨዋታ ስልተ ቀመር
የጨዋታ ስልተ ቀመር
የጨዋታ ስልተ ቀመር

ይህንን ጥያቄ ለመመለስ እኔ የተተገበርኩትን ስልተ ቀመር እንመልከት።

ኮምፒዩተሩ ሁል ጊዜ በመጀመሪያ ይጫወታል። ይህ ውሳኔ ብቻውን ጨዋታውን አርዱዲኖ ለማሸነፍ በጣም ቀላል ያደርገዋል። የመጀመሪያው እርምጃ ሁል ጊዜ ጥግ ነው። ለአርዱዲኖ ሁለተኛው እንቅስቃሴ እንዲሁ የተጫዋቹን እንቅስቃሴ በጭራሽ ሳያስብ ከቀሪው የዘፈቀደ ጥግ ነው። ከዚህ ጊዜ ጀምሮ አርዱinoኖ ተጫዋቹ በሚቀጥለው እንቅስቃሴ ማሸነፍ ይችል እንደሆነ እና ያንን የሚንቀሳቀስ ብሎኮችን መጀመሪያ ይፈትሻል። ተጫዋቹ በአንድ እንቅስቃሴ ማሸነፍ ካልቻለ ፣ ከቀረ ወይም የዘፈቀደ ከሆነ የማዕዘን እንቅስቃሴን ይጫወታል። ያ ብቻ ነው ፣ ይህ ቀላል ስልተ ቀመር ሁል ጊዜ የሰውን ተጫዋች ሊመታ ይችላል ወይም በጣም በከፋ ሁኔታ ጨዋታው ዕጣ ያስከትላል። ይህ በጣም ጥሩ የቲክ ታክ ጣት የጨዋታ ስልተ ቀመር አይደለም ፣ ግን በጣም ቀላሉ አንዱ።

ይህ ስልተ ቀመር በአርዱዲኖ በቀላሉ ሊተገበር ይችላል ፣ ምክንያቱም የቲክ ታክ ጣት ጨዋታ በጣም ቀላል ነው ፣ እና እኛ በቀላሉ መተንተን እና መፍታት እንችላለን። የጨዋታውን ዛፍ ዲዛይን ካደረግን አንዳንድ የአሸናፊ ስልቶችን ማግኘት እና በኮድ ውስጥ በቀላሉ መተግበር እንችላለን ወይም ሲፒዩ የጨዋታውን ዛፍ በእውነተኛ ጊዜ እንዲያሰላ እና በራሱ የተሻለውን እንቅስቃሴ እንዲመርጥ ማድረግ እንችላለን። በእርግጥ በዚህ ጨዋታ የምንጠቀምበት ስልተ ቀመር በጣም ቀላል ነው ፣ ምክንያቱም ጨዋታው በጣም ቀላል ነው። ለቼዝ አሸናፊ ስልተ -ቀመር ለመንደፍ ከሞከርን ፣ በጣም ፈጣን ኮምፒተርን ብንጠቀምም በሺህ ዓመታት ውስጥ የጨዋታውን ዛፍ ማስላት አንችልም! ለእንደዚህ ላሉት ጨዋታዎች ሌላ አቀራረብ እንፈልጋለን ፣ አንዳንድ አርቲፊሻል ኢንተለጀንስ ስልተ ቀመሮች እና በእርግጥ ግዙፍ የማቀናበር ኃይል እንፈልጋለን። ወደፊት በዚህ ቪዲዮ ላይ ተጨማሪ።

ደረጃ 5 የፕሮጀክቱ ኮድ

የፕሮጀክቱ ኮድ
የፕሮጀክቱ ኮድ

እስቲ የፕሮጀክቱን ኮድ በፍጥነት እንመልከታቸው. ኮዱ እንዲጠናቅቅ ሦስት ቤተ -መጻሕፍት ያስፈልጉናል።

  1. Adafruit TFTLCD: https://github.com/adafruit/TFTLCD- ቤተ-መጽሐፍት
  2. Adafruit GFX:
  3. የንኪ ማያ ገጽ

እንደሚመለከቱት ፣ እንደዚህ ያለ ቀላል ጨዋታ እንኳን ከ 600 በላይ የኮድ መስመሮችን ይፈልጋል። ኮዱ ውስብስብ ነው ፣ ስለሆነም በአጭሩ አጋዥ ስልጠና ለማብራራት አልሞክርም። ምንም እንኳን ለአርዱዲኖ እንቅስቃሴዎች የአልጎሪዝም ስልተ -ቀመር ትግበራ አሳያችኋለሁ።

መጀመሪያ ላይ ሁለት የዘፈቀደ ማዕዘኖችን እንጫወታለን።

<int firstMoves = {0, 2, 6, 8}; // እነዚህን ቦታዎች በመጀመሪያ ይጠቀማል (ቆጣሪ = 0 ፤ ቆጣሪ <4 ፤ ቆጣሪ ++) // የተጫወቱ የመጀመሪያ እንቅስቃሴዎችን ይቆጥሩ {ከሆነ (ቦርድ [firstMoves [ቆጣሪ]! = 0) // የመጀመሪያ እርምጃ በአንድ ሰው ይጫወታል {movePlayed ++; }} ያድርጉ (ከተንቀሳቀሰ <= 2) {int randomMove = የዘፈቀደ (4) ፤ int c = firstMoves [randomMove]; ከሆነ (ሰሌዳ [c] == 0) {መዘግየት (1000); ሰሌዳ [c] = 2; Serial.print (firstMoves [randomMove]); Serial.println (); drawCpuMove (firstMoves [randomMove]); ለ = 1; }}

በመቀጠልም በእያንዳንዱ ዙር ተጫዋቹ በሚቀጥለው እንቅስቃሴ ማሸነፍ ይችል እንደሆነ እንፈትሻለን።

int checkOpponent ()

{ከሆነ (ሰሌዳ [0] == 1 && board [1] == 1 && board [2] == 0) ከተመለሰ 2; ሌላ ከሆነ (ሰሌዳ [0] == 1 && board [1] == 0 && board [2] == 1) 1 ቢመለስ ፤ ሌላ ከሆነ (ሰሌዳ [1] == 1 && ቦርድ [2] == 1 && board [0] == 0) 0 ቢመለስ ፤ ሌላ ከሆነ (ሰሌዳ [3] == 1 && board [4] == 1 && board [5] == 0) 5 ቢመለስ ፤ ሌላ ከሆነ (ሰሌዳ [4] == 1 && board [5] == 1 && board [3] == 0) ከተመለሰ 3; ሌላ ከሆነ (ሰሌዳ [3] == 1 && board [4] == 0 && board [5] == 1) ከተመለሰ 4; ሌላ ከሆነ (ሰሌዳ [1] == 0 && board [4] == 1 && board [7] == 1) 1 ቢመለስ ፤ ሌላ መመለስ 100; }

አዎ ከሆነ ያንን እንቅስቃሴ እናግዳለን ፣ ብዙ ጊዜ። ለሰብአዊው ተጫዋች የማሸነፍ ዕድል ለመስጠት ሁሉንም እንቅስቃሴዎችን አናግድም። የትኞቹ እንቅስቃሴዎች እንዳልታገዱ ማግኘት ይችላሉ? እንቅስቃሴውን ካገድን በኋላ ቀሪውን ጥግ ወይም የዘፈቀደ እንቅስቃሴ እንጫወታለን። ኮዱን ማጥናት እና የራስዎን ተወዳዳሪ የሌለው ስልተ ቀመር በቀላሉ መተግበር ይችላሉ። እንደተለመደው በዚህ አስተማሪ ላይ የተያያዘውን የፕሮጀክት ኮድ ማግኘት ይችላሉ።

ማሳሰቢያ -ባንግጎድ ከሁለት የተለያዩ የማሳያ ነጂዎች ጋር ተመሳሳይ ማሳያ ስለሚያቀርብ ፣ ከላይ ያለው ኮድ የማይሰራ ከሆነ የ initDisplay ተግባሩን ወደሚከተለው ይለውጡ

ባዶነት initDisplay ()

{tft.reset (); tft.begin (0x9341); tft.setRotation (3); }

ደረጃ 6 የመጨረሻ ሀሳቦች እና ማሻሻያዎች

የመጨረሻ ሀሳቦች እና ማሻሻያዎች
የመጨረሻ ሀሳቦች እና ማሻሻያዎች

እንደሚመለከቱት ፣ በአርዱዲኖ ኡኖ እንኳን ፣ ለቀላል ጨዋታዎች የማይሸነፍ ስልተ ቀመር መገንባት እንችላለን። ይህ ፕሮጀክት በጣም ጥሩ ነው ፣ ምክንያቱም ለመገንባት ቀላል ስለሆነ ፣ እና በተመሳሳይ ጊዜ ለአርቲፊሻል ኢንተለጀንስ እና ለጨዋታ መርሃ ግብር ታላቅ መግቢያ። የበለጠ ኃይለኛ Raspberry Pi ን በመጠቀም ወደፊት ከአርቲፊሻል ኢንተለጀንስ ጋር አንዳንድ የላቁ ፕሮጄክቶችን ለመገንባት እሞክራለሁ ስለዚህ ይከታተሉ! ስለዚህ ፕሮጀክት ያለዎትን አስተያየት መስማት እፈልጋለሁ።

እባክዎን አስተያየቶችዎን ከዚህ በታች ይለጥፉ እና አስደሳች ሆኖ ካገኙ አስተማሪውን መውደድን አይርሱ። አመሰግናለሁ!

የሚመከር: