日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

翻牌模拟器 | Java

發布時間:2024/5/8 java 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 翻牌模拟器 | Java 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、翻牌配對小游戲

1、玩家數量:2-4名。

2、需要道具:兩兩成對的牌若干。

3、游戲規則:游戲開始前,將牌洗亂,然后全部背面朝上放置在平面上。游戲開始后,每個人每次翻開兩張牌,如果兩張牌匹配,就可以把它們收走,否則要把兩張牌翻回去。直至所有的牌都被拿走,此時統計每名玩家手中牌的數量,牌數多者為勝。

二、UNO

UNO是一種風靡全世界的常見桌游。玩家需在出剩最后1張牌時喊出”UNO“,故而得名。

博主寫文于2023年1月24日,正是春節期間。

家里十分熱鬧,小孩很多,我常常帶著他們一起玩各種游戲,包括但不限于藏與找東西、撲克牌、UNO、和平精英、穿越火線槍戰王者、我的世界、飛行棋、卡坦拓荒、狼人殺等。是的,我剛剛提到了UNO。

23日晚上,我從UNO中去除了四張+4牌,兩張改顏色牌,四張0牌,剩下98張牌。

我用這98張牌和他們玩翻牌配對的游戲。

這場大學生與初中生、小學生的比拼中,大學生取得了徹頭徹尾的勝利,但大學生不滿足于此。

當天晚上躺在床上,這個大學生的腦中,思考的是如何使用他的專業知識來設計一個翻牌游戲。

三、大學生的陰謀

其實這個大學生最初的目的不是完全設計出一個完整的翻牌游戲。

平日里他和善近人,是一個孩子王。誰知道,他是一個徹徹底底的陰謀家!

原來,他的目的是設計出翻牌游戲的版面。

他知道,只要提升了自己的記憶力,提升自己對游戲記憶的敏感程度,他就可以取得勝利!完完全全的勝利!!!

他太渴望勝利了(即使他玩這個游戲就沒有輸過),過去是,現在是,將來也是。

他的陰謀就是偷偷設計出模擬游戲情景的版面,然后用此來訓練自己的記憶力,日后好一舉擊破他可憐的弟弟妹妹表弟表妹們脆弱不堪的心理防線!!!

理論存在,思路清晰,實踐開始。

四、實現過程

1、生成牌組

按照上述提到的內容,首先要生成98張牌。代碼如下:

public static String[] uno = new String[98]; public static char[] color = {'紅','黃','藍','綠'}; public static char[] number = {'1','2','3','4','5','6','7','8','9','轉','禁','加'};public static void GenerateCards(){int k=-1;for (int i=0; i<4; i++) {for (int j=0; j<12; j++) {k++;uno[k] = color[i] + String.valueOf(number[j]);k++;uno[k] = uno[k-1];}}uno[96] = "改"; uno[97] = "改";}

其中,“轉”對應的是反轉牌,“禁”對應的是禁止牌,“加”對應的是+2牌,“改”對應的是改顏色牌。

2、洗牌

最初我嘗試生成1個隨機數n(0≤n≤97),然后利用

for (int i=0; i<97; i++) {shuffle[i] = uno[i*n%97]; } shuffle[97] = uno[97];

來實現洗牌。但是這種洗牌方式并不理想。

考慮加入布爾數組visit來確定牌是否已經被取走,在此基礎上生成98個隨機數來取牌,代碼如下:

? ? //洗牌public static void ShuffleCards(){Random r = new Random();boolean[] visit = new boolean[98];//第一次洗牌String[] shuffle1 = new String[98];int k=0;Arrays.fill(visit, false);for (int i=0; i<98; i++) {int n = r.nextInt(97);while (visit[n]) {n = (n+1)%98;}shuffle1[k] = uno[n];visit[n] = true;k++;}//第二次洗牌String[] shuffle2 = new String[98];k=0;Arrays.fill(visit, false);for (int i=0; i<98; i++) {int n = r.nextInt(97);while (visit[n]) {n = (n+1)%98;}shuffle2[k] = shuffle1[n];visit[n] = true;k++;}//第三次洗牌String[] shuffle3 = new String[98];k=0;Arrays.fill(visit, false);for (int i=0; i<98; i++) {int n = r.nextInt(97);while (visit[n]) {n = (n+1)%98;}shuffle3[k] = shuffle2[n];visit[n] = true;k++;}//復制System.arraycopy(shuffle3, 0, uno, 0, 98);}

