ዝርዝር ሁኔታ:

የአውታረ መረብ ተቀናቃኝ-ለቢቢሲ ማይክሮ-ዝቅተኛ የመዘግየት ጨዋታ ቢት 10 ደረጃዎች (ከስዕሎች ጋር)
የአውታረ መረብ ተቀናቃኝ-ለቢቢሲ ማይክሮ-ዝቅተኛ የመዘግየት ጨዋታ ቢት 10 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የአውታረ መረብ ተቀናቃኝ-ለቢቢሲ ማይክሮ-ዝቅተኛ የመዘግየት ጨዋታ ቢት 10 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የአውታረ መረብ ተቀናቃኝ-ለቢቢሲ ማይክሮ-ዝቅተኛ የመዘግየት ጨዋታ ቢት 10 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: how to overcome Network Marketing Fear in Amharic (የአውታረ መረብ ግብይት ፍርሃትን እንዴት እናስወግድ) 2024, ሀምሌ
Anonim
የአውታረ መረብ ተቀናቃኝ-ለቢቢሲ ማይክሮ-ቢት ዝቅተኛ የመዘግየት ጨዋታ
የአውታረ መረብ ተቀናቃኝ-ለቢቢሲ ማይክሮ-ቢት ዝቅተኛ የመዘግየት ጨዋታ
የአውታረ መረብ ተቀናቃኝ-ለቢቢሲ ማይክሮ-ቢት ዝቅተኛ-ዘግይቶ ጨዋታ
የአውታረ መረብ ተቀናቃኝ-ለቢቢሲ ማይክሮ-ቢት ዝቅተኛ-ዘግይቶ ጨዋታ

በዚህ መማሪያ ውስጥ በቢቢሲ ማይክሮ ላይ መሠረታዊ ባለብዙ ተጫዋች ጨዋታን እንዴት እንደሚተገብሩ እገልጻለሁ ከሚከተሉት ባህሪዎች ጋር

  • ቀላል በይነገጽ
  • በአዝራር ማተሚያዎች እና በማያ ገጽ ዝመናዎች መካከል ዝቅተኛ መዘግየት
  • ተለዋዋጭ ተሳታፊዎች ብዛት
  • ዋና የርቀት መቆጣጠሪያ (“ሥር”) መሣሪያን በመጠቀም በጨዋታው ላይ ቀላል ቁጥጥር

ጨዋታው በመሠረቱ የፖለቲካ ማስመሰል ነው። ከሁለት ተጫዋቾች በስተቀር ሁሉም ተጫዋቾች ለማንኛውም ቡድን ሳይመደቡ ይጀምራሉ። ከእነዚህ ተጫዋቾች አንዱ ለቡድን ሀ ፣ ሁለተኛው ለቡድን ቢ ተመድቧል።

የጨዋታው ዓላማ እያንዳንዱ ተጫዋች ሁሉም በተለወጠበት ጊዜ ከብዙዎቹ ተጫዋቾች ጋር በቡድኑ ውስጥ መሆን።

ከዚህ በላይ ያለው ሥዕላዊ መግለጫ ውሱን የስቴት ማሽንን ያሳያል ፣ ማለትም መሣሪያው ሊገባባቸው የሚችላቸውን ግዛቶች ዝርዝር እና በእነዚያ ግዛቶች መካከል ሽግግሮችን ያሳያል።

አንድ ግዛት መሣሪያውን ከበራ ጀምሮ ማህደረ ትውስታውን የሚገልጽ የአሁኑ የመረጃ ስብስብ ተደርጎ ሊወሰድ ይችላል። በዚያ ውሂብ ላይ በመመስረት መሣሪያው የተወሰኑ እርምጃዎችን ሊያከናውን ወይም ለተጠቃሚ ግብዓት የተለየ ምላሽ ሊሰጥ ይችላል።

ሽግግር ምክንያታዊ ሁኔታ ነው ፣ እውነት ሲሆን ፣ መሣሪያው ሁኔታውን እንዲለውጥ ያደርጋል። ሽግግር ከአንዱ ግዛት ወደ ሌላ ግዛት ሊሆን ይችላል። አንድ ግዛት ብዙ ሽግግሮች ሊኖሩት ይችላል።

ከላይ ያለው ሥዕላዊ መግለጫ የሚከተሉትን ግዛቶች ይገልጻል።

  • ያልተመደበ
  • ለ A ያዳምጡ
  • ለ ያዳምጡ
  • ቡድን ሀ
  • ቡድን ለ

የጨዋታውን ኮድ የሚያሄድ መሣሪያ ከእነዚህ አምስት ግዛቶች በአንዱ ውስጥ ሊሆን ይችላል ፣ ግን አንድ በአንድ ብቻ ፣ እና እነዚህ አምስት ብቻ።

በ https://makecode.microbit.org ላይ ሊገኝ የሚችለውን የ Microsoft MakeCode አርታዒን እየተጠቀሙ እንደሆነ በመመሪያው ውስጥ ሁሉ እገምታለሁ።

የጨዋታው ሙሉ ትግበራ እዚህ ይገኛል-

makecode.microbit.org/_CvRMtheLbRR3 ("ማይክሮቢት-ማሳያ ተጠቃሚ" የፕሮጀክቱ ስም ነው)

እና የጌታው (“ሥር”) የአውታረ መረብ መቆጣጠሪያ ትግበራ እዚህ ሊገኝ ይችላል-

makecode.microbit.org/_1kKE6TRc9TgE ("ማይክሮቢት-demo-root" የፕሮጀክቱ ስም ነው)

በትምህርቴ ውስጥ እነዚህን ምሳሌዎች እጠቅሳለሁ።

ደረጃ 1: ትልቅ የምስል ንድፍ ግምት

ማንኛውንም ኮድ ከመፃፋችን በፊት የመጨረሻ ምርታችን ምን እንደሚመስል ማሰብ አለብን። በሌላ አነጋገር ፣ የማመልከቻው መስፈርቶች ምንድናቸው? የእኛ ኮድ መሣሪያው ሲጠናቀቅ ምን እንዲያደርግ ይነግረዋል? የዋናውን ትግበራ ተግባር በስድስት ምድቦች ከፍዬአለሁ ፣ እያንዳንዳቸው ከተለየ የንድፍ እይታ ሊታሰቡ ይችላሉ።

  1. አሁን ባለው ሁኔታ ላይ በመመስረት የመሣሪያውን እርምጃዎች መቆጣጠር እንፈልጋለን
  2. መሣሪያው ለተጠቃሚ ግብዓት ምላሽ እንዲሰጥ እንፈልጋለን
  3. 5 x 5 LED ማሳያ በመጠቀም እነማዎችን እና ግራፊክስን ማሳየት እንፈልግ ይሆናል
  4. መሣሪያው በሚነሳበት ጊዜ በመሣሪያዎች ማህደረ ትውስታ ውስጥ የውሂብ እሴቶችን ማስጀመር እንፈልጋለን
  5. የመሣሪያውን ሬዲዮ በመጠቀም መረጃን ያለገመድ ማስተላለፍ እንፈልጋለን
  6. በመሣሪያው ሬዲዮ ላይ መረጃን ለማዳመጥ እና ለመቀበል እና በዚህ መሠረት ለማስኬድ እንፈልጋለን

