精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

簡單的JS鴻蒙小游戲—經(jīng)典24點(diǎn)紙牌

系統(tǒng) OpenHarmony
今天給大家?guī)淼木褪沁@個經(jīng)典的紙牌游戲,大家學(xué)會以后在空閑時可以玩一玩,鍛煉一下速算能力。

??想了解更多關(guān)于開源的內(nèi)容,請訪問:??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??

前言

相信大家都玩過24點(diǎn)紙牌游戲,今天給大家?guī)淼木褪沁@個經(jīng)典的紙牌游戲,大家學(xué)會以后在空閑時可以玩一玩,鍛煉一下速算能力。

項目結(jié)構(gòu)

#打卡不停更# 簡單的JS鴻蒙小游戲——經(jīng)典24點(diǎn)紙牌-開源基礎(chǔ)軟件社區(qū)

頁面構(gòu)建

頁面設(shè)計得比較簡單,上半是數(shù)字區(qū),放著四張紙牌;下半是運(yùn)算符號區(qū),分別是加、減、乘、除;右側(cè)則是得分記錄和兩個操作按鈕。

#打卡不停更# 簡單的JS鴻蒙小游戲——經(jīng)典24點(diǎn)紙牌-開源基礎(chǔ)軟件社區(qū)

<div class="container">
<div class="gamezone">
<div class="poker">
<div for="(index, item) in current" class="card {{ item.css }}" show="{{ item.show }}" disabled="{{ item.disabled }}">
<image src="{{ item.shape }}" onclick="optnum(index)"></image>
<text class="number">{{ item.text }}</text>
</div>
</div>
<div class="sign">
<image for="(index, item) in operator" src="{{ item.src }}" class="operator {{ item.css }}"
disabled="{{ operdis }}" onclick="setsign(index)"></image>
</div>
</div>
<div class="side">
<text class="score">得分\n{{ score }}</text>
<button class="btn" onclick="replace">換一批</button>
<button class="btn" onclick="revert">重置</button>
</div>
</div>

對于4種花型各13張紙牌需要分別定制樣式,因此建立了Poker.js紙牌字典,格式如下:

export let Poker =  [
{
num: 1,
text: 'A',
shape: "common/images/spade.png"
},
{
num: 2,
text: '2',
shape: "common/images/spade.png"
},
…………
{
num: 13,
text: 'K',
shape: "common/images/diamond.png"
},
]

export default Poker;

游戲邏輯

  • 隨機(jī)抽牌:這里分別寫了兩種隨機(jī)抽牌邏輯。

一是將4×13共52張牌打亂順序后抽取前四張;

disorder() {
let many, ran, temp = 0;
for(many=0; many<26; many++) {
ran = Math.floor(Math.random()*52);
temp = this.pokers[many];
this.pokers[many] = this.pokers[ran];
this.pokers[ran] = temp;
}
this.origin = [0, 1, 2, 3];
},

二是52張牌的排序不變,隨機(jī)生成4個不重復(fù)的數(shù),以這四個數(shù)作為數(shù)組下標(biāo)抽牌。

getrandom() {
this.origin = [];
let compare = false;
let temp = 0;
while(4 > this.origin.length) {
compare = false;
temp = Math.floor(Math.random()*52);
for(let i=0; i<this.origin.length; i++) {
if(temp == this.origin[i]) {
// 抽到兩張相同的牌,不放入初始牌組
compare = true;
break;
}
}
if(false == compare) {
this.origin.push(temp);
}
}
},
  • 牌組替換與還原:因為抽牌是隨機(jī)的,而并非所有的組合都是有解的,所以需要有操作按鈕,可以讓玩家主動替換或還原當(dāng)前牌組。
// 換一組牌,并賦值給當(dāng)前牌組
replace() {
console.log("—————————更換牌組—————————");
// this.disorder(); // 換牌方法一
this.getrandom(); // 換牌方法二
this.initcards();
console.log("當(dāng)前牌組為" + JSON.stringify(this.current));
},

// 還原牌組
revert() {
console.log("—————————還原牌組—————————");
this.initcards();
console.log("還原當(dāng)前牌組為" + JSON.stringify(this.current));
},
  • 選中樣式:選中的數(shù)字或運(yùn)算符需要有特別的樣式提示,以提高游戲體驗,所以需要給紙牌和運(yùn)算符設(shè)置樣式屬性。
