Cov txheej txheem:

Kev Sib Tw Network: Kev Ua Si Qis Qis qis rau BBC Micro: me ntsis: 10 Kauj Ruam (nrog Duab)
Kev Sib Tw Network: Kev Ua Si Qis Qis qis rau BBC Micro: me ntsis: 10 Kauj Ruam (nrog Duab)

Video: Kev Sib Tw Network: Kev Ua Si Qis Qis qis rau BBC Micro: me ntsis: 10 Kauj Ruam (nrog Duab)

Video: Kev Sib Tw Network: Kev Ua Si Qis Qis qis rau BBC Micro: me ntsis: 10 Kauj Ruam (nrog Duab)
Video: Kuv Hmoov Phem Los Koj Siab Phem-LOKY(Official MV ) 2024, Hlis ntuj nqeg
Anonim
Kev Sib Tw Network: Kev Ua Si Qis Qis qis rau BBC Micro: me ntsis
Kev Sib Tw Network: Kev Ua Si Qis Qis qis rau BBC Micro: me ntsis
Kev Sib Tw Network: Kev Ua Si Qis Qis qis rau BBC Micro: me ntsis
Kev Sib Tw Network: Kev Ua Si Qis Qis qis rau BBC Micro: me ntsis

Hauv qhov kev qhia no, Kuv yuav piav qhia yuav ua li cas siv kev sib tw sib tw hauv BBC micro: me ntsis nrog cov yam ntxwv hauv qab no:

  • Ib qho yooj yim interface
  • Qes qis qis nruab nrab ntawm cov khawm nias thiab tshuaj ntsuam tshiab
  • Cov neeg koom nrog yooj yim
  • Kev tswj tau yooj yim ntawm qhov kev ua si siv tus tswv chaw deb ("hauv paus") ntaus ntawv

Qhov kev ua si yog qhov tseem ceeb ntawm kev sim ua nom tswv. Txhua tus neeg ua si pib tawm tsis tau muab tso rau ib pab twg, tsuas yog ob tus neeg ua si. Ib ntawm cov players no raug xa mus rau Pab Pawg A, thiab lwm tus tau muab rau Pab Pawg B.

Lub hom phiaj ntawm qhov kev ua si rau txhua tus neeg ua si kom koom nrog pab pawg feem ntau ntawm cov neeg ua si thaum lub sijhawm uas txhua tus neeg tau hloov dua siab tshiab.

Daim duab saum toj no qhia txog lub xeev lub tshuab ua haujlwm zoo, piv txwv li kev qhia tshwj xeeb ntawm cov xeev uas cov cuab yeej tuaj yeem ua tau thiab hloov pauv ntawm cov xeev ntawd.

Lub xeev tuaj yeem xav txog tam sim no teeb tsa cov ntaub ntawv uas piav qhia txog lub cim xeeb ntawm lub cuab yeej txij li nws tau qhib. Raws li cov ntaub ntawv ntawd, lub cuab yeej tuaj yeem ua qee yam kev ua lossis cuam tshuam txawv rau cov neeg siv tswv yim.

Kev hloov pauv yog qhov xwm txheej uas, thaum muaj tseeb, ua rau lub cuab yeej hloov pauv nws lub xeev. Kev hloov pauv tuaj yeem yog los ntawm ib lub xeev mus rau lwm lub xeev. Lub xeev tuaj yeem muaj ntau txoj kev hloov pauv.

Daim duab saum toj no qhia meej txog cov xeev hauv qab no:

  • Tsis muab
  • Mloog rau A.
  • Mloog rau B.
  • Pab Pawg A.
  • Pab neeg B.

Ib lub cuab yeej siv cov cai game yuav nyob hauv ib ntawm tsib lub xeev no, tab sis tsuas yog ib qho ntawm ib lub sijhawm, thiab tsuas yog tsib yam no.

Kuv yuav xav thoob plaws hauv phau ntawv qhia uas koj siv Microsoft's MakeCode editor, uas tuaj yeem pom ntawm:

Kev ua tiav ntawm qhov kev ua si tuaj yeem pom ntawm no:

makecode.microbit.org/_CvRMtheLbRR3 ("microbit-demo-user" yog lub npe project)

Thiab kev ua tiav ntawm tus tswv ("hauv paus") network tswj tuaj yeem pom ntawm no:

makecode.microbit.org/_1kKE6TRc9TgE ("microbit-demo-root" yog lub npe project)

Kuv yuav xa mus rau cov piv txwv no thoob plaws kuv qhov kev qhia.

Kauj Ruam 1: Kev Xav Txog Daim Duab Loj

Ua ntej peb sau cov cai, peb yuav tsum xav txog qhov peb xav kom peb cov khoom kawg zoo li cas. hauv lwm lo lus, qhov xav tau ntawm daim ntawv thov yog dab tsi? Peb yuav tsum hais dab tsi rau lub cuab yeej ua thaum nws ua tiav? Kuv tau faib kev ua haujlwm ntawm daim ntawv thov tseem ceeb ua rau rau pawg, txhua qhov uas tuaj yeem txiav txim siab los ntawm qhov kev xav sib txawv.

  1. Peb xav tswj hwm lub cuab yeej ua raws li nws lub xeev tam sim no
  2. Peb xav kom lub cuab yeej ua haujlwm rau cov neeg siv tswv yim
  3. Peb yuav xav tso saib cov duab thiab cov duab siv 5 x 5 LED zaub
  4. Peb xav pib cov ntaub ntawv tseem ceeb hauv cov khoom siv nco thaum lub cuab yeej khau raj
  5. Peb xav xa cov ntaub ntawv wirelessly siv lub tshuab xov tooj cua
  6. Peb xav mloog thiab tau txais cov ntaub ntawv hla lub xov tooj cua ntawm lub ntaus ntawv thiab ua raws nws

Cia kuv mus rau hauv kev nthuav dav me ntsis ntxiv txog txhua tus.

