继续开贴,第600分,求源码

我说我行就是行 2011-04-08 03:35:28
前面两个帖子!
帖子一:http://topic.csdn.net/u/20110322/14/3d1fb467-0db7-4c45-8495-9a2fc3be4de7.html(这个帖子,就是第一四问题没解决,见帖子二)

帖子二:http://topic.csdn.net/u/20110401/10/1769ac7f-5f8a-4830-b1ff-6dc7f9bb6fb6.html(如果帖子三解决了,这个帖子就解决了!)

第600分,求源码!发我邮箱dingzongyinnihao@163.com谢谢







当点击比较得分的时候,下面的用户名和分数就会显示了!
...全文
268 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
syb1045 2011-04-11
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 lifetimeus 的回复:]
呵呵。如果你能够做出预测彩票的话,那么你就不用在做程序员了。。。。。。
[/Quote]
有想法,!!!!!!!!
Jeff Xiong 2011-04-11
  • 打赏
  • 举报
回复
等额心情好勒 帮楼主写写
消失的尘芥 2011-04-11
  • 打赏
  • 举报
回复
呵呵。如果你能够做出预测彩票的话,那么你就不用在做程序员了。。。。。。
nevergu 2011-04-11
  • 打赏
  • 举报
回复

帮顶,接分
  • 打赏
  • 举报
回复
什么意思没看懂。。。
liaomumu2011 2011-04-11
  • 打赏
  • 举报
回复
讨分
liaomumu2011 2011-04-11
  • 打赏
  • 举报
回复
讨分
小童 2011-04-11
  • 打赏
  • 举报
回复


Create function getResult(@ID int,@honghao varchar(50),@lanhao varchar(5))
Returns nvarchar(50)
As
Begin
declare @res varchar(20)
declare @H int
declare @L int
declare @jifen int
declare @UserName varchar(20)

select @UserName=UserName,
@H=
case when charindex(Hong1,@honghao)>0 then 1 else 0 end +
case when charindex(Hong2,@honghao)>0 then 1 else 0 end +
case when charindex(Hong3,@honghao)>0 then 1 else 0 end +
case when charindex(Hong4,@honghao)>0 then 1 else 0 end +
case when charindex(Hong5,@honghao)>0 then 1 else 0 end,
@L=case when Lanqiu=@lanhao then 1 else 0 end from TableName
where ID=@ID
set @res=Convert(nvarchar(2),@H)+' +'+Convert(nvarchar(2),@L)

if(@res='0+1' or @res='1+1' or @res='2+1')
set @jifen=5;
if(@res='4+0' or @res='3+1')
set @jifen=20
if(@res='4+1' or @res='5+0')
set @jifen=100
if(@res='5+1')
set @jifen=300
if(@res='6+0')
set @jifen=500
if(@res='6+1')
set @jifen=1000

Return @res+' 积分:'+isNull(convert(varchar(5),@jifen),0)
End


select *,dbo.getResult(ID,'02,11,20,22,24,30','05') as res from tableName
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 rock870210 的回复:]
别以为你点分就什么都能买,鄙视这种不劳而获的。
[/Quote]

晕死,对你无语,我就不是没思路才发帖的吗,有你这样的吗,真是的!
ChinaXtHuLang 2011-04-11
  • 打赏
  • 举报
回复
拿分当钱刷?
阿桐 2011-04-11
  • 打赏
  • 举报
回复
[Quote=引用 30 楼 hangtongilu 的回复:]
打酱油的
[/Quote]+1
  • 打赏
  • 举报
回复
打酱油的
lottery8 2011-04-11
  • 打赏
  • 举报
回复
帮顶了。。
最近也在做这个,楼主能否把问题一的代码贴出来,现好用的上。。
问题四也只是算法问题,应该不难。。
不知楼主是否想过怎么自已兑奖。
wisdom1 2011-04-11
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 syb1045 的回复:]
引用 21 楼 lifetimeus 的回复:
呵呵。如果你能够做出预测彩票的话,那么你就不用在做程序员了。。。。。。

有想法,!!!!!!!!
[/Quote]

大家都想中...彩票是录播...没有买的价值和意义

hch126163 2011-04-11
  • 打赏
  • 举报
回复
感觉楼主的几个问题都可以用js 来搞定。没必要在服务器处理!

如果是:0+1,1+1,2+1,得5分,
如果是:4+0,3+1 得20分

如果是:4+1,5+0 得100分

如果是:5+1 得300分

如果是:6+0 得500分

如果是:6+1 得1000分


计算 中奖的红球数量和蓝球数量。循环比较一下就可以了!

function getScore( redCount, blueCount){
var score=0;
var total = redCount+blueCount ;
if(total <= 3){
if(blueCount ==1)
score=5;
}else if(total == 4){
score=20;
}else if(total == 5){
score=100;
}if(total == 6){
if(blueCount ==1)
score=300;
else
score=500;
}if(total ==7){
score=1000;
}
return score;
}

