【发布时间】:2014-04-27 22:42:13
【问题描述】:
好的,首先我用 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。它既现代又简单。
-
感谢您的帮助。如果我要求将一个短语翻译成法语,您的回答就像是告诉我改用德语。我很欣赏 BASIC 已经过时,但这是我所知道的。为什么不向我展示一个可能有用的部分代码示例,而不仅仅是告诉我用我不知道的语言重新编码。我确信它们在语法结构之间一定有一些相似之处——如果我能掌握如何用一种语言完成它,我可能能够使用它来更新我的原始程序或掌握新的程序语言。
-
我是唯一一个懒得和你说什么的人。这是我第一次在这个网站上看到一个古形式的 BASIC。绝对没有人再将它用于任何事情。我的评论可能就是你要到这里的全部内容。
-
如果我听错了,我很抱歉。那么让我们忽略语言。您将如何在 python 中进行此操作,-顺便说一句,QB64 是 Microsoft 为 64 位机器编写的最新版 Q Basic。
-
已接受道歉!对不起,我自己很狡猾。 QB 不是行号基本(据我所知)。是行号和 goto 让我大吃一惊。我会看看我能做些什么来让你了解这在 python 中的外观。
标签: arrays sorting counting basic