1. Peb xav tswj cov cuab yeej ua raws li nws lub xeev tam sim no

Zoo li ntau lwm cov haujlwm, ua tiav cov lus qhia teev tseg los ntawm txoj cai tshwm sim ib kab zuj zus. Peb xav kom peb lub cuab yeej ua tiav qee cov lus qhia raws li nws lub xeev sab hauv, raws li qhia los ntawm daim duab nyob rau sab saum toj ntawm cov lus qhia no. Peb tuaj yeem sau cov xwm txheej tom qab txhua qhov thaiv ntawm cov cai uas tshuaj xyuas lub cuab yeej yuav tsum tau ua, tab sis txoj hauv kev no tuaj yeem cuam tshuam sai heev, yog li peb yuav hloov siv lub voj tsis kawg uas yooj yim txheeb xyuas ib qho sib txawv, thiab raws li qhov sib txawv ntawd, ua tiav cov lus qhia tshwj xeeb lossis tsis ua dab tsi hlo li. Qhov sib txawv no yuav raug txheeb xyuas los ntawm cov ntawv txuas "_state" hauv ob qho tib si peb cov neeg siv daim ntawv thov thiab peb cov hauv paus thov.

2. Peb xav kom lub cuab yeej ua haujlwm rau cov neeg siv tswv yim

Txawm hais tias ib txwm ua tiav ntawm cov cai tshwm sim ua ntu zus, uas yog hais, ib kab ntawm ib lub sijhawm, peb xav tau peb lub cuab yeej los ua haujlwm rau khawm nias thaum lub xeev lub ntsiab tseem ceeb tau txiav txim siab tias lub cuab yeej yuav tsum ua dab tsi nyob rau lub sijhawm twg los xij. Rau lub hom phiaj ntawd, lub cuab yeej muaj peev xwm xa cov cim mus rau qib qis software uas cuam tshuam nrog kho vajtse, ua rau muaj dab tsi hu ua kev tshwm sim. Peb tuaj yeem sau cov cai uas qhia rau lub cuab yeej ua qee yam thaum nws kuaj pom ib yam tshwj xeeb ntawm cov xwm txheej.

3. Peb xav kom tso saib cov duab thiab cov duab siv 5 x 5 LED zaub

Cov txheej txheem los ua qhov no zoo li yooj yim, tab sis qhov thaiv ua kom pom cov duab ntxiv qhov zais qeeb ntawm 400 ms. Vim tias peb xav kom peb lub cuab yeej txuas ntxiv ua nws lub xeev lub voj voos nrog kev ua kom qeeb me ntsis li sai tau, peb yuav tsum hloov kho javascript code kom txo qis kev ncua.

4. Peb xav pib cov ntaub ntawv tseem ceeb hauv cov khoom siv nco thaum lub cuab yeej khau raj

Ua ntej peb lub cuab yeej ua dab tsi, daim ntawv thov yuav tsum thauj nws cov ntaub ntawv mus rau hauv lub cim xeeb. Qhov no suav nrog qhov hloov pauv tsis tu ncua lub npe rau kev nyeem tau yooj yim, cov ntawv hloov pauv uas muaj cov duab, uas tej zaum yuav yog ib feem ntawm kev ua yeeb yaj kiab, thiab cov lej sib txawv uas xav tau pib tawm ntawm 0 kom ua haujlwm tau zoo. Peb yuav xaus nrog cov npe ntev ntawm cov npe sib txawv thiab lawv cov txiaj ntsig tau muab tshiab. Raws li kev xaiv tus kheej, kuv yuav qhia qhov muaj txiaj ntsig tas li, piv txwv li qhov txiaj ntsig uas kuv yuav tsis tas yuav hloov pauv, siv ALL_CAPS. Kuv tseem yuav hais ua ntej lub cim tseem ceeb sib txawv nrog cov npe pawg uas hais txog hom khoom lossis hom uas tus cim nyob hauv. Nov yog kev sim ua kom cov cai yooj yim ua raws. Kuv yuav tsis siv lub npe hloov pauv xws li "yam khoom" lossis "x" vim yog qhov tsis meej pem uas tshwm sim thaum sim txiav txim siab qhov chaws.

5. Peb xav xa cov ntaub ntawv wirelessly siv lub xov tooj cua ntaus ntawv

Qhov no yog qhov haujlwm yooj yim haum thaum siv MakeCode thaiv cov lus. Peb yooj yim teeb tsa txhua lub cuab yeej rau tib pawg xov tooj cua ntawm lub sijhawm khau raj thiab tom qab ntawd thaum peb xav xa lub teeb liab, peb tuaj yeem hla tus lej ib tus mus rau "Xov tooj cua xa tus lej" thaiv uas muab rau peb. Nws yog ib qho tseem ceeb uas tus xa thiab txais tau ua haujlwm ntawm tib pab pawg xov tooj cua, vim tias yog tsis yog, lawv yuav xa lossis tau txais ntawm ntau zaus, thiab kev sib txuas lus yuav tsis ua tiav.

6. Peb xav mloog thiab tau txais cov ntaub ntawv hla lub xov tooj cua ntawm lub ntaus ntawv thiab ua raws nws

Ua tib zoo txiav txim siab tib yam li cov khoom dhau los, peb yuav mloog rau cov khoom xa tuaj ib yam nkaus peb yuav mloog rau cov neeg siv tswv yim: nrog tus tuav tes xwm txheej. Peb yuav sau qhov thaiv ntawm cov cai uas yuav tshuaj xyuas cov cim nkag mus thiab tshawb xyuas yog tias yuav tsum ua dab tsi yam tsis cuam tshuam rau lub xeev lub ntsiab.

