MCU
Hope this helps, as Zotoaster says arrays are the key, you could also read the information from a file rather than using data statements (but thought I would leave you with something to do). Using data statements for now lets me easily demonstrate arrays and how they tie into the program, if you hit a blank with using a file give me a shout and I will try to help although am not on the forums every day. I have commented out your image code, but you can simply put these back in.
Its fully commented, hope it helps.
REM The data statements below hold all your nouns and adjectives
REM normally I would put them at the bottom of the code but it
REM will help you follow the program whilst learning about arrays
REM and data. The data statements are just storing the info for now
REM so they are available for us later on.
Rem Adjectives
data "Aback ","Wistful ","Ruthless ","Secretive ","Early "
data "Special ","Youthful ","Satisfying ","Aback ","Juvenile "
Rem Nouns
data "Carpenter","Plantation","Railway","Appliance","Feather"
data "Car","Lawyer","Lawyer","Knight","Road","Writer"
Set Window Size 800, 400
Set Window Title "Title Generator"
Set Text Size 22
Set Text Font "Arial Rounded MT Bold"
rem Load Image "Background.png", 1, 1
rem Paste Image 1, 0, 0
Randomize Timer()
REM In order to make it easier for you to add more nouns and adjectives
REM I have stored the total number you have into variables. This means
REM if you add more you only need to change in the two lines below
REM and not throughout your code.
Num_of_Adj=10
Num_of_Nou=10
REM Look at help on arrays, think of them as a list stored against
REM a single variable that you can access by a number, a stack of boxes
REM with a unique number on. Note how I have used the Num_of_adj, Num_of_Nouns
REM as degined above.
Dim adjective$(Num_of_Adj)
Dim noun$(Num_of_Nou)
REM This is where we read the content of the DATA at the start of the programs
REM and put into your arrays "Boxes". As you read an item from the DATA statement
REM it automatically moves onto the next one in the list, and a simple loop
REM defines which empty box in the list we want to put the value in.
For adjdata=1 to Num_of_Adj
read adjective$(adjdata)
next adjdata
for noudata=1 to Num_of_nou
read noun$(noudata)
next noudata
Do
REM Notice the simple change to the RND statement, effective and means you
REM dont need to worry about making sure the value returned is within your
REM needed range. RND returns a value between 0 and the number specified.
Adj = RND(Num_of_Adj-1)+1
Nou = RND(Num_of_Nou-1)+1
Wait KEY
CLS
rem Paste Image 1, 0, 0
Print "The " ;
Print Adjective$(adj);
print Noun$(nou)
Loop