多次抽签 随机抽取一张图片 要不重复的抽取

小李所属 2009-12-22 09:57:20
多次抽签的要求是:平滑移动的图片比如说有5张一直移动着, 点抽签按钮 就抽取图片 抽取出来的图片已经被抽取了不能重复抽取, 抽选出来的图片放到已抽取的那个位置 那么在平滑移动的图片里的那张已被抽取出来的图片 就没有了 如 : 平滑移动 的 图片 有5 张 现在被抽取了一张 就剩下4张了 依次类推 抽掉3张 平滑移动里的图片 就剩下 2张了 就这个意思!
...全文
686 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
小李所属 2009-12-22
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 amandag 的回复:]
引用 7 楼 jackfance 的回复:
引用 6 楼 amandag 的回复:
C# codestring[] src=newstring[] {"1.jpg","2.jpg","3.jpg","4.jpg","5.jpg" };int index=0;
            Random r=new Random();int number= src.Length-1;string temp=string.Empty;for (int i=0; i < src.Length;?-

能根据我的代码能修改下吗?朋友 用的是 JS 写的啊 !


我的代码思想很简单,就是每次随机的都是索引下标,根据下标取相应的字符串并放到最后。

你的代码太乱了,我看起来很吃力,而且毕竟这是你的工作任务,总的自己付出一下吧
[/Quote]
我的代码都是 JS写的 。我全部采用的 DIV 来 加载的图片 。你的 能用 JS的 方法 套用出来吗?我 写出来的方法不对 没变化
amandag 2009-12-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jackfance 的回复:]
引用 6 楼 amandag 的回复:
C# codestring[] src=newstring[] {"1.jpg","2.jpg","3.jpg","4.jpg","5.jpg" };int index=0;
            Random r=new Random();int number= src.Length-1;string temp=string.Empty;for (int i=0; i < src.Length;?-

能根据我的代码能修改下吗?朋友 用的是 JS 写的啊 !
[/Quote]

我的代码思想很简单,就是每次随机的都是索引下标,根据下标取相应的字符串并放到最后。

你的代码太乱了,我看起来很吃力,而且毕竟这是你的工作任务,总的自己付出一下吧
TossShinHwa 2009-12-22
  • 打赏
  • 举报
回复
感觉伪代码都出来了.
liaoyukun111 2009-12-22
  • 打赏
  • 举报
回复
没有想像中的那么难,自己都说的清楚,再去自己做,问题应该不是很大.
Joke_yu 2009-12-22
  • 打赏
  • 举报
回复
mark
小李所属 2009-12-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 amandag 的回复:]
C# codestring[] src=newstring[] {"1.jpg","2.jpg","3.jpg","4.jpg","5.jpg" };int index=0;
Random r=new Random();int number= src.Length-1;string temp=string.Empty;for (int i=0; i< src.Length;?-
[/Quote]
能根据我的代码能修改下吗?朋友 用的是 JS 写的啊 !
amandag 2009-12-22
  • 打赏
  • 举报
回复
            string[] src = new string[] { "1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg" };
int index = 0;
Random r = new Random();
int number = src.Length - 1;
string temp = string.Empty;
for (int i = 0; i < src.Length; i++)
{
index = r.Next(0, number);
Console.WriteLine(src[index]);
temp = src[number];
src[number] = src[index];
src[index] = temp;
number--;
}
小李所属 2009-12-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 leaohong 的回复:]
两个数组,一组存备选项,一组存已选的,选中后就从备选数组移除并加到已选数组呗
[/Quote]
你有代码吗?我的代码这样写的 但没实现我提出的 那种 功能

