社区
Java SE
帖子详情
求J2SE编写的梭哈小游戏!
camperJAVA
2008-03-18 02:36:28
我只要重要的算法就是了~~高手请赐教~~
...全文
131
4
打赏
收藏
求J2SE编写的梭哈小游戏!
我只要重要的算法就是了~~高手请赐教~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
camperJAVA
2008-03-20
打赏
举报
回复
不管能不能运行,先谢谢了~
送分送分~
刘彬彬
2008-03-19
打赏
举报
回复
//你想要的(梭哈发牌和比牌算法),希望对你有用!
牌形 = function (对象, 花色, 点数) {
//trace("执行牌形 "+对象+" "+花色+" "+点数);
//把数字花色换为字符花色
if (花色 == 0) {
花色 = "方块";
} else if (花色 == 1) {
花色 = "梅花";
} else if (花色 == 2) {
花色 = "红桃";
} else if (花色 == 3) {
花色 = "黑桃";
}
this[对象].黑桃._visible = false;
this[对象].红桃._visible = false;
this[对象].梅花._visible = false;
this[对象].方块._visible = false;
this[对象][花色]._visible = true;
this[对象][花色].gotoAndStop(点数);
};
洗牌 = function () {
//动态设置总牌52张
var 总牌:Array = new Array();
for (var i = 0; i<4; i++) {
for (var j = 8; j<=14; j++) {
总牌.push([i, j]);
}
}
//设置玩家的牌组
//5个玩家
for (var i = 1; i<=5; i++) {
this["牌组"+i] = new Array();
//发牌数据给玩家(5张)
for (var j = 1; j<=5; j++) {
//随机抽总牌
var 随机值 = int(random(总牌.length));
//添进牌组
var 抽中值 = 总牌.splice(随机值, 1);
this["牌组"+i].push(抽中值[0]);
//让牌数据形象化
牌形(("玩家"+i+j), 抽中值[0][0], 抽中值[0][1]);
//this["玩家"+i+j].牌形(this["牌组"+i][0, this["牌组"+i][1]]);
}
}
/*
for (var i = 1; i<=4; i++) {
trace(this["牌组"+i]);
}
*/
};
洗牌();
//牌级分类
类型数组 = ["散牌", "对子", "双对", "三条", "顺子", "同花", "葫芦", "铁支", "同花顺"];
判断牌类型 = function (牌, 判断起始) {
牌数 = 牌.length;
var 牌组 = new Array();
//设置默认值
if (判断起始 == undefined) {
判断起始 = 0;
}
if (牌数 == undefined) {
牌数 = 5;
}
var 最终类型 = "";
var 追加值 = [0, 0];
牌数--;
//排序
if (判断起始 == 0) {
//trace("排序牌");
牌组 = 牌;
} else {
for (var i = 判断起始; i<=牌数; i++) {
牌组.push(牌[i]);
}
}
牌组.sortOn(1, 2 | 16);
//trace(牌组);
//临时显示
/*
var 显示 = "";
for (var i = 0; i<牌数; i++) {
显示 += 牌组[i][1]+" ";
}
//trace(显示);
//
*/
//牌数为4 从0算起
if (牌数 == 4) {
var 对比值 = 牌组[0][1];
//检测是否是顺子
for (var i = 1; i<5; i++) {
对比值--;
if (对比值 != 牌组[i][1]) {
//返回不是同花顺也不是顺子
//return false;
最终类型 = 0;
break;
}
}
//检测是否是同花
var 对比值 = 牌组[0][0];
for (var i = 1; i<5; i++) {
if (对比值 != 牌组[i][0]) {
if (最终类型 != 0) {
最终类型 = 4;
break;
}
}
}
if (最终类型 == "") {
最终类型 = 8;
}
} else {
最终类型 = 0;
}
//追加最大牌的花色和牌面
if (判断起始 == 0) {
追加值 = [牌组[0][1], 牌组[0][0]];
} else {
追加值 = [牌组[判断起始-1][1], 牌组[判断起始-1][0]];
}
//检查对子
var 对比值 = 0;
var 牌类型 = 0;
var 对子数 = 1;
var 最终对子数 = 0;
var temp = 0;
if (判断起始 != 0) {
判断起始--;
}
for (var i = 判断起始; i<=牌数; i++) {
/*
trace("");
trace("i="+i);
trace("对比值"+对比值);
trace("牌值"+牌组[i][1]);
*/
if (对比值 != 牌组[i][1]) {
//trace("牌不同");
if (对子数>最终对子数) {
最终对子数 = 对子数;
//trace("最终对子数"+最终对子数);
}
对子数 = 1;
对比值 = 牌组[i][1];
//牌类如果全散牌为5点。2对为2类或3类
牌类型++;
} else {
//trace("牌同");
//对子数++;
对子数++;
//对子数追加
//单对追加
if (temp == 0 or 对子数>=3) {
追加值[0] = 牌组[i][1];
追加值[1] = 0;
temp = 牌类型;
} else if (temp != 牌类型) {
//双对追加
if (追加值[0]>牌组[i][1]) {
追加值[1] = 牌组[i][1];
} else {
//当位置1小于位置2时换位
var temp_h = 追加值[0];
追加值[0] = 牌组[i][1];
追加值[1] = temp_h;
}
}
}
}
if (对子数>最终对子数) {
最终对子数 = 对子数;
//trace("最终对子数"+最终对子数);
}
//判断类型
var 类型值 = [牌类型, 最终对子数];
trace("类型值="+类型值);
if (类型值.toString() == "2,4") {
//4带1
最终类型 = 7;
} else if (类型值.toString() == "2,3") {
//3带对
最终类型 = 6;
} else if (类型值.toString() == (牌数-1)+",3") {
//3带1
最终类型 = 3;
} else if (类型值.toString() == (牌数-1)+",2") {
//双对
最终类型 = 2;
} else if (类型值.toString() == 牌数+",2") {
//单对
最终类型 = 1;
}
//判断同色
if (牌数 == 4) {
if (最终类型 != 8) {
var 对比值 = 牌组[0][0];
for (var i = 1; i<5; i++) {
if (对比值 != 牌组[i][0]) {
i = 10;
}
}
//trace(i);
if (i == 5) {
最终类型 = 5;
}
}
}
//trace("追加值="+追加值);
//trace(最终类型);
trace("牌类型及大小: "+[最终类型, 追加值[0], 追加值[1]]);
trace("");
return [最终类型, 追加值[0], 追加值[1]];
};
//比较牌大小
比较牌 = function () {
//显示各玩家牌级
比牌级 = new Array();
for (var i = 1; i<=5; i++) {
返回值 = 判断牌类型(this["牌组"+i], 0);
返回值.push("牌组"+i);
比牌级.push(返回值);
this["状态"+i].text = 类型数组[返回值[0]];
}
比牌级.sortOn([0, 1, 2], 2 | 16);
//trace(比牌级);
//trace(比牌级[0][3]);
//显示
for (var i = 0; i<5; i++) {
_root["大小"+比牌级[i][3].charAt(2)].text = "第"+(i+1);
}
};
比较牌();
//按钮重刷
button1.onRelease = function() {
trace("---------------------");
洗牌();
比较牌();
};
haoxiongok
2008-03-19
打赏
举报
回复
楼上这个能运行吗??
推箱子游戏源码程序(
j2se
基础)
推箱子游戏是
j2se
基础类知识的充分综合与应用,通过这个程序源码的学习,能更好的帮助我们掌握
j2se
基础的相关概念和各种类的使用
j2se
练习小程序
这是我在学习
J2SE
的过程中
编写
的练习小程序,希望对java初学者能有帮助!
j2se
_俄罗斯方块源代码
j2se
编写
的俄罗斯方块游戏,注释详尽,代码完全公开,本例只有500行代码,1个类,学习写游戏不要错过啊! 这个是的移植 j2me 版本,大家可以参看这两个版本的区别!
j2se
塔防游戏
由本人独自
编写
完成,用于娱乐、练习、交流、自恋,代码写的乱些,解压可以看,本人资源里还有许多java
编写
的
小游戏
,感兴趣的女性朋友可以联系我,我非常愿意当面与你们探讨交流,谢谢大家...
J2SE
6.0 API(冷冬大雪)
J2SE
6.0 API(冷冬大雪),目前应该说比较好的
j2se
,api大全,讲的非常详细,翻译准确,0分资源,欢迎下载!
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章