php 控制骰子概率,PHP制作的掷色子点数抽奖游戏实例(代码)
PHP制作的掷色子点数抽奖游戏实例,通过掷色子点数来达到抽奖的效果,为抽奖活动增添一些趣味性。
我们将在html页面中写下如下的html结构代码,.wrap用来放置色子和提示信息,#prize则是用来放置奖品的。
我们使用jQuery来完成前端动作,包括掷色子动画,奖品逐步运动动画,其中有防重复点击知识、ajax交互知识,动画提示知识。整个操作流程可简单概括为:点击色子->向dice.php发送ajax请求->完成掷色子动画->提示点数->逐步运动动画到最终奖品位置停止->完成抽奖。
$(function(){
$("#dice").click(function(){
$("#prize li .mask").remove();
$(".wrap").append("
var dice2 = $("#dice2");
$.getJSON("dice.php",function(json){
var num1 = json[0];
var num2 = json[1];
diceroll(dice1,num1);//掷色子1动画 11 diceroll(dice2,num2);//掷色子2动画 12 var num = parseInt(num1)+parseInt(num2);
$("#msg").css("top","-10px").fadeIn(500).text(num+'点').animate({top:'-50px'},'1000').fadeOut(500);
roll(0, num);//逐步运动动画 15 });
});
});
dice.php文件代码:根据配置好的奖品概率,得到总点数,根据总点数进行两粒色子的点数分配,最后返回给前端页面两粒色子的点数
$(function(){
$("#dice").click(function(){
$("#prize li .mask").remove();
$(".wrap").append("
var dice2 = $("#dice2");
$.getJSON("dice.php",function(json){
var num1 = json[0];
var num2 = json[1];
diceroll(dice1,num1);//掷色子1动画 11 diceroll(dice2,num2);//掷色子2动画 12 var num = parseInt(num1)+parseInt(num2);
$("#msg").css("top","-10px").fadeIn(500).text(num+'点').animate({top:'-50px'},'1000').fadeOut(500);
roll(0, num);//逐步运动动画 15 });
});
});18 dice.php19 根据配置好的奖品概率,得到总点数,根据总点数进行两粒色子的点数分配,最后返回给前端页面两粒色子的点数20 21 //设置中奖概率 22 $prize_arr = array(
'2' => array('id'=>2,'v'=>10),
'3' => array('id'=>3,'v'=>20),
'4' => array('id'=>4,'v'=>5),
'5' => array('id'=>5,'v'=>5),
'6' => array('id'=>6,'v'=>20),
'7' => array('id'=>7,'v'=>2),
'8' => array('id'=>8,'v'=>3),
'9' => array('id'=>9,'v'=>20),
'10' => array('id'=>10,'v'=>0),
'11' => array('id'=>11,'v'=>10),
'12' => array('id'=>12,'v'=>5),
);
36 foreach ($prize_arr as $key => $val) {
$arr[$val['id']] = $val['v'];
}
40 $sum = getRand($arr); //根据概率获取奖项id,得到总点数
42 //分配色子点数 43 $arrs = array(
'2' => array(array(1,1)),
'3' => array(array(1,2)),
'4' => array(array(1,3),array(2,2)),
'5' => array(array(1,4),array(2,3)),
'6' => array(array(1,5),array(2,4),array(3,3)),
'7' => array(array(1,6),array(2,7),array(3,4)),
'8' => array(array(2,6),array(3,5),array(4,4)),
'9' => array(array(3,6),array(4,5)),
'10' => array(array(4,6),array(5,5)),
'11' => array(array(5,6)),
'12' => array(array(6,6))
);
57 $arr_rs = $arrs[$sum];
$i = array_rand($arr_rs);//随机取数组 59 $arr_a = $arr_rs[$i];
shuffle($arr_a);//打乱顺序 61 echo json_encode($arr_a);
php 控制骰子概率,PHP制作的掷色子点数抽奖游戏实例(代码)相关推荐
- php丢色子,PHP制作的掷色子点数抽奖游戏实例(代码)
PHP制作的掷色子点数抽奖游戏实例,通过掷色子点数来达到抽奖的效果,为抽奖活动增添一些趣味性. 我们将在html页面中写下如下的html结构代码,.wrap用来放置色子和提示信息,#prize则是用来 ...
- php 掷,jQuery+PHP实现的掷色子抽奖游戏实例
jQuery+PHP实现的掷色子抽奖游戏实例 发布于 2016-01-23 05:44:43 | 334 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypert ...
- ip登陆异常 php,PHP实例:PHP制作登录异常ip检测功能的实例代码
<PHP实例:PHP制作登录异常ip检测功能的实例代码>要点: 本文介绍了PHP实例:PHP制作登录异常ip检测功能的实例代码,希望对您有用.如果有疑问,可以联系我们. 使用函数查询数据库 ...
- 教你用html+js制作一个自己的点名系统,实例代码分享
简介 教你用html+js制作一个自己的点名系统,实例代码如下. 效果 代码 HTML <div class="wrapper"><h1 align=" ...
- php 控制骰子概率,掷色子猜大小游戏(可控制概率)
HTML 本例中用到两粒色子,也就是说可以同时掷出两粒色子,所得的点数应该是两粒色子的点数之和.另外我们在页面上放置两个单选框,用户可以选择大小. 大 小 请直接点击上面的色子! CSS CSS的写法 ...
- 用php制作中奖系统,php实现中奖的实例代码
本文主要和大家分享php实现中奖的实例代码,希望能帮助到大家.<?php //设置中奖概率 $prize_arr = array( 0=>array( 'id'=>1,'prize' ...
- jQuery掷色子动画
大家一定都玩过掷色子的游戏,今天我给大家分享的是如何使用jQuery来实现掷色子的动画效果,通过jQuery的animate()自定义动画函数并结合CSS背景图片切换实现的动画效果,后面hellowe ...
- android掷骰子动画,动画制作(掷骰子)
<动画制作(掷骰子)>由会员分享,可在线阅读,更多相关<动画制作(掷骰子)(3页珍藏版)>请在人人文库网上搜索. 1.攀枝花商贸电子职业技术学校课堂教学设计表学科名称: 动画制 ...
- 掷骰子 概率 动态规划
掷骰子 题目描述 玩家A和B正在玩骰子游戏. A骰子有6个面,第i个面的点数是sideA[i]. B骰子有6个面,第i个面的点数是sideB[i]. 玩家A总共掷X次A骰子,每次掷骰子得到的面都是1/ ...
最新文章
- 使用asp.net MVC4中的Bundle遇到的问题及解决办法
- Android Studio的技巧
- X星球居民小区的楼房全是一样的...
- 使用特殊的技术更新数据库(ABAP)
- 【洛谷】P2179 [NOI2012]骑行川藏
- zookeeper集群自动启动脚本
- redis 受攻击怎么办?_最受欢迎的6个最常用的Redis库
- 函数 getaddrinfo 学习
- 产品管理系统(MVC设计模式)——第一个Javaee项目
- delphi dbgrideh 行合并_如何轻松快速地合并FLV
- 百度AI攻略:新闻摘要
- python学习实验报告(第一周)
- Git如何处理blob上的SHA-1冲突?
- Null ModelAndView returned to DispatcherServlet with name ‘springmvc‘: assuming HandlerAdapter compl
- 数据可视化设计的基本原则是什么?
- Sublime配置java运行环境(IntelliJ IDEA也许更好用)
- 【Python黑科技】获取每日一句美句,并定时发送邮件到指定邮箱(保姆级图文+实现代码)
- 埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛
- mysql导入sql文件、数据库时报错ERROR: ASCII '\0' appeared in the statement
- cesium实现给三维建筑物贴图