Ib qho ntxiv, peb yuav tsum txiav txim siab luv luv txog kev tsim cov hauv paus hauv paus yooj yim thov, ib txoj haujlwm uas yuav tso cai rau lub cuab yeej tswj hwm tag nrho lub network. Kuv yuav tsis siv sijhawm ntau ntawm qhov no vim nws yooj yim dua li cov qauv tsim saum toj no thiab ntau ntawm nws tsuas yog rov ua dua. Kuv tau faib cov haujlwm ntawm cov hauv paus deice ua peb pawg.

  1. Peb xav kom tuaj yeem xaiv lub teeb liab
  2. Peb xav kom tuaj yeem xa cov teeb liab

-

1. Peb xav kom tuaj yeem xaiv lub teeb liab

Qhov no tuaj yeem ua tiav los ntawm kev yooj yim muaj khawm rov ua dua los ntawm cov cim qhia tau. Txij li tsuas muaj peb leeg, txoj hauv kev no yuav txaus. Nyob rau tib lub sijhawm, peb tuaj yeem muaj lub voj uas rov ua dua qhov kev teeb tsa uas tau xaiv, tso cai rau tus neeg siv nias lub pob thiab pom cov cim xaiv tau tshwm ntawm LED zaub nrog qis qis heev.

2. Peb xav kom muaj peev xwm xa lub teeb liab

Txij li muaj ob lub khawm, peb tuaj yeem xaiv ib qho rau xaiv thiab lwm qhov rau kev lees paub. Zoo li tus neeg siv daim ntawv thov, peb tsuas xa lub teeb liab hla lub network raws li tus lej. Tsis muaj lwm cov ntaub ntawv xav tau.

Kuv yuav tham ntau ntxiv txog cov txheej txheem teeb liab yooj yim hauv ntu tom ntej.

Kauj Ruam 2: Cov Txheej Txheem Teeb Meem: Yam Lus Yooj Yim rau Kev Sib Txuas Network

Cov cim hauv qab no tuaj yeem xav txog ua cov txheej txheem ntawm txhua lo lus uas cov cuab yeej siv tau los tham nrog ib leeg. Vim tias lub network yooj yim heev, tsis muaj ntau yam hais, thiab yog li peb tuaj yeem sawv cev rau peb lub cim no los ntawm cov lej yooj yim yooj yim.

0. Pib dua

  • Tus lej cim hauv tus lej: SIG-R
  • Tus nqi Integer: 0
  • Lub Hom Phiaj: Qhia txhua yam khoom siv hauv thaj tsam kom tso tseg yam lawv tab tom ua thiab ua zoo li lawv nyuam qhuav pib. Yog tias lub teeb liab no mus txog txhua lub cuab yeej ntawm lub network, tag nrho lub network yuav rov pib dua thiab cov neeg siv tuaj yeem pib ua si tshiab. Lub teeb liab no tsuas tuaj yeem tshaj tawm los ntawm lub hauv paus ntaus ntawv.

1. Hloov dua siab tshiab A

  • Tus lej cim hauv tus lej: SIG-A
  • Tus nqi Integer: 1
  • Lub Hom Phiaj: Qhia txhua lub cuab yeej uas nyob hauv xeev LISTEN_A, thaum lawv tau txais lub teeb liab hloov pauv, hloov mus rau TEAM_A lub xeev.

2. Hloov dua siab tshiab B

  1. Tus lej cim hauv tus lej: SIG-B
  2. Tus nqi Integer: 2
  3. Lub Hom Phiaj: Qhia txhua lub cuab yeej uas nyob hauv xeev LISTEN_B, thaum lawv tau txais lub teeb liab hloov pauv, hloov mus rau TEAM_B lub xeev.

Kauj Ruam 3: Peb Xav Tswj Cov Khoom Ua Raws Li Nws Lub Xeev Tam Sim No

Peb Xav Tswj Cov Khoom Ua Raws Li Nws Lub Xeev Tam Sim No
Peb Xav Tswj Cov Khoom Ua Raws Li Nws Lub Xeev Tam Sim No
Peb Xav Tswj Cov Khoom Ua Raws Li Nws Lub Xeev Tam Sim No
Peb Xav Tswj Cov Khoom Ua Raws Li Nws Lub Xeev Tam Sim No
Peb Xav Tswj Cov Khoom Ua Raws Li Nws Lub Xeev Tam Sim No
Peb Xav Tswj Cov Khoom Ua Raws Li Nws Lub Xeev Tam Sim No

Thaum kawg, peb tuaj yeem pib sau cov cai.

Ua ntej, Qhib qhov haujlwm tshiab hauv Ua Code

  • Tsim txoj haujlwm tshiab. Kuv hu kuv lub voj vim tias qhov no yog lub hauv paus ntawm daim ntawv thov
  • Ntxiv lub voj thaiv uas yuav rov ua dua tsis muaj hnub kawg. Kuv siv thaum (muaj tseeb) vim tias qhov tseeb qhov tseeb yuav tsis yog qhov cuav, yog li qhov kev tswj ntws ntawm daim ntawv thov yuav tsis tawm ntawm lub voj
  • Ntxiv txaus yog-lwm qhov thaiv txhawm rau txheeb xyuas yog tias lub cuab yeej nyob hauv ib ntawm nws tsib lub xeev ua tau
  • Tsim kom muaj qhov sib txawv los tuav lub xeev cov cuab yeej tam sim no
  • Tsim cov kev hloov pauv los sawv cev rau txhua ntawm tsib lub xeev ua tau

    Nco tseg: Nws yog qhov zoo uas cov kev hloov pauv no tseem tsis tau muab cov txiaj ntsig tseem ceeb. Peb yuav mus txog qhov ntawd. Txij ntawm no mus, nws yog qhov tseem ceeb dua uas peb sau kom huv, yooj yim nyeem cov cai

  • Hloov txhua qhov xwm txheej hauv qhov yog-lwm qhov thaiv kom muab piv rau lub xeev tam sim no mus rau ib qho ntawm lub xeev
  • Hauv qab ntawm qhov-yog lwm qhov thaiv, ntxiv ncua rau qee tus lej ntawm milliseconds, thiab tsim qhov sib txawv los tuav tus lej ntawd. Peb yuav pib nws tom qab. Xyuas kom tseeb tias qhov sib txawv muaj lub npe piav qhia, xws li zuam lossis lub plawv dhia. Vim tias qhov no yog lub hauv paus tseem ceeb ntawm lub cuab yeej, qhov kev ncua no yuav txiav txim siab qhov nrawm uas lub cuab yeej ua lub voj tseem ceeb, yog li nws yog tus nqi tseem ceeb heev, thiab tseem ceeb heev uas yuav yog tus lej khawv koob uas tsis muaj npe.

