RNG to pull scripts
3 views (last 30 days)
Show older comments
I'm creating a game that invoves using a random number generator to decide which .m script to pull from a set of files. I run into two errors mainly, (Error using fileparts (line 58) Input must be a row vector of characters, or a string scalar, or a cellstr, or a string matrix.) and (Error in run (line 40) [fileDir,script,ext] = fileparts(scriptname);)
I would like the scipt to run the functions itself at random, but the errors break the while loop I was attempting to run them in. Does anyone know what I may be doing incorrectly?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/457450/image.png)
0 Comments
Answers (1)
Anmol Dhiman
on 14 Dec 2020
Hi Rolland,
Just pass the file name as character vector as shown below.
run('Riddle_1');
Hope it helps
Anmol Dhiman
1 Comment
Rik
on 14 Dec 2020
Or:
run(scriptname)
An even better strategy would be to convert the scripts into a function that returns a struct array. That way you can use this:
this_riddle=all_riddles_struct(randi(end)); % select 1 riddle
which will not require any modification if you decide to add or remove riddles from your database function.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!