---
title: "Problem med randomize igen..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/12685-problem-med-randomize-igen"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "limpon"
published: "2001-11-17T13:26:00.000Z"
updated: "2001-11-17T14:09:00.000Z"
replies: 6
views: 115
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/12685-problem-med-randomize-igen"
---

# Problem med randomize igen...

## #1 — limpon, 2001-11-17T13:26Z

Jag har ett problem igen.. med denna ¤#"% randomizen.

Jag vet hur man plockar fram en randomizad spelare.

Men hur plockar man fram flera?

Jag tänkte mig att det skulle bli nått sånt här.

Do until RS.EOF OR I = 7

brasql = "select \* from player where spelare_agd_av = '"&nick&"'"
set spelare = databas.execute(brasql)
if not spelare.eof then
arr = spelare.getrows()
randomize
cnt = ubound(arr,2) + 1
s = int(cnt\*rnd)

mal = arr(i,s)
(Sedan en update sats här)
RS.Movenext
Loop

Själva problemet ligger i mitt spel. där egentligen 7 är antalet gjorda mål, som är variabeln "gjordamal".
Men vi  får inga spelare att skrivas ut för att ha gjort mål. Och icke assists heller, hoppas nån förstår problemet.. Tack

Permalänk: https://www.webforum.nu/p/12685

## #2 — LarsG, 2001-11-17T13:35Z

Nej, jag förstår inte. 

Varifrån kommer RS och hur får nick värdet? Nu gör utför du samma select flera gånger. Skall det vara flera spelare ägd av samma nick eller olika spelare.

Hur skulle du använda gjordamal/assists?

Randomize bör ligga utanför loopen.

Permalänk: https://www.webforum.nu/p/294913

## #3 — limpon, 2001-11-17T13:42Z

Ja det ska kunna vara flera spelare som är ägd av samma nick. För det är ju mål i matcherna jag vill randomiza ut till spelarna man har i tabellen player.

Jag testade även den här..

sql = "select \* from player where spelare_agd_av = '"&nick&"'"
Set RS = Databas.Execute(SQL)
I = 0
Do until RS.EOF or I = 7
Randomize
mal = Int(rnd\*RS("id"))
I=I+1
(sedan en update sats här.)
RS.Movenext
Loop

Jag tycker den här randomize satsen är lättsammare att förstå =).

Men som sagt förrut så är jag ny på randomize, har inte full kläm på det hela ännu. Hoppas du förstår lite mer nu ialla fall. annars får du säga till :)

Permalänk: https://www.webforum.nu/p/294914

## #4 — LarsG, 2001-11-17T13:58Z

```
brasql = "select id from player where spelare_agd_av = '"&nick&"'"
set spelare = connect.execute(brasql)
if not spelare.eof then
   arr = spelare.getrows()
   cnt = ubound(arr,2) + 1
   randomize
   for i = 1 to 7
       s = int(cnt*rnd)
       sql = "update player set mal = mal + 1 where id = " & arr(0,s)
       connect.execute sql,,128
   next
end if
```

är det något sådant du vill ha. Nu är det 7 slumpvis utvalda spelare som får ett mål till. (Som det är nu så kan samma spelare bli framslumpad flera gånger.)

Permalänk: https://www.webforum.nu/p/294915

## #5 — limpon, 2001-11-17T14:01Z

Ja exakt, så det ska vara =)
Jag måste göra något nu bara för att målvakterna ska ju inte kunna göra t.ex 3 mål på en match =)

Men tusen tack. En fråga jag har bara.

arr = spelare.getrows()
cnt = ubound(arr,2) + 1

arr\`? får den alla posterna?
sedan cnt förstår jag inte alls.

har du tid o förklara så vore jag tacksam

Permalänk: https://www.webforum.nu/p/294916

## #6 — LarsG, 2001-11-17T14:09Z

Ja, arr kommer att innehålla alla poster från select-satsen. Det är en tvådimensionell array där varje rad innehåller en post från tabellen.

funktionen Ubound(arr,2) returnerar det högsta indexet i arrayen. Eftersom första index är 0 så kommer då cnt att innehålla antalet rader som finns i arrayen.

Permalänk: https://www.webforum.nu/p/294917

## #7 — limpon, 2001-11-17T14:09Z

Aha jag förstår inte så mycket men jag förstår funktionen på dom nu =)
Tack för hjälpen Lasse.

Permalänk: https://www.webforum.nu/p/294918

---

Tråden på webben: https://www.webforum.nu/amne/asp/12685-problem-med-randomize-igen
