_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

NUMBER GAME

FILE INFORMATION

FILENAME(S): NUMBER GAME

FILE TYPE(S): DEL

FILE SIZE: 1.7K

FIRST SEEN: 2025-11-30 21:28:29

APPEARS ON: 1 disk(s)

FILE HASH

b0cc860f255b9f74e52f53e90095e3ab4b2bcd20e0a7d14659a8111cfe0d06b8

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
DDSC SOFT RUN NUMBER GAME DEL DuncanTwain 33 0 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 00 40 28 2A 20 27 C7 55  45 53 53 20 54 48 45 20  |.@(* '.UESS THE |
00000010: 4E 55 4D 42 45 52 53 27  20 47 41 4D 45 0D 10 83  |NUMBERS' GAME...|
00000020: C1 55 54 48 4F 52 3A 20  CE 49 43 4B 20 C7 41 4D  |.UTHOR: .ICK .AM|
00000030: 4D 4F 4E 0D 10 83 9A C3  4F 4D 4D 4F 44 4F 52 45  |MON.....OMMODORE|
00000040: 20 36 34 20 C7 2D D0 41  53 43 41 4C 20 2A 29 0D  | 64 .-.ASCAL *).|
00000050: 0D 82 0D 10 85 54 52 55  45 20 3D 20 31 3B 0D 10  |.....TRUE = 1;..|
00000060: 85 46 41 4C 53 45 20 3D  20 30 3B 0D 10 85 43 52  |.FALSE = 0;...CR|
00000070: 20 3D 20 31 33 3B 0D 10  85 48 4F 4D 45 20 3D 20  | = 13;...HOME = |
00000080: 31 34 37 3B 0D 10 85 4E  55 4D 44 49 47 49 54 53  |147;...NUMDIGITS|
00000090: 20 3D 20 34 3B 0D 10 85  4C 41 52 47 45 53 54 44  | = 4;...LARGESTD|
000000A0: 49 47 49 54 20 3D 20 39  3B 0D 0D 83 43 48 20 3A  |IGIT = 9;...CH :|
000000B0: 20 A1 3B 0D 10 84 4E 55  4D 42 45 52 20 3A 20 84  | .;...NUMBER : .|
000000C0: 5B 4E 55 4D 44 49 47 49  54 53 5D 0D 10 8D 85 A1  |[NUMDIGITS].....|
000000D0: 3B 0D 10 84 4E 55 4D 42  45 52 5F 42 4C 41 43 4B  |;...NUMBER_BLACK|
000000E0: 2C 0D 10 84 4E 55 4D 42  45 52 5F 57 48 49 54 45  |,...NUMBER_WHITE|
000000F0: 2C 0D 10 84 47 55 45 53  53 45 53 20 3A 20 FE 3B  |,...GUESSES : .;|
00000100: 0D 0D 86 49 4E 49 54 49  41 4C 49 5A 45 3B 0D 28  |...INITIALIZE;.(|
00000110: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000120: 2A 2A 2A 29 0D 82 46 52  45 51 55 45 4E 43 59 20  |***)..FREQUENCY |
00000130: 3D 20 31 3B 0D 10 86 4E  4F 49 53 45 20 3D 20 31  |= 1;...NOISE = 1|
00000140: 34 3B 0D 88 0D 10 82 E1  28 33 2C 20 4E 4F 49 53  |4;......(3, NOIS|
00000150: 45 2C 20 54 52 55 45 2C  0D 10 89 33 2C 20 46 52  |E, TRUE,...3, FR|
00000160: 45 51 55 45 4E 43 59 2C  20 35 30 30 30 30 29 0D  |EQUENCY, 50000).|
00000170: 89 3B 20 28 2A 20 49 4E  49 54 49 41 4C 49 5A 45  |.; (* INITIALIZE|
00000180: 20 2A 29 0D 0D 86 43 52  45 41 54 45 5F 4E 55 4D  | *)...CREATE_NUM|
00000190: 42 45 52 3B 0D 28 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |BER;.(**********|
000001A0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 29 0D 83 49 20  |***********)..I |
000001B0: 3A 20 FE 3B 0D 88 0D 10  82 9A 49 20 3A 3D 20 31  |: .;......I := 1|
000001C0: 20 9B 4E 55 4D 44 49 47  49 54 53 20 97 0D 10 84  | .NUMDIGITS ....|
000001D0: 4E 55 4D 42 45 52 20 5B  49 5D 20 3A 3D 20 22 30  |NUMBER [I] := "0|
000001E0: 22 20 2B 0D 10 90 EF 8C  0D 10 90 28 4C 41 52 47  |" +........(LARG|
000001F0: 45 53 54 44 49 47 49 54  20 2B 20 31 29 0D 89 3B  |ESTDIGIT + 1)..;|
00000200: 20 28 2A 20 43 52 45 41  54 45 5F 4E 55 4D 42 45  | (* CREATE_NUMBE|
00000210: 52 20 2A 29 0D 0D 86 50  4C 41 59 3B 0D 28 2A 2A  |R *)...PLAY;.(**|
00000220: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 29 0D 83 55 53  |***********)..US|
00000230: 45 52 20 3A 20 84 5B 4E  55 4D 44 49 47 49 54 53  |ER : .[NUMDIGITS|
00000240: 5D 0D 10 8B 85 A1 3B 0D  10 84 4E 4F 54 42 41 44  |].....;...NOTBAD|
00000250: 2C 0D 10 84 49 2C 0D 10  84 4A 20 3A 20 FE 3B 0D  |,...I,...J : .;.|
00000260: 10 84 55 53 45 44 20 3A  20 84 5B 4E 55 4D 44 49  |..USED : .[NUMDI|
00000270: 47 49 54 53 5D 0D 10 8B  85 FE 3B 0D 88 0D 10 82  |GITS].....;.....|
00000280: 4E 55 4D 42 45 52 5F 57  48 49 54 45 20 3A 3D 20  |NUMBER_WHITE := |
00000290: 30 3B 0D 10 82 4E 55 4D  42 45 52 5F 42 4C 41 43  |0;...NUMBER_BLAC|
000002A0: 4B 20 3A 3D 20 30 3B 0D  10 82 9D 28 22 D9 4F 55  |K := 0;....(".OU|
000002B0: 52 20 47 55 45 53 53 3F  20 22 29 3B 0D 10 82 9E  |R GUESS? ");....|
000002C0: 28 55 53 45 52 29 3B 0D  10 82 4E 4F 54 42 41 44  |(USER);...NOTBAD|
000002D0: 20 3A 3D 20 55 53 45 52  20 5B 4E 55 4D 44 49 47  | := USER [NUMDIG|
000002E0: 49 54 53 5D 20 3D 20 43  52 3B 0D 10 82 49 20 3A  |ITS] = CR;...I :|
000002F0: 3D 20 30 3B 0D 10 82 96  4E 4F 54 42 41 44 20 8D  |= 0;....NOTBAD .|
00000300: 28 49 20 3C 20 4E 55 4D  44 49 47 49 54 53 29 20  |(I < NUMDIGITS) |
00000310: 97 0D 10 84 88 0D 10 84  4E 4F 54 42 41 44 20 3A  |........NOTBAD :|
00000320: 3D 20 28 55 53 45 52 20  5B 49 5D 20 3E 3D 20 22  |= (USER [I] >= "|
00000330: 30 22 29 20 8D 0D 10 8E  28 55 53 45 52 20 5B 49  |0") ....(USER [I|
00000340: 5D 20 3C 3D 20 22 30 22  20 2B 0D 10 8F 4C 41 52  |] <= "0" +...LAR|
00000350: 47 45 53 54 44 49 47 49  54 29 3B 0D 10 84 49 20  |GESTDIGIT);...I |
00000360: 3A 3D 20 49 20 2B 20 31  0D 10 84 89 3B 0D 10 82  |:= I + 1....;...|
00000370: 92 90 4E 4F 54 42 41 44  20 93 0D 10 84 88 0D 10  |..NOTBAD .......|
00000380: 84 FF 28 22 C9 4C 4C 45  47 41 4C 20 49 4E 50 55  |..(".LLEGAL INPU|
00000390: 54 2C 20 54 52 59 20 41  47 41 49 4E 22 29 3B 0D  |T, TRY AGAIN");.|
000003A0: 10 84 50 4C 41 59 0D 10  84 89 0D 10 82 94 0D 10  |..PLAY..........|
000003B0: 84 88 0D 10 84 9A 49 20  3A 3D 20 31 20 9B 4E 55  |......I := 1 .NU|
000003C0: 4D 44 49 47 49 54 53 20  97 0D 10 86 88 0D 10 86  |MDIGITS ........|
000003D0: 92 4E 55 4D 42 45 52 20  5B 49 5D 20 3D 20 55 53  |.NUMBER [I] = US|
000003E0: 45 52 20 5B 49 20 2D 20  31 5D 20 93 0D 10 88 88  |ER [I - 1] .....|
000003F0: 0D 10 88 4E 55 4D 42 45  52 5F 57 48 49 54 45 20  |...NUMBER_WHITE |
00000400: 3A 3D 20 4E 55 4D 42 45  52 5F 57 48 49 54 45 20  |:= NUMBER_WHITE |
00000410: 2B 20 31 3B 0D 10 88 55  53 45 44 20 5B 49 5D 20  |+ 1;...USED [I] |
00000420: 3A 3D 20 54 52 55 45 0D  10 88 89 0D 10 86 94 0D  |:= TRUE.........|
00000430: 10 88 55 53 45 44 20 5B  49 5D 20 3A 3D 20 46 41  |..USED [I] := FA|
00000440: 4C 53 45 0D 10 86 89 3B  0D 10 84 9A 49 20 3A 3D  |LSE....;....I :=|
00000450: 20 31 20 9B 4E 55 4D 44  49 47 49 54 53 20 97 0D  | 1 .NUMDIGITS ..|
00000460: 10 86 88 0D 10 86 4A 20  3A 3D 20 31 3B 0D 10 86  |......J := 1;...|
00000470: 96 4A 20 3C 3D 20 4E 55  4D 44 49 47 49 54 53 20  |.J <= NUMDIGITS |
00000480: 97 0D 10 88 88 0D 10 88  92 28 55 53 45 52 20 5B  |.........(USER [|
00000490: 49 20 2D 20 31 5D 20 3D  20 4E 55 4D 42 45 52 20  |I - 1] = NUMBER |
000004A0: 5B 4A 5D 29 0D 10 88 8D  28 49 20 3C 3E 20 4A 29  |[J])....(I <> J)|
000004B0: 0D 10 88 8D 90 55 53 45  44 20 5B 4A 5D 20 93 0D  |.....USED [J] ..|
000004C0: 10 8A 88 0D 10 8A 4E 55  4D 42 45 52 5F 42 4C 41  |......NUMBER_BLA|
000004D0: 43 4B 20 3A 3D 20 4E 55  4D 42 45 52 5F 42 4C 41  |CK := NUMBER_BLA|
000004E0: 43 4B 20 2B 20 31 3B 0D  10 8A 55 53 45 44 20 5B  |CK + 1;...USED [|
000004F0: 4A 5D 20 3A 3D 20 54 52  55 45 3B 0D 10 8A 4A 20  |J] := TRUE;...J |
00000500: 3A 3D 20 4E 55 4D 44 49  47 49 54 53 0D 10 8A 89  |:= NUMDIGITS....|
00000510: 3B 0D 10 88 4A 20 3A 3D  20 4A 20 2B 20 31 0D 10  |;...J := J + 1..|
00000520: 88 89 0D 10 86 89 0D 10  84 89 0D 89 3B 20 28 2A  |............; (*|
00000530: 20 50 4C 41 59 20 2A 29  0D 0D 88 20 28 2A 20 4D  | PLAY *)... (* M|
00000540: 41 49 4E 20 50 52 4F 47  52 41 4D 20 2A 29 0D 10  |AIN PROGRAM *)..|
00000550: 82 49 4E 49 54 49 41 4C  49 5A 45 3B 0D 10 82 98  |.INITIALIZE;....|
00000560: 0D 10 84 9D 28 AB 28 48  4F 4D 45 29 29 3B 0D 10  |....(.(HOME));..|
00000570: 84 43 52 45 41 54 45 5F  4E 55 4D 42 45 52 3B 0D  |.CREATE_NUMBER;.|
00000580: 10 84 4E 55 4D 42 45 52  5F 57 48 49 54 45 20 3A  |..NUMBER_WHITE :|
00000590: 3D 20 30 3B 0D 10 84 47  55 45 53 53 45 53 20 3A  |= 0;...GUESSES :|
000005A0: 3D 20 30 3B 0D 10 84 96  4E 55 4D 42 45 52 5F 57  |= 0;....NUMBER_W|
000005B0: 48 49 54 45 20 3C 3E 20  4E 55 4D 44 49 47 49 54  |HITE <> NUMDIGIT|
000005C0: 53 20 97 0D 10 86 88 0D  10 86 50 4C 41 59 3B 0D  |S ........PLAY;.|
000005D0: 10 86 FF 28 4E 55 4D 42  45 52 5F 57 48 49 54 45  |...(NUMBER_WHITE|
000005E0: 2C 20 22 20 57 48 49 54  45 2C 20 22 2C 0D 10 8F  |, " WHITE, ",...|
000005F0: 4E 55 4D 42 45 52 5F 42  4C 41 43 4B 2C 20 22 20  |NUMBER_BLACK, " |
00000600: 42 4C 41 43 4B 2E 22 29  3B 0D 10 86 47 55 45 53  |BLACK.");...GUES|
00000610: 53 45 53 20 3A 3D 20 47  55 45 53 53 45 53 20 2B  |SES := GUESSES +|
00000620: 20 31 3B 0D 10 86 89 3B  0D 10 84 FF 3B 0D 10 84  | 1;....;....;...|
00000630: FF 28 22 C3 4F 52 52 45  43 54 21 22 29 3B 0D 10  |.(".ORRECT!");..|
00000640: 84 FF 28 22 D9 4F 55 20  54 4F 4F 4B 20 22 2C 47  |..(".OU TOOK ",G|
00000650: 55 45 53 53 45 53 2C 0D  10 8D 22 20 47 55 45 53  |UESSES,..." GUES|
00000660: 53 45 53 2E 22 29 3B 0D  10 84 FF 3B 0D 10 84 9D  |SES.");....;....|
00000670: 28 22 D4 52 59 20 41 47  41 49 4E 3F 20 22 29 3B  |(".RY AGAIN? ");|
00000680: 0D 10 84 9E 28 43 48 29  0D 10 82 99 43 48 20 3C  |....(CH)....CH <|
00000690: 3E 20 22 59 22 0D 89 2E  20 28 2A 20 4D 41 49 4E  |> "Y"... (* MAIN|
000006A0: 20 50 52 4F 47 52 41 4D  20 2A 29 0D 00           | PROGRAM *)..   |
.@(* 'GUESS THE NUMBERS' GAME...AUTHOR: 
NICK GAMMON....COMMODORE 64 G-PASCAL *).
.....TRUE = 1;...FALSE = 0;...CR = 13;..
.HOME = 147;...NUMDIGITS = 4;...LARGESTD
IGIT = 9;...CH : .;...NUMBER : .[NUMDIGI
TS].....;...NUMBER_BLACK,...NUMBER_WHITE
,...GUESSES : .;...INITIALIZE;.(********
***********)..FREQUENCY = 1;...NOISE = 1
4;......(3, NOISE, TRUE,...3, FREQUENCY,
 50000)..; (* INITIALIZE *)...CREATE_NUM
BER;.(*********************)..I : .;....
..I := 1 .NUMDIGITS ....NUMBER [I] := "0
" +........(LARGESTDIGIT + 1)..; (* CREA
TE_NUMBER *)...PLAY;.(*************)..US
ER : .[NUMDIGITS].....;...NOTBAD,...I,..
.J : .;...USED : .[NUMDIGITS].....;.....
NUMBER_WHITE := 0;...NUMBER_BLACK := 0;.
...("YOUR GUESS? ");....(USER);...NOTBAD
 := USER [NUMDIGITS] = CR;...I := 0;....
NOTBAD .(I < NUMDIGITS) ........NOTBAD :
= (USER [I] >= "0") ....(USER [I] <= "0"
 +...LARGESTDIGIT);...I := I + 1....;...
..NOTBAD .........("ILLEGAL INPUT, TRY A
GAIN");...PLAY................I := 1 .NU
MDIGITS .........NUMBER [I] = USER [I - 
1] ........NUMBER_WHITE := NUMBER_WHITE 
+ 1;...USED [I] := TRUE...........USED [
I] := FALSE....;....I := 1 .NUMDIGITS ..
......J := 1;....J <= NUMDIGITS ........
.(USER [I - 1] = NUMBER [J])....(I <> J)
.....USED [J] ........NUMBER_BLACK := NU
MBER_BLACK + 1;...USED [J] := TRUE;...J 
:= NUMDIGITS....;...J := J + 1..........
....; (* PLAY *)... (* MAIN PROGRAM *)..
.INITIALIZE;........(.(HOME));...CREATE_
NUMBER;...NUMBER_WHITE := 0;...GUESSES :
= 0;....NUMBER_WHITE <> NUMDIGITS ......
..PLAY;....(NUMBER_WHITE, " WHITE, ",...
NUMBER_BLACK, " BLACK.");...GUESSES := G
UESSES + 1;....;....;....("CORRECT!");..
..("YOU TOOK ",GUESSES,..." GUESSES.");.
...;....("TRY AGAIN? ");....(CH)....CH <
> "Y"... (* MAIN PROGRAM *)..
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL