飄天文學 > 字節跳動 >第26章 人無完人
    人無完人啊!

    ……

    按下加速按鈕之後,極速靴裏的brave程序會由守護狀態轉變成監聽狀態,時刻監控着穿戴者的奔跑速度,一旦達到預定指標,立刻開啓加速。

    通過哪些指標來監控速度呢?

    這就要靠brave程序接收的硬件傳輸過來的數據來計算了。

    腳底、腳面、側幫、腳跟,每一個部位的組件都在無時不刻的傳送着數據,包括受力位置(內部還是外部)、受力方向(角度)、受力大小等。

    一般以連續兩次腳跟落地(外部受力)時的時間間隔作爲判斷速度的依據,同時還要根據腳跟受力的角度,以及其他部位的受力情況,被判定爲“奔跑受力”的纔會有效。

    一旦達到設定的預期速度,便自動觸發開啓加速;在觸發之前,如果收到取消指令,則會再次進入守護狀態。

    觸發開啓加速的形式,不是持續性觸發,而是間歇性觸發。在腳掌離地(內部受力)的瞬間,會在腳跟處觸發一次瞬間的動力噴射,以增強本次奔跑發力的力度,達到加速奔跑的目的。

    至於動力噴射力度的大小,可以根據穿戴者個人的身體承受能力提前設定好,球員們也少不了要提前做很多適應性練習。

    關於加速開啓的時限,從技術上來講,只要能量充足,就可以一直加速,每次腳掌離地都可以噴射一次,完全可以做到沒有時限。

    但實際上,足協對此有明確的管控,加速開啓的時間不得超過3秒。否則球場上所有球員都在飛,這球就沒法踢了,更沒法看。

    所以,3秒之後,加速效果便會自動失效,程序會再次進入守護狀態,同時會根據監管的要求,設定一個冷卻時間或者是扣減可用次數。

    當然,也有特殊情況,比方說球員兩秒就達到了加速的目的,想要提前停下來怎麼辦?

    很簡單!

    只要你能控制自己的身體降速或者停止,讓程序接收到的數據不被判定爲奔跑時的腳掌離地就行了。也就是說,你必須要有能在加速狀態下仍然可以控球急停的能力。

    這不僅是對球員身體素質和控球技術的考驗,更是對球員在球場上能否把握加速時機的考驗。能夠提前預判開啓加速的時機,充分利用這3秒的加速效果,減少提前急停帶來的身體消耗或損害,是一項非常重要的能力。

    因爲收不住腳,導致受傷甚至殘廢的,不在少數。

    ……

    接下來說一說動力噴射。

    動力噴射,是指程序在接收到加速指令後,調用能量塊的驅動接口,把能量彙集到腳跟處,完成一次爆發式噴射,從而產生動力效果。

    這裏的操作相對比較簡單,都是現成的api,只要按照穿戴者設定的噴射力度計算好所需能量,直接調用即可。

    總體來說,極速靴算是一個非常簡單的機械能量設備了,因爲它跟本就不涉及機械驅動和能量供給,只有一系列的數據接收計算和非持續性的能量爆發。

    嚴格來說,這種將能量爆發出設備外部的做法,其實是武器編程的核心,但這極速靴驅動的能量非常小,而且爆發時間極端,根本就用不到武器編程理論。

    ……

    舒朗越聽越覺得帶勁兒,劉昊然給他做的功能分解實在太細了,彷彿把一件極速靴的分解組件呈現在了他的眼前。

    “要不,還得先講講機械驅動和能量驅動吧!api先不急。”舒朗懇求。

    確實,核心203個,總計三千多,想急也沒用,反正一時半會也學不完、記不住,不如先聽聽後面這兩門課程來的過癮。

    舒朗聽的過癮,劉昊然講的也來了勁。

    接下來給他講機械驅動。

    機械驅動的核心動、轉、停。

    這是一切物理運動的基礎,再複雜的物理運動也無外乎這三項的組合。

    動,顧名思義,就是移動或者行動。在brave程序裏,所有可以“動”的設備,都會被指定一個基礎方向,這個“動”一般指的是,按照這個基礎方向向前移動。

    停,很簡單,就是停止移動。

    轉,這個厲害了,這可不是簡單的轉向,而是前後左右上上下下全方位無死角立體轉向。

    簡單的機械驅動,是一個指令接一個指令的執行,比方說前進-停止-轉向-再前進……

    很容易就能寫出一個這樣的驅動程序。

    但實際上,大部分情況都是在移動中進行轉向或者突然停止,有的是被動遇到阻力,有的是主動受力迎擊,有的是騰挪閃躲,有的是尋找時機……

    每個組件不僅要考慮自身的情況,同時還要考慮到其它組件傳過來的觸發數據,計算量既龐大又複雜。

    這裏面除了基礎的數學運算以外,還會涉及到多方面學科的知識,比如解析幾何、線性代數、微積分、牛頓力學、流體力學等等等等。

    最複雜的還是異常情況的處理。

    比如說,設備的部分表面被腐蝕損壞,導致局部傳感器失效,驅動程序必須能夠根據硬件的反應識別出來,及時做出補救調整,至少要保證設備在整體上仍然處於可用狀態,不會因爲缺失了部分數據而導致計算偏移。

    真正體現技術和產品實力的地方,不在於正常情況完成的多麼好,而在於對各種異常情況都能兼容的能力。

    硬件是死的,能量塊是死的,api也是死的,但人是活的!能寫出兼容性極強的靈活代碼,那纔是好工程師。

    ……

    哪怕是一個很小的機械能量設備,也需要一個團隊來完成。這個團隊中,除了代碼工程師,一般還有有一個這樣的角色產品經理。

    負責任的產品經理,一般都會把各種計算的指標和規則都整理好,交給代碼工程師來開發。這樣可以極大的減輕工程師的負擔,可以不用再做複雜的計算,只關注api調用即可。

    但是,如果只能在產品經理的指導下才能完成代碼,就算你學過了高級編程,那你永遠也只能算是個初級水平。

    再說了,真正負責的產品經理能有幾個?

    人無完人!

    尤其是產品經理。

    濫竽充數的實在太多了,如果代碼工程師不能對自己的代碼進行業務上的把關,遲早會接產品經理一鍋。

    一般來說,進階到高級編程以後,就算不用自己做計算,也至少要具備能夠做計算的能力,起碼要能跟產品經理形成互補,填補他的計算漏洞。

    如果有機會能夠進階到資深編程,那就又不一樣了。資深編程的團隊里根本就沒有產品經理,或者說人人都是產品經理。

    在一個資深編程的團隊裏,雖然不一定會讓你做計算方面的工作,但你必須要具備可以做各方面計算的實力,大家只是分工不同而已。說不定隨時會有一個模塊需要你頂上。

    ……

    劉昊然情不自禁的聊了許多,看看舒朗的狀態似懂非懂,決定先緩緩。

    舒朗呢,他其實聽懂了,他懂了一個事實太t難了!就剛纔那一串學科就把他給嚇懵了。

    解析幾何、線性代數、微積分、牛頓力學、流體力學…

    舒朗絞盡腦汁,試圖從記憶裏翻出點相關的東西,無奈,連書皮長什麼樣都想不起來。一想到要回去學高數,就忍不住打了一個機靈。

    他不是不想學,而是條件反射的結果。

    當初因爲第一堂課沒入門,導致後來所有的數學課都爬桌子睡大覺,然後高數就很榮幸的成爲了舒朗大學生涯所掛的第一科。

    以舒朗目前的情況來看,意識覺醒,邏輯出衆,真要回去再學一遍應該不成問題,可哪有那麼多的時間?

    空悲切啊!

    再想想那三千多條api,舒朗心裏頓時一陣心酸,涼了半截。

    ……

    劉昊然見舒朗狀態不太對,也沒接着講,把自己以前做的一個極速靴的驅動代碼發給了舒朗,讓他先看看,學習一下,找找心得。

    api不會用,但看總會吧?

    再不行去查api手冊,雖然效率慢了點,但總歸對學習來說是有很大好處的。

    六點,劉昊然離開。

    舒朗無精打采,想想那幾個學科就頭疼,哪有心情看代碼。

    但是他知道,如果不把那些知識都學會,將來就不可能邁入資深編程的行列,可那是想學就學的嗎?沒有幾年的鑽研,能有什麼收穫?

    悻悻之下,舒朗還是點開了極速靴的驅動代碼,加載到eclipse裏,隨便點開一個代碼文件,首先映入眼簾的便是工整的註釋。

    一看作者holderliu

    呵呵,這英文名起的不錯,這是要做掌控者啊!

    舒朗瞟了幾眼代碼,果然有很多api的調用都看不懂,連查帶猜的看了一段,總算弄明白了那段代碼是在幹什麼。涉及到邏輯的都無所謂,最擅長的就是幹這個,但一旦涉及到計算公式,就會直接傻眼懵逼。

    “沒意思啊~”

    舒朗嘆息一聲,不想看了,學習的暴跌。

    但是他突然想起了debug窗上的那個紅點,忍不住想看看劉昊然寫的代碼有沒有bug。

    。


章節報錯(免登陸)