ስለእያንዳንዳቸው ትንሽ የበለጠ በዝርዝር እንድገባ ፍቀድልኝ።

1. የመሣሪያውን ድርጊቶች አሁን ባለው ሁኔታ ላይ ለመቆጣጠር እንፈልጋለን

እንደ አብዛኛዎቹ ሌሎች ፕሮግራሞች ፣ በኮዱ የተገለጹትን መመሪያዎች አፈፃፀም በአንድ መስመር በአንድ ጊዜ ይከሰታል። በዚህ መማሪያ አናት ላይ ባለው ሥዕላዊ መግለጫ መሠረት መሣሪያችን በውስጣዊ ሁኔታው ላይ በመመርኮዝ የተወሰኑ መመሪያዎችን እንዲፈጽም እንፈልጋለን። መሣሪያው ማድረግ ያለበትን እያንዳንዱ የኮድ እገዳ ከተከተለ በኋላ ተከታታይ ቅድመ ሁኔታዎችን መፃፍ እንችል ነበር ፣ ግን ይህ አቀራረብ በጣም በፍጥነት ሊበላሽ ይችላል ፣ ስለሆነም እኛ አንድ ተለዋዋጭ በቀላሉ የሚፈትሽ እና በዚያ ተለዋዋጭ ላይ የተመሠረተ ወሰን የሌለው ሉፕ እንጠቀማለን። ፣ የተወሰኑ የመመሪያዎችን ስብስብ ይፈጽማል ወይም በጭራሽ ምንም አያደርግም። ይህ ተለዋዋጭ በእኛ የተጠቃሚ መተግበሪያም ሆነ በስር ትግበራችን ውስጥ በ ‹_state› ቅጥያ ተለይቶ ይታወቃል።

2. መሣሪያው ለተጠቃሚ ግብዓት ምላሽ እንዲሰጥ እንፈልጋለን

ምንም እንኳን የኮዱ መደበኛ ቅደም ተከተል በቅደም ተከተል ቢከሰትም ፣ ማለትም ፣ አንድ መስመር በአንድ ጊዜ ፣ ዋናው የግዛት ዑደት መሣሪያው በማንኛውም ጊዜ ምን ማድረግ እንዳለበት በመወሰን ላይ እያለ አዝራር መጫኛዎችን እንዲመልስ የእኛ መሣሪያ ያስፈልገናል። ለዚያ ዓላማ ፣ መሣሪያው ከሃርድዌር ጋር ለሚገናኝ ወደ ዝቅተኛ-ደረጃ ሶፍትዌሮች ምልክቶችን የመላክ ችሎታ አለው ፣ ይህም ክስተት ተብሎ የሚጠራውን ያስነሳል። አንድ የተወሰነ ዓይነት ክስተት ሲያገኝ መሣሪያው አንድ ነገር እንዲያደርግ የሚነግረውን ኮድ መጻፍ እንችላለን።

3. 5 x 5 LED ማሳያ በመጠቀም እነማዎችን እና ግራፊክስን ማሳየት እንፈልጋለን

ይህንን ለማድረግ ዘዴው ቀላል ይመስላል ፣ ግን እገዳው አንድ ምስል 400 ሚ.ሜ የተደበቀ መዘግየትን ይጨምራል። መሣሪያችን በተቻለ መጠን በትንሹ መዘግየት የስቴቱን ዑደት መፈጸሙን እንዲቀጥል ስለምንፈልግ መዘግየቱን ለመቀነስ የጃቫስክሪፕት ኮዱን ማረም አለብን።

4. መሣሪያው በሚነሳበት ጊዜ በመሣሪያዎች ማህደረ ትውስታ ውስጥ የውሂብ እሴቶችን ማስጀመር እንፈልጋለን

መሣሪያችን ማንኛውንም ነገር ከማድረጉ በፊት መተግበሪያው ውሂቡን ወደ ማህደረ ትውስታ መጫን አለበት። ይህ ለኮድ ተነባቢነት የተሰየሙ የማያቋርጥ ተለዋዋጮችን ፣ ምስሎችን የያዙ ተለዋዋጮች ፣ የአኒሜሽን አካል ሊሆኑ የሚችሉ እና በትክክል ለመሥራት በ 0 መጀመር የሚያስፈልጋቸውን ተቃዋሚዎች ያካትታል። እኛ ረጅም ስሞች ዝርዝር እና አዲስ የተመደቡ እሴቶቻቸውን እንጨርሳለን። እንደ የግል ዘይቤ ምርጫ ፣ ALL_CAPS ን በመጠቀም ፣ እኔ ፈጽሞ የማልፈልጋቸውን እሴቶችን ፣ የማያቋርጥ እሴቶችን እገልጻለሁ። እኔ ደግሞ ተለዋዋዩ የወደቀበትን አንድ ዓይነት ወይም ዓይነት የሚያመለክት የምድብ ስም ያላቸው ዋና ተለዋዋጭ መለያዎችን ቅድመ ቅጥያ እሰጣለሁ። ይህ ኮዱን ለመከተል ቀላል ለማድረግ በመሞከር ነው። ኮዱን ለመለየት በሚሞከርበት ጊዜ በሚፈጠረው አሻሚነት ምክንያት እንደ “ንጥል” ወይም “x” ያለ ተለዋዋጭ ስም በጭራሽ አልጠቀምም።

5. የመሣሪያውን ሬዲዮ በመጠቀም መረጃን ያለገመድ ማስተላለፍ እንፈልጋለን

የ MakeCode ብሎኮችን ቋንቋ ሲጠቀሙ ይህ በእውነቱ ቀላል ሥራ ነው። በሚነሳበት ጊዜ ሁሉንም መሣሪያዎች ወደ ተመሳሳይ የሬዲዮ ቡድን እናዘጋጃለን እና ከዚያ ምልክት ለመላክ ስንፈልግ አንድ ቁጥር ወደ እኛ ወደተሰጠን “የሬዲዮ ላክ ቁጥር” ብሎክ ልናስተላልፍ እንችላለን። ላኪው እና ተቀባዩ በአንድ የሬዲዮ ቡድን ውስጥ መሥራታቸው አስፈላጊ ነው ፣ ምክንያቱም ካልሆነ እነሱ በተለያዩ ድግግሞሾች ላይ ይልካሉ ወይም ይቀበላሉ ፣ እና ግንኙነቱ አልተሳካም።

6. በመሣሪያው ሬዲዮ ላይ መረጃን ለማዳመጥ እና ለመቀበል እና በዚህ መሠረት ለማስኬድ እንፈልጋለን

ከቀዳሚው ንጥል ጋር ተመሳሳይ ሀሳቦችን ከግምት ውስጥ በማስገባት ለተጠቃሚ ግብዓት እንደምናዳምጥ በተመሳሳይ መንገድ ለገቢ ስርጭቶች እናዳምጣለን -ከክስተት ተቆጣጣሪ ጋር። ማንኛውንም የገቢ ምልክቶችን የሚመረምር እና ዋናውን የስቴት ዑደት ሳይረብሽ ማንኛውም እርምጃ የሚወሰድ መሆኑን የሚፈትሽ የኮድ ብሎክን እንጽፋለን።

