• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種適用于踏步機的游戲設計①

      2019-04-10 05:07:48
      計算機系統(tǒng)應用 2019年2期
      關鍵詞:步頻調用踏板

      唐 軍

      (安徽省體育科學技術研究所,合肥230001)

      隨著我國經(jīng)濟飛速發(fā)展,人們的生活方式發(fā)生明顯的變化.體力活動減少,高脂、高蛋白飲食,環(huán)境污染,使得人們身體的亞健康狀態(tài)顯得日益突出.健身逐漸成為人們日常生活中必需的內容,然而絕大多數(shù)城市人蝸居在高樓大廈的狹小的空間里,想得到理想的戶外活動空間比較困難,加之空氣污染和交通擁堵,戶外健身并非健康、安全,在室內進行健身是一個經(jīng)濟的選擇.電子游戲作為一種現(xiàn)代娛樂方式已經(jīng)深入人們生活,傳統(tǒng)的電子游戲用的鍵盤、鼠標、游戲手柄、手觸屏作為輸入設備,控制游戲的進程,玩家玩久了就會出現(xiàn)因久坐、姿勢不當而產(chǎn)生的疾病(如頸椎病、腰椎間盤突出等).一些把模擬器和健身器材與計算機結合而設計出來的電子游戲相繼出現(xiàn),如跳舞毯、跑步機[1]、動感單車游戲[2]等,還有近年來十分流行體感游戲,如任天堂的Wii、索尼的PlayStation Move、微軟的kinect[3].還有用kinect與跑步機相結合設計的游戲系統(tǒng)[4].以各種運動器材和體感設備作為計算機的輸入設備,設計出的電子游戲能克服上述弊病,它們集健身和娛樂為一身,符合現(xiàn)代人健身要求,必將成為電子游戲發(fā)展的趨勢.踏步機是近年來較為流行的運動器械,它結構小巧且造價低廉,以它為游戲輸入設備設計一款電子游戲將其運用到家庭健身具有重大現(xiàn)實意義和市場價值.

      1 踏步機游戲的硬件設計方案

      1.1 總體設計原理

      本文所設計的適用于踏步機電子游戲系統(tǒng)有三個部分組成: 踏步機、傳感裝置、計算機(如圖1所示).踏步機(7)供玩家按游戲要求完成踏步動作;傳感裝置(2)由兩個霍爾傳感器、MAX232串口芯片和STC89C52單片機組成,用來感應玩家踏步動作并計算左、右步頻,然后將左、右步頻數(shù)據(jù)傳給計算機(1);計算機負責游戲軟件的運行和顯示.霍爾傳感器(5、6)安放在踏步機踏板的下方,感應磁片放在踏板的外側邊,當玩家踏下腳踏板時外側邊的磁片經(jīng)過霍爾傳感器,傳感器產(chǎn)生低電平信號,霍爾傳感器的信號線連接在STC89C52單片機數(shù)據(jù)端口.單片機接收信號并計算步頻,步頻即每分鐘踏步的次數(shù),以右腳為例,當右腳踏下時,右踏板經(jīng)過右側傳感器,由單片機記下此時刻,記為t1,當右腳再次踏下時,右踏板經(jīng)過傳感器,再由單片機記下第二次時刻,記為t2,這樣可由單片機計算右步頻(R),R=60/(t2-t1),即每分鐘踏步多少次.單片機的數(shù)據(jù)輸出端口連接串口數(shù)據(jù)傳輸芯片MAX232,并將步頻數(shù)據(jù)送至MAX232,MAX232再將步頻數(shù)據(jù)傳到與計算機.計算機接收到左右步頻,即可計算步頻差,利用步頻和步頻差來設計游戲軟件,讓它們來驅動游戲主角運動.具體方案是: 左、右步頻的平均值可用來決定游戲主角的移動速度;步頻差(左步頻減去右步頻的數(shù)值)在預設正負閾值范圍內時,游戲主角運動方向不變;如果步頻差大于正閾值,使游戲主角向左拐;如果步頻差小于負閾值,使游戲主角向右拐;步頻差閾值可根據(jù)情況自主設定.有這三種方向就可使得游戲主角實現(xiàn)在游戲中左、右、前、后運動,向后運動可使用連續(xù)左拐或者右拐.

      圖1 踏步機游戲系統(tǒng)結構圖

      1.2 傳感裝置的設計方案與實現(xiàn)

      本文的傳感器裝置主要由下列元件組成: 霍爾傳感器為樂清市墨爾電氣有限公司產(chǎn)品,M8系列NJK5001C.單片機為STC89C52,STC公司產(chǎn)品,屬于MCS-51系列.串口芯片MAX232為德州儀器公司生產(chǎn).根據(jù)總體設計方案和芯片說明書連接各芯片管腳,用PROTEL99繪制PCB電路圖,如圖2.(1)霍爾傳感器信號線輸入,霍爾傳感器為NPN常閉型,有3條外接線,VCC、OUT、GND.VCC接5 V電源,GND接地,VCC與OUT(信號輸出線)之間接1 KΩ電阻,兩個OUT線分別接在單片機P2.1和P2.0端口上.(2)STC89C52單片機,使其在最小系統(tǒng)下運行,VCC接入+5 V電源,GND接地,18、19管腳接11.0592 M晶振,晶振兩端分別接兩個30pF電容.(3)MAX232;(4)串口(DB9).關于單片機與MAX232的連接,MAX232的T1IN(11腳)接單片機串行發(fā)送端TXD(P3.1,11腳),MAX232的R1OUT(12腳)接單片機串行接收端RXD(P3.0,10腳).MAX232的T1OUT(14腳)接DB9的3腳.MAX232的R1IN(13腳)接DB9的2腳.

      圖2 傳感器裝置電路原理圖

      1.3 傳感裝置的程序編寫

      根據(jù)游戲的總體設計方案和單片機所起的作用,即計算左右步頻并發(fā)送步頻數(shù)據(jù),單片機程序應有3個功能,初始化單片機的設置、計算步頻、發(fā)送數(shù)據(jù).初始化函數(shù)完成單片機的設置,主要包括兩個定時器的設置,一個用于計時,在timer0函數(shù)實現(xiàn),另一個用于設置波特率,在initial函數(shù)實現(xiàn).計算步頻函數(shù)包括計算步頻和發(fā)送步頻數(shù)據(jù)兩個功能,流程圖如圖3所示.本文使用Keil Version3軟件,用C語言編寫單片機程序[5].

      圖3 計算步頻和發(fā)送數(shù)據(jù)函數(shù)N-S圖

      2 踏步機游戲軟件的編寫方案

      2.1 游戲軟件的策劃

      本文的游戲編寫的目的主要是檢驗踏步機游戲系統(tǒng)的可行性、操控性,在游戲中實現(xiàn)健身功能,因此可以采用敏捷的開發(fā)方式和原型設計的思路進行游戲設計,從已有的游戲選擇一種,將其內容進行擴展,加入一些新的元素[6].踏步機游戲可定性為體育競速類游戲,鑒于本文踏步機游戲軟件編寫的目的,本文改寫了經(jīng)典游戲“貪吃蛇”,貪吃蛇游戲是人們熟悉的電子游戲,玩家測試起來容易上手,程序編寫也較簡單,用它來測試整個游戲系統(tǒng)較為方便.

      2.2 踏步機貪吃蛇游戲的設計

      本文用Visual Studio 6.0作為軟件開發(fā)工具,VC6.0編寫貪吃蛇游戲[7].游戲總體上分5個功能模塊,如圖4所示.根據(jù)以上所述的功能可將游戲分5個類進行設計.(1)主游戲類,主要負責各類的調用和主界面的顯示.利用VC6.0中MFC的對話框模式建立一個CSnakeNew工程,VC6.0自動生成CSnakeNewDlg和CSnakeNewApp兩個類.(2)游戲規(guī)則類,在工程中定義為CRule類.(3)串口類,主要負責串口設置、打開和步頻的接收.在工程中加入Microsoft Communication Control,自動生成CMSComm串口類,調用類中函數(shù)可實現(xiàn)串口通信.(4)幫助對話框類,顯示游戲的幫助文檔.(5)蛇類,主要實現(xiàn)蛇身移動、增加及移動方向,蛇身、果實的更新和顯示.在工程中添加CSnake類,它公有繼承CWnd類.各類的關系如圖5所示,貪吃蛇游戲中CSnake類繼承CWnd類,它們之間是泛化關系;同時它與CRule類、CSnakeNewDlg類是依賴關系;CSnakeNewDlg類與CMSComm類也是依賴關系.

      圖4 貪吃蛇功能結構

      圖5 踏步機貪吃蛇游戲主要類的類圖

      時序圖6顯示了各類對象之間在游戲運行階段相互調用和信息傳遞關系.玩家調用主對話框類CSnakeNew Dlg的對象dlg的方法OnOpen()打開串口;接著dlg調用CMSComm類對象m_ctrlComm一系列方法初始化串口,包括SetCommPort()設置端口號,SetPort Open()打開端口,SetSetting()設置端口參數(shù),SetInput Mode()取回傳入數(shù)據(jù)的方式,SetRThreshold()設置接受緩沖區(qū)每接受到字符個數(shù),SetInputLen()設置當前接收區(qū)數(shù)據(jù)長度,GetInput()先預讀緩沖區(qū)以清除殘留數(shù)據(jù);玩家再次調用dlg中的方法OnGame(),調用CSnake類m_snk的GameStart(),同時返回模式參數(shù);玩家做踏板運動,傳感器接收信號并計算步頻頻與計算機通信,系統(tǒng)調用OnOnCommMscomm(),此方法調用m_ctrlComm的方法GetCommEven()和GetInput(),判斷串口事件和讀緩沖區(qū)數(shù)據(jù),槳頻數(shù)據(jù)將被接收;在OnOnCommMscomm()方法中調用m_snk中貪吃蛇游戲模式響應方法GameAction(),這個方法分別調用GameMove(),在游戲模式中控制蛇身移動;在Game Move()中會調用ReDrawBody()重繪蛇身;ReDraw Body()發(fā)送系統(tǒng)消息進行窗口重繪,調用CSnake類中的OnPaint()方法進行游戲畫面的重繪.

      圖6 踏步機貪吃蛇游戲時序圖

      2.3 踏步機貪吃蛇游戲主要類的設計

      2.3.1 游戲規(guī)則類

      游戲規(guī)則類的判斷游戲狀態(tài)模塊主要算法設計如下:

      (1)當蛇身每移動一步時,就對蛇頭部的坐標進行判斷.

      (2)如果已經(jīng)與游戲界面的邊界或者和蛇身向量中的坐標重合,說明貪吃蛇已經(jīng)碰到了墻壁或者自己身體,提示游戲結束.

      (3)設置游戲為結束狀態(tài).

      2.3.2 串口類

      利用VC++6.0中所提供的串口控件,在工程中加載CMSComm類,調用類中函數(shù)可實現(xiàn)串口通信.蛇身動作函數(shù)應放在OnOnCommMscomm1()中調用,即可實現(xiàn)踏板動作與蛇身移動的一致.顯示平均步頻、顯示得分語句也可放在此函數(shù)中.

      2.3.3 蛇類

      蛇類的設計是整個軟件的關鍵環(huán)節(jié),蛇類具體包含數(shù)據(jù)、函數(shù)如下:

      蛇類的頭文件CSnake.h

      蛇類主要完成以下功能:

      (1)果實的隨機生成和顯示

      果實必須隨機生成,果實出現(xiàn)的范圍不要在游戲窗口邊緣,這樣可以降低游戲難度.果實不能與蛇身重合,即果實的坐標不能與蛇身的坐標相同.Snake.cpp中void CSnake::InitFoods()初始化果實,如圖7.

      圖7 果實生成程序N-S圖

      (2)貪吃蛇游戲功能

      游戲功能是讓玩家感受到健身與游戲的結合,從游戲中得到有效的鍛煉.先在游戲中探索到自己的有氧運動強度范圍,可記錄下心率和體力感知度[8](對照RPE表獲得)對應的上下限步頻,然后在游戲中設定上下限步頻,平均步頻數(shù)值決定蛇身顏色的變化,玩家低于下限步頻踏板時,蛇身變藍,高于上限步頻,蛇身變紅,在上下步頻之間蛇身是綠色.玩家在游戲中讓蛇身保持綠色就是在一定步頻范圍內踏板,也就是在做有氧踏板運動,如圖8所示.當玩家經(jīng)過一段時間的游戲,如果感到踏板比較輕松,而且比較容易得到高分,就可以設定更高的上下限步頻,這樣通過再一輪的踏步游戲,便可以提高玩家的有氧運動能力.

      圖8 游戲界面圖

      蛇身的方向由左、右步頻差來控制,例如可以規(guī)定步頻差等于右步頻減去左步頻:

      步頻差閾值可以自由設定,數(shù)值小,拐彎就容易.例如可以規(guī)定閾值為10,當步頻差(m_nDifRate)大于10,設定蛇身向左拐,m_nDifRate<-10時,蛇身向右拐,-10 <=m_nDifRate<=10時蛇身保持原方向前進.在編程時要增加一個變量保存先前蛇身移動方向.蛇身移動的快慢由平均步頻決定,如式(1),具體移動步數(shù)由式(2)計算得出,蛇身每步即移動一個像素,移動多少步數(shù)由平均步頻、m、n決定,m和n可根據(jù)蛇身大小、游戲窗口的大小、游戲的節(jié)奏自主設定.

      Snake.cpp中void CSnake::GameAction()是蛇身動作函數(shù),它控制游戲模式中蛇身移動,詳細設計過程如圖9所示.其中for循環(huán)語句為for(int i=0;i<移動步數(shù)公式所得出值;i++),表示蛇身移動步數(shù).

      3 結語

      踏步機游戲設計是否成功關鍵在于它的交互性,實現(xiàn)良好交互性關鍵是游戲的操控性,這是從玩家操控踏步機器進而控制貪吃蛇的移動體現(xiàn)出來.操控性是指游戲的易用性和操作的準確性,準確性是指,按照傳感器以及游戲軟件所設定的規(guī)格所能達到的操作結果與玩家實際操作游戲時所預判的結果,在程度上的差異.操控性能的好壞評價,一方面在于設計,另一方面在于玩家熟練掌握技巧所需要的時間以及他們的主觀體驗.本游戲易用性方面主要表現(xiàn)在玩家在做拐彎動作時有點難度,玩家必須一只腳踏板快,另一只踏板慢,這樣才能產(chǎn)生步頻差較大,形成蛇的轉向.本文的建議是,在做拐彎動作時把一只踏板停住,快速踏另一只踏板,這樣就容易形成一個步頻數(shù)值就會遠大于另一個步頻.測試者要經(jīng)過一些練習才能掌握好.

      基于運動器材作為游戲的輸入設備具有穩(wěn)定性好、精確度高、成本低,從而設計的電子游戲具有操作感、精準感較強,模擬運動體驗好等特點.由于它們本身就是健身器材,因此更容易設計出健身游戲軟件與之配套.基于體感游戲手柄設計體育類游戲,或者基于Kinect攝像頭,通過深度識別和人體骨骼追蹤技術,實現(xiàn)人機交互,設計的游戲,易產(chǎn)生誤差,游戲操作起來有時會產(chǎn)生延遲和操作失敗,玩家的游戲體驗與該體育項目的實際體驗相差較大.本文所用的踏步機為市場上普通款式,傳感器的安裝并不需要改變對原踏步機結構,具有設計簡單,安裝方便,成本低廉等優(yōu)點,有較好的市場前景.就普適性而言,本文的傳感器裝置的設計思想也可以運用在其他運動器械上,例如具有雙槳的劃船機、橢圓機等,只要有兩個運動部件,類似于踏步機,都適用以上原理,即計算左右運動頻率,利用左右頻率差和平均頻率來驅動游戲主角運動.

      圖9 蛇身動作N-S圖

      猜你喜歡
      步頻調用踏板
      單踏板不可取
      車主之友(2022年6期)2023-01-30 07:58:16
      蘇炳添、謝震業(yè)百米跑技術變化特征的比較分析
      淺談延音踏板在鋼琴演奏中的用法
      黃河之聲(2019年23期)2019-12-17 19:08:43
      核電項目物項調用管理的應用研究
      淺談汽車制動踏板的型面設計
      蘇炳添60米跑全程節(jié)奏研究
      蘇炳添與世界優(yōu)秀男子60 m跑運動員步頻節(jié)奏對比分析
      謝震業(yè)與世界優(yōu)秀100m運動員步頻節(jié)奏比較研究
      LabWindows/CVI下基于ActiveX技術的Excel調用
      測控技術(2018年5期)2018-12-09 09:04:46
      淺談鋼琴踏板的運用
      黃河之聲(2017年13期)2017-01-28 13:30:17
      临湘市| 青龙| 新河县| 吉林省| 宁南县| 长海县| 保靖县| 剑河县| 舟曲县| 买车| 镇沅| 台中市| 渭源县| 同仁县| 石屏县| 拉萨市| 安塞县| 公主岭市| 陈巴尔虎旗| 靖宇县| 灵丘县| 黔南| 习水县| 遂溪县| 兴化市| 丰镇市| 克拉玛依市| 霍城县| 临夏县| 舒兰市| 阿勒泰市| 平湖市| 富源县| 栖霞市| 扎赉特旗| 囊谦县| 会同县| 房产| 余干县| 富蕴县| 肥东县|