CONST BallDiam%%
= 60, PinRad%%
= 7, Spacing%%
= BallDiam%%
+ 2 * PinRad%%
+ 6, XScreen%
= 900, YScreen%
= 700 H!
= Spacing%%
* SQR(3 / 4)
TempImg&
= _NEWIMAGE(BallDiam%%
, BallDiam%%
, 32)Ball& = MakeHardware&(TempImg&)
TempImg&
= _NEWIMAGE(PinRad%%
* 2 + 1, PinRad%%
* 2 + 1, 32) CIRCLE (PinRad%%
, PinRad%%
), N%%
, _RGB32(CINT(181 * (N%%
+ 5) / (PinRad%%
+ 5)), CINT(166 * (N%%
+ 5) / (PinRad%%
+ 5)), CINT(66 * (N%%
+ 5) / (PinRad%%
+ 5))) PAINT (PinRad%%
, PinRad%%
), _RGB32(CINT(181 * (N%%
+ 5) / (PinRad%%
+ 5)), CINT(166 * (N%%
+ 5) / (PinRad%%
+ 5)), CINT(66 * (N%%
+ 5) / (PinRad%%
+ 5))) Pin& = MakeHardware&(TempImg&)
XPosn%% = 0: YPosn%% = 0
'_PUTIMAGE (287, 502), Ball&
_PUTIMAGE (CINT((XScreen%
- BallDiam%%
+ (XPosn%%
* Spacing%%
)) \
2), 40 + CINT(H!
* YPosn%%
) - (BallDiam%% \
2)), Ball&
'_PUTIMAGE (350, 40), Pin&
'FOR N%% = 0 TO 7 'no. of rows !!! TBF
' FOR M%% = -(N%% + 1) TO N%% + 1
' _PUTIMAGE ((XScreen% \ 2) - (Spacing%% * (N%% + 1) / 2) + Spacing%% / 2 + M%% * Spacing%% - PinRad%%, 40 + H! * N%%), Pin&
' NEXT M%%
'NEXT N%%
FOR N%%
= 0 TO 8 'no. of rows !!! TBF _PUTIMAGE ((XScreen% \
2) + CINT(M%%
* Spacing%%
/ 2) - PinRad%%
, 40 - PinRad%%
+ CINT(H!
* N%%
)), Pin&
YPosn%% = YPosn%% + 1
XPosn%% = XPosn%% - 1
XPosn%% = XPosn%% + 1
Pascal%(4 + XPosn%% / 2) = Pascal%(4 + XPosn%% / 2) + 1
XPosn%% = 0: YPosn%% = 0