በተጨማሪም ፣ አንድ መሣሪያ መላውን አውታረ መረብ እንዲቆጣጠር የሚያስችለውን እጅግ በጣም ቀላሉን የስር መተግበሪያን ንድፍ በአጭሩ ከግምት ውስጥ ማስገባት አለብን። ከላይ ከተጠቀሰው ንድፍ እጅግ በጣም ቀላል ስለሆነ እና አብዛኛው በቀላሉ መደጋገም ስለሆነ በዚህ ላይ ብዙ ጊዜ አላጠፋም። የስር ዴይስን ተግባር በሦስት ምድቦች ከፍዬዋለሁ።

  1. ምልክት መምረጥ መቻል እንፈልጋለን
  2. ምልክት ለማስተላለፍ መቻል እንፈልጋለን

-

1. ምልክት መምረጥ መቻል እንፈልጋለን

ሊሆኑ በሚችሉ ምልክቶች በኩል አንድ አዝራር በመደጋገም በቀላሉ ሊከናወን ይችላል። ሶስት ብቻ ስለሆኑ ይህ አቀራረብ በቂ ይሆናል። በተመሳሳይ ጊዜ ፣ ተጠቃሚው አንድ አዝራር እንዲጭን እና የተመረጠው ምልክት በጣም በትንሹ መዘግየት በ LED ማሳያ ላይ እንዲታይ በመፍቀድ የተመረጠውን ምልክት በቋሚነት እንደገና የሚያሳየው አንድ ሉፕ ሊኖረን ይችላል።

2. እኛ ምልክት ለማስተላለፍ መቻል እንፈልጋለን

ሁለት አዝራሮች ስላሉ ፣ አንዱን ለመምረጥ እና ሌላውን ለማረጋገጫ ልንመድብ እንችላለን። ልክ እንደ ተጠቃሚው መተግበሪያ ፣ እኛ በቀላሉ እንደ አውታረ መረቡ ላይ ምልክቱን እንደ ቁጥር እንልካለን። ሌላ መረጃ አያስፈልግም።

በሚቀጥለው ክፍል ስለ ቀላል የምልክት ፕሮቶኮል የበለጠ እናገራለሁ።

ደረጃ 2 የምልክት ፕሮቶኮል -ለአውታረ መረብ ግንኙነት ቀላል ቋንቋ

የሚከተሉት ምልክቶች መሣሪያዎቹ እርስ በእርስ ለመነጋገር ሊጠቀሙባቸው የሚችሏቸው ሁሉም የቃላት ስብስብ እንደሆኑ ሊታሰብ ይችላል። አውታረ መረቡ በጣም ቀላል ስለሆነ ብዙ የሚናገረው ነገር የለም ፣ እና ስለዚህ እነዚህን ሶስት ምልክቶች በቀላል ኢንቲጀር እሴቶች ልንወክል እንችላለን።

0. ዳግም አስጀምር

  • በኮዱ ውስጥ መለያ-SIG-R
  • ኢንቲጀር እሴት: 0
  • ዓላማው - በክልል ውስጥ ያሉ ሁሉም መሣሪያዎች የሚያደርጉትን እንዲጥሉ እና ልክ እንደተነሳ እንዲሰሩ ይንገሯቸው። ይህ ምልክት በአውታረ መረቡ ላይ ወደ እያንዳንዱ መሣሪያ ከደረሰ ፣ መላው አውታረ መረብ እንደገና ይጀመራል እና ተጠቃሚዎቹ አዲስ ጨዋታ መጀመር ይችላሉ። ይህ ምልክት በስር መሣሪያ ብቻ ሊሰራጭ ይችላል።

1. መለወጥ ሀ

  • በኮዱ ውስጥ መለያ-SIG-A
  • ኢንቲጀር እሴት 1
  • ዓላማው - ወደ ግዛት TEAM_A ለመቀየር የመቀየሪያ ምልክቱን ከተቀበሉ በኋላ LISTEN_A ውስጥ ያለ ማንኛውም መሣሪያ ይንገሩ።

2. መለወጥ ለ

  1. በኮዱ ውስጥ መለያ-SIG-B
  2. ኢንቲጀር እሴት: 2
  3. ዓላማው - ወደ ሁኔታ TEAM_B ለመቀየር የመቀየሪያ ምልክቱን ከተቀበሉ በኋላ LISTEN_B ውስጥ ያለ ማንኛውም መሣሪያ ይንገሩ።

ደረጃ 3 - አሁን ባለው ሁኔታ ላይ በመመስረት የመሣሪያውን እርምጃዎች መቆጣጠር እንፈልጋለን

አሁን ባለው ሁኔታ ላይ በመመስረት የመሣሪያውን እርምጃዎች መቆጣጠር እንፈልጋለን
አሁን ባለው ሁኔታ ላይ በመመስረት የመሣሪያውን እርምጃዎች መቆጣጠር እንፈልጋለን
አሁን ባለው ሁኔታ ላይ በመመስረት የመሣሪያውን እርምጃዎች መቆጣጠር እንፈልጋለን
አሁን ባለው ሁኔታ ላይ በመመስረት የመሣሪያውን እርምጃዎች መቆጣጠር እንፈልጋለን
አሁን ባለው ሁኔታ ላይ በመመስረት የመሣሪያውን እርምጃዎች መቆጣጠር እንፈልጋለን
አሁን ባለው ሁኔታ ላይ በመመስረት የመሣሪያውን እርምጃዎች መቆጣጠር እንፈልጋለን

በመጨረሻ ፣ ኮድ መጻፍ መጀመር እንችላለን።

በመጀመሪያ ፣ በ ‹ኮድ ኮድ› ውስጥ አዲስ ፕሮጀክት ይክፈቱ

  • አዲስ ተግባር ይፍጠሩ። ይህ የመተግበሪያው ዋና ሉፕ ስለሆነ የማዕድን ቀለበቴን ጠራሁት
  • ላልተወሰነ ጊዜ የሚደጋገም የሉፕ ብሎክ ያክሉ። እኔ (እውነት) እጠቀም ነበር ምክንያቱም ቃል በቃል እውነት ፈጽሞ ሐሰት አይሆንም ፣ ስለሆነም የመተግበሪያው የቁጥጥር ፍሰት ከጉዞው ፈጽሞ አይወጣም።
  • መሣሪያው በአምስቱ ሊሆኑ በሚችሉት ግዛቶች ውስጥ መሆኑን ለመፈተሽ በቂ ከሆነ ያግዳል
  • የአሁኑን የመሣሪያ ሁኔታ ለመያዝ ተለዋዋጭ ይፍጠሩ
  • እያንዳንዱን አምስት ሊሆኑ የሚችሉ ግዛቶችን ለመወከል ተለዋዋጮችን ይፍጠሩ

    ማሳሰቢያ - እነዚህ ተለዋዋጮች እስካሁን ምንም የተመደቡ እሴቶች ባይኖራቸውም ጥሩ ነው። ወደዚያ እናደርሳለን። በዚህ ጊዜ ንፁህ ፣ ኮድ ለማንበብ ቀላል መፃፋችን የበለጠ አስፈላጊ ነው

  • ሌላ ከሆነ ብሎኮች ውስጥ እያንዳንዱን ሁኔታ ይለውጡ የአሁኑን ሁኔታ ከሚቻልባቸው ግዛቶች ወደ አንዱ ማወዳደር
  • ሌላ ከሆነ ብሎኮች ግርጌ ላይ ፣ ለተወሰኑ ሚሊሰከንዶች ያህል ለአፍታ ቆም ይበሉ ፣ እና ያንን ቁጥር ለመያዝ ተለዋዋጭ ይፍጠሩ። በኋላ እናስጀምረዋለን። ተለዋዋጭው እንደ መዥገር ወይም የልብ ምት ያለ ገላጭ ስም እንዳለው ያረጋግጡ። ምክንያቱም ይህ የመሣሪያው ዋና ሉፕ ስለሆነ ፣ ይህ ለአፍታ ማቆም መሣሪያው ዋናውን ዑደት የሚያከናውንበትን ፍጥነት ይወስናል ፣ ስለዚህ በጣም አስፈላጊ እሴት ነው ፣ እና ስም የሌለው የአስማት ቁጥር መሆን በጣም አስፈላጊ ነው።