Nco tseg: Tsis txhob txhawj xeeb txog cov thaiv grey hauv daim duab thib peb. Kuv mam mus rau cov tom qab.

Kauj Ruam 4: Peb Xav Tau Kev Tawm Tsam Rau Cov Neeg Siv Khoom

Peb Xav Tau Cov Lus Teb rau Cov Neeg Siv Khoom
Peb Xav Tau Cov Lus Teb rau Cov Neeg Siv Khoom
Peb Xav Tau Cov Lus Teb rau Cov Neeg Siv Khoom
Peb Xav Tau Cov Lus Teb rau Cov Neeg Siv Khoom

Tam sim no, peb xav qhia lub cuab yeej yuav ua li cas los khawm khawm. Ib tus thawj xav yuav yooj yim siv "Thaum khawm raug nias" cov thaiv hauv cov qeb nkag, tab sis peb xav tau kev tswj hwm ntau dua li qhov ntawd. Peb yuav siv qhov "tshwm sim los ntawm (X) nrog tus nqi (Y)" thaiv los ntawm pawg tswj hwm hauv ntu ntu siab, vim tias peb tau nce qib hauv qhov kev qhia no.

  • Tsim plaub "ntawm kev tshwm sim los ntawm …" block.

    • Ob ntawm cov no yuav tsum tau txheeb xyuas qhov xwm txheej "MICROBIT_ID_BUTTON_A"
    • Ob ntawm cov no yuav tsum tau txheeb xyuas qhov xwm txheej "MICROBIT_ID_BUTTON_B"
    • Ntawm ob qhov xwm txheej tsom rau txhua lub pob:

      • Ib tus yuav tsum txheeb xyuas qhov xwm txheej ntawm hom "MICROBIT_BUTTON_EVT_UP"
      • Ib tus yuav tsum txheeb xyuas qhov xwm txheej ntawm hom "MICROBIT_BUTTON_EVT_DOWN"
    • Nco tseg: Cov kev xaiv no hauv txhua daim ntawv loj yog cov ntawv uas tau siv hauv qib qis micro: ntsis code. Lawv yog cov neeg tso yooj yim uas tom qab hloov pauv los ntawm cov lej sib koom thaum cov cai tau suav ua ke mus rau kev ua haujlwm binary. Nws yog qhov yooj yim rau tib neeg siv cov ntawv no ntau dua los saib seb cov lej sib xyaw twg tso rau hauv, txawm tias ob qho tib si yuav ua haujlwm tib yam nkaus.
  • Kuv tau xaiv, raws li qhov teeb meem ntawm cov style, kom muaj txhua "ntawm qhov tshwm sim los ntawm …" thaiv kev hu ua lub luag haujlwm uas piav qhia qhov tshwm sim tshwm sim. Thaum tsis tsim nyog nruj me ntsis, hauv kuv lub tswv yim qhov no txhim kho kev nyeem tau. Yog tias ib tus neeg xav ua li ntawd, lawv tuaj yeem tso lawv cov xwm txheej-tuav txoj cai sab hauv "ntawm qhov tshwm sim los ntawm …" thaiv nws tus kheej.

    Nco tseg: Qhov thaiv ntawm cov cai uas ua haujlwm ntawm lub cuab yeej cov lus teb rau ib qho kev tshwm sim yog nkag siab zoo hu ua "tus tswj hwm qhov xwm txheej"

  • Ntxiv rau, hauv txhua qhov kev daws teeb meem, zoo ib yam yog-lwm cov qauv siv los faib kev tswj raws li lub xeev ntaus ntawv raws li cov qauv hauv lub xeev tseem ceeb.
  • Ntxiv cov haujlwm txwv uas hloov kho lub xeev ntawm lub cuab yeej raws li tau teev tseg los ntawm peb lub xeev daim duab

    • Peb paub tias thaum lub cuab yeej nyob hauv lub xeev UNASSIGNED, lub cuab yeej yuav tsum hnov mob rau khawm A nias los ntawm kev hloov mus rau lub xeev LISTEN_A, thiab khawm B nias los ntawm kev hloov mus rau lub xeev LISTEN_B
    • Peb kuj paub tias thaum lub cuab yeej nyob hauv lub xeev LISTEN_A lossis LISTEN_B, lub cuab yeej yuav tsum ua li cas rau khawm A tso tawm thiab khawm B tso tawm, feem, los ntawm kev hloov rov qab mus rau lub xeev UNASSIGNED.
    • Thaum kawg, peb paub tias thaum lub cuab yeej nyob hauv xeev TEAM_A lossis TEAM_B, lub cuab yeej yuav tsum hnov mob rau khawm A nias thiab khawm B nias los ntawm tshaj tawm SIG_A thiab los ntawm tshaj tawm SIG_B feem.

      Nws tsis tas yuav tsum nyob rau lub sijhawm no txhawm rau sau cov ntsiab lus ntawm kev tshaj tawm hauv xov tooj cua. Peb yuav mus txog qhov ntawd tom qab. Dab tsi yog qhov tseem ceeb yog tias peb qhia cov haujlwm no kom siv cov cai uas peb yuav sau los ntawm kev muab qhov thaiv ntawm kev ua lub npe, xws li tshaj tawmSignalSIG_A, uas piav qhia tias yuav tsum ua dab tsi ntawm qhov ntawd