var right={red:[3,5,6,8,10,30],blue:10};
var user=function(){this.name='';this.score=0;};
var nums =
[
{userName:'li',red:[1,2,3,4,5,6],blue:10,redCount:0,blueCount:0}, // 20
{userName:'li',red:[2,3,4,5,6,10],blue:8,redCount:0,blueCount:0}, // 20
{userName:'wang',red:[1,3,4,5,6,30],blue:10,redCount:0,blueCount:0}, // 100
{userName:'yang',red:[3,5,6,8,10,30],blue:10,redCount:0,blueCount:0} // 1000
];
var userList = [];
var u=null;
for(var i=0;i<nums.length;i++)
{

if(i==0){
u=new user();
u.name = nums[i].userName;
userList.push(u);
}else if(nums[i].userName!=nums[i-1].userName)
{
u=new user();
u.name = nums[i].userName;
userList.push(u);
}

nums[i].blueCount = right.blue == nums[i].blue ?1:0;

for(var redIndex =0,index=0;redIndex<right.red.length;redIndex++)
{
for(var curIndex=index;curIndex< nums[i].red.length;curIndex++)
{
if(right.red[right.red.length-1]< nums[i].red[curIndex]){
redIndex=right.red.length;
break;
}
if(right.red[redIndex]== nums[i].red[curIndex])
{
nums[i].redCount++;
index++;
break;
}
}
}
u.score += getScore(nums[i].redCount,nums[i].blueCount);

}
for(var i=0;i<userList.length;i++){
alert(userList[i].name +" " + userList[i].score);
}
haa17 2011-04-08
  • 打赏
  • 举报
回复
原理:

首先定义一个包含33个元素的一维数组,代表33个红球,然后为每一个数组赋以介于0到1之间的随机双精度数值,因为双精度重复的概率很小,所以不必担心33个红球会出现相同的值。然后取其中值最大的7个元素,进行排序(排序使用的是Array.Sort()方法),得到7个红球。而每个元素的下标,正好作为红球的号码。兰球则截取前16个元素进行上述操作,取值是最大的即可。

技术关键:

1、用随机数为数组赋值

起初这段是这样写的

for (int i = 0; i < 33; i++)

{

Random RandNum = new Random(unchecked((int)DateTime.Now.Ticks));//产生随机数
ball[i] = RandNum.NextDouble();//产生随机数,给红球数组赋值
}

本来为防止CPU运算太快产生相同的结果,已经引用了时间种子到随机函数,谁料这样一来33个数组元素的值仍然一摸一样!好一番研究,才知道原来这个“种子”必需放在循环外部才可以,按我原来的思想放在循环里面似乎效果应该更好,因为每一次都使用不同的种子啊?!呵呵,谁想到CPU的运算速度如此之快,这点循环时间根本来不及考虑随机时间的差别啊!这下基本可以理解为:在瞬间种下的33颗种子在瞬间产生的结果是一样的,而某一时间种下的同一颗种子在瞬间就可以产生不同的结果了?于是正确的写法应该是:

Random RandNum = new Random(unchecked((int)DateTime.Now.Ticks));//产生随机数种子

for (int i = 0; i < 33; i++)

{
ball[i] = RandNum.NextDouble();//产生随机数,给红球数组赋值
}

2、显示问题

这里使用了憋足但是比较简单的richtextbox控件。为了美观,需要在显示界面出现如上图所示的双色球图标,但始终没有找到richtextbox中添加图片的方法,后来总算勉强解决了这个问题:图片首先加入程序资源管理器,并设置为“可嵌入的资源”,然后再使用剪切板,对其进行拷贝粘贴。代码如下:

Bitmap redbmp = Bitmap.FromStream(GetType().Assembly.GetManifestResourceStream(GetType(),
"redball.bmp")) as Bitmap;
Bitmap bluebmp = Bitmap.FromStream(GetType().Assembly.GetManifestResourceStream(GetType(),
"blueball.bmp")) as Bitmap;

Clipboard.SetDataObject(redbmp);
richTextBox1.Paste();

其实是将图片粘贴在了richtextbox里。

解决了这个问题,绝对不能够急着使用richtextbox.text+="!@#!@#" 或者 richtextbox.rtf+="!@#!@#"的方法向里面添加文字,因为这样会使你之前添加的图片无法显示!richtextbox提供的AppendText方法就允许你随意追加文字了,用了这个方法,你就想怎么贴图,就怎么贴;想怎么追加文本,就怎么追加了。

最后,你还不得不在button开始时添加下面的代码,以避免连续追加的内容会因为使用者的误操作随意插入文本框内的任意位置了:

richTextBox1.SelectionStart = (richTextBox1.Text).Length;
richTextBox1.ScrollToCaret();

lw402365015 2011-04-08
  • 打赏
  • 举报
回复
这个 还没完全了解
woanon 2011-04-08
  • 打赏
  • 举报
回复
up,jf路過
davidcoffee 2011-04-08
  • 打赏
  • 举报
回复
又见分霸~来接分...~友情帮顶~
wshqszw1 2011-04-08
  • 打赏
  • 举报
回复
这个东西我同学前年的时候写过,但是那都是为了练技术而已,现在都估计被他抛弃了。这东西根本就没什么用的。哎。~
加载更多回复(3)

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