var imgUrl;
var _ts=window.setTimeout;
var cqBtn = 0;
var i=0;
var t=0;
var movepic;
function toload()
{
rand();
//forview();
pdcq();
document.getElementById("img6").style.display="none";
document.getElementById("img7").style.display="none";
document.getElementById("img8").style.display="none";
}
function rand()
{
imgUrl=Math.round(Math.random()*5);
// view();
}
function leftorRight(t)
{
switch(t)
{
case 'l':imgUrl-=1;if(imgUrl==0){imgUrl=5};break;
case 'r':imgUrl+=1;if(imgUrl==6){imgUrl=1};break;
}
var a,b,c,d,e;
a=imgUrl-2;
b=imgUrl-1;
c=imgUrl;
d=imgUrl+1;
e=imgUrl+2;
switch(c)
{
case 0: a=4;b=5;break;
case 1: a=4;b=5;break;
case 2: a=5;break;
case 4: e=1;break;
case 5: d=1;e=2;break;
}
document.getElementById("img1").innerHTML="<img src='img/"+a+".gif' width=80px height=80px>";
document.getElementById("img2").innerHTML="<img src='img/"+b+".gif' width=80px height=80px>";
document.getElementById("img3").innerHTML="<img src='img/"+c+".gif' width=80px height=80px>";
document.getElementById("img4").innerHTML="<img src='img/"+d+".gif' width=80px height=80px>";
document.getElementById("img5").innerHTML="<img src='img/"+e+".gif' width=80px height=80px>";
}
function view()
{
imgUrl--;
if(imgUrl==0)
{
imgUrl=5;
}
var a,b,c,d,e;
a=imgUrl-2;
b=imgUrl-1;
c=imgUrl;
d=imgUrl+1;
e=imgUrl+2;
switch(c)
{
case 0: a=4;b=5;break;
case 1: a=4;b=5;break;
case 2: a=5;break;
case 4: e=1;break;
case 5: d=1;e=2;break;
}
document.getElementById("img1").innerHTML="<img src='img/"+a+".gif' width=80px height=80px>";
document.getElementById("img2").innerHTML="<img src='img/"+b+".gif' width=80px height=80px>";
document.getElementById("img3").innerHTML="<img src='img/"+c+".gif' width=80px height=80px>";
document.getElementById("img4").innerHTML="<img src='img/"+d+".gif' width=80px height=80px>";
document.getElementById("img5").innerHTML="<img src='img/"+e+".gif' width=80px height=80px>";
_ts=setTimeout("view()",1);
}
function forview()
{
if(cqBtn==1)
{
clearTimeout(_ts);
}
else
{
clearTimeout(_ts);
i++;
views();
}
}
function pdcq()
{
if(cqBtn==0)
{
cqBtn=1;
views();
}
else
{
cqBtn=0;
view();
}
document.getElementById("img6").style.display="block";
document.getElementById("img7").style.display="block";
document.getElementById("img8").style.display="block";
}
function views()
{
if(i<=2)
{
view();
}
else
{

}
switch(t)
{
case 0: t++;break;
case 1:document.getElementById("img6").innerHTML="<img src='img/"+imgUrl+".gif' width=40px height=40px>"; t++;break;
case 2:document.getElementById("img7").innerHTML="<img src='img/"+imgUrl+".gif' width=40px height=40px>"; t++;break;
case 3:document.getElementById("img8").innerHTML="<img src='img/"+imgUrl+".gif' width=40px height=40px>"; t++ ;break;
default:alert("抽签已结束!"); break;
}
zhulong1111 2009-12-22
  • 打赏
  • 举报
回复
你把先抽出来的ID 放在数组里 然后在抽的时候先和数组对比下如果没有就Ok 如果有就在随机下。 这样估计效率不高 最好就弄两个NUM1,NUM2数组 放一个总的NUM1, 抽出一个就放到NUM2里 同时num1 去掉抽出的 一直在NUM1 里面抽
  • 打赏
  • 举报
回复
数组加随机函数
leaohong 2009-12-22
  • 打赏
  • 举报
回复
两个数组,一组存备选项,一组存已选的,选中后就从备选数组移除并加到已选数组呗
liherun 2009-12-22
  • 打赏
  • 举报
回复
这不都知道了

62,254

社区成员

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

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

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

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