好的,首先我在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