ማሳሰቢያ - በሦስተኛው ምስል ላይ ስለ ግራጫ ብሎኮች አይጨነቁ። ወደ እነዚያ በኋላ እደርሳለሁ።

ደረጃ 4 ለተጠቃሚ ግብዓት ምላሽ መስጠት እንፈልጋለን

ለተጠቃሚ ግብዓት ምላሽ መስጠት እንፈልጋለን
ለተጠቃሚ ግብዓት ምላሽ መስጠት እንፈልጋለን
ለተጠቃሚ ግብዓት ምላሽ መስጠት እንፈልጋለን
ለተጠቃሚ ግብዓት ምላሽ መስጠት እንፈልጋለን

አሁን የአዝራር መጫኛዎችን እንዴት እንደሚይዝ ለመሣሪያው መንገር እንፈልጋለን። የአንድ ሰው የመጀመሪያ ሀሳብ በግቤት ምድብ ውስጥ “አዝራሩ ሲጫን” ብሎኮችን መጠቀም ብቻ ሊሆን ይችላል ፣ ግን ከዚያ የበለጠ የጥራጥሬ ቁጥጥርን እንፈልጋለን። በዚህ አጋዥ ስልጠና ውስጥ እኛ የላቀ ስለሆንን በተራቀቀው ክፍል ስር ካለው የቁጥጥር ምድብ “ከ (X) እሴት (Y)” ብሎክን እንጠቀማለን።

  • “ከ…” ብሎኮች አራት “በዝግጅት ላይ” ይፍጠሩ።

    • ከእነዚህ ውስጥ ሁለቱ የክስተቱን ምንጭ “MICROBIT_ID_BUTTON_A” መፈተሽ አለባቸው።
    • ከእነዚህ ውስጥ ሁለቱ የክስተቱን ምንጭ “MICROBIT_ID_BUTTON_B” መፈተሽ አለባቸው።
    • እያንዳንዱን አዝራር ኢላማ ካደረጉት ሁለቱ ክስተቶች መካከል ፦

      • አንድ ሰው “MICROBIT_BUTTON_EVT_UP” የሚለውን ዓይነት ክስተት መፈተሽ አለበት
      • አንድ ሰው “MICROBIT_BUTTON_EVT_DOWN” የሚለውን ዓይነት ክስተት መፈተሽ አለበት
    • ማሳሰቢያ-በሁሉም የካፒታል ፊደላት ውስጥ ያሉት እነዚህ አማራጮች በዝቅተኛ ደረጃ ማይክሮ-ቢት ኮድ ውስጥ ጥቅም ላይ የሚውሉ መለያዎች ናቸው። እነሱ በቀላሉ ኮዱ ወደ አስፈፃሚ ሁለትዮሽ ሲሰበሰብ በኋላ በቁጥሮች የሚተኩ በቀላሉ የቦታ ባለቤቶች ናቸው። ምንም እንኳን ሁለቱም በተመሳሳይ መንገድ ቢሠሩም የትኛውን ኢንቲጀር ማስገባት እንዳለበት ከማየት ይልቅ ሰዎች እነዚህን ስያሜዎች መጠቀም ይቀላቸዋል።
  • እያንዳንዱን “ከዝግጅት ላይ…” የማገጃ ጥሪ የተነሳውን ክስተት የሚገልጽ ተግባር እንዲኖረኝ እንደ የቅጥ ጉዳይ መርጫለሁ። በጥብቅ አስፈላጊ ባይሆንም በእኔ አስተያየት ይህ ንባብን ያሻሽላል። አንድ ሰው ይህን ለማድረግ ከፈለገ “ከዝግጅት ላይ…” ውስጥ እራሱን የክስተት አያያዝ ኮድ ማስገባት ይችላሉ።

    ማሳሰቢያ - መሣሪያው ለዝግጅት ምላሽ የሚሰጠው የኮድ ማገጃ በስሜታዊነት “የክስተት ተቆጣጣሪ” ይባላል።

  • በእያንዳንዱ የክስተት ተቆጣጣሪ ውስጥ ፣ በመሣሪያ ሁኔታ ላይ በመመስረት የመቆጣጠሪያ ፍሰትን ለመከፋፈል የሚያገለግል ከሆነ ፣ በተመሳሳይ ሁኔታ ተቆጣጣሪ ፣ እንደ ዋናው የስቴት ሉፕ ውስጥ ባለው መዋቅር ውስጥ ይጨምሩ።
  • በእኛ የስቴት ሥዕላዊ መግለጫ በተገለጸው መሠረት ያንን የመሣሪያውን ሁኔታ የሚቀይሩ የምደባ ብሎኮችን ያክሉ

    • መሣሪያው ባልተፈቀደ ሁኔታ ውስጥ በሚሆንበት ጊዜ መሣሪያው ወደ LISTEN_A ሽግግር በተጫነው አዝራር ሀ እና ወደ ግዛት LISTEN_B በሚደረገው ሽግግር ለተጫነው አዝራር ምላሽ መስጠት እንዳለበት እናውቃለን።
    • እንዲሁም መሣሪያው በክፍለ -ግዛት LISTEN_A ወይም LISTEN_B ውስጥ በሚሆንበት ጊዜ መሣሪያው ወደ ያልተለቀቀ ሁኔታ ወደ ኋላ በመሸጋገር ለተለቀቀው አዝራር ሀ እና ለ B ምላሽ መስጠት እንዳለበት እናውቃለን።
    • በመጨረሻም ፣ መሣሪያው በክፍለ -ግዛቱ TEAM_A ወይም TEAM_B ውስጥ በሚሆንበት ጊዜ መሣሪያው ለ SIG_A በማሰራጨት እና SIG_B ን በማሰራጨት ለተጫነው አዝራር ሀ ተጭኖ እና ለ B ምላሽ እንደሚሰጥ እናውቃለን።

      የስርጭት ምልክቶችን ዝርዝሮች ለመሙላት በዚህ ጊዜ አስፈላጊ አይደለም። ወደዚያ እናደርሳለን። በጣም አስፈላጊው ነገር እኛ ያንን ተግባር እኛ በዚያ ነጥብ ላይ ምን መደረግ እንዳለበት የሚገልፀውን እንደ ብሮድካስት ሲግናል_አይ የመሳሰሉትን የድርጊቶች ማገጃ ስም በመስጠት የምንጽፈውን ኮድ እንዲጠቀሙ ማዘዛችን ነው።

