简单斗地主

/*
   * 一副扑克
   * 洗牌
   * 发牌
   *看牌
   */
	public static void fightLandlord(){
		//一副扑克
		String[] num={"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
		String[] color={"梅花","红桃","方片","黑桃"};
		HashMap<Integer, String> hm=new HashMap<Integer, String>();     //存储索引和扑克
		ArrayList<Integer> list=new ArrayList<Integer>();                      //存储索引
		int index=0;
		for(String n:num){
			for(String c:color){
				String p=c.concat(n);
				hm.put(index, p);
				list.add(index);
				index++;
			}
		}
		list.add(index);
		hm.put(index, "小王");
		index++;
		list.add(index);
		hm.put(index, "大王");
      //洗牌
	    Collections.shuffle(list);
	    TreeSet<Integer> landlord=new TreeSet<Integer>();
	    TreeSet<Integer> peasant1=new TreeSet<Integer>();
	    TreeSet<Integer> peasant2=new TreeSet<Integer>();
	    TreeSet<Integer> extra=new TreeSet<Integer>();
	   //发牌
	    for(int i=0;i<list.size();i++){
	    	if(i>=list.size()-3){
	    		extra.add(list.get(i));
	    	}else if(i % 3 ==0){
	    		landlord.add(list.get(i));
	    	}else if(i%3==1){
	    		peasant1.add(list.get(i));
	    	}else{
	    		peasant2.add(list.get(i));
	    	}
	    }
	    //看牌
	    seePoker(hm,landlord,"地主");
	    seePoker(hm,peasant1,"农民1");
	    seePoker(hm,peasant2,"农民2");
	    seePoker(hm,extra,"底牌");
	    
	}
     public static void seePoker(HashMap<Integer, String> hm,TreeSet<Integer> p,String name){
    	 System.out.print(name+"的牌是:");
    	 for(Integer i:p){
    		 System.out.print(hm.get(i)+" ");
    	 }
    	 System.out.println();
     }
时间: 2024-10-17 09:40:39

简单斗地主的相关文章

用JavaScript编写简单斗地主效果Es6

1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <meta http-equiv="X-UA-Compat

java语言实现简单的洗牌,发牌

java学习过程中,老师让写了个简单的斗地主洗牌发牌的程序,一下就是程序代码: package com.java.lei.homework; import java.util.Arrays; import java.util.Random; public class PokerGame { //1.创建数组,用以存储扑克牌 static String[] pokers = new String[54]; public static void main(String[] args) { //2.创

JAVASCRIPT开发HTML5游戏--斗地主(网络对战PART4)

继之前用游戏引擎(青瓷引擎)做了斗地主单机版游戏之后,这里分享下使用socket.io来实现网络对战,代码可已放到github上,在此谈谈自己整个的开发思路吧. 客户端代码 服务端代码 (点击图片进入游戏体验) 前文链接: javascript开发HTML5游戏--斗地主(单机模式part1) javascript开发HTML5游戏--斗地主(单机模式part2) javascirpt开发HTML5游戏--斗地主(单机模式part3) 本文章为网络对战第一部分内容.主要内容如下: 简介 服务端项

斗地主[NOIP2015]

题目描述 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗地主中,牌的大小关系根据牌的数码表示如下:3<4<5<6<7<8<9<10<J<Q<K<A<2<小王<大王,而花色并不对牌的大小产生影响.每一局游戏中,一副手牌由n张牌组成.游戏者每次可以根据规定的牌型进行出牌,首先打光自己的手牌一方取得游戏的胜利.现在,牛牛只想知道,对于自己的若干组

【斗地主技巧】斗地主算法逻辑中的天之道&lt;转&gt;

******************************************************************** 作者比较喜欢玩斗地主,所以经常搜集一些网友斗地主的心得,下面这一篇,我感觉写得不错,特转载,与网友分享.原文链接 棋牌游戏推荐:JJ比赛 我比较喜欢在这上面玩,可以赢话费,而且积累的金币其实是可以兑换成人民币的,网上有人回收. *******************************************************************

简陋的斗地主,js实现

最近闲了两天没事做,用js写了个斗地主,练习练习.代码和功能都很简陋,还有bug,咋只是聊聊自己的思路. 这里说说斗地主主要包含的功能:洗牌,发牌,玩家出牌.电脑出牌,出牌规则的验证,输赢啥的没有判断,只是实现了这几个主要功能,下面依次说说几个功能的实现: 1.洗牌: 1 var pukes=this.manage.pukes;//存放扑克牌的数组 2 //洗牌 3 for(var i=0;i<pukes.length;i++){ 4 var tmp=pukes[i]; 5 var index=

玩欢乐斗地主后的启发

最近加班加的比较厉害,从周一到周五,甚至周六都在加班.项目进度遥遥无期,目前这个项目要做完的话,时间已经到2019年去了,这个时间对大家来说,真是一个非常有挑战的考验. 由于种种原因,每次下班时,大脑总是感觉疲劳的很,总想找一点什么事情来做,好好的让自己放松一下.近两周我发现,玩欢乐斗地主能让我得到不少的放松,欢乐斗地主这个东西,是腾讯非常成功的一个产品.我认为的成功,完全是从一个用户的体验角度来进行评价的.为什么这么说呢? 首先从游戏的难易程度上来说,这个一个很简单的游戏,简单到一个七八岁的小

棋牌游戏开发之斗地主算法点选牌

这是转载一位博有的....依稀记得..... 斗地主算法之点选牌                            -------                                     有棋牌游戏开发经验的可以来互相交流 QQ:325131039                    棋牌游戏开发技术交流群: 490287966               PS:最近找了几个个朋友主准备把斗地主游戏重写,由于种种原因今天还没有开始,所以先把基本的算法写一写,为以后写项目做准

斗地主牌型基本算法升级版本

斗地主牌型基本算法升级版本 好久没更新博客了,前段时间和朋友一起开了一个公司 做APP,最后失败了.现在又开始做棋牌游戏了,最近在看网狐的源码,发现里面斗地主的基本算法太强大了,现在想想我原来的算法简直是弱爆了,分享一下 希望能对你有一点点帮助.以下主要涉及到判断牌型,牌型大小比较2块,如果你想了解更多关于棋牌游戏的东西请访问我的 棋牌游戏专栏. 一.判断牌型 定义一个结构来表示每张相同牌的信息. //分析结构 structtagAnalyseResult { BYTE cbFourCount;