无聊做的小游戏,斗牛.html

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

⽆聊做的⼩游戏,⽃⽜.html
⼀、⾸先介绍下游戏规则
a) 牌⾯有A、2、3、4、5、6、7、8、9、10、J、Q、K
b) 每种牌⾯有4张牌
c) 随机发牌
d) 共1名玩家,发牌后,即刻显⽰最⼤牌⾯名称
e) 发牌后,牌⾯名称规则如下:
i. J,Q,K都是10分,然后点数依次排列最后A是1分;
ii. 在得分相同时,按单张牌⼤⼩逐⼀⽐较,例如,都是⽜1,带有⿊桃K的⽜1最⼤
iii. 牌局开始每个⼈抓,玩家需要将⼿中三张牌10点的倍数,称为“⽜”。

其余的两张牌加起来算点数,去掉⼗位只留个位数来进⾏⽐较,如果剩下两张正好是10点,根据⽃⽜规则,这副牌就是“⽃⽜”,如果,剩余两张点数之和超过10,则将其点数之和对10取余
iv. 当⽆法⽤三张牌组成10的倍数时,则以最⼤分数那张牌为名
v. 不计算同花
vi. 每个牌⾯都有四种花⾊,例如,⿊桃K、红桃K、⽅⽚K、梅花K
vii. ⿊桃>红桃>梅花>⽅⽚
viii. K>Q>J>10>9>8>7>6>5>4>3>2>A
例如:A 2 7 J 10 就是 “⽃⽜”
8 5 7 A 6 为 “⽜7”
A A A A K 为 “K⼤”
9 9 2 9 2 为 “⽜1” 9+9+2=20 9+2=11 11%10=1
⼆、游戏思路
1.使⽤unicode显⽰花⾊
2.进⼊游戏后,在牌桌上增加init类
3.游戏开始,发牌时,在桌⾯上去掉init类,增加play类
4.每种牌有牌⾯、花⾊、得分
5.随机发放5张牌给每位玩家
6.逐玩家计算权重
a.将5张牌按牌⾯、花⾊降序排列
b.抽出最⼤三张牌,得分合计是否⼤于10,如果⼩于10则该牌取最⼤牌⾯和花⾊组成最⼤牌⾯名称
c.从⼤到⼩依次取出1张牌
d.从剩下的牌中,再依次取出1张牌
c.从剩下的牌中,再依次取出1张牌,直到取出的三张牌得分之和是10的整数倍,或者,牌⾯计算完毕
d.如果有三张牌的组合得分是10的整数倍,那么,将剩下两张牌之和对10取余,如果是余数是0则为“⽃⽜”,否则为⽜x(余数),同时,取出最⼤⼀张牌的花⾊
html代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta charset="utf-8" />
<script type="text/javascript" src="https:///jquery-1.11.3.js"></script> </head>
<body>
<div class="container">
<div class="desktop">
<h1 class="card none">
点我开始
</h1>
<div class="card">
<div class="number"></div>
<div class="flower"></div>
</div>
<div class="card">
<div class="number"></div>
<div class="flower"></div>
</div>
<div class="card">
<div class="number"></div>
<div class="flower"></div>
</div>
<div class="card">
<div class="number"></div>
<div class="flower"></div>
</div>
<div class="card">
<div class="number"></div>
<div class="flower"></div>
</div>
</div>
<div class="counter">
</div>
<h1 class="replay">
点击继续进⾏游戏
</h1>
</div>
</body>
</html>
 CSS(效果⽐较丑):