Kauj Ruam 5: Peb Xav Pib Ua Ntej Cov Ntaub Ntawv Muaj txiaj ntsig hauv Cov Khoom Siv Nco Thaum Lub Ntaus Ntaus Nkaum

Peb Xav Pib Ua Ntej Cov Ntaub Ntawv Muaj txiaj ntsig hauv Cov Khoom Siv Nco Thaum Lub Cev Nkoj Nkoj Nkag Mus
Peb Xav Pib Ua Ntej Cov Ntaub Ntawv Muaj txiaj ntsig hauv Cov Khoom Siv Nco Thaum Lub Cev Nkoj Nkoj Nkag Mus
Peb Xav Pib Ua Ntej Cov Ntaub Ntawv Muaj txiaj ntsig hauv Cov Khoom Siv Nco Thaum Lub Cev Nkoj Nkoj Nkag Mus
Peb Xav Pib Ua Ntej Cov Ntaub Ntawv Muaj txiaj ntsig hauv Cov Khoom Siv Nco Thaum Lub Cev Nkoj Nkoj Nkag Mus
Peb Xav Pib Ua Ntej Cov Ntaub Ntawv Muaj txiaj ntsig hauv Cov Khoom Siv Nco Thaum Lub Cev Nkoj Nkoj Nkag Mus
Peb Xav Pib Ua Ntej Cov Ntaub Ntawv Muaj txiaj ntsig hauv Cov Khoom Siv Nco Thaum Lub Cev Nkoj Nkoj Nkag Mus

Txij ntawm no mus, peb tau siv ntau qhov sib txawv (cov npe rau cov ntaub ntawv), tab sis peb tsis tau ua qhov tseem ceeb rau cov npe ntawd. Peb xav kom lub cuab yeej thauj khoom qhov tseem ceeb ntawm txhua qhov kev hloov pauv no mus rau lub cim xeeb thaum nws khau raj, yog li peb tso qhov pib rau cov kev hloov pauv no hauv "thaum pib" thaiv.

Nov yog cov txiaj ntsig peb yuav tsum pib ua:

  • Cov teeb liab tsis tu ncua, raws li cov txheej txheem teeb liab. Qhov tseem ceeb yuav tsum yog:

    • SIG_R = 0
    • SIG_A = 1
    • SIB_B = 2
    • Nco tseg: Kuv ua ntej cov kab lus no nrog "EnumSignals" txhawm rau qhia tias cov kev hloov pauv no yuav tsum coj zoo ib yam li lawv yog ib feem ntawm kev suav sau hom hu ua Signals. Nov yog yuav ua li cas cov kev hloov pauv no tuaj yeem ua hauv lwm hom lus programming. Lub ntsiab lus thiab kev piav qhia ntawm hom suav suav nrog yog dhau qhov uas kuv qhia. Ib tus tuaj yeem Google nws yog tias lawv xav tau. Cov ntawv ua ntej no tsuas yog kev xaiv zoo nkauj thiab tsis yog qhov tseem ceeb rau kev ua haujlwm tau zoo ntawm txoj haujlwm.
  • Lub xeev ruaj khov, uas tuaj yeem txiav txim siab tsuav yog lawv muaj tus nqi. Kuv tau xaiv qhov kev xaiv kom yooj yim siv cov lej nce los ntawm 0, zoo li:

    • UNASSIGNED = 0
    • LISTEN_A = 1
    • LISTEN_B = 2
    • TEAM_A = 3
    • TEAM_B = 4
    • Nco tseg: Kuv tau txiav txim siab ib yam txog kev hais ua ntej rau cov kev hloov pauv ib yam. Ib qho ntxiv, kuv yuav hais tias txhua yam hais txog cov haujlwm no, qhov muaj txiaj ntsig thiab qhov kev txiav txim, yog yam tsis raug cai. Nws tsis muaj teeb meem txawm hais tias cov txiaj ntsig no zoo ib yam los ntawm cov cuab yeej mus rau lub cuab yeej, vim tias lawv tsuas yog siv sab hauv thiab tsis yog rau kev sib txuas lus hla lub network. Txhua qhov teeb meem yog tias qhov hloov pauv muaj tus nqi thiab lawv tuaj yeem muab piv rau ib leeg kom pom tias lawv sib npaug lossis tsis.
  • Txog kev nyeem tau, tas li hu ua BOOT_STATE thiab teeb nws rau UNASSIGNED. Qhov no ua rau qhov tseeb tias peb rov pib dua rau lub xeev khau raj, tsis yog lub xeev xav tau ntau dua, qhia meej ntxiv thaum lub cuab yeej tau txais lub teeb liab pib dua, uas peb yuav siv tom qab.
  • Animation constants, siv nyob rau hauv cov kauj ruam hauv qab no los tsim cov animations uas tso cai rau kev cuam tshuam qis qis qis heev los ntawm cov neeg siv tswv yim. Peb tsis tau siv cov no txog tam sim no, tab sis lawv yuav tau piav qhia thiab siv hauv ntu hauv qab no. Lub ntsiab lus ntawm qee qhov ntawm no yuav tsum nkag siab vim lawv lub npe.

    • 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
  • Lwm qhov sib txawv rau kev ua yeeb yaj kiab, lub sijhawm no lub txee uas tsis yog tas li. Zoo li feem ntau cov neeg suav, peb pib nws rau 0

    iTickLoadingAnimation = 0

  • Tsim ob kab ntawm cov kev hloov pauv los tuav cov thav duab ntawm cov duab. Thawj qhov, uas kuv hu ua "thauj cov duab", yuav tsum muaj plaub daim duab (uas koj yuav tau kwv yees los ntawm qhov pib ua tas los tas li), thiab qhov thib ob, uas kuv hu ua "tshaj tawm cov animation", uas yuav tsum muaj peb daim duab. Kuv pom zoo muab lub npe hloov pauv kom sib haum rau cov thav duab ntawm cov tsiaj ntawv, piv txwv. ringAnimation0, ringAnimation1…

    Tsim cov duab zoo ib yam li kuv tau ua lossis tsim ntau cov duab qub thiab txias dua

  • Qhov kawg tab sis tsis tsawg, peb yuav tsum teeb tsa pawg xov tooj cua ntawm lub cuab yeej rau 0 siv "block set radio group (X)" block
  • Xaiv tau, sau cov lus "Pib ua kom tiav" rau cov ntawv tso tawm kom qhia rau tus neeg siv tias txhua yam mus ua luam dej.
  • Tam sim no peb tau ua tiav teeb tsa lub cuab yeej, peb tuaj yeem hu rau peb lub xeev kev ua haujlwm.