ደረጃ 5 - መሣሪያው በሚነሳበት ጊዜ በመሣሪያዎች ማህደረ ትውስታ ውስጥ የውሂብ እሴቶችን ማስጀመር እንፈልጋለን

መሣሪያው በሚነሳበት ጊዜ በመሣሪያዎች ማህደረ ትውስታ ውስጥ የውሂብ እሴቶችን ማስጀመር እንፈልጋለን
መሣሪያው በሚነሳበት ጊዜ በመሣሪያዎች ማህደረ ትውስታ ውስጥ የውሂብ እሴቶችን ማስጀመር እንፈልጋለን
መሣሪያው በሚነሳበት ጊዜ በመሣሪያዎች ማህደረ ትውስታ ውስጥ የውሂብ እሴቶችን ማስጀመር እንፈልጋለን
መሣሪያው በሚነሳበት ጊዜ በመሣሪያዎች ማህደረ ትውስታ ውስጥ የውሂብ እሴቶችን ማስጀመር እንፈልጋለን
መሣሪያው በሚነሳበት ጊዜ በመሣሪያዎች ማህደረ ትውስታ ውስጥ የውሂብ እሴቶችን ማስጀመር እንፈልጋለን
መሣሪያው በሚነሳበት ጊዜ በመሣሪያዎች ማህደረ ትውስታ ውስጥ የውሂብ እሴቶችን ማስጀመር እንፈልጋለን

በዚህ ጊዜ እኛ ብዙ ተለዋዋጮችን (የውሂብ ስሞችን) ተጠቅመናል ፣ ግን ለእነዚያ ስሞች በእውነቱ እሴቶችን አልመደብንም። መሣሪያው በሚነሳበት ጊዜ የእነዚህን ሁሉ ተለዋዋጮች እሴቶችን ወደ ማህደረ ትውስታ እንዲጭን እንፈልጋለን ፣ ስለዚህ ለእነዚህ ተለዋዋጮች መነሻውን በ “ጅምር” ብሎክ ውስጥ እናስቀምጣለን።

ማስጀመር ያለብን እነዚህ እሴቶች ናቸው

  • በምልክት ፕሮቶኮል መሠረት የምልክት ቋሚዎች። እሴቶቹ መሆን አለባቸው-

    • SIG_R = 0
    • SIG_A = 1
    • SIG_B = 2
    • ማሳሰቢያ - እነዚህ ተለዋዋጮች ሲግናልስ ተብለው በተዘረዘሩት ዓይነት አካል ውስጥ ሆነው እንደሚሠሩ ለማመልከት እነዚህን ቋሚዎች በ “EnumSignals” ቅድመ -ቅጥያ አድርጌአቸዋለሁ። እነዚህ ተለዋዋጮች በሌሎች የፕሮግራም ቋንቋዎች ውስጥ እንዴት ሊተገበሩ ይችላሉ። የተዘረዘሩት ዓይነቶች ትርጓሜ እና ማብራሪያ ከመማሪያዬ ወሰን በላይ ነው። እነሱ የሚፈልጉ ከሆነ አንድ ሰው ጉግል ሊያደርግ ይችላል። እነዚህ ቅድመ ቅጥያዎች በቀላሉ ቅጥ ያጣ ምርጫዎች ናቸው እና ለፕሮግራሙ ትክክለኛ አሠራር በጭራሽ አስፈላጊ አይደሉም።
  • የግዛት ቋሚዎች ፣ እነሱ እሴት እስካላቸው ድረስ በዘፈቀደ ሊሆኑ ይችላሉ። ከ 0 ወደ ላይ የሚወጣውን ኢንቲጀሮች በቀላሉ ለመጠቀም የቅጥ ምርጫ አደረግሁ -

    • ያልተመዘገበ = 0
    • LISTEN_A = 1
    • LISTEN_B = 2
    • TEAM_A = 3
    • TEAM_B = 4
    • ማሳሰቢያ - ለእነዚህ ተለዋዋጮች ቅድመ ቅጥያዎችን በተመለከተ ተመሳሳይ የቅጥ ውሳኔ ወስኛለሁ። በተጨማሪም ፣ ስለእነዚህ ምደባዎች ፣ እሴቶቹ እና ትዕዛዙ ሁሉም ነገር ሙሉ በሙሉ የዘፈቀደ መሆኑን እጠቅሳለሁ። እነዚህ እሴቶች ከመሣሪያ ወደ መሣሪያ ወጥነት ቢኖራቸውም እንኳ ምንም አይደለም ፣ ምክንያቱም እነሱ በኔትወርኩ ላይ ለግንኙነት ብቻ ሳይሆን በውስጥ ብቻ ያገለግላሉ። ዋናው ነገር ተለዋዋጮቹ ዋጋ ያላቸው እና እነሱ እኩል መሆናቸውን ወይም አለመሆኑን ለማየት እርስ በእርስ ሊነፃፀሩ ነው።
  • ለተነባቢነት ፣ የማያቋርጥ BOOT_STATE በመባል ወደ ያልተመደበ አቀናበረው። ይህ እኛ የበለጠ የዘፈቀደ ሁኔታ ከመሆን ይልቅ ወደ ማስነሻ ሁኔታ እንደገና የመጀመሩን እውነታ መሣሪያው የመልሶ ማግኛ ምልክት ሲቀበል የበለጠ ግልፅ ያደርገዋል ፣ ይህም በኋላ ላይ ተግባራዊ እናደርጋለን።
  • በተጠቃሚ ግብዓት በኩል እጅግ በጣም ዝቅተኛ-መዘግየት መቋረጥን የሚፈቅዱ እነማዎችን ለመፍጠር በሚከተለው ደረጃ ላይ የእነማን ቋሚዎች። እኛ እስካሁን እነዚህን አልተጠቀምንም ፣ ግን እነሱ በሚከተለው ክፍል ውስጥ በእርግጠኝነት ይብራራሉ እና ያገለግላሉ። የእነዚህ ስሞች ትርጉም በስማቸው ምክንያት ሊታወቅ የሚችል መሆን አለበት።

    • TICKS_PER_FRAME_LOADING_ANIMATION = 50
    • MS_PER_DEVICE_TICK = 10
    • MS_PER_FRAME_BROADCAST_ANIMATION = 500
    • MICROSECONDS_PER_MILLISECOND = 1000
    • NUMBER_OF_FRAMES_IN_LOADING_ANIMATION = 4
  • ለአኒሜሽን ሌላ ተለዋዋጭ ፣ በዚህ ጊዜ በእርግጠኝነት የማያቋርጥ ቆጣሪ። እንደ አብዛኛዎቹ ቆጣሪዎች እኛ ወደ 0 እናስጀምረዋለን

    iTickLoadingAnimation = 0

  • የአኒሜሽን ፍሬሞችን ለመያዝ ሁለት ተከታታይ ተለዋዋጮችን ይፍጠሩ። እኔ “የመጫን አኒሜሽን” የምለው የመጀመሪያው ፣ አራት ምስሎች (በመጨረሻው ቋሚ ተነሳሽነት ገምተውት ሊሆን ይችላል) ፣ እና ሁለተኛው ፣ እኔ ‹የሥርጭት እነማ› ብዬ የምጠራው ፣ ሦስት ምስሎች ሊኖሩት ይገባል። ከአኒሜሽን ክፈፎች ጋር የሚዛመዱ ተለዋዋጮችን እንዲሰይሙ እመክራለሁ ፣ ለምሳሌ። ringAnimation0 ፣ ringAnimation1…

    እኔ እንዳደረግኩት ተመሳሳይ የምስል እሴቶችን ይፍጠሩ ወይም የበለጠ የመጀመሪያ እና ቀዝቀዝ ያሉ ምስሎችን ይፍጠሩ።

  • በመጨረሻ ግን ቢያንስ “የሬዲዮ ስብስብ ቡድን (ኤክስ)” ብሎክን በመጠቀም የመሣሪያውን የሬዲዮ ቡድን ወደ 0 ማዘጋጀት አለብን
  • በአማራጭ ፣ ሁሉም ነገር በዋናነት እንደሄደ ለተጠቃሚው ለመንገር “ተነሳሽነት ተጠናቅቋል” የሚለውን ወደ ተከታታይ ውፅዓት ይፃፉ።
  • አሁን መሣሪያውን ማዋቀሩን ጨርሰናል ፣ የእኛን የስቴት loop ተግባር ብለን ልንጠራው እንችላለን።

