日韩性视频-久久久蜜桃-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久草| 国产福利免费在线观看 | 婷婷久| 国产欧美精品一区二区 | 国产精品粉嫩 | 成人污污视频在线观看 | 国产精品色在线网站 | youjizz欧美| jvid乐乐 | 日韩久久电影 | 亚洲五月综合 | 免费成人在线观看动漫 | 久久亚洲av无码精品色午夜麻豆 | 国产精品毛片久久久久久 | 在线观看欧美视频 | 久久国产主播 | 成年丰满熟妇午夜免费视频 | 国产精品av在线免费观看 | 婷婷去俺也去 | 国产裸体美女永久免费无遮挡 | 日韩极品视频在线观看 | 日本一级做a爱片 | 亚洲v国产 | 天天色综合色 | 这里只有精品国产 | 日本一区二区高清不卡 | 深夜福利影院 | 欧美午夜性 | 欧美视频四区 | 午夜免费福利小电影 | 日本无遮挡边做边爱边摸 | 日韩中文字幕一区 | 999久久久国产 | 久草手机在线 | 97超碰在线资源 | 久草一区 | 天堂网av2014 | 国产一区亚洲二区 | 少妇第一次交换又紧又爽 | 欧美日韩亚洲二区 | 午夜三级网站 | 国产精品亚洲AV色欲三区不卡 | 亚洲29p| 女人天堂网 | 日韩中文无 | 99精品自拍 | 天天av网 | 日韩大片免费观看视频播放 | 精品网站999www| 伊人久久五月 | 成人午夜视频在线免费观看 | 亚洲13p| 成人福利视频 | 亚洲国产黄色片 | 天天看天天干 | 男女污污软件 | 中国一区二区视频 | 欧美日韩综合一区二区三区 | 天天干,天天操,天天射 | 无码人妻一区二区三区在线视频 | 日韩性xxx | 亚洲视频导航 | 国产二页 | 大粗鳮巴久久久久久久久 | 强行挺进白丝老师翘臀网站 | 乱码一区二区三区 | 肮脏的交易在线观看 | 91精品国产欧美一区二区成人 | 成人gav| 欧美激情999 | 亚洲涩涩涩 | 秋霞午夜网 | 日本理论中文字幕 | 精品久久久久久久中文字幕 | 男女视频久久 | 国产福利在线视频观看 | av免费亚洲 | 欧美精品一区二区性色a+v | 欧美11一13sex性hd | 91视频在线免费观看 | 日本美女上床 | 涩涩网站在线观看 | 麻豆视频成人 | 国产精品资源网站 | 亚洲天堂一区二区在线 | 国产精品国色综合久久 | 欧美精彩视频 | 91片黄在线观看 | 亚洲人成在线观看 | а√天堂8资源在线官网 | 中国农村一级片 |