Kauj Ruam 6: Peb Xav Tso Zaub Animations thiab Duab Siv 5 X 5 LED Zaub

Peb Xav Tso Zaub Animations thiab Duab Siv 5 X 5 LED Zaub
Peb Xav Tso Zaub Animations thiab Duab Siv 5 X 5 LED Zaub
Peb Xav Tso Zaub Animations thiab Duab Siv 5 X 5 LED Zaub
Peb Xav Tso Zaub Animations thiab Duab Siv 5 X 5 LED Zaub
Peb Xav Tso Zaub Animations thiab Duab Siv 5 X 5 LED Zaub
Peb Xav Tso Zaub Animations thiab Duab Siv 5 X 5 LED Zaub

Thiab tam sim no rau qee yam sib txawv kiag li.

Peb xav kom tso saib ob peb cov duab thiab ob peb lub cim, tab sis peb tsis xav cuam tshuam lub xeev lub ntsiab lus. Hmoov tsis zoo, cov thaiv uas tso saib cov duab thiab kab ntawv muaj qhov ncua ntawm 400 ms los ntawm lub neej ntawd. Tsis muaj txoj hauv kev los hloov qhov no yam tsis hloov kho javascript sawv cev ntawm cov cai. Yog li, qhov no yog qhov peb yuav ua.

  • Tsim kom muaj nuj nqi rau txhua daim duab. Qhov no yuav tso cai rau ib tus siv ib qho thaiv los tso saib cov duab tsis hloov kho javascript txhua lub sijhawm. Hauv qhov haujlwm tshwj xeeb no, tsis siv daim duab ntau dua ib zaug, tab sis kuv tseem xav tias cov qauv no ua rau cov lej nyeem tau yooj yim dua.
  • Ntxiv, hauv txhua qhov haujlwm tshiab, "qhia cov duab (X) ntawm offset 0" thaiv nrog cov duab sib xws lub npe hloov pauv (X)
  • Ntxiv, hauv lub xeev tseem ceeb voj. "Qhia txoj hlua (X)" thaiv rau txhua qhov thaiv ntxiv rau qhov uas ua haujlwm rau lub xeev UNASSIGNED. Ntxiv tus cwj pwm rau lub cuab yeej los tso saib kom qhia nws cov xeev sib txawv. Nov yog qhov kuv tau ua:

    • LISTEN_A: 'ib'
    • LISTEN_B: 'b'
    • TEAM_A: 'UA'
    • TEAM_B: 'IB'

      Rau lub xeev UNASSIGNED, hu xov tooj mus rau lub luag haujlwm uas yuav hloov kho cov khoom thauj khoom. Peb yuav sau cov ntsiab lus ntawm txoj haujlwm hauv qab no

  • Hloov mus rau hom javascript.
  • Nrhiav txhua qhov kev hu rau X.showImage (0) thiab basic.showString (X)
  • Hloov txhua ib qho rau X.showImage (0, 0) lossis basic.showString (X, 0)

    • Ntxiv qhov kev sib cav ntxiv no yuav teeb tsa ncua tom qab ua rau 0. Los ntawm lub neej ntawd, qhov no tawm mus, thiab lub cuab yeej yuav ncua rau 400 ms tom qab ua tiav ntawm txhua qhov thaiv no.
    • Tam sim no, peb muaj cov txheej txheem nyob ze tsis pub dhau los tso tawm peb cov duab hauv peb cov duab thaiv, uas peb tam sim no tuaj yeem tsim

Ua ntej, peb yuav tsim qhov yooj yim tshaj tawm hauv xov tooj cua ua haujlwm. Nws yog qhov yooj yim dua vim tias peb tsis xav kom tus neeg siv tuaj yeem ua ib yam dab tsi kom txog thaum lub luag haujlwm tiav, yog li txhawm rau txwv lawv los ntawm spamming tshaj tawm hauv xov. Txhawm rau ua tiav qhov no, peb tuaj yeem yooj yim tswj kev txwv txwv rau qhov thaiv kom txog thaum ua haujlwm tiav, uas yog tus cwj pwm tus qauv.

  • Tsim kom muaj txoj haujlwm uas yuav tso saib cov tshaj tawm suab.
  • Sab hauv qhov thaiv, ntxiv peb qhov kev hu xov tooj, ib qho rau txhua kab ntawm cov yeeb yaj kiab, nyob rau hauv qhov kev txiav txim uas lawv yuav tsum tau nthuav tawm
  • Ntxiv qhov "tos (peb) (X)" thaiv tom qab txhua qhov kev hu mus rau cov duab ua haujlwm.

    Nco tseg: Qhov thaiv no, los ntawm ntu kev tswj hwm siab, yuav mus txuas ntxiv txawm tias "ncua (ms)" hauv qhov ntawd nws yuav ua kom khov cov txheej txheem kom txog thaum lub sijhawm tau teev tseg. Thaum siv qhov thaiv ncua, nws muaj peev xwm tias lub cuab yeej yuav ua lwm yam haujlwm tom qab lub ntsej muag. Qhov no tsis yooj yim sua nrog tos tos

  • Hloov (X) nrog (MS_PER_FRAME_BROADCAST_ANIMATION x MICROSECONDS_PER_MILLISECOND)
  • Tam sim no cov animation yuav tsum ua haujlwm kom raug