ደረጃ 6 የ 5 X 5 LED ማሳያ በመጠቀም እነማዎችን እና ግራፊክስን ማሳየት እንፈልጋለን

የ 5 X 5 LED ማሳያ በመጠቀም እነማዎችን እና ግራፊክስን ማሳየት እንፈልጋለን
የ 5 X 5 LED ማሳያ በመጠቀም እነማዎችን እና ግራፊክስን ማሳየት እንፈልጋለን
የ 5 X 5 LED ማሳያ በመጠቀም እነማዎችን እና ግራፊክስን ማሳየት እንፈልጋለን
የ 5 X 5 LED ማሳያ በመጠቀም እነማዎችን እና ግራፊክስን ማሳየት እንፈልጋለን
የ 5 X 5 LED ማሳያ በመጠቀም እነማዎችን እና ግራፊክስን ማሳየት እንፈልጋለን
የ 5 X 5 LED ማሳያ በመጠቀም እነማዎችን እና ግራፊክስን ማሳየት እንፈልጋለን

እና አሁን ለተለየ ነገር።

ጥቂት እነማዎችን እና ጥቂት ገጸ -ባህሪያትን ማሳየት እንፈልጋለን ፣ ግን ዋናውን የስቴት ዑደት ማቋረጥ አንፈልግም። እንደ አለመታደል ሆኖ ምስሎችን እና የጽሑፍ ሕብረቁምፊዎችን የሚያሳዩ ብሎኮች በነባሪነት 400 ሚሴ መዘግየት አላቸው። የኮዱን የጃቫስክሪፕት ውክልና ሳያርትዑ ይህንን ለመለወጥ ምንም መንገድ የለም። ስለዚህ ፣ እኛ የምናደርገው ይህ ነው።

  • ለእያንዳንዱ ምስል ተግባር ይፍጠሩ። ይህ እያንዳንዱ ሰው ጃቫስክሪፕትን ከማረም ይልቅ ምስሉን ለማሳየት አንድ ብሎክ እንዲጠቀም ያስችለዋል። በዚህ ልዩ ፕሮግራም ውስጥ ምንም ምስል ከአንድ ጊዜ በላይ ጥቅም ላይ አይውልም ፣ ግን አሁንም ይህ ዘይቤ ኮዱን ለማንበብ ቀላል ያደርገዋል ብዬ አስባለሁ።
  • በእያንዳንዱ አዲስ ተግባር ውስጥ ተዛማጅ የምስል ተለዋዋጭ ስም በመተካት (ኤክስ) “ምስል አሳይ (X) በ 0 ማካካሻ ላይ” ብሎክ ያክሉ።
  • ያክሉ ፣ በዋናው ግዛት ዑደት ውስጥ። ያልተመዘገበ መንግስትን ከሚቆጣጠረው በተጨማሪ ለእያንዳንዱ ሕብረቁምፊ “ሕብረቁምፊ (X)” ብሎኮች ያሳዩ። የተለያዩ ግዛቶቹን ለማመልከት ለመሣሪያው ለማሳየት ቁምፊ ያክሉ። እኔ ያደረግሁት እነሆ

    • LISTEN_A: 'ሀ'
    • LISTEN_B ፦ 'ለ'
    • TEAM_A ፦ 'ሀ'
    • TEAM_B ፦ 'ለ'

      ለክፍለ ግዛት ያልተመዘገበ ፣ የመጫን አኒሜሽንን የሚያዘምን ተግባር ላይ ጥሪ ያድርጉ። የዚህን ተግባር ዝርዝሮች ከዚህ በታች እንሞላለን።

  • ወደ ጃቫስክሪፕት ሁኔታ ይቀይሩ።
  • ወደ X.showImage (0) እና basic.showString (X) እያንዳንዱን ጥሪ ያግኙ
  • እያንዳንዱን ወደ X.showImage (0 ፣ 0) ወይም መሠረታዊ.showString (X ፣ 0) ይለውጡ

    • ይህንን ተጨማሪ ክርክር ማከል ድርጊቱ በኋላ መዘግየቱን ወደ 0. ያደርገዋል ፣ በነባሪ ፣ ይህ ይቀራል ፣ እና እያንዳንዳቸው እነዚህ ብሎኮች ከተገደሉ በኋላ መሣሪያው ለ 400 ሚ.ሜ ያቆማል።
    • አሁን ፣ እኛ ልንገነባው በሚችሉት በአኒሜሽን ብሎኮች ውስጥ ምስሎቻችንን ለማሳየት ቅርብ የሆነ መዘግየት-ነፃ ዘዴ አለን

በመጀመሪያ ፣ በአንፃራዊነት ቀላል የሆነውን የስርጭት አኒሜሽን ተግባር እንገነባለን። የስርጭት ተግባሩን ከአይፈለጌ መልእክት እንዳያመልጡ ተግባሩ እስኪጠናቀቅ ድረስ ተጠቃሚው ምንም ማድረግ እንዲችል ስለማንፈልግ ቀላል ነው። ይህንን ለማሳካት ፣ ተግባሩ እስኪጠናቀቅ ድረስ የመቆጣጠሪያ ፍሰቱን በእገዳው ላይ ብቻ እንዲቆይ ማድረግ እንችላለን ፣ ይህም መደበኛ ባህሪ ነው።

  • የስርጭት አኒሜሽን የሚያሳይ ተግባር ይፍጠሩ።
  • በዚያ ብሎክ ውስጥ ፣ መታየት አለባቸው በሚለው ቅደም ተከተል ፣ ለእያንዳንዱ የእነማ ክፈፍ አንድ ሶስት የተግባር ጥሪዎችን ያክሉ
  • እያንዳንዱ ጥሪ ወደ ምስል ማሳያ ተግባር ከተደወለ በኋላ “ይጠብቁ (እኛን) (ኤክስ)” ብሎክን ያክሉ።

    ማሳሰቢያ - ይህ እገዳ ፣ ከተራቀቀው የቁጥጥር ክፍል ፣ “ከአፍታ ቆም (ms)” የበለጠ ይሄዳል ፣ ምክንያቱም የተጠቀሰው ጊዜ እስኪያልፍ ድረስ ማቀነባበሪያውን ሙሉ በሙሉ ያቀዘቅዛል። ለአፍታ ማቆም እገዳው ጥቅም ላይ ሲውል መሣሪያው ሌሎች ተግባሮችን ከትዕይንቱ በስተጀርባ ሊያከናውን ይችላል። በመጠባበቂያ ማገጃው ይህ የማይቻል ነው።

  • (X) በ (MS_PER_FRAME_BROADCAST_ANIMATION x MICROSECONDS_PER_MILLISECOND) ይተኩ
  • እነማ አሁን በትክክል መስራት አለበት

