<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 21点游戏 </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type="text/javascript">
var player = "";
var banker = "";
function Player() {
this.cards = new Array(5);
this.varity = new Array(4);
this.showCards = document.getElementById("_player_cards");
this.showPoints = document.getElementById("_player_points");
this.currentCardNumber = -1;
this.points = 0;
}
function Banker() {
this.cards = new Array(5);
this.varity = new Array(4);
this.showCards = document.getElementById("_banker_cards");
this.showPoints = document.getElementById("_banker_points");
this.currentCardNumber = -1;
this.points = 0;
}
function initGame() {
player = new Player();
banker = new Banker();
player.showCards.innerHTML = "";
player.showPoints.innerText = "";
banker.showCards.innerHTML = "";
banker.showPoints.innerText = "";
showOrHidden("inline","inline");
for(var i=0;i<2;i++) {
randomCard(banker,true);
randomCard(player,false);
}
}
function showOrHidden (standDisplay,hitDisplay) {
document.getElementById("stand").style.display = standDisplay;
document.getElementById("hit").style.display = hitDisplay;
}
function randomCard(obj,flag) {
var random = Math.ceil(Math.random() * 13);
obj.cards[++obj.currentCardNumber] = random;
var _varity_random = Math.ceil(Math.random() * 4);
obj.varity[obj.currentCardNumber] = _varity_random;
//alert(random);
return sumPoints(obj,flag);
}
//显示牌与当前牌总点数,flag 为 false 时为 banker
function showCurrentCards(obj,flag) {
if(flag && obj.currentCardNumber ==0) {//banker 第一张牌为反面牌
obj.showCards.innerHTML +=
"<img src=D:\\cards\\bmp\\0.bmp style='position:absolute;top=25px;left=5px;display = inline;'/>";
// alert("first");
obj.showPoints.innerText = 0;
return;
}
if(flag) {
if(obj.cards[0] == 1 && (obj.points - obj.cards[0]) >= 21) {
obj.showPoints.innerText = obj.points - 11;//banker 第一张牌的点数不能显示
}else {
//alert(obj.points + "----");
//alert(obj.cards[0] + "0000000000");
if(obj.cards[0] > 10){
obj.showPoints.innerText = obj.points - 10;
}else {
obj.showPoints.innerText = obj.points - obj.cards[0];
}
}
}else {
obj.showPoints.innerText = obj.points;
}
//alert("---show");
var left = 5 + (obj.currentCardNumber)*15;
var top = 25 + (obj.currentCardNumber)*10;
obj.showCards.innerHTML += "<img src=D:\\cards\\bmp\\" +
obj.varity[obj.currentCardNumber].toString() + obj.cards[obj.currentCardNumber] + ".bmp "
+ "style='position:absolute;top=" + top +
"px; left=" + left + "px;display = inline;'/>";
if(obj.currentCardNumber == 2)
//document.write(obj.showCards.innerHTML);
return rule(obj,flag);
}
function sumPoints(obj,flag) {
obj.points = 0;
_player_one_array = new Array(5);
for(var i=0;i<=obj.currentCardNumber;i++) {
if(obj.cards[i] != 1) {
if(obj.cards[i] > 10) {
obj.points += 10
}else {
obj.points += obj.cards[i];
}
} else {
_player_one_array[i] = i;
}
}
//alert(obj.points);
var count = 0;
for(var i in _player_one_array) {
if(obj.points <= 10) {
obj.points += 11;
count++;
} else {
obj.points += 1;
if(obj.points > 21 && count > 0) {
obj.points -= 10;
}
}
}
//alert(obj.points);
return showCurrentCards(obj,flag);
}
function rule(obj,flag) {
if(obj.points == 21 && obj.currentCardNumber <= 1) {
//showLastCard();
if(flag && player.points != 21) {
alert("Blackjack!!你输了");
}else if(banker.points != 21) {
alert("Blackjack!!你赢了");
}else{
alert("平局");
}
showLastCard();
showOrHidden("none","none");
return false;
}
if(obj.points > 21) {
showLastCard();
if(flag) {
alert("庄家爆了!!你赢了");
}else {
alert("爆了!!你输了");
}
showOrHidden("none","none");
return false;
}
if(!flag) {
if(obj.points <= 11) {
//alert("player = " + obj.points);
document.getElementById("stand").style.display="none";
} else if(obj.points <= 21) {
// alert("<=21>11" + obj.points);
showOrHidden("inline","inline");
}
}
if(obj.currentCardNumber == 4 ) {
if(flag){
return true;
}else {
document.getElementById("hit").style.display="none";
}
}
return true;
}
function playerNext() {
randomCard(player,false);
}
function bankerNext() {
while(banker.points <= 16) {
//alert(banker.points);
if(!randomCard(banker,true)) {
return false;
}else if(banker.currentCardNumber == 4) {
return true;
}
}
return true;
}
function showLastCard() {
banker.showPoints.innerText = banker.points;
var _varity = banker.varity[0];
var _html = banker.showCards.innerHTML;
var _replace_img = "<img src=D:\\cards\\bmp\\" + banker.varity[0].toString() + banker.cards[0] +
".bmp style='position:absolute;top=25px;left=5px;display = inline;'/>";
var _replace_html = _html.substring(0,_html.indexOf('>'));
banker.showCards.innerHTML = _replace_img + _html.substring(_html.indexOf('>')+1);
}
function stand() {
showOrHidden("none","none");
if(!bankerNext()) {
return;
}
showLastCard();
if(banker.points > player.points) {
alert("你输了");
}else if (banker.points < player.points) {
alert("你赢了");
}else {
alert("平局");
}
}
</script>
<style type="text/css">
body{
color:red;
}
#gamecontent {
background:white url("d:\cards\back2.jpg");
width:320px;
height:380px;
border:2px solid #456;
}
img {
width:60px;
heigt:80px;
}
h3 {
margin:0px;
}
#banker{
position:absolute;
top:50px;
left:50px;
border:1px solid #872;
}
#player{
position:absolute;
top:250px;
left:50px;
border:1px solid #872;
}
#buttonDiv{
position:absolute;
top:160px;
left:50px;
}
</style>
</HEAD>
<BODY>
<div id="gamecontent" align="left">
<center>
<h3>21点游戏</h3><hr/>
</center>
<div id="banker">庄家点数:<span id="_banker_points"></span><div id="_banker_cards"></div></div>
<div id="player">你的点数:<span id="_player_points"></span><div id="_player_cards"></div></div>
<div id="buttonDiv">
<input type="image" src="d:\\cards\\deal.png" onmouseover="this.src='d:\\cards\\dealMouseOver.png';" onmouseout="this.src='d:\\cards\\deal.png';" onclick= "initGame();">
<input type="image" src="d:\\cards\\hit.png" onmouseover="this.src='d:\\cards\\hitMouseOver.png';" onmouseout="this.src='d:\\cards\\hit.png';" onclick= "playerNext();" id="hit" style="display:none">
<input type="image" src="d:\\cards\\stand.png" onmouseover="this.src='d:\\cards\\standMouseOver.png';" onmouseout="this.src='d:\\cards\\stand.png';" id="stand" onclick= "stand();" style="display:none">
</div>
</div>
</BODY>
</HTML>
没有合适的资源?快使用搜索试试~ 我知道了~
21点游戏(javascript)
共62个文件
bmp:53个
png:6个
jpg:2个
5星 · 超过95%的资源 需积分: 50 41 下载量 144 浏览量
2009-04-28
16:58:19
上传
评论 3
收藏 79KB RAR 举报
温馨提示
本来是打算发在Igoogle上的小工具的,但在做了一半时发现google上有了,做得太好了。。受打击了,所以就没有再做了。。有兴趣做21点游戏的可以看看。。还有一些小BUG。
资源推荐
资源详情
资源评论
收起资源包目录
cards.rar (62个子文件)
cards
dealMouseOver.png 2KB
bmp
413.BMP 8KB
16.BMP 8KB
23.BMP 8KB
45.BMP 7KB
412.BMP 8KB
44.BMP 8KB
19.BMP 8KB
15.BMP 8KB
48.BMP 8KB
21.BMP 8KB
17.BMP 8KB
47.BMP 8KB
312.BMP 8KB
22.BMP 8KB
11.BMP 8KB
36.BMP 8KB
43.BMP 8KB
25.BMP 8KB
212.BMP 8KB
13.BMP 8KB
313.BMP 8KB
210.BMP 8KB
12.BMP 8KB
410.BMP 8KB
49.BMP 8KB
112.BMP 8KB
113.BMP 8KB
29.BMP 8KB
14.BMP 8KB
38.BMP 8KB
46.BMP 8KB
24.BMP 8KB
37.BMP 8KB
32.BMP 8KB
213.BMP 8KB
26.BMP 8KB
42.BMP 8KB
0.BMP 8KB
111.BMP 8KB
211.BMP 8KB
39.BMP 8KB
110.BMP 8KB
18.BMP 8KB
28.BMP 8KB
35.BMP 8KB
310.BMP 8KB
34.BMP 8KB
31.BMP 8KB
27.BMP 8KB
0.JPG 3KB
311.BMP 8KB
33.BMP 8KB
411.BMP 8KB
41.BMP 8KB
21v15.html 7KB
HitMouseOver.png 2KB
standMouseOver.png 2KB
deal.png 2KB
Hit.png 2KB
stand.png 2KB
back2.jpg 23KB
共 62 条
- 1
资源评论
- 未完的承诺2015-07-22不错不错,逻辑很强
- liyunlong45415482012-12-12对我很有帮助!!
攻程狮…
- 粉丝: 8
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功