body {
overflow: hidden;
height: 100%;
line-height: 100%;
width: 100%;
text-align: center;
vertical-align: middle;
}
.container {
background: #AAA;
width: 800px;
height: 600px;
display: inline-block;
margin: auto;
text-align: center;
vertical-align: top;
}
.desktop {
background: #808080;
width: 700px;
height: 400px;
line-height: 400px;
margin: auto;
display: inline-block;
text-align: center;
}
.counter {
color: #fff;
height: 200px;
}
.card {
width: 100px;
height: 200px;
line-height: 30px;
vertical-align: middle;
text-align: center;
position: relative;
display: inline-block;
background: #EAEAEA;
margin: 100px auto;
}
.card .flower {
position: absolute;
left: 10px;
top: 20px;
width: 20px;
height: 20px;
}
.card .number {
position: absolute;
left: 5px;
top: 5px;
width: 15px;
height: 15px;
}
.none {
background: #7f7575;
display: none;
}
.init .card {
display: none;
}
.init .none {
display: inline-block;
}
.init .replay {
display: none;
}
.play .none {
display: none;
}
.replay {
background-color: #666;
opacity: 0.3;
*filter: alpha(opacity=30);
height: 100%;
width: 100%;
left: 0;
top: 0;
position: absolute;
margin: 0;
padding: 20px;
}
JS1(Linq for JS):
(function () {
Array.prototype.Any = function (func) {
for (var i = 0; i < this.length; i++) if (func(this[i])) return true; return false;
};
Array.prototype.ForEach = function (act) {
for (var i = 0; i < this.length; i++)
act(this[i]);
return this;
};
Array.prototype.Sum = function (getValue) {
var s = 0;
if (getValue == null)
for (var i = 0; i < this.length; i++)
s += this[i];
else
for (var i = 0; i < this.length; i++)
s += getValue(this[i]);
return s;
};
})();
JS2:
(function () {
dn = {};
dn.init = function () {
jQuery(".container").addClass("init");
};
dn.play = function () {
jQuery(".container").removeClass("init");
var cards = [];
for (var i = 1; i <= 13; i++) {
var card = getCard(i - 1);
cards.push({ key: card, myFlowers: myFlowers.slice(0) });
}
var arr = [];
for (var i = 0; i < 5; i++) {
var idx = Math.random().toString();
var cardIdx = idx.substring(2, 5);
cardIdx = parseInt(cardIdx) % cards.length;
var card = cards[cardIdx];
var flowerIdx = idx.substring(7, 2);
flowerIdx = parseInt(flowerIdx) % card.myFlowers.length;
var flower = card.myFlowers.splice(flowerIdx, 1);
arr.push({ key: card.key, flower: flower });
if (card.myFlowers.length == 0)
cards.splice(cardIdx, 1);
};
render(arr);
var text = compute(arr);
jQuery(".counter").html(text);
};
function render(arr) {
for (var i = 0; i < arr.length; i++) {
var card = arr[i];
var cardEles = jQuery(".desktop .card");
var $card = cardEles.get(i + 1);
$card = jQuery($card);
$card.find(".number").html(card.key);
$card.find(".flower").html(card.flower);
if (i < arr.length - 1) delay();
}
};
var compute = function (arr) {
arr.ForEach(function (card) {
card.num = getNumber(card.key);
card.idx = getIndex(card.key);
card.flowerNum = getFlowerNum(card.flower);
});
arr = arr.sort(function (a, b) {
return b.idx * 4
+ b.flowerNum - (a.idx * 4 + a.flowerNum);
});
var max3 = arr.slice(0, 3);
var max = arr.Sum(function (a) { return a.num; });
if (max < 10) {
return getBig(arr);
}
else {
for (var i = 0; i <= arr.length - 3; i++) {
var d1 = arr.slice();
var a = d1.splice(i, 1);
for (var j = 0; j <= d1.length - 2; j++) {
var d2 = d1.slice();
var b = d2.splice(j, 1);
for (var k = 0; k <= d2.length - 1; k++) {
var d3 = d2.slice();
var c = d3.splice(k, 1);
var num = a[0].num + b[0].num + c[0].num;
if (num % 10 == 0) {
debugger;
var cow = d3.Sum(function (x) { return x.num; }); cow = cow % 10;
return (cow == 0 ? "⽃⽜" : ("⽜" + cow.toString())) + " "
+ getBig(arr);
};
};
};
};
debugger;
return getBig(arr);
}
};
var getBig = function (arr) {
var c = arr.slice(0, 1);
return c[0].flower + c[0].key + "⼤";
}
var getIndex = function (x) {
for (var i = 0; i < myCards.length; i++) {
if (x === myCards[i]) return i + 1;
}
return 0;
};
var getFlowerNum = function (x) {
for (var i = 0; i < myFlowers.length; i++) {
if (x === myFlowers[i]) return 3 - i;
}
return 0;
};
var getNumber = function (x) {
for (var i = 0; i < myCards.length; i++) {
if (x === myCards[i]) return i >= 10 ? 10 : (i + 1);
}
return 0;
}
var myFlowers = ["\u2660", "\u2665", "\u2663", "\u2662"];
var myCards = ["A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"]; var getCard = function (i) {
var card = myCards[i];
return card;
}
var delay = function () {
for (var i = 0; i < 1000; i++) { }
}
})();
(function () {
jQuery(".desktop .none").click(function () {
dn.play();
});
jQuery(".replay").click(function () {
dn.init();
});
dn.init();
})();。

相关文档
最新文档