Qhov thib ob, peb yuav tsim cov txheej txheem rau tso saib cov khoom thauj khoom. Lub tswv yim tom qab qhov no yog hloov kho cov duab LED ntawm lub sijhawm tshwj xeeb, uas peb txhais hauv qhov sib txawv MS_PER_DEVICE_TICK. Tus nqi no, ntaus cim ntev, yog tus naj npawb ntawm milliseconds uas lub cuab yeej nres tom qab ua tiav txhua qhov rov ua dua ntawm lub xeev lub voj. Vim tias qhov txiaj ntsig no me me txaus, peb tuaj yeem hloov kho cov duab ib zaug thaum txhua qhov rov ua dua ntawm lub voj vijtsam thiab nws yuav tshwm rau tus neeg siv tias qhov kev ua yeeb yaj kiab tau zoo zuj zus mus, thiab thaum lub xeev hloov pauv, yuav muaj qhov qis me ntsis ntawm tus neeg siv kev nkag mus. cov zaub raug kho dua tshiab. Los ntawm suav cov zuam, uas peb ua nrog iTickLoadingAnimation qhov sib txawv, peb tuaj yeem tso saib cov kab tsim nyog ntawm cov duab.

  • Tsim kom muaj nuj nqi uas yuav hloov kho cov duab thau khoom
  • Ntxiv qhov xwm txheej los tshuaj xyuas yog tias tus lej zuam tau mus txog nws qhov siab tshaj plaws. Qhov xwm txheej no yuav muaj tseeb yog tias tus lej zauv tus nqi muaj ntau dua li tus lej ntawm cov thav duab hauv kev thav duab ua kom sib luag los ntawm tus lej zuam los tso saib txhua tus ncej

    Yog tias qhov xwm txheej muaj tseeb, rov pib dua iTickLoadingAnimation rau 0

  • Ntxiv qhov thaiv ntawm lwm qhov xwm txheej. Cov no yuav txiav txim siab tus ncej ntawm cov duab kom pom.

    Rau txhua daim duab ntawm cov tsiaj ntawv, yog tias tus lej zauv tsawg dua tus lej zuam hauv txhua qhov kev ua yeeb yaj kiab sib npaug los ntawm tus lej tus lej ntawm cov duab ua yeeb yaj kiab (pib ntawm 1), tom qab ntawd tso saib lub thav duab ntawd, ntxiv rau xyuas seb daim duab tom ntej yog ib qho yuav muab tso tawm

  • Hauv qab ntawm qhov thaiv, nce iTickLoadingAnimation
  • Tam sim no cov animation yuav tsum ua haujlwm kom raug

Nco tseg: Txhua qhov ntawm cov grey thaiv uas tshwm hauv kuv qhov piv txwv tau tsim thaum ib qho kho qhov javascript sawv cev ntawm ib lub block. Nws yooj yim txhais tau tias qhov thaiv nruab nrab yog javascript code uas tsis tuaj yeem sawv cev siv cov txheej txheem txheej txheem ntawm cov thaiv thiab yuav tsum raug kho hauv cov ntawv.

Kauj Ruam 7: Peb Xav Xa Cov Ntaub Ntawv Wirelessly Siv Tus Ntaus Xov Tooj Cua

Peb Xav Xa Cov Ntaub Ntawv Wirelessly Siv Tus Ntaus Xov Tooj Cua
Peb Xav Xa Cov Ntaub Ntawv Wirelessly Siv Tus Ntaus Xov Tooj Cua

Cov kauj ruam no luv dua li yav dhau los. Qhov tseeb, nws yog tej zaum cov kauj ruam luv tshaj plaws hauv qhov kev qhia tag nrho no.

Nco qab tias thaum peb teeb tsa lub cuab yeej cov lus teb rau cov neeg siv khoom nkag, Kuv muaj ob lub block hauv lub screenshot uas tsis tau piav qhia hauv ntu ntawd. Cov no yog hu rau cov haujlwm uas xa cov cim qhia hauv xov tooj cua. Tshwj xeeb tshaj yog:

  • Ntawm khawm A nias:

    • Yog tias lub cuab yeej nyob hauv xeev TEAM_A:

      Tshaj tawm xov tooj cua SIG_A

  • Ntawm khawm B nias:

    • Yog tias lub cuab yeej nyob hauv xeev TEAM_B

      Tshaj tawm xov tooj cua SIG_B

Tsim cov haujlwm no yog tias lawv tsis muaj nyob lawm.

Hauv txhua txoj haujlwm:

  • Hu xov tooj ua haujlwm tshaj tawm suab. Qhov no yuav thaiv lwm yam los ntawm qhov tshwm sim kom txog thaum nws ua tiav, uas yuav nyob hauv MS_PER_FRAME_BROADCAST_ANIMATION * 3 = 1.5 vib nas this. Qhov tsis tu ncua yog sib tw peb vim tias muaj peb ntu hauv cov duab. Qhov no yog qhov xav tau thiab tuaj yeem muab ntxiv yog tias kev txhim kho kom zoo nkauj zoo txaus. Lub hom phiaj thib ob ntawm qhov kev ua yeeb yaj kiab no yog txhawm rau tiv thaiv tus neeg siv los ntawm spamming kev tshaj tawm.
  • Ntxiv "xov tooj cua xa xov tooj (X)" thaiv, qhov twg yog lub teeb liab tsis tu ncua tau hais hauv lub luag haujlwm

Qhov ntawd yog txhua yam xav tau tshaj tawm hauv xov tooj cua.

Kauj Ruam 8: Peb Xav Mloog thiab Tau Txais Cov Ntaub Ntawv hla Tus Xov Tooj Ntaus Xov Tooj thiab Ua Raws Li Nws