ሁለተኛ ፣ የመጫን አኒሜሽን ለማሳየት ዘዴን እንገነባለን። ከዚህ በስተጀርባ ያለው ሀሳብ በተለዋዋጭ MS_PER_DEVICE_TICK ውስጥ የምንገልፀውን በተወሰነ የጊዜ ልዩነት የ LED ማሳያውን ማዘመን ነው። ይህ እሴት ፣ የመሣሪያው መዥገሪያ ርዝመት ፣ እያንዳንዱ የግዛቱን ዑደት ድግግሞሽ ከጨረሰ በኋላ መሣሪያው ለአፍታ የሚያቆመው ሚሊሰከንዶች ብዛት ነው። ይህ እሴት በቂ ስለሆነ ፣ በእያንዳንዱ የማሳያ ዑደት ድግግሞሽ ወቅት ማሳያውን አንድ ጊዜ ማዘመን እንችላለን እና እነማ ያለችግር እየተጓዘ መሆኑን ለተጠቃሚው ይታያል ፣ እና ግዛቱ ሲቀየር ፣ በተጠቃሚው ግብዓት መካከል በጣም ትንሽ መዘግየት ይኖራል። ማሳያው እየተዘመነ ነው። በ iTickLoadingAnimation ተለዋዋጭ የምናደርገውን መዥገሮች በመቁጠር ፣ የአኒሜሽን ተገቢውን ፍሬም ማሳየት እንችላለን።

  • የመጫን አኒሜሽን የሚያዘምን ተግባር ይፍጠሩ
  • ምልክት ማድረጊያ ቆጣሪው ከፍተኛውን እሴቱ ላይ መድረሱን ለመፈተሽ ሁኔታ ያክሉ። እያንዳንዱን ፍሬም ለማሳየት በመጫኛ አኒሜሽን ውስጥ ከሚገኙት የክፈፎች ብዛት የሚበልጥ ከሆነ የመለያ ቆጣሪው ዋጋ በክፈፎች ብዛት የሚበልጥ ከሆነ ይህ ሁኔታ እውነት ይሆናል።

    ሁኔታው እውነት ከሆነ ፣ iTickLoadingAnimation ን ወደ 0 ዳግም ያስጀምሩ

  • የሌሎች ሁኔታዎች ማገጃ ያክሉ። እነዚህ የትኛውን የአኒሜሽን ፍሬም እንደሚታይ ይወስናሉ።

    ለእያንዳንዱ የአኒሜሽን ክፈፍ ፣ የመለያ ቆጣሪው በእያንዳንዱ እነማ ውስጥ ካለው መዥገሮች ቁጥር በአኒሜሽን ፍሬም ቁጥር (ከ 1 ጀምሮ) ከተባዛ ፣ ከዚያ ያንን ክፈፍ ያሳዩ ፣ አለበለዚያ የሚቀጥለው ክፈፍ እሱ መሆኑን ያረጋግጡ መታየት

  • በማገጃው ግርጌ ላይ iTickLoadingAnimation ን ይጨምሩ
  • እነማ አሁን በትክክል መስራት አለበት

ማስታወሻ - በእኔ ምሳሌ ውስጥ የሚታዩት ሁሉም ግራጫ ብሎኮች የሚመነጩት አንድ የጃቫስክሪፕት ውክልና ሲያስተካክል ነው። በቀላሉ ማለት እገዳው መደበኛ ብሎኮችን በመጠቀም ሊወከል የማይችል እና በጽሑፍ መልክ መስተካከል ያለበት የጃቫስክሪፕት ኮድ ይወክላል ማለት ነው።

ደረጃ 7 - የመሣሪያውን ሬዲዮ በመጠቀም መረጃን ያለገመድ ማስተላለፍ እንፈልጋለን

የመሣሪያውን ሬዲዮ በመጠቀም መረጃን ያለገመድ ማስተላለፍ እንፈልጋለን
የመሣሪያውን ሬዲዮ በመጠቀም መረጃን ያለገመድ ማስተላለፍ እንፈልጋለን

ይህ እርምጃ ከቀዳሚው በጣም አጭር ነው። በእውነቱ ፣ በዚህ አጠቃላይ ትምህርት ውስጥ በጣም አጭር እርምጃ ሊሆን ይችላል።

ያስታውሱ የመሣሪያውን ምላሽ ለተጠቃሚ ግብዓት በፕሮግራም ስናደርግ ፣ በዚያ ክፍል ውስጥ ያልተብራሩ በቅጽበታዊ ገጽ እይታ ውስጥ ሁለት ብሎኮች ነበሩኝ። እነዚህ በሬዲዮ ላይ ምልክቶችን ለሚልኩ ተግባራት ጥሪዎች ነበሩ። የበለጠ በተለይ ፦

  • አዝራር ላይ ተጭኗል

    • መሣሪያው በክፍለ ግዛት ውስጥ ከሆነ TEAM_A ፦

      የስርጭት ምልክት SIG_A

  • አዝራር B ላይ ተጭኗል

    • መሣሪያው በክፍለ ግዛት TEAM_B ውስጥ ከሆነ

      የስርጭት ምልክት SIG_B

እነሱ ከሌሉ ይህንን ተግባራት ይፍጠሩ።

በእያንዳንዱ ተግባር -

  • የስርጭት አኒሜሽን ተግባሩን ይደውሉ። ይህ እስኪጠናቀቅ ድረስ ሌላ ማንኛውንም ነገር እንዳይከሰት ያግዳል ፣ ይህም በ MS_PER_FRAME_BROADCAST_ANIMATION * 3 = 1.5 ሰከንዶች ውስጥ ይሆናል። በአኒሜሽን ውስጥ ሶስት ክፈፎች ስላሉ ቋሚው በሦስት ተባዝቷል። የውበት ማሻሻያው በቂ ከሆነ ይህ በዘፈቀደ ነው እና ብዙ ሊታከል ይችላል። የዚህ አኒሜሽን ሁለተኛ ዓላማ አንድ ተጠቃሚ የስርጭቱን ተግባር አይፈለጌ መልዕክት እንዳይከላከል ማድረግ ነው።
  • በተግባሩ ስም ውስጥ የተጠቀሰው የምልክት ቋሚው የት “የሬዲዮ መላኪያ ቁጥር (X)” ብሎክን ያክሉ

በሬዲዮ ማሰራጨት የሚያስፈልገው ያ ብቻ ነው።

ደረጃ 8 - በመሣሪያው ሬዲዮ ላይ መረጃን ለማዳመጥ እና ለመቀበል እንፈልጋለን እና በዚህ መሠረት ያካሂዱት

