에 미리 정의 된 문자열에서 임의의 문자열을 당기기 3.그래서 내가 전장에 대한 QBASIC에 임의의 맵 생성기를 만드는 중이라서 QBASIC
아이디어는 내가 프로그램을 실행 whenether, 프로그램은 이미 사전 정의 된 문자열에서 맵 이름을 인쇄해야한다 . 내가 지금까지 가지고있는 코드는 다음과 같습니다
CLS
REM --------------------- RANDOM NUMBER VALUE --------------------------
RANDOMIZE TIMER: A = INT((RND * 100)): B = INT((RND * 10)): C = (A + B)
NUM = INT(C - (RND * 10))
REM --------------------------- MAPS - -------------------------------
A$ = "Caspian Border"
B$ = "Damavant Peak"
C$ = "Grand Bazaar"
D$ = "Kharg Island"
E$ = "Norshar Canals"
F$ = "Operation Firestorm"
G$ = "Operation Metro"
H$ = "Seine Corssing"
I$ = "Tehran Highway"
REM ----------------------------- GAME MODE ----------------------------
RSH$ = "Rush"
TDM$ = "Team Deathmatch"
CQS$ = "Conquest"
CQSL$ = "Conquest Large"
SQDM$ = "Squad Deathmatch"
REM --------------------------- PLAYER COUNT -----------------------------
AA$ = "16 Players"
BB$ = "32 Players"
CC$ = "64 Players"
REM ------------------------ PROCESSING CODE ----------------------------
PRINT "Bore-o-mat 3000 Initilaized"
PRINT "The random number is"; NUM; "therfore the map drawn is:"
IF NUM > 10 THEN PRINT A$
IF NUM > 20 THEN PRINT B$
IF NUM > 30 THEN PRINT C$
IF NUM > 40 THEN PRINT D$
IF NUM > 50 THEN PRINT E$
IF NUM > 60 THEN PRINT F$
IF NUM > 70 THEN PRINT G$
IF NUM > 80 THEN PRINT H$
IF NUM > 90 THEN PRINT I$
END
는 임의 NUM이 NUM 10보다 큰 및 달러 (A $)를 인쇄하는 경우는 검사 (22)
말할 수 있습니다, 그것은 않는 22> (10) 때문에에 대해 동일 B $. C $의 경우 NUM이 30보다 크지 않으므로 프로그램이 중단됩니다. 정상입니다. 문제는 하나 이상의지도 이름을 얻는다는 것입니다. 나는 약간을 얻는다. 사진에 Reffer :
http://i.stack.imgur.com/TTnXQ.png
나는 임의의 숫자를 기반으로 하나의 문자열을합니다.
어떻게 코드를 다음 줄로 나누지 않습니까? 임의의 문자열을 가져 오는 더 간단한 방법이 있습니까?
내가 프로그램을 실행하고, 달러 (A $), B의 $에서 임의의 문자열을 끌어와 마찬가지로 C $ 등
건배 :)
또한 난수를 추출하는 더 간단하고 안정적인 방법이 있습니까? 그 RND와 RANDOMIZE TIMER stff는 우습다. 때로는 같은 번호를 3 번 연속 사용합니다. – Gala