<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>Document</title> <script type="text/javascript" src="jquery-1.9.1.js"></script> <script type="text/javascript"> function Craps(v_ctx,v_dicex,v_dicey){ //画布的宽和高 var cWidth = 400; var cHeight = 300; //骰子的x,y var dicex = 50; var dicey = 50; //骰子的高和宽 var diceWidth = 100; var diceHeight = 100; //骰子中的圆点的半径 var dotrad = 6; //画布对象 var ctx; this.getCWidth = function(){ return cWidth; }; this.setCWidth = function(v_cWidth){ cWidth = v_cWidth; }; this.getCHeight = function(){ return cHeight; }; this.setCHeight = function(v_cHeight){ cHeight = v_cHeight; }; this.getDicex = function(){ return dicex; }; this.setDicex = function(v_dicex){ dicex = v_dicex; }; this.getDicey = function(){ return dicey; }; this.setDicey = function(v_dicey){ dicey = v_dicey; }; this.getDiceWidth = function(){ return diceWidth; }; this.setDiceWidth = function(v_diceWidth){ diceWidth = v_diceWidth; }; this.getDiceHeight = function(){ return diceHeight; }; this.setDiceHeight = function(v_diceHeight){ diceHeight = v_diceHeight; }; this.getDotrad = function (){ return dotrad; }; this.setDotrad = function(v_dotrad){ dotrad = v_dotrad; }; this.getCtx = function(){ return ctx; }; this.setCtx = function(v_ctx){ ctx = v_ctx; }; this.setCtx(v_ctx); if(v_dicex){ this.setDicex(v_dicex); }; if(v_dicey){ this.setDicey(v_dicey); } } Craps.prototype = { init : function (){ this.getCtx().fillStyle = 'rgb(0,0,0)'; this.getCtx().strokeStyle = 'rgb(0,0,0)'; this.getCtx().lineWidth = 5; this.getCtx().clearRect(this.getDicex(),this.getDicey(),this.getDiceWidth(),this.getDiceHeight()); this.getCtx().strokeRect(this.getDicex(),this.getDicey(),this.getDiceWidth(),this.getDiceHeight()); var ch = 1 + Math.floor(Math.random()*6); console.log('ch='+ch); switch(ch){ case 1: this.draw1(ch); break; case 2: this.draw2(); break; case 3: this.draw3(); break; case 4: this.draw4(); break; case 5: this.draw5(); break; default: this.draw6(); } }, draw1 : function (ch){ this.getCtx().beginPath(); if(ch && ch == 1){ this.getCtx().strokeStyle = 'rgb(255,0,0)'; this.getCtx().fillStyle = 'rgb(255,0,0)'; this.setDotrad(10); } var x = this.getDicex() + 0.5 * this.getDiceWidth(); var y = this.getDicey() + 0.5 * this.getDiceHeight(); this.getCtx().arc(x,y,this.getDotrad(),0,Math.PI*2,true); this.getCtx().closePath(); this.getCtx().fill(); this.setDotrad(6); }, draw2 : function (){ this.getCtx().beginPath(); var x = this.getDicex() + 3 * this.getDotrad(); var y = this.getDicey() + 3 * this.getDotrad(); this.getCtx().arc(x,y,this.getDotrad(),0,Math.PI*2,true); x = this.getDicex() + this.getDiceWidth() - 3 * this.getDotrad(); y = this.getDicey() + this.getDiceHeight() - 3 * this.getDotrad(); this.getCtx().arc(x,y,this.getDotrad(),0,Math.PI*2,true); this.getCtx().closePath(); this.getCtx().fill(); }, draw3 : function (){ this.draw1(); this.draw2(); }, draw4 : function (){ this.draw2(); this.getCtx().beginPath(); var x = this.getDicex() + 3 * this.getDotrad(); var y = this.getDicey() + this.getDiceHeight() - 3 * this.getDotrad(); this.getCtx().arc(x,y,this.getDotrad(),0,Math.PI*2,true); x = this.getDicex() + this.getDiceWidth() - 3 * this.getDotrad(); y = this.getDicey() + 3 * this.getDotrad(); this.getCtx().arc(x,y,this.getDotrad(),0,Math.PI*2,true); this.getCtx().closePath(); this.getCtx().fill(); }, draw5 : function (){ this.draw4(); this.draw1(); }, draw6 : function (){ this.draw4(); this.getCtx().beginPath(); var x = this.getDicex() + 3 * this.getDotrad(); var y = this.getDicey() + 0.5 * this.getDiceHeight(); this.getCtx().arc(x,y,this.getDotrad(),0,Math.PI*2,true); x = this.getDicex() + this.getDiceWidth() - 3 * this.getDotrad(); this.getCtx().arc(x,y,this.getDotrad(),0,Math.PI*2,true); this.getCtx().closePath(); this.getCtx().fill(); } } $(function(){ var ctx = $('#canvas').get(0).getContext('2d'); var crapsA = new Craps(ctx); crapsA.init(); var crapsB = new Craps(ctx,170,50); crapsB.init(); }); </script> </head> <body> <canvas id="canvas" width="400px" height="300px"> 您的浏览器不支持canvas! </canvas> </body> </html>
相关推荐
纯代码画图 html5+js 【canvas】实现骰子游戏
游戏的核心在于通过HTML5的Canvas元素来绘制骰子图像,并利用JavaScript处理游戏逻辑,如随机生成骰子的点数,以及响应用户的点击事件。 Canvas是HTML5中一个强大的绘图工具,允许开发者通过JavaScript代码动态绘制...
总的来说,"H5 +Jquery 扔骰子 色子动画变化 控制点数"这个项目是一个结合了HTML5 Canvas绘图、jQuery交互以及JavaScript随机数与动画处理的实例。它展示了如何利用这些技术来创建一个富有动态效果的网页应用,对于...
这个“html5掷骰子小游戏”是一个很好的实践项目,可以帮助我们深入理解HTML5的核心特性,特别是Canvas API和JavaScript的基础知识。 1. **HTML5 Canvas**: Canvas是HTML5中的一个重要元素,它提供了一个二维绘图...
本入门游戏“掷骰子”就是利用HTML5的核心特性,结合JavaScript面向对象编程和Canvas绘图技术实现的一个实例。下面将详细阐述相关知识点。 1. HTML5 Canvas:Canvas是HTML5中的一个核心元素,它提供了一个二维图形...
html5 canvas学习该练习是一个摇色子的游戏通过 1 + Math.floor(Math.random()*6) 获取一个1-6的随机数,作为色子的数,然后通过drawDice绘出色子。提供了randowDraw随机画色子的方法,会滚动色子,并返回一个es6的...
总的来说,这个HTML5掷骰子游戏项目是一个很好的学习资源,涵盖了HTML5 Canvas的基本用法、CSS3的样式控制和JavaScript的事件处理及动画制作。对于想要提升HTML5开发技能或者探索游戏开发的人来说,这是一个值得研究...
HTML5小游戏掷骰子是一种基于Web的互动娱乐项目,它利用HTML5的先进技术来实现,为用户提供了在浏览器上直接游玩的可能性。HTML5是超文本标记语言(HyperText Markup Language)的第五个版本,它的出现极大地提升了...
HTML5中的Canvas是一个非常重要的新特性,用于在网页上绘制矢量图形。Canvas是一个基于XML的二维绘图环境,允许开发者通过JavaScript代码进行图形绘制,包括线条、形状、图像等,提供了丰富的图形处理能力,无需借助...
HTML5的Canvas是网页开发中的一个关键特性,用于在网页上动态绘制图形。这个标签引入了一个二维绘图表面,允许开发者使用JavaScript进行图形渲染。Canvas并非自带任何视觉元素,它的功能主要通过JavaScript的API来...
【H5骰子游戏】是一种基于HTML5技术开发的在线互动游戏,主要利用了HTML5的Canvas、Web Audio等核心特性。HTML5是超文本标记语言的第五个版本,它在网页内容展示、多媒体处理、离线存储以及交互性方面有着显著提升,...
《HTML5手机端骰子游戏开发详解》 HTML5技术的发展为移动游戏开发带来了新的机遇,使得无需安装即可在手机端玩的游戏变得越来越普遍。本文将深入探讨一款基于HTML5的手机端骰子游戏,这款游戏的核心特点是其简洁的...
《2048骰子版HTML5游戏源码解析与技术要点详解》 2048骰子版HTML5游戏源码是一款基于HTML5技术构建的休闲益智游戏,其核心玩法是通过移动数字骰子,使相同数值的骰子合并,最终目标是达到2048点。这款游戏不仅具有...
例如,骰子的滚动动画、积分显示、游戏规则说明等都可以通过canvas进行实现。 三、Web Storage与Application Cache HTML5引入了Web Storage(包括localStorage和sessionStorage)来替代传统的cookie,提供了更大的...
1. **Canvas API**:HTML5的Canvas是一个二维绘图区域,通过JavaScript可以动态绘制图形,包括骰子的样式和投掷动画。在本游戏中,骰子的每个面可能就是通过Canvas绘制出来的。 2. **Web Audio API**:HTML5的Web ...
总之,“双个拾骰子.zip”是一个学习HTML5游戏开发的好素材,涵盖了HTML5的基础知识、JavaScript编程、Canvas绘图、事件处理、音频和动画等多个方面。通过分析和改进这个游戏,开发者不仅可以掌握基本的游戏开发技巧...
HTML5的新特性,如`<canvas>`元素或CSS3动画,可能被用来增强游戏的视觉效果和交互性。 接着,`dice.php`是服务器端的脚本,它通常负责处理游戏逻辑和数据交互。在这个实例中,PHP可能用来生成随机的骰子点数,确保...
同时,HTML5的Canvas元素被用来绘制游戏画面,提供动态的图形渲染,使得博饼过程生动逼真。Audio元素则负责播放音效,增加游戏的沉浸感。 游戏的实现离不开JavaScript,这是一种广泛应用于网页开发的编程语言,它与...
HTML5网页版飞行棋游戏代码</title> <meta name="x-share-desc" content=""> <meta name="apple-mobile-web-app-capable" content="yes"/> <meta name="full-screen" content="yes"/> &...