技術(shù)領(lǐng)域
本發(fā)明涉及人機(jī)交互領(lǐng)域,特別涉及一種基于觸屏的搓牌方法及一種撲克游戲裝置。
背景技術(shù):
現(xiàn)實(shí)的撲克游戲中,為了增加游戲樂(lè)趣,玩家可以進(jìn)行搓牌操作,搓牌具體是指,將兩張撲克牌牌面相對(duì)摞在一起,下面一張牌面(牌的正面)朝上,上面一張牌面朝下,從而上面的撲克牌將下面的撲克牌牌面蓋住,玩家緩慢移動(dòng)上面的撲克牌(背面朝上),讓下面的撲克牌(正面朝上)露出部分或者全部(如只漏出一個(gè)角),從而在不能完全看清牌面(撲克的正面)的情況下,預(yù)估下面一張牌的牌面具體內(nèi)容。
但是在手游中,由于撲克牌是虛擬物品,玩家無(wú)法對(duì)撲克牌進(jìn)行直接接觸,從而無(wú)法進(jìn)行搓牌操作。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于針對(duì)現(xiàn)有的撲克手游中,撲克是虛擬物品,因此玩家不能和虛擬撲克直接接觸,從而無(wú)法進(jìn)行搓牌操作的問(wèn)題,提供一種基于觸屏的搓牌方法。
為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提供了以下技術(shù)方案:
一種基于觸屏的搓牌方法,包含如下步驟:
顯示一對(duì)牌面貼合的撲克牌,其中包括牌面朝上的第一撲克牌和牌面朝下的第二撲克牌;
確定第二撲克牌范圍,檢測(cè)第二撲克牌范圍內(nèi)的觸碰點(diǎn)信息;
根據(jù)觸碰點(diǎn)信息調(diào)整控制第二撲克牌的位置和角度。
進(jìn)一步的,每隔0.08s~0.2s做一次檢測(cè),以判斷第二撲克牌范圍內(nèi)是否出現(xiàn)觸碰點(diǎn);
根據(jù)每次檢測(cè)的結(jié)果調(diào)整第二撲克牌的位置和角度。
進(jìn)一步的,根據(jù)觸碰點(diǎn)信息調(diào)整控制第二撲克牌位置和角度的步驟中,首先判斷觸碰點(diǎn)數(shù)量,如,觸碰點(diǎn)數(shù)量為一個(gè),
則鎖定該觸碰點(diǎn)初始位置位于第二撲克牌上的相對(duì)位置坐標(biāo),第二撲克牌保持角度不變,同時(shí)保持第二撲克牌上的該相位位置坐標(biāo)跟觸碰點(diǎn)重合,從而使得第二撲克牌跟隨觸碰點(diǎn)移動(dòng)。
進(jìn)一步的,根據(jù)觸碰點(diǎn)信息調(diào)整控制第二撲克牌位置和角度的步驟中,首先判斷觸碰點(diǎn)數(shù)量,如,觸碰點(diǎn)數(shù)量為兩個(gè),分別為第一觸碰點(diǎn)、第二觸碰點(diǎn);
則,檢測(cè)第一觸碰點(diǎn)、第二觸碰點(diǎn)的當(dāng)前坐標(biāo),分別形成第一觸碰點(diǎn)上一坐標(biāo)到當(dāng)前坐標(biāo)的第一移動(dòng)向量,以及,第二觸碰點(diǎn)上一坐標(biāo)到當(dāng)前坐標(biāo)的第二移動(dòng)向量;
計(jì)算第一移動(dòng)向量和第二移動(dòng)向量的大??;向量的大小小于或等于第一閾值時(shí),認(rèn)為該向量對(duì)應(yīng)的觸碰點(diǎn)沒(méi)有發(fā)生移動(dòng),為靜止觸碰點(diǎn);向量的大小大于第一閾值時(shí),認(rèn)為該向量對(duì)應(yīng)的觸碰點(diǎn)發(fā)生了移動(dòng),為移動(dòng)觸碰點(diǎn);
如移動(dòng)觸碰點(diǎn)為一個(gè),則,計(jì)算移動(dòng)觸碰點(diǎn)相對(duì)靜止觸碰點(diǎn)移動(dòng)的角度,控制第二撲克牌以靜止觸碰點(diǎn)為圓心旋轉(zhuǎn)相同角度。
進(jìn)一步的,當(dāng)移動(dòng)觸碰點(diǎn)為兩個(gè)時(shí),計(jì)算第一移動(dòng)向量和第二移動(dòng)向量之間的角度,如角度小于或等于第二閾值,則,選取第一移動(dòng)向量和第二移動(dòng)向量之間較大的那個(gè)作為參考移動(dòng)向量,計(jì)算該參考移動(dòng)向量在X方向、Y方向的位移,并根據(jù)該位移重新設(shè)置第二撲克牌的位置。
進(jìn)一步的,當(dāng)移動(dòng)觸碰點(diǎn)為兩個(gè)時(shí),如第一移動(dòng)向量和第二移動(dòng)向量之間的角度大于第二閾值時(shí),第二撲克牌不移動(dòng)。
進(jìn)一步的,根據(jù)觸碰點(diǎn)的移動(dòng)數(shù)據(jù)控制第二撲克牌的位置時(shí),將觸碰點(diǎn)的移動(dòng)數(shù)據(jù)乘以第一修正參數(shù)獲得第一修正數(shù)據(jù),根據(jù)該第一修正數(shù)據(jù)控制第二撲克牌的位置;
所述第一修正參數(shù)為大于0,小于1的浮點(diǎn)數(shù),該第一修正參數(shù)越靠近1則第二撲克牌跟隨觸碰點(diǎn)移動(dòng)的靈敏性越高,但是實(shí)際操作中,過(guò)高的靈敏度不會(huì)帶個(gè)用戶更加真實(shí)的搓牌體驗(yàn),因此本發(fā)明中,通過(guò)第一修正參數(shù)適度降低第二撲克牌移動(dòng)的靈敏度;優(yōu)選的,第二修正參數(shù)值可以是0.6、0.65、0.7、0.75、0.8、0.85中的任意一個(gè)。
進(jìn)一步的,將第一修正數(shù)據(jù)進(jìn)一步乘以第二修正參數(shù)獲得第二修正數(shù)據(jù),根據(jù)該第二修正數(shù)據(jù)控制第二撲克的位置;
該第二修正參數(shù)為當(dāng)前屏幕高度/UI當(dāng)前高度。
本發(fā)明同時(shí)提供一種實(shí)現(xiàn)如上所述的搓牌方法的撲克游戲裝置,包括,
顯示模塊,用于顯示一對(duì)牌面貼合的撲克牌,其中包括牌面朝上的第一撲克牌和牌面朝下的第二撲克牌;
信號(hào)檢測(cè)模塊,用于檢測(cè)第二撲克牌范圍內(nèi)的觸碰點(diǎn)位置信息;
控制模塊,將第一撲克牌位置固定,根據(jù)觸碰點(diǎn)位置信息得出觸碰點(diǎn)移動(dòng)數(shù)據(jù),根據(jù)所述移動(dòng)數(shù)據(jù)調(diào)整第二撲克牌的具體位置。
進(jìn)一步的,所述顯示模塊和信號(hào)檢測(cè)模塊由觸屏實(shí)現(xiàn)。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果:本發(fā)明提供一種基于觸屏的搓牌方法,在觸屏中顯示一對(duì)牌面(牌面指撲克牌的正面)相對(duì)的撲克牌,通過(guò)檢測(cè)觸碰點(diǎn)的移動(dòng),控制背面朝上的第二撲克牌的位置,通過(guò)選取最佳的檢測(cè)時(shí)間,根據(jù)觸碰點(diǎn)數(shù)量,觸碰點(diǎn)的移動(dòng)角度、移動(dòng)距離的不同,對(duì)虛擬顯示的第二撲克牌進(jìn)行不同的移動(dòng),從而讓玩家有非常接近于現(xiàn)實(shí)的搓牌體驗(yàn)。
附圖說(shuō)明:
圖1為本發(fā)明提供的搓牌方法的流程圖。
具體實(shí)施方式
下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述。但不應(yīng)將此理解為本發(fā)明上述主題的范圍僅限于以下的實(shí)施例,凡基于本發(fā)明內(nèi)容所實(shí)現(xiàn)的技術(shù)均屬于本發(fā)明的范圍。
實(shí)施例1:如圖1所示,本實(shí)施例提供一種基于觸屏的搓牌方法,包含如下步驟:
S100:顯示一對(duì)牌面貼合的撲克牌,其中包括牌面朝上的第一撲克牌和牌面朝下的第二撲克牌;
S200:確定第二撲克牌范圍,檢測(cè)第二撲克牌范圍內(nèi)的觸碰點(diǎn)信息;觸碰點(diǎn)信息包括但不限于,觸碰點(diǎn)位于觸碰上的坐標(biāo),觸碰點(diǎn)的移動(dòng)軌跡,如,本實(shí)施例中,利用兩側(cè)連續(xù)檢測(cè)到的觸碰點(diǎn)坐標(biāo)形成的向量來(lái)表示觸碰點(diǎn)軌跡;即,如果檢測(cè)到觸碰點(diǎn)沒(méi)有在第二撲克牌的范圍之內(nèi)時(shí),忽略該觸摸信息。具體的,每隔0.08s~0.2s做一次檢測(cè),以判斷第二撲克牌范圍內(nèi)是否出現(xiàn)觸碰點(diǎn),這是由于,如果檢測(cè)間隔過(guò)小,一方面系統(tǒng)壓力過(guò)大,另一發(fā)面,撲克對(duì)觸碰移動(dòng)會(huì)過(guò)于敏感,造成用戶明明感覺(jué)沒(méi)有移動(dòng),而撲克牌卻移動(dòng)了的狀況,從而會(huì)降低客戶真實(shí)體驗(yàn)度,而檢測(cè)間隔過(guò)長(zhǎng),又會(huì)導(dǎo)致第二撲克牌反應(yīng)遲鈍,明明用戶觸碰點(diǎn)已經(jīng)移動(dòng),但是第二撲克牌卻沒(méi)有移動(dòng)的情況,同樣降低用戶真實(shí)體驗(yàn)度;本實(shí)施例中,采取每隔0.09s檢測(cè)一次觸碰點(diǎn)信息。
S300:根據(jù)觸碰點(diǎn)信息調(diào)整控制第二撲克牌的位置和角度,由于S200中,是每隔0.09s檢測(cè)一次觸碰點(diǎn)信息,因此本步驟也是每隔0.09s就根據(jù)觸碰點(diǎn)信息調(diào)整控制一次第二撲克牌位置和角度。
具體的,包括,
S310:判斷觸碰點(diǎn)數(shù)量,如,觸碰點(diǎn)數(shù)量為一個(gè),則進(jìn)入S311;如,觸碰點(diǎn)數(shù)量為兩個(gè),分別為第一觸碰點(diǎn)、第二觸碰點(diǎn),則進(jìn)入S320:
S311:鎖定該觸碰點(diǎn)初始位置位于第二撲克牌上的相對(duì)位置坐標(biāo),第二撲克牌保持角度不變,同時(shí)保持第二撲克牌上的該相位位置坐標(biāo)跟觸碰點(diǎn)重合,從而使得第二撲克牌跟隨觸碰點(diǎn)移動(dòng)。
S320:檢測(cè)第一觸碰點(diǎn)、第二觸碰點(diǎn)的當(dāng)前坐標(biāo),分別形成第一觸碰點(diǎn)上一坐標(biāo)(0.09s之前測(cè)得的第一觸碰點(diǎn)坐標(biāo))到當(dāng)前坐標(biāo)的第一移動(dòng)向量,以及,第二觸碰點(diǎn)上一坐標(biāo)(0.09s之前測(cè)得的第二觸碰點(diǎn)坐標(biāo))到當(dāng)前坐標(biāo)的第二移動(dòng)向量;
計(jì)算第一移動(dòng)向量和第二移動(dòng)向量的大?。ㄏ蛄康拇笮∮址Q向量的模);向量的大小小于或等于第一閾值時(shí),認(rèn)為該向量對(duì)應(yīng)的觸碰點(diǎn)沒(méi)有發(fā)生移動(dòng),為靜止觸碰點(diǎn);向量的大小大于第一閾值時(shí),認(rèn)為該向量對(duì)應(yīng)的觸碰點(diǎn)發(fā)生了移動(dòng),為移動(dòng)觸碰點(diǎn); 如移動(dòng)觸碰點(diǎn)為一個(gè),則進(jìn)入S321;如移動(dòng)觸碰點(diǎn)為兩個(gè),則進(jìn)入S322:
S321:計(jì)算移動(dòng)觸碰點(diǎn)相對(duì)靜止觸碰點(diǎn)移動(dòng)的角度,控制第二撲克牌以靜止觸碰點(diǎn)為圓心旋轉(zhuǎn)相同角度。
S322:計(jì)算第一移動(dòng)向量和第二移動(dòng)向量之間的角度,如角度小于或等于第二閾值,則進(jìn)入S323; 如第一移動(dòng)向量和第二移動(dòng)向量之間的角度大于第二閾值時(shí),則進(jìn)入S324:
S323:選取第一移動(dòng)向量和第二移動(dòng)向量之間較大的那個(gè)作為參考移動(dòng)向量,計(jì)算該參考移動(dòng)向量在X方向、Y方向的位移,并根據(jù)該位移重新設(shè)置第二撲克牌的位置。
S324:第二撲克牌不移動(dòng)。
S400:如連續(xù)N次沒(méi)有檢測(cè)到觸碰點(diǎn)信息,則第二撲克牌回歸初始坐標(biāo)位置,N可以是2以上的自然數(shù),比如3、5、10等。
應(yīng)注意的是,本實(shí)施例中,根據(jù)觸碰點(diǎn)的移動(dòng)數(shù)據(jù)控制第二撲克牌的位置時(shí),將觸碰點(diǎn)的移動(dòng)數(shù)據(jù)乘以第一修正參數(shù)獲得第一修正數(shù)據(jù),根據(jù)該第一修正數(shù)據(jù)控制第二撲克牌的位置;所述第一修正參數(shù)為介于0~1的浮點(diǎn)數(shù),該第一修正參數(shù)越靠近1則第二撲克牌跟隨觸碰點(diǎn)移動(dòng)的靈敏性越高,但是實(shí)際操作中,過(guò)高的靈敏度不會(huì)帶個(gè)用戶更加真實(shí)的搓牌體驗(yàn),因此本發(fā)明中,通過(guò)第一修正參數(shù)適度降低第二撲克牌移動(dòng)的靈敏度;優(yōu)選的,第二修正參數(shù)值可以是0.6、0.65、0.7、0.75、0.8、0.85中的任意一個(gè)。同時(shí),本實(shí)施例中,還將第一修正數(shù)據(jù)進(jìn)一步乘以第二修正參數(shù)獲得第二修正數(shù)據(jù),根據(jù)該第二修正數(shù)據(jù)控制第二撲克牌的位置;該第二修正參數(shù)為當(dāng)前屏幕高度/UI當(dāng)前高度,當(dāng)前屏幕高度是指,如采用智能手機(jī)應(yīng)用本發(fā)明方法時(shí),如果智能手機(jī)豎屏使用時(shí),當(dāng)前屏幕高度即為手機(jī)高度,當(dāng)智能手機(jī)橫屏使用時(shí),當(dāng)前屏幕高度實(shí)際是指手機(jī)的寬度;同理,UI是顯示撲克牌的界面,UI的當(dāng)前高度是指,豎屏使用時(shí),UI的實(shí)際高度,或橫屏使用時(shí),UI的實(shí)際高度,這是由于,由于UI的高度會(huì)根據(jù)屏幕的高度自動(dòng)進(jìn)行調(diào)整,如,屏幕高度為2000時(shí),UI的高度會(huì)被設(shè)置成1136,則第二修正參數(shù)為2000/1136。
另外,本實(shí)施例提供的搓牌方法,可通過(guò)單獨(dú)的結(jié)束指令進(jìn)行終結(jié)。
實(shí)施例2:本實(shí)施例提供一種撲克游戲裝置,包括,
顯示模塊,用于顯示一對(duì)牌面貼合的撲克牌,其中包括牌面朝上的第一撲克牌和牌面朝下的第二撲克牌;
信號(hào)檢測(cè)模塊,用于檢測(cè)第二撲克牌范圍內(nèi)的觸碰點(diǎn)位置信息;
控制模塊,將第一撲克牌位置固定,根據(jù)觸碰點(diǎn)位置信息得出觸碰點(diǎn)移動(dòng)數(shù)據(jù),根據(jù)所述移動(dòng)數(shù)據(jù)調(diào)整第二撲克牌的具體位置。
所述顯示模塊和信號(hào)檢測(cè)模塊由觸屏實(shí)現(xiàn)。
具體的,該撲克游戲裝置按照如下步驟運(yùn)行:
S100:顯示一對(duì)牌面貼合的撲克牌,其中包括牌面朝上的第一撲克牌和牌面朝下的第二撲克牌;
S200:確定第二撲克牌范圍,檢測(cè)第二撲克牌范圍內(nèi)的觸碰點(diǎn)信息;即,如果檢測(cè)到觸碰點(diǎn)沒(méi)有在第二撲克牌的范圍之內(nèi)時(shí),忽略該觸摸信息。具體的,每隔0.08s~0.2s做一次檢測(cè),以判斷第二撲克牌范圍內(nèi)是否出現(xiàn)觸碰點(diǎn),這是由于,如果檢測(cè)間隔過(guò)小,一方面系統(tǒng)壓力過(guò)大,另一發(fā)面,撲克對(duì)觸碰移動(dòng)會(huì)過(guò)于敏感,造成用戶明明感覺(jué)沒(méi)有移動(dòng),而撲克牌卻移動(dòng)了的狀況,從而會(huì)降低客戶真實(shí)體驗(yàn)度,而檢測(cè)間隔過(guò)長(zhǎng),又會(huì)導(dǎo)致第二撲克牌反應(yīng)遲鈍,明明用戶觸碰點(diǎn)已經(jīng)移動(dòng),但是第二撲克牌卻沒(méi)有移動(dòng)的情況,同樣降低用戶真實(shí)體驗(yàn)度;本實(shí)施例中,采取每隔0.09s檢測(cè)一次觸碰點(diǎn)信息。
S300:根據(jù)觸碰點(diǎn)信息調(diào)整控制第二撲克牌的位置和角度。
具體的,包括,
S310:判斷觸碰點(diǎn)數(shù)量,如,觸碰點(diǎn)數(shù)量為一個(gè),則進(jìn)入S311;如,觸碰點(diǎn)數(shù)量為兩個(gè),分別為第一觸碰點(diǎn)、第二觸碰點(diǎn),則進(jìn)入S320:
S311:鎖定該觸碰點(diǎn)初始位置位于第二撲克牌上的相對(duì)位置坐標(biāo),第二撲克牌保持角度不變,同時(shí)保持第二撲克牌上的該相位位置坐標(biāo)跟觸碰點(diǎn)重合,從而使得第二撲克牌跟隨觸碰點(diǎn)移動(dòng)。
S320:檢測(cè)第一觸碰點(diǎn)、第二觸碰點(diǎn)的當(dāng)前坐標(biāo),分別形成第一觸碰點(diǎn)上一坐標(biāo)(0.09s之前測(cè)得的第一觸碰點(diǎn)坐標(biāo))到當(dāng)前坐標(biāo)的第一移動(dòng)向量,以及,第二觸碰點(diǎn)上一坐標(biāo)(0.09s之前測(cè)得的第二觸碰點(diǎn)坐標(biāo))到當(dāng)前坐標(biāo)的第二移動(dòng)向量;
計(jì)算第一移動(dòng)向量和第二移動(dòng)向量的大?。ㄏ蛄康拇笮∮址Q向量的模);向量的大小小于或等于第一閾值時(shí),認(rèn)為該向量對(duì)應(yīng)的觸碰點(diǎn)沒(méi)有發(fā)生移動(dòng),為靜止觸碰點(diǎn);向量的大小大于第一閾值時(shí),認(rèn)為該向量對(duì)應(yīng)的觸碰點(diǎn)發(fā)生了移動(dòng),為移動(dòng)觸碰點(diǎn); 如移動(dòng)觸碰點(diǎn)為一個(gè),則進(jìn)入S321;如移動(dòng)觸碰點(diǎn)為兩個(gè),則進(jìn)入S322:
S321:計(jì)算移動(dòng)觸碰點(diǎn)相對(duì)靜止觸碰點(diǎn)移動(dòng)的角度,控制第二撲克牌以靜止觸碰點(diǎn)為圓心旋轉(zhuǎn)相同角度。
S322:計(jì)算第一移動(dòng)向量和第二移動(dòng)向量之間的角度,如角度小于或等于第二閾值,則進(jìn)入S323; 如第一移動(dòng)向量和第二移動(dòng)向量之間的角度大于第二閾值時(shí),則進(jìn)入S324:
S323:選取第一移動(dòng)向量和第二移動(dòng)向量之間較大的那個(gè)作為參考移動(dòng)向量,計(jì)算該參考移動(dòng)向量在X方向、Y方向的位移,并根據(jù)該位移重新設(shè)置第二撲克牌的位置。
S324:第二撲克牌不移動(dòng)。
應(yīng)注意的是,本實(shí)施例中,并不采用第一修正參數(shù)對(duì)觸碰點(diǎn)的移動(dòng)數(shù)據(jù)進(jìn)行修正,而是直接在控制第二撲克牌移動(dòng)時(shí),將觸碰點(diǎn)的移動(dòng)數(shù)據(jù)乘以第二修正參數(shù)獲得修正后的數(shù)據(jù),讓第二撲克牌根據(jù)修正后的數(shù)據(jù)控制第二撲克牌的位置;同樣的,該第二修正參數(shù)為當(dāng)前屏幕高度/UI當(dāng)前高度。