# Pascal programming questions

#### The Grimmus

Problem 1:
I learned the basics of Pascals and i decided to make a summer project of makeing an rpg like game. i was throwing down my ideas and i wanted the fight sequences to come up randomly when your walking around...i searched but i couldent find a command to pick a number at randome
so
number 1: i need to know if one of these commands exist
and
Number 2: if one doset exits i would like to ask for an idea or two how to make a randome like sequence so it isent ever 10 movements a fight sequence starts

This is the first problem i ran into so far but i am sure i will have others

Related Computing and Technology News on Phys.org

store an integer variable "seed" and have a function rand that does "(a * seed + b ) mod c. a, b, and c are constants you pick. when you start the game set seed to some other number than it was the last time you started the game or else you get the same random numbers every time you run the program. You can set the seed with a value you get from the system clock.

#### bogdan

Use randomize...it initializes the random number generator using as seed the timer...to get a random number use random,which gives you a number in [0,1)...use the "Help"...

#### The Grimmus

ok i was looking though help which dident really help becuase it only told how to intiate a randome # gen i want to know how to alter it so there are only a few numbers so i can set a command to excute evrytime it lands on a certian number

if you could help me out i would really apreciate (i cant spell) it

Last edited:

#### GENIERE

I never used Pascal but if it has “Do Loops”, you can do something like this:

Let’s assume you only want numbers from 1 through 9 as the result.

The output random number may be a large number.

Let R= result of the random number generator.

Do while R>10
R=R/10
Loop

Whatever R was, it will be divided by 10 until it is less than 10

You may need to convert it to an integer, dependng on how you write your code.

#### The Grimmus

thanks everyone i was able to get it under 10 and be a single digit.

If any one cares here is the code
begin
randomeize;
ran := randome
if ran >= 10 then
begin
repeat
ran :=ran/2;
untile ran < 10;
end;
str(ran,ran1)
ran2 := ran1[13];
write(ran2);
end.

unless i spelt something wrong this should give u a randome inter get >0 and <10
the 13 is bold becuase i needed to change the 2 to a 3, when teststing with a 2 there i found that only the digits 1,2 and 3 came up. therer are only 13 usable digits out of the 16 chars you will have to do a trial and error type test and put in diffrent nubmers where the [13]; is

well thanks everyone!

Last edited:

### Physics Forums Values

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving