Bitmap/Flood fill: Difference between revisions

Applesoft BASIC
mNo edit summary
(Applesoft BASIC)
Line 313:
end;
end;</lang>
=={{header|Applesoft BASIC}}==
 
<lang gwbasic> 100 GR:GOSUB 330"DRAW THE DEATH STAR"
110 COLOR= 12
120 X = 20:Y = 30: GOSUB 140"FLOOD FILL"
130 END
140 C = SCRN( X,Y)
150 X(S) = X:Y(S) = Y:S = S + 1
160 FOR S = 0 TO 0 STEP - 1
170 X = X(S):Y = Y(S)
180 LX = X
190 IF SCRN( LX - 1,Y) = C THEN PLOT LX - 1,Y:LX = LX - 1: GOTO 190
200 IF SCRN( X,Y) = C THEN PLOT X,Y:X = X + 1: GOTO 200
210 X1 = LX:X2 = X - 1:YP = Y + 1: GOSUB 250"SCAN"
220 X1 = LX:X2 = X - 1:YP = Y - 1: GOSUB 250"SCAN"
230 NEXT S
240 RETURN
250 TRUE = NOT FALSE
260 ADDED = FALSE
270 FOR XP = X1 TO X2:
280 INSIDE = SCRN( XP,YP) = C
290 IF NOT INSIDE THEN ADDED = FALSE
300 IF INSIDE AND NOT ADDED THEN X(S) = XP:Y(S) = YP:S = S + 1:ADDED = TRUE
310 NEXT XP
320 RETURN
330 COLOR= 15: CX = 20:CY = 20:R = 18: GOSUB 350"CIRCLE"
340 COLOR= 0: CX = 15:CY = 15:R = 6
350 F = 1 - R:X = 0:Y = R:DX = 0:DY = - 2 * R:PLOT CX,CY + R:PLOT CX,CY - R:HLIN CX - R,CX + R AT CY: IF X > = Y THEN RETURN
360 FOR I = 0 TO 1:IF F > = 0 THEN Y = Y - 1:DY = DY + 2:F = F + DY
370 X = X + 1:DX = DX + 2:F = F + DX + 1:HLIN CX - X,CX + X AT CY + Y:HLIN CX - X,CX + X AT CY - Y:HLIN CX - Y,CX + Y AT CY + X:HLIN CX - Y,CX + Y AT CY - X: I = X > = Y : NEXT I : RETURN</lang>
=={{header|AutoHotkey}}==
* <code>x</code>, <code>y</code> are the initial coords (relative to screen unless the <code>relative</code> parameter is true).
413

edits