በመሣሪያው ሬዲዮ ላይ መረጃን ለማዳመጥ እና ለመቀበል እንፈልጋለን እና በዚህ መሠረት ያካሂዱት
በመሣሪያው ሬዲዮ ላይ መረጃን ለማዳመጥ እና ለመቀበል እንፈልጋለን እና በዚህ መሠረት ያካሂዱት
በመሣሪያው ሬዲዮ ላይ መረጃን ለማዳመጥ እና ለመቀበል እንፈልጋለን እና በዚህ መሠረት ያካሂዱት
በመሣሪያው ሬዲዮ ላይ መረጃን ለማዳመጥ እና ለመቀበል እንፈልጋለን እና በዚህ መሠረት ያካሂዱት

ዋናውን ትግበራ ለመፍጠር ይህ የመጨረሻው ደረጃ ነው።

መጪውን የሬዲዮ ምልክቶችን እንዴት እንደሚሰራ ለመሣሪያው እንነግረዋለን። በመጀመሪያ ፣ የእኛ መሣሪያ የተቀበለውን ምልክት ይሰይማል። ከዚያ ፣ በዚያ ምልክት ዋጋ ላይ በመመስረት ፣ ካለ ምን እርምጃ መውሰድ እንዳለበት ይወስናል።

አንደኛ:

  1. በ “ሬዲዮ በተቀበለ (X)” ብሎክ የሚጀምር የኮድ ማገጃ ይፍጠሩ።
  2. በአማራጭ ፣ ያንን የበለጠ ዋጋ ያለው ገላጭ ስም ላለው ለሌላ ተለዋዋጭ ይመድቡ።
  3. ምልክቱን የሚያከናውን ተግባር ይደውሉ

ሁለተኛ ፣ በምልክት ማቀነባበሪያ ተግባር ውስጥ-

  1. በምልክቱ ዋጋ ላይ በመመስረት ቅርንጫፍ የሚቆጣጠሩትን ካልሆነ ሌላ መግለጫዎችን ማገጃ ይፍጠሩ።
  2. ምልክቱ SIG_R ቢሆን ኖሮ

    የመሣሪያውን ሁኔታ ወደ BOOT_STATE ያቀናብሩ (ለዚህ ነው ይህንን ቋሚ ቀደም ብለን የፈጠርነው)

  3. ምልክቱ SIG_A ከሆነ እና የአሁኑ ሁኔታ LISTEN_A ከሆነ

    የመሣሪያውን ሁኔታ ወደ TEAM_A ያቀናብሩ

  4. ምልክቱ SIG_B ከሆነ እና የአሁኑ ሁኔታ LISTEN_B ከሆነ

    የመሣሪያውን ሁኔታ ወደ TEAM_B ያቀናብሩ

ይሀው ነው. ማመልከቻው ተጠናቅቋል።

ደረጃ 9 - የስር መሣሪያ - ምልክት ለመምረጥ መቻል እንፈልጋለን

ስርወ መሣሪያ - ምልክት ለመምረጥ መቻል እንፈልጋለን
ስርወ መሣሪያ - ምልክት ለመምረጥ መቻል እንፈልጋለን

አሁን ፣ ለ “ሥር” መሣሪያ አንድ ቀላል መተግበሪያ እንጽፋለን ፣ ማለትም አውታረመረቡን የሚቆጣጠር መሣሪያ ነው።

ይህ መሣሪያ ሁለት ተግባራትን ማከናወን አለበት

  • ተጠቃሚው ከአንዱ ምልክቶቻችን አንዱን እንዲመርጥ መፍቀድ እንፈልጋለን
  • ተጠቃሚው ምልክቱን እንዲያሰራጭ መፍቀድ እንፈልጋለን

የዚህ ትግበራ ዝርዝር የቀደመው ንዑስ ክፍል ስለሆነ ፣ አጠቃላይ እይታ እሰጣለሁ ግን ከዚህ በፊት እንደነበረው ብዙ በዝርዝር አልገባም። ከላይ ያለው ምስል ለዚህ መተግበሪያ የተሟላ ኮድ ይ containsል።

ተጠቃሚው ምልክት እንዲመርጥ ለመፍቀድ ፦

  1. በ “ጅምር” ብሎክ ውስጥ 5 ተለዋዋጮችን ያስጀምሩ

    1. ሦስቱ ምልክቶች (0 ፣ 1 ፣ 2)
    2. የምልክቶች ብዛት (3)
    3. በአሁኑ ጊዜ የተመረጠውን ምልክት ለመያዝ ተለዋዋጭ (መጀመሪያ ወደ መጀመሪያው ምልክት ተቀናብሯል ፣ 0)
  2. የ “A” ቁልፍን ይጫኑ

    1. የተመረጠውን ምልክት ይጨምሩ
    2. የተመረጠው ምልክት ከምልክቶች ብዛት ይበልጣል ወይም እኩል ከሆነ ያረጋግጡ

      ከሆነ የተመረጠውን ምልክት ወደ 0 ያዘጋጁ

  3. ከመነሻ እገዳው በኋላ የአሁኑን የተመረጠውን የምልክት ዋጋ ያለ መዘግየት የሚያሳይ “ለዘላለም” loop ን ያሂዱ

ተጠቃሚው አንድ ምልክት እንዲያሰራጭ ለመፍቀድ

  1. በ “ጅምር” ብሎክ ውስጥ የሬዲዮ ቡድኑን ወደ 0 ያቀናብሩ
  2. የ B ቁልፍን ይጫኑ።

    “የሬዲዮ መላኪያ ቁጥር (ኤክስ)” ብሎክን በመጠቀም የተመረጠውን ምልክት ያሰራጩ

ይሀው ነው. የስር መስቀለኛ መንገድ ትግበራ እጅግ በጣም ቀላል ነው።

ደረጃ 10 እኛ ጨርሰናል።

ጨርሰናል።
ጨርሰናል።

ከላይ መተግበሪያውን የሚያሄዱ መሣሪያዎች ስዕል ነው። በቀኝ ያሉት ሁለቱ ዋናውን ‹ተጠቃሚ› መተግበሪያን እያሄዱ ሲሆን በግራ በኩል ደግሞ ‹ሥር› መተግበሪያውን እያሄደ ነው።

ይህንን ጨዋታ በሲኤስ ግንኙነቶች 2018 ፣ ለመካከለኛ እና ለሁለተኛ ደረጃ ትምህርት ቤት መምህራን ስለኮምፒዩተር ሳይንስ ትምህርት በሳምንት በሚቆየው የበጋ ኮንፈረንስ ላይ አሳይቻለሁ። እኔ ወደ 40 የሚሆኑ መሣሪያዎችን ለአስተማሪዎቹ ሰጥቼ ደንቦቹን አስረዳሁ። ብዙዎቹ ጨዋታው አስደሳች ሆኖ አግኝተውታል ፣ እና ብዙዎች እንዴት እንደሚጫወቱ እስኪረዱ ድረስ ግራ የሚያጋባ ሆኖ አግኝተውታል። ሰልፉ አጭር ነበር ፣ ግን ጨዋታው በተለያዬ ሕዝብ መካከል አስደሳች ሆኖ አግኝተነዋል።

ስለ CS ግንኙነቶች 2018 ተጨማሪ መረጃ እዚህ ይገኛል።

የሚመከር: