# Pick Random () to () (block) – Scratch Wiki

“Random” redirects here. For a random page on the wiki, see Special:Random.
 Pick Random () to () `pick random () to ()` Category Operators Type Reporter

The pick random () to () forget is an operators block and a reporter block. The blocking returns a pseudorandom total ranging from the first given number to the second, including both endpoints. If both numbers are integers, the number returned will besides be an integer. For example, if a 1 and a 3 were the bounds, the block might return either a 1, 2 or 3. If one or both of the number is a float, the number returned will be a double. For example, if 0.1 and 0.14 were given, the output signal could be any total between 0.1 and 0.14, with up to 17 digits after the decimal fraction point ( e.g. 0.13545101673985742 ) .
A rainbow generator made by a clean random block. `(🎲 pick random () to ()::operators)` In the Experimental Viewer, the block had an emoji of a die on it, which will change on each OS.

## case Uses

Some common uses for the blame random ( ) to ( ) auction block are :

• Creating randomized levels
```when I receive [generate v]
go to x: (-50) y: (50)
set [square v] to [1]
repeat (121)
replace item (square) of [level v] with (pick random (1) to (10))
change [square v] by (1)
end
set [square v] to [1]
repeat (11)
repeat (11)
switch costume to (item (square) of [level v])
stamp
change x by (10)
change [square v] by (1)
end
go to x: (-50) y: ((y position) - (10))
end
repeat until >
set [start v] to (pick random (1) to (121))
end
switch costume to [player v]
set [square v] to [1]
go to x: (-50) y: (50)
repeat until <(square) = (start)>
if <(x position) = [50]> then
go to x: (-50) y: ((y position) - (10))
else
change x by (10)
end
change [square v] by (1)
end
```
• Setting random stats
```set [hp v] to (pick random (25) to (100) )
```
• Choosing random objects
```set [purchase v] to (item (pick random (1) to (9) ) of [grocery list v])
```
• Setting a sprite to a random costume
```switch costume to (pick random (1) to (7))
```
• Performing an action with a certain probabiltity
```if <(pick random (1) to (10)) = (1)> then
...
end
```

## Workaround

Main article: List of Block Workarounds

To work around this block, the Scratcher must plan a script that will give irregular numbers. A simpleton workaround is to fill a list with the possible numbers, and then use the Item ( ) of ( ) stuff with the first input set to any. The Item ( any ) of ( ) blocking chooses an unpredictable item — so if the chosen number has all the want numbers, the Item ( ) of ( ) obstruct is an effective workaround :

```when green flag clicked
set [random number v] to (item (join [any] () ) of [list v] )
```

There are scripts that can return unpredictable numbers without using any blocks that give random values. To make these scripts, a value must be used that is unpredictable, such as the timer. other choices are :

• Continuously moving a hidden sprite around the screen and using its location
• Continuously changing a variable and using its current value
• Continuously changing the pen color, shade or size and using its value

then a script can be created with the value, an model with a continuously moving fairy :

```set [random number v] to (x position)
```

This, however, is rather simpleton. More complicate scripts can be made :

```set [random number v] to ((x position) + (y position))
```
```set [random number v] to ( round ( ( (y position) + ( (direction) * (2) ) ) / (3) ) )
```
 Note: The random numbers generated from these alternatives may not be as accurate as the Pick Random () to () block.
beginning : https://www.bestofcalgary.city
Category : Lottery