欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

html5游戏掷骰子源码

程序员文章站 2022-05-03 22:58:09
 < html lang="en">    
<!doctype html>

 < html lang="en">

 <head>

 <title>throwing 1</title>

 <script type="text/javascript">

 var cwidth = 400;

 var cheight = 300;

 var dicex = 50;

 var dicey = 50;

 var dicewidth = 100;

 var diceheight = 100;

 var dotrad = 6;

 var ctx;

 var dx;

 var dy;

 var firstturn = true;

 var point;

 function throwdice(){

 var sum;

 var ch = 1+math.floor(math.random()*6);

 sum = ch;

 dx = dicex;

 dy = dicey;

 drawface(ch);

 dx = dicex + 150;

 ch = 1 + math.floor(math.random()*6);

 sum += ch;

 drawface(ch);

 if(firstturn){

 switch(sum){

 case 7:

 case 11:

 document.f.outcome.value="you win!";

 break;

 case 2:

 case 3:

 case 12:

 document.f.outcome.value="you lose!";

 break;

 default:

 point = sum;

 document.f.pv.value = point;

 firstturn = false;

 document.f.stage.value = "need follow-up throw.";

 document.f.outcome.value = "";

 }

 }else{

 switch(sum){

 case point:

 document.f.outcome.value = "you win!";

 document.f.stage.value = "back to first throw.";

 document.f.pv.value = "";

 firstturn = true;

 break;

 case 7:

 document.f.outcome.value = "you lose!";

 document.f.stage.value = "back to first throw.";

 document.f.pv.value = "";

 firstturn = true;

 }

 }

 }

 function drawface(n){

 ctx = document.getelementbyid('canvas').getcontext('2d');

 ctx.linewidth = 5;

 ctx.clearrect(dx,dy,dicewidth,diceheight);

 ctx.strokerect(dx,dy,dicewidth,diceheight);

 var dotx;

 var doty;

 ctx.fillstyle = '#009966';

 switch(n){

 case 1:

 draw1();

 break;

 case 2:

 draw2();

 break;

 case 3:

 draw2();

 draw1();

 break;

 case 4:

 draw4();

 break;

 case 5:

 draw4();

 draw1();

 break;

 case 6:

 draw4();

 draw2mid();

 break;

 }

 }

 function draw1(){

 var dotx;

 var doty;

 ctx.beginpath();

 dotx = dx + 0.5*dicewidth;

 doty = dy + 0.5*diceheight;

 ctx.arc(dotx,doty,dotrad,0,math.pi*2,true);

 ctx.closepath();

 ctx.fill()

 }

 function draw2(){

 var dotx;

 var doty;

 ctx.beginpath();

 dotx = dx + 3*dotrad;

 doty = dy + 3*dotrad;

 ctx.arc(dotx,doty,dotrad,0,math.pi*2,true);

 dotx = dx + dicewidth - 3*dotrad;

 doty = dy + diceheight - 3*dotrad;

 ctx.arc(dotx,doty,dotrad,0,math.pi*2,true);

 ctx.closepath();

 ctx.fill();

 }

 function draw4(){

 var dotx;

 var doty;

 ctx.beginpath();

 dotx = dx + 3*dotrad;

 doty = dy + 3*dotrad;

 ctx.arc(dotx,doty,dotrad,0,math.pi*2,true);

 dotx = dx + dicewidth -3*dotrad;

 doty = dy + dicewidth -3*dotrad;

 ctx.arc(dotx,doty,dotrad,0,math.pi*2,true);

 ctx.closepath();www.2cto.com

 ctx.fill();

 ctx.beginpath();

 dotx = dx + 3*dotrad;

 doty = dy + diceheight - 3*dotrad;

 ctx.arc(dotx,doty,dotrad,0,math.pi*2,true);

 dotx = dx + dicewidth - 3*dotrad;

 doty = dy + 3*dotrad;

 ctx.arc(dotx,doty,dotrad,0,math.pi*2,true);

 ctx.closepath();

 ctx.fill();

 }

 function draw2mid(){

 var dotx;

 var doty; 

ctx.beginpath();

 dotx = dx + 3*dotrad;

 doty = dy + 0.5*diceheight;

 ctx.arc(dotx,doty,dotrad,0,math.pi*2,true);

 dotx = dx + dicewidth - 3*dotrad;

 doty = dy + 0.5*diceheight;

 ctx.arc(dotx,doty,dotrad,0,math.pi*2,true);

 ctx.closepath();

 ctx.fill();

 }

 </script>

 </head>

 <body>

 <canvas id="canvas" width="400" height="300">

 不支持html5

 </canvas>

 <br/>

 <button>throw dice</button>

 <form name="f">

 stage:<input name="stage" value="first throw" /><br/>

 point:<input name="pv" value="" /><br/>

 outcome:<input name="outcome" value="" />

 </form>

 </body>

 </html>