Peb Xav Mloog thiab Tau Txais Cov Ntaub Ntawv hla Tus Ntaus Xov Tooj Cua thiab Ua Raws Li Nws
Peb Xav Mloog thiab Tau Txais Cov Ntaub Ntawv hla Tus Ntaus Xov Tooj Cua thiab Ua Raws Li Nws
Peb Xav Mloog thiab Tau Txais Cov Ntaub Ntawv hla Tus Ntaus Xov Tooj Cua thiab Ua Raws Li Nws
Peb Xav Mloog thiab Tau Txais Cov Ntaub Ntawv hla Tus Ntaus Xov Tooj Cua thiab Ua Raws Li Nws

Nov yog theem kawg los tsim daim ntawv thov tseem ceeb.

Peb tab tom yuav qhia lub cuab yeej yuav ua li cas ua cov teeb liab hauv xov tooj cua tuaj. Ua ntej, peb lub cuab yeej yuav mus rau npe lub teeb liab tau txais. Tom qab ntawd, raws li tus nqi ntawm lub teeb liab ntawd, nws yuav txiav txim siab yuav ua dab tsi, yog tias muaj.

Thawj:

  1. Tsim qhov thaiv ntawm txoj cai pib nrog "ntawm xov tooj cua tau txais (X)" thaiv.
  2. Xaiv tau, muab qhov uas tau txais tus nqi rau lwm qhov sib txawv nrog lub npe piav qhia ntau dua.
  3. Hu rau lub luag haujlwm uas yuav ua lub teeb liab

Qhov thib ob, hauv kev ua haujlwm teeb liab:

  1. Tsim qhov thaiv ntawm lwm qhov nqe lus uas ceg tswj kev ntws raws tus nqi ntawm lub teeb liab.
  2. Yog tias lub teeb liab yog SIG_R

    Teem lub cuab yeej lub xeev rau BOOT_STATE (qhov no yog vim li cas peb tsim qhov tas li no ua ntej)

  3. Yog tias lub teeb liab yog SIG_A thiab yog tias lub xeev tam sim no yog LISTEN_A

    Teeb lub cuab yeej lub xeev rau TEAM_A

  4. Yog tias lub teeb liab yog SIG_B thiab yog tias lub xeev tam sim no yog LISTEN_B

    Teeb lub cuab yeej lub xeev rau TEAM_B

Qhov ntawd yog nws. Daim ntawv thov tiav lawm.

Kauj Ruam 9: Root Device: Peb Xav Kom Muaj Peev Xwm Xaiv Lub Teeb

Cag Ntaus: Peb Xav Kom Muaj Peev Xwm Xaiv Lub Teeb
Cag Ntaus: Peb Xav Kom Muaj Peev Xwm Xaiv Lub Teeb

Tam sim no, peb yuav sau daim ntawv thov yooj yim rau "hauv paus" ntaus ntawv, uas yog hais, cov cuab yeej uas yuav tswj hwm lub network.

Cov cuab yeej no yuav tsum ua ob txoj haujlwm:

  • Peb xav tso cai rau tus neeg siv xaiv ib qho ntawm peb cov cim
  • Peb xav tso cai rau tus neeg siv tshaj tawm lub teeb liab

Vim hais tias cov lus qhia tshwj xeeb ntawm daim ntawv thov no yog ntu me me ntawm yav dhau los, Kuv yuav muab cov ntsiab lus tab sis kuv yuav tsis nkag mus kom ntxaws ntau npaum li kuv tau ua ntej. Cov duab saum toj no muaj cov lej ua tiav rau daim ntawv thov no.

Txhawm rau tso cai rau tus neeg siv xaiv lub teeb liab:

  1. Pib 5 qhov hloov pauv hauv qhov "pib" thaiv:

    1. Peb lub cim (0, 1, 2)
    2. Cov naj npawb ntawm cov cim (3)
    3. Qhov sib txawv los tuav lub teeb liab tam sim no xaiv (pib teeb tsa thawj lub teeb liab, 0)
  2. Kov xovxwm ntawm A khawm:

    1. Ua kom lub teeb liab tau xaiv
    2. Txheeb xyuas yog tias lub teeb liab xaiv ntau dua lossis sib npaug rau cov lej

      Yog tias yog, teeb tsa lub teeb liab xaiv rau 0

  3. Tom qab qhov pib thaiv, khiav lub voj "ib txhis" uas qhia txog qhov teeb meem tam sim no tau xaiv yam tsis muaj ncua

Txhawm rau tso cai rau tus neeg siv tshaj tawm xov tooj cua

  1. Teeb lub xov tooj cua pab pawg rau 0 hauv qhov "pib" thaiv
  2. Kov xovxwm ntawm B khawm:

    Tshaj tawm lub teeb liab uas tau xaiv siv "block xov tooj xa (X)"

Qhov ntawd yog nws. Daim ntawv thov hauv paus yog yooj yim heev.

Kauj ruam 10: Peb Ua Tiav

Peb Tiav lawm
Peb Tiav lawm

Saum toj no yog daim duab ntawm cov cuab yeej ua haujlwm thov. Ob qho ntawm sab xis tab tom khiav lub ntsiab "tus neeg siv" daim ntawv thov, thiab ib qho ntawm sab laug yog ua haujlwm "hauv paus" daim ntawv thov.

Kuv tau qhia qhov kev ua si ntawm CS Kev Sib Txuas 2018, lub rooj sib tham lub caij ntuj sov rau lub lim tiam rau cov kws qhia ntawv hauv tsev kawm theem siab txog kev kawm computer science. Kuv tau tshaj tawm 40 lub cuab yeej rau cov kws qhia ntawv thiab piav qhia cov cai. Feem ntau pom cov kev ua si lom zem, thiab ntau tus pom nws tsis meej pem txog thaum lawv paub tias yuav ua si li cas. Kev ua qauv qhia luv luv, tab sis peb pom qhov kev ua si lom zem heev ntawm cov neeg coob coob.

Xav paub ntau ntxiv txog CS Kev Sib Txuas 2018 tuaj yeem pom ntawm no.

Pom zoo: