This page illustrates the advancement in human factors engineering needed to satisfy the expectations of today's computer users. The code below is part of a BASIC program which plays Yahtzee. Both this page and the code below are intended to handle the dice rolling functionality of that game.

Which would you rather interact with?
100 H=0:PRINT:A=A+1:IF A<>N+1 THEN 105
104 A=1
105 FOR B=1 TO 5:C(B)=INT(6*RND(1))+1:NEXT B:PRINT
110 PRINT:PRINT A$(A);"'S NUMBERS:  ";:H=H+1
115 PRINT C(1);C(2);C(3);C(4);C(5):IF H=3 THEN 210

120 PRINT "HOW MANY DICE TO CHANGE";:INPUT E
125 IF E<>25 THEN 130
127 GOSUB 1020:GOTO 120
130 IF E>5 THEN 120
135 IF E<0 THEN 120
137 IF INT(E)<>E THEN 120
140 IF E=0 THEN 210
143 IF E=5 THEN 105

145 FOR F3=1 TO 4:F(F3)=0:NEXT F3
150 PRINT "WHICH DICE TO CHANGE";
155 ON E GOTO 160,165,170,175
160 INPUT F(1):GOTO 180
165 INPUT F(1),F(2):GOTO 180
170 INPUT F(1),F(2),F(3):GOTO 180
175 INPUT F(1),F(2),F(3),F(4)
180 FOR F1=1 TO 4:F(F1)=INT(F(F1)):IF F(F1)>5 THEN 150
185 IF F(F1)<0 THEN 150
187 NEXT F1
190 FOR F2=1 TO 4:IF F(F2)=0 THEN 200
195 C(F(F2))=INT(6*RND(1))+1
200 NEXT F2
205 GOTO 110

210 PRINT A$(A);" -- SCOREBOARD NUMBER";