好的,首先我在BASIC中編寫它,因爲它是我所知的最多的語言。這個程序假設有6個骰子正在滾動,它貫穿[1] [1] [1] [1] [1] [1]到[6] [6] [6]的所有可能組合6] [6] [6]。不要擔心數字旁邊的「b」和「r」。從數組中識別組
我希望能夠做的(希望),而不必做一個複雜的IF語句是通過每個「滾動」,並挑出組,如對和三元組等等......,但我也想如果說一個三重數就是一個數 - 一對不是。
IF A=B AND A<>C AND A<>D AND A<>E AND A<>F THEN PAIR=PAIR+1
IF A<>B AND A=C AND A<>D ...
做這樣說,這是要採取永遠和需要(如果我能正確計算)15 IF語句只是爲了表明,如果有1對,我之前的三倍後開始,四邊形等...
這是我的代碼 - 這是一個正在進行的工作,因此奇數編號。
10 REM DEFINE DICE TYPE X
20 DIM X$(6)
30 X$(1) = "1r"
40 X$(2) = "2b"
50 X$(3) = "3r"
60 X$(4) = "4b"
70 X$(5) = "5r"
80 X$(6) = "6b"
90
100 REM DEFINE DICE TYPE Y
110 DIM Y$(6)
120 Y$(1) = "1b"
130 Y$(2) = "2r"
140 Y$(3) = "3b"
150 Y$(4) = "4r"
160 Y$(5) = "5b"
170 Y$(6) = "6r"
180
190
200 REM SET DICE FACES AND ROLL COUNTER
210 LET A = 1
220 LET B = 1
230 LET C = 1
240 LET D = 1
250 LET E = 1
260 LET F = 1
270 LET R = 0
280
281
282 REM DEFINE HANDS
283 LET P = 0
284 LET PP = 0
285 LET PPP = 0
286 LET T = 0
287 LET TP = 0
288 LET TT = 0
289 LET Q = 0
290 LET QP = 0
291 LET QU = 0
292 LET S = 0
293
300 REM ROLL THE DICE
310 LET R = R + 1
320 IF A = B AND A = C AND A = D AND A = E AND A = F THEN LET S = S + 1
1300 PRINT X$(F), X$(E), X$(D), Y$(C), Y$(B), Y$(A), "ROLL "; R
1330 PRINT "SEXTUPLETS: "; S
1340
1350 REM INDEX THE ROLLS
1360 LET A = A + 1
1370 IF A < 7 GOTO 300
1380 LET A = 1
1390
1400 LET B = B + 1
1410 IF B < 7 GOTO 300
1420 LET B = 1
1430
1440
1450 LET C = C + 1
1460 IF C < 7 GOTO 300
1470 LET C = 1
1480
1490
1500 LET D = D + 1
1510 IF D < 7 GOTO 300
1520 LET D = 1
1530
1540
1550 LET E = E + 1
1560 IF E < 7 GOTO 300
1570 LET E = 1
1580
1590
1600 LET F = F + 1
1610 IF F < 7 GOTO 300
1620
1630
1640
1650 END
如果你沒有一個BASIC編譯器(我使用QB64),彈出代碼到Qloud這裏:http://www.qb64.net/並按運行
你應該學習Python。它是現代的,並且很容易。 – ooga
感謝您的回覆。如果我要求將一個短語翻譯成法語,那麼你的答案就像告訴我試試德語一樣。我很欣賞BASIC已經過時,但這是我所知道的。爲什麼不告訴我一個可能有用的部分代碼示例,而不是告訴我用我不知道的語言重新編碼。我相信他們必須在語法結構之間有一些相似之處 - 如果我能夠掌握如何用一種語言完成它,我可以使用它來更新我的原始程序或掌握新的語言語言。 – Escribblings
我是唯一一個對你說過什麼話的人。這是我第一次在這個網站上看到BASIC的古代形式。絕對沒有人再用它來做任何事情。我的評論可能是你要到這裏來的。 – ooga