// 選擇數(shù)字
optnum(num_index) {
// 運(yùn)算符為空,處于選第一個數(shù)的環(huán)節(jié)
if(null == this.operindex) {
this.operdis = false;
first = num_index;
for(let i=0; i<4; i++) {
this.current[i].css = "";
}
this.current[num_index].css = "select";
}
// 運(yùn)算符不為空,選擇了第二個數(shù)
else {
this.operdis = true;
second = num_index;
this.calculate();
}
},
// 選擇運(yùn)算符
setsign(op_index) {
// 若點(diǎn)擊的運(yùn)算符為未選中狀態(tài),
if("" == this.operator[op_index].css) {
for(let i=0; i<4; i++) {
this.operator[i].css = "";
}
this.operator[op_index].css = "select";
this.operindex = op_index;

// 關(guān)閉第一個數(shù)可選中,取消其同時作為第二個數(shù)的資格
this.current[first].disabled = true;
}
// 若點(diǎn)擊的運(yùn)算符為選中狀態(tài),取消選中,重啟選第一個數(shù)環(huán)節(jié)
else {
this.operator[op_index].css = "";
this.current[first].disabled = false;
this.operindex = null;
}
},
  • 運(yùn)算合法判定:在進(jìn)行運(yùn)算前,需要對運(yùn)算的合法性進(jìn)行判定。對于零不能作為除數(shù),某些數(shù)不能被整除等情況,需要加以限制。當(dāng)出現(xiàn)這些情況,撤銷這次操作,恢復(fù)牌組狀態(tài),并彈出提示玩家。
// 判別運(yùn)算是否合法,再進(jìn)行運(yùn)算
calculate() {
// 選好第二個數(shù),除法運(yùn)算是否合法
if((3 == this.operindex) && (0 == this.current[second].num)) {
prompt.showToast({
message: "0不能作為除數(shù),請重新選擇",
duration: 1500,
});
// 非法運(yùn)算,重置選數(shù)環(huán)節(jié)
this.current[first].disabled = false;
this.current[first].css = "";
this.operator[this.operindex].css = "";
this.operindex = null;
this.operdis = true;
first = second = 0;
}
else if((3 == this.operindex) && (0 != (this.current[first].num % this.current[second].num))) {
prompt.showToast({
message: "無法被整除,請重新選擇",
duration: 1500,
});
// 無法被整除,重置選數(shù)環(huán)節(jié)
this.current[first].disabled = false;
this.current[first].css = "";
this.operator[this.operindex].css = "";
this.operindex = null;
this.operdis = true;
first = second = 0;
}
// 正常觸發(fā)運(yùn)算
else {
switch (this.operindex) {
case 0:
this.current[first].num += this.current[second].num;
break;
case 1:
this.current[first].num -= this.current[second].num;
break;
case 2:
this.current[first].num *= this.current[second].num;
break;
case 3:
this.current[first].num /= this.current[second].num;
break;
default:
console.log("運(yùn)算意外出錯");
break;
}
// 運(yùn)算結(jié)束,將結(jié)果賦值給一,文本顯示數(shù)字,花型為某種,恢復(fù)一的可點(diǎn)擊和未選中樣式,隱藏二的顯示,運(yùn)算符為null
this.current[first].text = this.current[first].num;
this.current[first].shape = "";
this.current[first].disabled = false;
this.current[first].css = "";
this.current[second].show = false;
this.operator[this.operindex].css = "";
this.operindex = null;
this.checkover();
}
},
  • 得分判定:根據(jù)場上最后一張牌的數(shù)值進(jìn)行得分判定,等于24則加分替換新牌組,否則將牌組重置為原狀。
// 得分判定,先判斷是否只剩一張牌,若是則進(jìn)行結(jié)果比較,答對加分換牌,答錯還原
checkover() {
let temp = 4;
for(let i=0; i<4; i++) {
if(false == this.current[i].show) {
temp --;
}
}
if(1 == temp) {
// 結(jié)果判斷是否等于24
if(24 == this.current[first].num) {
prompt.showToast({
message: "答對啦,加分,換牌組",
duration: 1500,
});
this.score += 10;
this.replace();
}
else {
prompt.showToast({
message: "答錯啦……還原牌組",
duration: 1500,
});
this.revert();
}
}
},

最終效果

#打卡不停更# 簡單的JS鴻蒙小游戲——經(jīng)典24點(diǎn)紙牌-開源基礎(chǔ)軟件社區(qū)

??想了解更多關(guān)于開源的內(nèi)容,請訪問:??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??。

責(zé)任編輯:jianghua 來源: 51CTO開源基礎(chǔ)軟件社區(qū)
相關(guān)推薦

2022-11-01 15:17:48

JS鴻蒙小游戲

2022-02-11 14:39:11

游戲JS鴻蒙

2022-02-11 14:02:09

