<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>骰子游戏</title>
<script type="text/javascript">
var crapsSize = 100;//骰子的width,height
var crapsMargin = 50;//骰子的边距
var pointRadius = 10;//点的半径
var money = 500;//钱 function InitCraps() {
drawCraps(6, 6, 6); var sumLabel = document.getElementById("coinSum");
sumLabel.textContent = money;
} function Bet() {
var num1 = Math.floor(Math.random() * 6 + 1);
var num2 = Math.floor(Math.random() * 6 + 1);
var num3 = Math.floor(Math.random() * 6 + 1); drawCraps(num1, num2, num3); var resultLabel = document.getElementById("betResult");
var sumLabel = document.getElementById("coinSum");
var bigRadio = document.getElementById("bigRadio"); var crapsSum = num1 + num2 + num3;
if (crapsSum == 3 || crapsSum == 18) {//庄家通杀
money = money - 50;
sumLabel.textContent = money;
resultLabel.textContent = "庄家通杀!";
}
else if (crapsSum <= 10) {//4~10,小
if (bigRadio.checked) {
money = money - 50;
sumLabel.textContent = money;
resultLabel.textContent = "有赌未为输,继续!";
}
else {
money = money + 50;
sumLabel.textContent = money;
resultLabel.textContent = "不赌不知时运高,继续!";
}
}
else {//11~17,大
if (bigRadio.checked) {
money = money + 50;
sumLabel.textContent = money;
resultLabel.textContent = "不赌不知时运高,继续!";
}
else {
money = money - 50;
sumLabel.textContent = money;
resultLabel.textContent = "有赌未为输,继续!";
}
}
} function drawCraps( craps1,craps2,craps3) {
var ctx = document.getElementById("myCanvas").getContext("2d"); var crapsArray = new Array(craps1, craps2, craps3);
for (var i = 0; i < 3; i++) {
var xOffset = crapsMargin * (i + 1) + crapsSize * i; ctx.clearRect(xOffset, crapsMargin, crapsSize, crapsSize);
switch (crapsArray[i]) {
case 1: draw1(ctx, xOffset);
break;
case 2: draw2(ctx, xOffset);
break;
case 3: draw3(ctx, xOffset);
break;
case 4: draw4(ctx, xOffset);
break;
case 5: draw5(ctx, xOffset);
break;
default: draw6(ctx, xOffset);
break;
}
}
} function drawRect(ctx,xOffset) {
ctx.strokeRect(xOffset, crapsMargin, crapsSize, crapsSize);
} function draw1(ctx, xOffset) {
ctx.beginPath();
ctx.arc(xOffset + crapsSize / 2, crapsMargin + crapsSize / 2, pointRadius, 0, 2 * Math.PI, true);
ctx.fill(); drawRect(ctx, xOffset);
} function draw3(ctx, xOffset) {
draw1(ctx, xOffset);
draw2(ctx, xOffset);
} function draw5(ctx, xOffset) {
draw4(ctx, xOffset);
draw1(ctx, xOffset);
} function draw4(ctx, xOffset) {
ctx.beginPath();
ctx.arc(xOffset + crapsSize / 4, crapsMargin + crapsSize / 4, pointRadius, 0, 2 * Math.PI, true);
ctx.arc(xOffset + crapsSize / 4, crapsMargin + crapsSize / 4 * 3, pointRadius, 0, 2 * Math.PI, true);
ctx.closePath();
ctx.fill(); ctx.beginPath();
ctx.arc(xOffset + crapsSize / 4 * 3, crapsMargin + crapsSize / 4, pointRadius, 0, 2 * Math.PI, true);
ctx.arc(xOffset + crapsSize / 4 * 3, crapsMargin + crapsSize / 4 * 3, pointRadius, 0, 2 * Math.PI, true);
ctx.closePath();
ctx.fill(); drawRect(ctx, xOffset);
} function draw2(ctx, xOffset) {
ctx.beginPath();
ctx.arc(xOffset + crapsSize / 4, crapsMargin + crapsSize / 4 * 3, pointRadius, 0, 2 * Math.PI, true); ctx.arc(xOffset + crapsSize / 4 * 3, crapsMargin + crapsSize / 4, pointRadius, 0, 2 * Math.PI, true);
ctx.fill(); drawRect(ctx, xOffset);
} function draw6(ctx, xOffset) {
ctx.beginPath();
ctx.arc(xOffset + crapsSize / 4, crapsMargin + crapsSize / 2, pointRadius, 0, 2 * Math.PI, true);
ctx.arc(xOffset + crapsSize / 4 * 3, crapsMargin + crapsSize / 2, pointRadius, 0, 2 * Math.PI, true);
ctx.closePath();
ctx.fill(); draw4(ctx, xOffset);
}
</script>
</head>
<body onload="InitCraps()">
<canvas id="myCanvas" width="500" height="200">your broswer does not support canvas.</canvas>
<br />
<input type="radio" name="sex" value="大" id="bigRadio" checked="checked"/>大
<input type="radio" name="sex" value="小" />小
<br />
<input type="button" value="play" onclick="Bet()" />
<br />
<label>*三个骰子,总点数为4至10称作小,11至17为大,围骰除外</label>
<br />
<label>本次结果:</label>
<label id="betResult">Null</label>
<br />
<label>当前钱币总数为:</label>
<label id="coinSum">0</label>
</body>
</html>

最新文章

  1. Laravel 5.3 请求处理管道详解
  2. C++编写DLL的方法
  3. Linux更改主机名--适用于Centos
  4. Eclipse:Cannot complete the install because of a conflicting dependency.问题解决
  5. sql-exists和not exists
  6. [原]android不支持命名的semaphore
  7. eclipse/myeclipse选中编辑区域文件,Package Explorer定位文件所在项目及目录
  8. oracle删除用户所有的表
  9. jQuery背景跟随鼠标移动的网页导航
  10. 利用 force recovery 解决服务器 crash 导致 MySQL 重启失败的问题
  11. POJ1743 Musical Theme(后缀数组 二分)
  12. Netty入门(二)之PC聊天室
  13. 360极速浏览器Onetab插件存储位置
  14. 【Redis】4、Redis学习资料
  15. Django中使用Celery实现定时任务(用djcelery)
  16. MVC 视图页对数字,金额 用逗号 隔开(数字格式化)
  17. JavaScript运算符:递增和递减(++i,--i 和 i++,i-- 的区别)
  18. HTML 页面中的 SVG
  19. CentOS6.5(4)----宿主机无法访问虚拟机中的web服务解决方案
  20. LTE试题

热门文章

  1. hdu 1698(线段树区间更新)
  2. Linux防火墙设置
  3. Python 34(进程重点)
  4. POJ 1011 / UVA 307 Sticks
  5. 5.30获取openid和createTime--mybatis自动生成接口和映射【这里需要自定义】
  6. Ajax 传递json字符串到客户端时报 Internal server error
  7. 使用TortoiseSVN碰到的几个问题(1)-导入,提交,更新
  8. HTML+CSS(10)
  9. 简繁体互换工具:opencc
  10. spring cloud(五) hystrix