Random demo
Random game
Random demo
  • Entry name:
     Doodle 
  • Category:
    Graphics
  • Publisher/Developer:
    SoftSide Publications
  • Year:
    1983
  • Code:
    Scott Berfield
  • Controllers:
    Joystick
  • Programming language:
    Atari BASIC
source: Doodle Doodle Doodle Doodle Doodle Doodle
Listing 1
0 REM ******************************
1 REM *                            *
2 REM *        Atari  BASIC        *
3 REM *          "Doodle"          *
4 REM * Program by: Scott Berfield *
5 REM *                            *
6 REM *     Copyright (c) 1983     *
7 REM * SoftSide Publications, Inc *
8 REM *                            *
9 REM ******************************
10 GRAPHICS 0:​POKE 752,​1:​?:​GOTO 270
20 Z=PEEK(704):​POKE 77,​0:​IF Z<>255 THEN POKE 764,​255:​GOSUB 90
30 IF STRIG(0)=0 THEN 200
40 XP=XP+XD(STICK(0)):​YP=YP+YD(STICK(0)):​IF XP<0 THEN XP=79
50 IF XP>79 THEN XP=0
60 IF YP>160 THEN YP=0
70 IF YP<0 THEN YP=160
80 COLOR ABS(C-CMAX):​PLOT XP,​YP:​COLOR C:​PLOT XP,​YP:​GOTO 20
90 IF Z=6 THEN 140
100 IF Z=35 THEN GRAPHICS 0:​B=BMIN:​C=CMIN:​GOTO 330
110 OB=B:​OB1=B+1:​OC=C:​B=B+2:​C=C+1:​IF C>CMAX THEN C=CMIN
120 IF B>BMAX THEN B=BMIN
130 GOTO 160
140 OB=B:​OB1=B+1:​OC=C:​B=B-2:​C=C-1:​IF C<CMIN THEN C=CMAX
150 IF B<BMIN THEN B=BMAX
160 COLOR OC:​PLOT BAR(OB),​183:​DRAWTO BAR(OB1),​183
170 IF C<INT(0.5*CMAX) THEN COLOR CMAX
180 IF C>=INT(0.5*CMAX) THEN COLOR CMIN
190 PLOT BAR(B),​183:​DRAWTO BAR(B+1),​183:​COLOR C:​RETURN
200 IF STRIG(0) THEN 20
210 XP=XP+XD(STICK(0)):​YP=YP+YD(STICK(0)):​IF XP>78 THEN XP=1
220 IF XP<1 THEN XP=78
230 IF YP<1 THEN YP=159
240 IF YP>159 THEN YP=1
250 PLOT XP-1,​YP-1:​DRAWTO XP+1,​YP-1:​PLOT XP+1,​YP:​DRAWTO XP-1,​YP:​PLOT XP-1,​YP+1:​DRAWTO XP+1,​YP+1
260 GOTO 200
270 DIM XD(15),​YD(15),​BAR(32),​C(8)
280 CMIN=0:​FOR I=1 TO 15:​READ N:​XD(I)=N:​READ N:​YD(I)=N:​NEXT I
290 DATA 0,​0,​0,​0,​0,​0,​0,​0,​1,​1,​1,​-1,​1,​0,​0,​0,​-1,​1,​-1,​-1,​-1,​0,​0,​0,​0,​1,​0,​-1,​0,​0
300 FOR Q=1 TO 32:​READ L:​BAR(Q)=L:​NEXT Q
310 DATA 8,​11,​12,​15,​16,​19,​20,​23,​24,​27,​28,​31,​32,​35,​36,​39,​40,​43,​44,​47,​48,​51,​52,​55,​56,​59,​60,​63,​64,​67,​68,​71
320 ? CHR$(125);"INSTRUCTIONS?":​OPEN #1,​4,​0,​"K:​":​GET #1,​A:​CLOSE #1:​IF A=89 THEN 600
330 GRAPHICS 0:​? CHR$(125);"ENTER GRAPHICS MODE(9,​10,​11)";:​INPUT M
340 IF M=11 THEN ? "WHAT LUMINANCE";:​INPUT L:​BMIN=1:​BMAX=31:​CMAX=15:​GRAPHICS M:​SETCOLOR 4,​0,​L:​B=BMIN:​GOTO 390
350 IF M=9 THEN ? "WHAT BACKGROUND COLOR";:​INPUT BC:​BMIN=1:​BMAX=31:​CMAX=15:​GRAPHICS M:​SETCOLOR 4,​BC,​0:​B=1:​GOTO 390
360 GRAPHICS 0:​? "GRAPHICS 10 ALLOWS YOU TO USE ANY":​? "9 OF THE 128 POSSIBLE ATARI COLORS."
365 ? "THE BACKGROUND IS SET BY THE FIRST ":​? "COLOR YOU CHOOSE."
370 FOR Q=0 TO 8
372 POSITION 2,​15:​? CHR$(156);CHR$(156);CHR$(156);"COLOR #";Q;" HUE,​LUMINANCE";:​INPUT H,​L
374 IF H<0 OR L<0 OR H>15 OR L>15 THEN 372
376 C(Q)=H*16+L:​NEXT Q
380 BMIN=9:​BMAX=25:​CMAX=8:​GRAPHICS 10:​FOR Q=704 TO 712:​POKE Q,​C(Q-704):​NEXT Q:​B=BMIN
390 C=CMIN:​COLOR C:​FOR I=BAR(BMIN) TO BAR(BMAX) STEP 4:​FOR J=0 TO 3:​PLOT I+J,​168:​DRAWTO I+J,​183:​NEXT J
400 C=C+1:​COLOR C:​NEXT I:​C=CMIN
410 COLOR C:​XP=39:​YP=95:​PLOT XP,​YP:​COLOR ABS(C-CMAX):​PLOT BAR(BMIN),​183:​DRAWTO BAR(BMIN+1),​183:​GOTO 20
600 ? CHR$(125);" WHEN THEN SCREEN IS SET UP YOU":​? "WILL SEE A PALETTE BAR AT THE BOTTOM"
610 ? "WITH A BLINKING DOT IN THE MIDDLE OF":​? "THE SCREEN.":​?
615 ? " TO CHOOSE A COLOR PRESS THE LEFT":​? "OR RIGHT ARROW KEYS UNTIL THE MARKER"
620 ? "IS BENEATH THE COLOR YOU WANT. THE":​? "CURSOR WILL THEN CHANGE TO THE COLOR":​? "OF YOUR CHOICE."
630 ?:​? " TO DRAW,​ JUST PICK THE COLOR YOU":​? "WANT AND MOVE THE JOYSTICK. TO DRAW"
640 ? "WITH A THICKER LINE,​ HOLD DOWN THE":​? "TRIGGER WHILE MOVING THE JOYSTICK."
650 ?:​? " IF YOU WANT TO START OVER,​ JUST":​? "PRESS 'N' AT ANY TIME."
660 POSITION 9,​21:​? "PRESS RETURN TO START"
670 OPEN #1,​4,​0,​"K:​":​GET #1,​R:​CLOSE #1:​GOTO 330	

This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page, please contact me immediatelly so I can remove it!