package com.sunmo.buz.games.action;
import java.util.Random;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
public class ScratchAction extends DispatchAction
{
public ActionForward loadaward(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
Object obj[] = lottery();
// 这里自己连接数据
request.setAttribute("award", obj[0]);
return mapping.findForward("success");
/*
* 如果是JSON格式
*response.setCharacterEncoding("UTF-8");
* response.getWriter().write(JsonUtils.object2json(obj));
* response.getWriter().flush(); response.getWriter().close(); return
* null
*/
}
// 抽奖并返回角度和奖项
public Object[] lottery()
{
Object[][] lott = getLunckArray();
// 概率数组
Integer obj[] = new Integer[lott.length];
for (int i = 0; i < lott.length; i++)
{
obj[i] = (Integer) lott[i][2];
}
Integer prizeId = getRand(obj); // 根据概率获取奖项id
String msg = (String) lott[prizeId][1];// 提示信息
return new Object[]
{ prizeId, msg };
}
protected static Object[][] getLunckArray()
{
Object luckArr[][] = new Object[][]
{
{ 1, "一等奖", 1 },
{ 2, "二等奖", 2 },
{ 3, "三等奖", 5 },
{ 4, "四等奖", 7 },
{ 5, "五等奖", 10 },
{ 6, "六等奖", 25 },
{ 7, "谢谢惠顾", 50 } };
return luckArr;
}
protected static Integer getRand(Integer obj[])
{
Integer result = null;
int sum = 0;// 概率数组的总概率精度
for (int i = 0; i < obj.length; i++)
{
sum += obj[i];
}
for (int i = 0; i < obj.length; i++)
{
int randomNum = new Random().nextInt(sum);// 随即生成1到sum的整数
if (randomNum < obj[i])
{// 中奖
result = i;
break;
}
else
{
sum -= obj[i];
}
}
return result;
}
}
分享到:
相关推荐
以上就是使用Java实现刮刮卡和大转盘等中奖概率的基本思路和步骤。在实际项目中,还需要考虑用户体验、性能优化、安全性等方面,以提供稳定、可靠的抽奖系统。在提供的压缩包`test`中,可能包含示例代码或资源文件,...
Html 大转盘,刮刮乐,前后台成套产品,值得新手入手。。。。
实现了微信公众平台的抽奖、刮刮卡+大转盘(JAVA)
开发一个刮刮乐应用涉及到多个技术领域,主要集中在Java编程语言和Android操作系统上。下面将详细阐述相关的知识点。 首先,我们需要了解的是Java的`Random`类。`Random`是Java提供的一个随机数生成器,它允许我们...
【HTML5后台控制抽奖程序 转盘+刮刮乐】是一个基于HTML5技术实现的互动抽奖应用,它允许管理员通过后台系统设置不同的中奖概率,以实现更加灵活的活动管理。这个程序集成了转盘和刮刮乐两种常见的抽奖形式,为用户...
在Java编程语言中,实现刮刮卡或大转盘这类具有随机中奖概率的功能,主要涉及到以下几个关键知识点: 1. **随机数生成**:在Java中,我们可以使用`java.util.Random`类来生成随机数。这个类提供了各种方法,如`...
【标题】"Java后台输出的抽奖系统"是一个简单的程序,主要使用Java编程语言实现,它并不依赖数据库存储用户数据,而是采用静态变量来暂时保存用户的参与信息。这种设计方式适用于小型示例或临时性的抽奖活动,因为...
在本项目中,我们将探讨如何利用粤嵌6818开发板进行电子相册、2048小游戏以及刮刮乐应用的实现。这是一份针对C语言初学者的资源,旨在通过实际操作来加深对C语言编程的理解,并且接触嵌入式系统的基本应用。 首先,...
在Java编程语言中,实现刮刮卡功能是一项有趣且实用的挑战。刮刮卡通常用于游戏、抽奖或者促销活动中,用户通过刮开一层覆盖物来揭示隐藏的信息,比如奖项等级。这里我们将深入探讨如何利用Java来创建这样一个刮刮卡...
Unity插件实现刮刮卡/刮刮乐效果是一种在游戏或互动应用中常见的交互功能,它通常用于模拟现实生活中刮开覆盖层以揭示隐藏信息的行为。这款插件因其功能强大和适用广泛而备受关注,尤其适合于开发各种类型的游戏和...
本代码是在网上下载后自行整理的,可不用框架,亲测. 适用于微信公众账号;如有问题 请留言!
在提供的压缩包`CustomGuaGuaLe`中,可能包含了实现刮刮乐效果的源代码,包括`GuaGuaLeView`类的实现、资源文件(如背景图片和颜色值)以及示例项目的布局文件。通过查看这些文件,可以更深入地理解并学习自定义View...
自己写的刮刮乐ASP功能齐全,带后台。绝对能用。自己用过的。
带后台微信刮刮乐php源码
public class chuangkou { Image img; private String xian="___________________________________________________________________________"; private String jb1name ; private String jb2name ;...
总结来说,模拟刮刮乐是科技进步与彩票业相结合的产物,它利用先进的计算机技术和算法,实现了与实物刮刮乐相似甚至超越的真实体验。在未来,随着虚拟现实、增强现实等技术的发展,模拟刮刮乐可能会带来更加沉浸式的...
【手机移动端H5刮刮乐刮奖插件】是一种基于HTML5技术的互动抽奖应用,主要应用于手机浏览器或移动端应用程序中。H5技术是HTML5的简称,它是一种超文本标记语言,是网页制作的标准之一,尤其在移动互联网领域得到了...
在本案例中,我们将探讨如何利用HTML5中的Canvas元素来实现一个刮刮乐效果,该效果既适用于桌面浏览器,也适用于Android和iOS等移动设备。 Canvas是HTML5中一个非常重要的组成部分,它是一个可编程的2D图形渲染区域...
这个工程的核心是通过Unity的图形渲染和事件系统来实现刮刮乐的视觉效果,并结合进度判断来实时反馈用户的刮擦状态。 1. **图形渲染**:Unity中的`Mesh Renderer`组件负责将3D模型或者2D纹理显示在屏幕上。在这个...