三次洗牌已經足夠,如果需要,洗更多次當然也可以。

3、生成GUI與填牌

要闡釋清楚還挺麻煩的,總之我希望的版面大概是這樣:

上面的牌有6行9列,共54張

(備注:不鋪98張是因為場地有限,實際玩的時候不會一次性全部鋪完;同時54和98滿足54×2>98,有抽屜原理可知一定有解)

考慮設計54+3=57個按鈕,每個按鈕都有其對應的事件。

涉及到的代碼有1099行,太多,就不打算放出來了。

五、成果

參考博主在b站發的視頻,

【「Java」翻牌匹配模擬器的半成品=記憶力模擬器-嗶哩嗶哩】 https://b23.tv/4PFvvi0

六、總結反思

重復的工作太多,效率太低

6×9=54個按鈕理應有統一實現,寫一次代碼足矣

但是我卻寫了54個addActionListener,浪費了巨多時間......

上次用C寫了個數獨游戲,這次用Java寫了配對游戲

下次我會考慮用Python寫的,剛好這學期我的大作業學的就是Pygame,專業對口了屬于是

大概就這么多吧,博主去吃晚飯了

總結

以上是生活随笔為你收集整理的翻牌模拟器 | Java的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美一级免费视频 | 99久久久久成人国产免费 | 色综合久久久久久 | 日韩欧美精品中文字幕 | 人妻丰满熟妇av无码区免 | 国产欧美精品区一区二区三区 | 国产精品水嫩水嫩 | 亚洲制服在线观看 | 97超碰成人 | 久久一区二区三区四区五区 | 亚洲欧美中文字幕5发布 | 国产一级片免费观看 | 特黄色大片 | 日本青青草视频 | 日本成人精品视频 | 黄色免费观看网站 | 日韩毛片| 午夜香蕉网 | 日韩精品国产一区 | 无码人妻丰满熟妇奶水区码 | 亚洲精品成a人 | 日韩视频第一页 | 手机av在线免费 | 性高潮久久久久久久久 | 国产欧美日韩综合精品 | 中文字幕免费在线看线人动作大片 | 日日干夜夜草 | 中文av字幕 | 黑人巨大精品欧美黑寡妇 | 精品国产午夜福利在线观看 | 拔插拔插海外华人免费视频 | 激情综合一区二区三区 | 开心激情五月网 | 亚洲天堂2014| 日韩一区二区三区不卡视频 | 亚洲涩情| 国产伦理久久精品久久久久 | 俺啪也| 摸摸大奶子 | 国产成人精品一区 | 亚洲av无码久久精品狠狠爱浪潮 | 亚洲小说春色综合另类 | 91av视频免费观看 | 黄色免费网站在线 | 刘亦菲一区二区三区免费看 | 麻豆激情网 | 国产探花视频在线观看 | 动漫玉足吸乳羞免费网站玉足 | 88av网 | 密乳av| 中文在线字幕av | 色又色 | 国产精品社区 | 日本伦理一区二区三区 | 非洲一级片 | 亚洲成人aa | 一二三区不卡 | 国产嫩草影院久久久久 | 中文字幕二区 | 国产又粗又猛又爽又黄的视频在线观看动漫 | 亚洲免费综合 | 91亚洲成人 | 日日夜夜天天 | 日韩亚洲欧美综合 | 四季av综合网站 | 国产乱人对白 | 天天操天天添 | 精品一区二区在线视频 | 国产精品无圣光 | 贵族女沦为官妓h呻吟 | 俄罗斯女人裸体性做爰 | 丝瓜色版 | 欧美性猛交一区二区三区精品 | 精品妇女一区二区三区 | 国产精品久久久久免费 | 国产噜噜噜噜久久久久久久久 | 欧美黑人欧美精品刺激 | 中文字幕在线国产 | 日韩毛片无码永久免费看 | 99热这里只有精品在线观看 | 亚洲a网站 | 亚洲 在线| 国色综合 | av色先锋 | 婷婷国产一区 | 欧美精品一卡二卡 | 逼特逼在线视频 | 亚洲一区二区精品在线 | av首页在线观看 | 日韩三级黄色片 | 欧美一区二区三区大屁股撅起来 | 精品一区二区久久久久久按摩 | 日韩成人av在线播放 | 日韩av大全 | 国产激情视频一区二区三区 | 女十八毛片 | 精品区在线观看 | 成人小视频免费看 | 成人国产免费视频 |