单机斗地主联赛脚本之家
⑴ 单机斗地主怎么玩
斗地主是流行于湖北武汉、汉阳一带的一种扑克游戏。游戏需由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层。