游戲JS鴻蒙

2012-01-10 12:48:52

Java

2022-07-08 14:53:46

掃雷小游戲鴻蒙

2021-01-12 12:16:55

鴻蒙HarmonyOS游戲

2022-02-17 20:18:27

JS鴻蒙操作系統(tǒng)

2022-10-31 15:22:37

JS鴻蒙小游戲

2011-03-15 13:19:11

jQuery

2023-10-17 10:20:53

VueReact

2023-08-07 15:18:29

游戲開發(fā)鴻蒙Arkts

2012-09-11 09:19:35

JavaScriptJSjQ

2021-08-25 09:54:51

鴻蒙HarmonyOS應(yīng)用

2022-07-29 14:47:34

數(shù)獨(dú)Sudoku鴻蒙

2022-08-25 21:41:43

ArkUI鴻蒙

2021-01-15 12:15:36

鴻蒙HarmonyOS游戲

2012-01-18 10:53:08

iOS小游戲

2015-09-29 09:38:50

Java程序猜大小

2022-08-22 17:28:34

ArkUI鴻蒙

2022-08-04 13:55:08

拼數(shù)字小游戲鴻蒙
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

美女网站色精品尤物极品姐弟| 天堂av在线免费| 香蕉久久网站| 精品捆绑美女sm三区| 国产av麻豆mag剧集| 欧美zozo| 国产精品一区二区果冻传媒| 91精品国产91久久久久久吃药| 老头老太做爰xxx视频| 日韩成人在线观看视频| 欧美日韩一区二区精品| 中文字幕久久一区| 亚洲欧洲国产综合| 国产在线不卡视频| 欧美亚洲另类激情另类| 永久久久久久久| 五月综合久久| 欧美一区二区大片| 美女网站免费观看视频| 日本在线观看大片免费视频| 国产女同互慰高潮91漫画| 99久久久久国产精品免费| 日批视频免费在线观看| 影音先锋久久精品| www.欧美免费| 久久精品国产亚洲av麻豆| 亚洲日本va| 7777精品伊人久久久大香线蕉经典版下载 | 国产青青在线视频| 麻豆传媒视频在线| 久久久高清一区二区三区| 国产91亚洲精品一区二区三区| 中文字幕久久久久| 久久婷婷亚洲| 2019中文字幕在线免费观看| 久青草免费视频| 重囗味另类老妇506070| 国产亚洲激情视频在线| 欧美性猛交xxxx乱大交91| 亚洲精品一区三区三区在线观看| 五月天激情综合| 成人黄色片免费| www.国产精品.com| 国产亚洲欧洲997久久综合 | 久久高清精品| 伊人伊人伊人久久| 亚洲av无码国产精品麻豆天美| 欧美人妖视频| 国产婷婷97碰碰久久人人蜜臀| www.17c.com喷水少妇| 草莓视频一区二区三区| 亚洲成人黄色在线| 国产婷婷在线观看| 国产伦精品一区二区三区在线播放| 日韩视频免费观看高清完整版在线观看| 毛片毛片毛片毛| 精品一区二区三区中文字幕在线| 欧美精品在欧美一区二区少妇| 国产精品一区二区羞羞答答| www.国产精品| 欧美一区二区三区在线视频| 毛毛毛毛毛毛毛片123| 天堂av一区| 日韩h在线观看| www在线观看免费视频| 精品午夜久久| 久久韩国免费视频| 欧美激情一区二区视频| 亚洲一级电影| 国产成人一区二区三区小说| 中文字幕人妻一区二区在线视频| 久久国产精品第一页| 亚洲字幕在线观看| 天堂av在线免费| 国产视频在线观看一区二区三区 | 少妇户外露出[11p]| 奇米影视777在线欧美电影观看| 亚洲精品视频久久| 91av手机在线| 狠狠噜噜久久| 热99久久精品| 国产情侣在线播放| 99国产精品久久| 午夜精品一区二区三区四区 | 精品久久国产视频| 99久久99久久精品国产片果冻| 日韩精品欧美在线| av网站大全在线| 日韩欧美精品在线观看| 一本色道久久亚洲综合精品蜜桃| 久久9999免费视频| 亚洲欧美制服第一页| 小嫩苞一区二区三区| 亚洲精品系列| 国产欧美日韩高清| 五月婷婷综合久久| 中文字幕在线不卡一区| 人妻久久久一区二区三区| 国产亚洲欧美日韩精品一区二区三区| 日韩欧美一区二区视频| 中文字幕av久久爽一区| 狠狠入ady亚洲精品| 国产欧美亚洲精品| 日本aaa在线观看| 亚洲一区二区三区国产| a在线观看免费视频| 欧美成人午夜77777| 久久久精品亚洲| 日韩综合在线观看| 国产·精品毛片| 亚洲一二区在线| 亚洲免费福利| 精品国产一区二区国模嫣然| 日本黄色激情视频| 性欧美videos另类喷潮| av一区观看| 免费大片在线观看www| 91福利视频久久久久| 亚洲中文字幕无码一区| 中文字幕一区二区三区久久网站| 国产精品精品一区二区三区午夜版| 人妻偷人精品一区二区三区| 亚洲欧美另类综合偷拍| 激情五月婷婷基地| 日韩av专区| 国产精品高潮呻吟久久av无限| 在线观看xxx| 性欧美疯狂xxxxbbbb| 三级黄色片播放| 天天做综合网| 国产一区视频在线| 永久免费av在线| 在线免费观看成人短视频| av网站免费在线播放| 亚洲精品婷婷| 精品欧美一区二区精品久久| 波多野在线观看| 日韩久久久久久| 欧美日韩精品亚洲精品| 国产乱码一区二区三区| 激情图片qvod| 日韩成人18| 久久久久久国产三级电影| 性一交一乱一乱一视频| 亚洲一区二区三区不卡国产欧美| 欧美69精品久久久久久不卡| 午夜亚洲福利| 国产精品久久亚洲7777| 波多野结衣中文字幕久久| 欧美videossexotv100| 免费一级片视频| 成人av在线资源| 国产成人a亚洲精v品无码| 亚洲电影男人天堂| 国产成人精品视频在线| 一级毛片视频在线观看| 欧美高清视频在线高清观看mv色露露十八| 天堂av免费在线| 国产成人在线免费| 玩弄中年熟妇正在播放| 九九视频免费观看视频精品| 国产精品免费在线免费| www免费在线观看| 亚洲第一福利网站| 国产精品久免费的黄网站| 亚洲国产成人在线| a级大片免费看| 99综合在线| 日韩国产伦理| 精品国产亚洲一区二区三区在线| 毛片精品免费在线观看| 囯产精品一品二区三区| 色婷婷精品大视频在线蜜桃视频 | 亚洲精品国久久99热| 国产精品成人免费一区久久羞羞| 亚洲另类黄色| 日本亚洲导航| 视频精品国内| 欧美亚洲成人网| 免费网站看v片在线a| 日韩精品一区二区三区四区视频| 黄网在线观看视频| 国产精品欧美一区喷水| 欧美激情一区二区三区p站| 模特精品在线| 国产成人免费高清视频| 女人抽搐喷水高潮国产精品| 国产综合在线观看视频| 96av在线| 久久九九亚洲综合| 天天操天天干天天操| 欧美丝袜丝nylons| 日本一区二区三区免费视频| 中文字幕的久久| 欧美双性人妖o0| 激情图片小说一区| 日日摸日日碰夜夜爽av | 国产极品尤物在线| 成人3d精品动漫精品一二三| 国产精品国模大尺度私拍| 美脚恋feet久草欧美| 久99九色视频在线观看| av网站在线播放| 日韩激情在线视频| 国产高清在线免费| 在线视频国内自拍亚洲视频| 国产一级片久久| 中文字幕视频一区二区三区久| xxxx黄色片| 国产成人精品网址| 制服丝袜中文字幕第一页| 欧美亚洲网站| 国产九九九九九| 午夜精品久久| 国产高清精品软男同| 久久99国内| 国产区二精品视| 免费精品一区| 成人亚洲综合色就1024| 四虎4545www国产精品| 91tv亚洲精品香蕉国产一区7ujn| 性欧美高清come| 欧美乱妇40p| 成人在线视频亚洲| 日韩在线视频免费观看高清中文| 日本中文字幕一区二区有码在线| 精品裸体舞一区二区三区| 国产理论片在线观看| 在线亚洲高清视频| 伊人久久中文字幕| 色婷婷精品久久二区二区蜜臀av| 91国产丝袜播放在线| 亚洲国产欧美在线| 国模私拍一区二区三区| 天堂在线精品视频| 日韩国产欧美一区二区三区| 99热在线这里只有精品| 在线日韩视频| 福利视频一区二区三区四区| 欧美在线不卡| 亚洲区成人777777精品| 亚洲成av人片乱码色午夜| 制服诱惑一区| 国产精品99一区二区三| 亚洲高清资源综合久久精品| 精品不卡一区| 四虎永久国产精品| 国产亚洲一区二区三区啪 | sdde在线播放一区二区| 日本免费高清一区| 欧美午夜精彩| 中文精品一区二区三区| 91精品久久久久久久久久不卡| 一区二区三区四区免费视频| 午夜精品一区二区三区国产 | 一区视频在线| 亚洲美免无码中文字幕在线 | 国产成人精品免费视频| 丁香婷婷久久| 成人在线视频网| 美国十次综合久久| 国产激情美女久久久久久吹潮| 美女呻吟一区| 先锋在线资源一区二区三区| 久久裸体网站| 久久久99精品视频| 亚洲人妖在线| 99视频在线视频| 韩国精品久久久| 精品国产aⅴ一区二区三区东京热 久久久久99人妻一区二区三区 | 在线播放免费视频| 国产91精品在线观看| 欧美精品欧美极品欧美激情| 国产欧美日韩在线| 四虎永久免费在线| 亚洲成人资源网| 五月天中文字幕| 日韩一区二区免费在线电影| 香蕉视频国产在线| 综合久久五月天| 国语对白在线刺激| 国产精品欧美激情在线播放| 欧美专区视频| 日韩电影免费观看在| 午夜精品久久久久99热蜜桃导演| 亚洲熟妇av一区二区三区| 国内精品久久久久影院一蜜桃| 免费看毛片的网站| 国产精品素人视频| 国产亚洲精品久久777777| 欧美在线不卡一区| 可以免费看毛片的网站| 国产精品美女久久久久久2018| 91精品国产综合久久香蕉922| 色狠狠一区二区三区| 动漫3d精品一区二区三区| 国产精品一线天粉嫩av| 日本成人在线不卡| 免费不卡在线视频| 中文字幕 日本| 亚洲精选一二三| 中文字幕 国产精品| 亚洲福利在线视频| 国产丝袜在线| 国产精品h片在线播放| 激情小说亚洲色图| 裸体大乳女做爰69| 玖玖精品视频| 蜜臀视频在线观看| 一区精品在线播放| www.国产一区二区| 精品国产自在久精品国产| 欧美日本一道| 国产精品久久久久久搜索| 青青草久久爱| 国产精品久久久久7777| 国产一区在线观看视频| 大胸美女被爆操| 欧美主播一区二区三区| 亚洲日本香蕉视频| 国产+人+亚洲| 成人精品毛片| 久久av高潮av| 国产乱妇无码大片在线观看| 成人欧美一区二区三区黑人一| 色伊人久久综合中文字幕| 天堂中文在线资源| 久久久免费av| 成人线上播放| www.在线观看av| 粉嫩久久99精品久久久久久夜| 欧美大片xxxx| 欧美一级淫片007| 黄色成人影院| 91美女福利视频高清| 小处雏高清一区二区三区| 九九热99视频| 日韩码欧中文字| 91亚洲国产成人精品一区| 在线日韩日本国产亚洲| 欧美日一区二区三区| 亚洲激情一区二区三区| 免费国产亚洲视频| 天天干天天舔天天操| 欧美少妇bbb| av福利在线播放| 91网站在线看| 午夜精品偷拍| 国产精品久久AV无码| 欧美视频在线看| 爱久久·www| 国产伊人精品在线| 99国产**精品****| 欧美性受xxxx黒人xyx性爽| 亚洲码国产岛国毛片在线| 草草视频在线播放| 久久久久久com| 日韩av三区| 天天爱天天操天天干| 国产精品福利在线播放| 国产免费av观看| 欧美极品美女视频网站在线观看免费| 盗摄系列偷拍视频精品tp| 精品这里只有精品| 日本一区二区视频在线观看| 国产精品毛片久久久久久久av | 99福利在线| 国产精品永久入口久久久| 午夜一区不卡| 国产日韩精品中文字无码| 日韩一区二区三区视频在线| 超碰在线97国产| 伊人激情综合网| 亚洲精品午夜国产va久久成人| 亚洲黄色免费三级| 中文另类视频| 男人c女人视频| 91日韩在线专区| 一级黄色小视频| 国a精品视频大全| 日韩精品永久网址| 日本50路肥熟bbw| 在线一区二区三区四区五区| 97超碰资源站在线观看| 麻豆精品视频| 国产美女精品人人做人人爽| 男人的天堂一区二区| 色狠狠av一区二区三区香蕉蜜桃| 波多野结衣在线一区二区| 免费黄色一级网站| 亚洲一区二区美女| 91av资源在线| 精品综合久久| 国产一区二区不卡在线| 东京热一区二区三区四区| 超碰97人人做人人爱少妇| 神马电影久久| 国产精品果冻传媒| 欧美日韩国产首页| 中文字幕乱码中文乱码51精品|