單機鬥地主聯賽腳本之家
⑴ 單機鬥地主怎麼玩
鬥地主是流行於湖北武漢、漢陽一帶的一種撲克游戲。游戲需由3個玩家進行,用一副54張牌(連鬼牌),其中一方為地主,其餘兩家為另一方,雙方對戰,先出完牌的一方獲勝。
⑵ 單機鬥地主有什麼
單機版的有時電腦很聰明,但有時又很苯。有的,而且有各種模式,我玩的這個就是NPC有點丑~
呵呵,但將就了吧~
錦游鬥地主單機版。
拓展:
1、單機鬥地主是款益智棋牌小游戲,鬥地主單機版,顧名思義,是一款單機游戲,拋棄了以往鬥地主需要使用網路的條件,但是游戲還是相當不錯的,一點不比其他類型鬥地主遜色。
2、游戲介紹
鬥地主單機版,顧名思義,是一款單機游戲,拋棄了以往鬥地主需要使用網路的條件,但是游戲還是相當不錯的,一點不比其他類型鬥地主遜色。
3、游戲特點
此款鬥地主最大的亮點是擁有強大的AI以及智能的提示功能,電腦具有很高的人工智慧,為玩家提供了強勁的對手,智能的提示機制可以根據玩家剩餘的牌以及上家所出的牌為玩家選出心中所想的牌。另外玩家還可以免費獲得實用的記牌器功能,再也不用費神去記所出的牌了。
除了以上強大功能以外,此款鬥地主還擁有精美的界面,動感的音樂,簡單的操作,為鬥地主玩家提供了流暢而有節奏的游戲感覺。
一共實現了如下功能
1. 搶地主功能,玩家可以選擇自己當地主,還是留給電腦搶地主
2.牌型判斷,判斷 單牌,對子,3對,順子,飛機,等等可能情況 為後面出牌跟牌做准備
3. 實現輪流出牌邏輯,並簡單測試
4. 實現倒計時功能,如果玩家30秒為出牌自動超時,歸為下一家出牌,電腦默認操作時間2秒
public void run() { while(i>-1 && isRun){ main.time[1].setText("倒計時:"+i--); second(1);//等一秒 } if(i==-1)//正常終結,說明超時 main.time[1].setText("不搶"); //如果自己搶到地主 if(main.time[1].getText().equals("搶地主")){ //得到地主牌 main.playerList[1].addAll(main.lordList); openlord(true); second(2);//等待五秒 Common.order(main.playerList[1]); Common.rePosition(main, main.playerList[1], 1); setlord(1); }else{ //電腦選地主 if(Common.getScore(main.playerList[0])
上面是實現邏輯的一個線程
Time.java文件裡面
下面給出拆牌的邏輯
下面是一個枚舉,命名不是很規范,但是容易懂,形象化的特徵10多種牌型
package com; public enum CardType { c1,//單牌 c2,//對子 c3,//3不帶 c4,//炸彈 c31,//3帶1 c32,//3帶2 c411,//4帶2個單,或者一對 c422,//4帶2對 c123,//連子 c1122,//連隊 c111222,//飛機 c11122234,//飛機帶單排 c1112223344,//飛機帶對子 c0//不能出牌 }
下面是具體判斷方法
//判斷牌型 public static CardType jugdeType(List list){ //因為之前排序過所以比較好判斷 int len=list.size(); //單牌,對子,3不帶,4個一樣炸彈 if(len<=4) { //如果第一個和最後個相同,說明全部相同 if(Common.getValue(list.get(0))==Common.getValue(list.get(len-1))) { switch (len) { case 1: return CardType.c1; case 2: return CardType.c2; case 3: return CardType.c3; case 4: return CardType.c4; } } //雙王,化為對子返回 if(len==2&&Common.getColor(list.get(1))==5) return CardType.c2; //當第一個和最後個不同時,3帶1 if(len==4 &&Common.getValue(list.get(0))==Common.getValue(list.get(len-2))) return CardType.c31; else { return CardType.c0; } } //當5張以上時,連字,3帶2,飛機,2順,4帶2等等 if(len>=5) {//現在按相同數字最大出現次數 Card_index card_index=new Card_index(); for(int i=0;i<4;i++) card_index.a[i]=new ArrayList(); //求出各種數字出現頻率 Common.getMax( card_index,list); //a[0,1,2,3]分別表示重復1,2,3,4次的牌 //3帶2 -----必含重復3次的牌 if(card_index.a[2].size()==1 &&card_index.a[1].size()==1 && len==5) return CardType.c32; //4帶2(單,雙) if(card_index.a[3].size()==1 && len==6) return CardType.c411; if(card_index.a[3].size()==1 && card_index.a[1].size()==2 &&len==8) return CardType.c422; //單連,保證不存在王 if((Common.getColor(list.get(0))!=5)&&(card_index.a[0].size()==len) && (Common.getValue(list.get(0))-Common.getValue(list.get(len-1))==len-1)) return CardType.c123; //連隊 if(card_index.a[1].size()==len/2 && len%2==0 && len/2>=3 &&(Common.getValue(list.get(0))-Common.getValue(list.get(len-1))==(len/2-1))) return CardType.c1122; //飛機 if(card_index.a[2].size()==len/3 && (len%3==0) && (Common.getValue(list.get(0))-Common.getValue(list.get(len-1))==(len/3-1))) return CardType.c111222; //飛機帶n單,n/2對 if(card_index.a[2].size()==len/4 && ((Integer)(card_index.a[2].get(len/4-1))-(Integer)(card_index.a[2].get(0))==len/4-1)) return CardType.c11122234; //飛機帶n雙 if(card_index.a[2].size()==len/5 && card_index.a[2].size()==len/5 && ((Integer)(card_index.a[2].get(len/5-1))-(Integer)(card_index.a[2].get(0))==len/5-1)) return CardType.c1112223344; } return CardType.c0; }
下面是上面函數用到的一個函數
//返回花色 public static int getColor(Card card){ return Integer.parseInt(card.name.substring(0,1)); } //返回值 public static int getValue(Card card){ int i= Integer.parseInt(card.name.substring(2,card.name.length())); if(card.name.substring(2,card.name.length()).equals("2")) i+=13; if(card.name.substring(2,card.name.length()).equals("1")) i+=13; return i; } //得到最大相同數 public static void getMax(Card_index card_index,List list){ int count[]=new int[14];//1-13各算一種,王算第14種 for(int i=0;i<14;i++) count[i]=0; for(int i=0,len=list.size();i<14;i++) { switch (count[i]) { case 1: card_index.a[0].add(i+1); break; case 2: card_index.a[1].add(i+1); break; case 3: card_index.a[2].add(i+1); break; case 4: card_index.a[3].add(i+1); break; } } } } class Card_index{ List a[]=new ArrayList[4];//單張 }
⑷ 單機鬥地主修改金幣方法謝謝了,大神幫忙啊
在玩《單機鬥地主》的時候,想必很多玩家因金幣不夠而導致自己做不了很多事情,在這里小編給各位玩家介紹幾款好用的修改器,如:八門神器、葫蘆俠、燒餅修改器等修改軟體。下載安裝好後按照下面的步驟修改就OK了。這里需要提醒的是,很多修改器都需要ROOT後才能操作。下面已八門神器為例: 1、首先進入到游戲中,並讓八門神器在後台運行。 2、打開八門神器,在其中輸入當前的金幣數量,選擇自動搜索,可以看到現在的搜索結果還是比較多的。 3、返回到游戲中,點擊開始游戲,然後通過任何方式讓金幣數值變動(如:買個東西等)4、然後再返回到八門神器中搜索變更後的這個數字,可以看到現在的搜索結果變少了不少。 5、重復第4、5步知道得到的數值只剩下一個(多個也可以,全部修改了就行)。6、修改這個金幣數值。 7、然後回到游戲就可以看到金幣數量修改成功。單機鬥地主官方介紹:小編玩過最「精悍」的鬥地主,與QQ鬥地主的相似度99%,而且只有1.8M大小,無推送廣告,無其他暗扣,干凈的小游戲!推薦~~~~游戲特點:強勁智能:啟發式動態決策型人工智慧,讓您感覺不出您在玩單機游戲;穩定敏捷:全面優化確保游戲運行穩定,給您最流暢的游戲體驗;精美畫面:清新典雅的棋牌類游戲風格,給您原汁原味的棋牌享受;貼心設計:合理界面布局讓您運指如飛,遠離誤操作的煩惱;完美兼容:全面支持市面上的所有安卓…就可以看到金幣數量修改成功。單機鬥地主版本:1.0.2發布:2013-03-21大小:1.83M分類:休閑益智語言:中文適用:1.0下載:6698次開發商:Zhang Genlu立即查看 查看原帖>>
⑸ 求一個單機鬥地主,不用登陸不用聯網的那種,謝謝!
以下都是單機鬥地主。
1.甘蔗3D鬥地主,11M左右、游戲很不錯!個人建議!
2.開心鬥地主,2M左右、游戲也還可以、就是過於小了!
3.錦游鬥地主,4.7M、我看下載量不是很理想、沒玩過、不知道怎樣。
補充:如果樓主找不到合適的下載地址、斗膽推薦逗游游戲寶庫、游戲很全面,還可以檢測游戲與電腦配置差異!
⑹ 為什麼單機版鬥地主會出現當前頁面的腳本發生錯誤什麼意思
IE中的腳本錯誤
某個網頁可能會無法正常顯示或工作,您可能會收到一條類似於以下之一的錯誤消息:
該網頁上的問題可能使其無法正常顯示或功能不正常。以後,雙擊顯示在狀態欄中的警告圖標,就可以顯示上述消息。
解決辦法
1.右擊IE圖標——屬性——高級——選中「禁用腳本調試」,取消「顯示每個腳本錯誤的通知」;
2.右擊我的電腦圖標——屬性——高級——錯誤報告——選中「禁用錯誤報告」。
⑺ 不用網的單機鬥地主有哪些
摘要 不用聯網的鬥地主軟體有甘蔗3d鬥地主、開心鬥地主、錦游鬥地主等。
⑻ 不用聯網,不用花錢的單機鬥地主游戲
甘蔗3D鬥地主
開心鬥地主
錦游鬥地主
⑼ 不用網路的單機鬥地主游戲
在電腦上用迅雷下,在迅雷里直接搜索,下好了之後用數據線給存到手機里,然後用手機安裝就可以了,你說的那QQ鬥地主是免費游戲,在手機上玩是單機游戲,所以不用升級也不用付其他費用,望採納!O(∩_∩)O謝謝!!!!!!!!
⑽ 單機鬥地主有什麼技巧嗎
攻守: 圍繞一個原則:主攻一線。最好是主攻單張。 審時度勢,自己對子可以成功收回和當對手在花對子,要及時返回出對子,這個根據當時局勢,我說的主攻一線,是基本攻擊路線。 一般牌局結構來講,攻單張效果好一些,除非你對子可以全跑完。(就算可以跑完,還要想到地主會用對22上手)不然,誰手上沒兩個對子需要過啊,當你讓敵人過了單張,又過對子,又過其他什麼的,你說你有什麼機會贏。因為地主敢抓牌,肯定是有2個以上可以定局(如對2.大王.炸彈)的強牌。當他過牌夠了以後,用強牌一壓。一下就確定了勝局。
我的經驗是一般情況在地主對2沒有破掉之前不可出對。(自己手上的牌很強,可以控制收發,可以牽制住地主除外)。
戰術上,我最忌諱的是單張和對子換來換去的出,這樣輸牌機會應該是9層。