This file is part of Miscellaneous Programs
. Download the collection to get this file.
Developer(s): Eric Burgess, Paul Holmgren
Date: 198x
Type: Program
Platform(s): TS 2068
Tags: Astronomy
Displays a constellation selected at random and asks for its name. You have 2 tries before the correct name is revealed to you.
Content
Source Code
10 GO SUB 8E3
20 LET L=INT (RND*28)+N1: IF L(L) THEN GO TO 50
30 CLS : GO TO 100*L
50 LET K=0: FOR F=N1 TO 28
60 IF L(F) THEN LET K=K+1
70 NEXT F
80 IF K=28 THEN GO TO 8999
90 GO TO 20
100 LET C$="PISCES": LET L(L)=N1
110 PRINT AT 5,5;"\a"''''" \a"'''TAB 7;"\a \a"'TAB 19;"\a \a \a"'"\a";TAB 23;"\a"'TAB 28;"\a";TAB 23;"\a \a"
120 GO SUB ASK: GO TO TEST
200 LET C$="ARIES": LET S$="HAMAL": LET L(L)=N1
210 IF fl THEN GO SUB STAR
220 PRINT AT 6,23;"\a";TAB 22;"\a"''TAB 26;"\a";TAB 12;"\a"'TAB 13;"\a";TAB 11;"\a"
230 PRINT AT 15,25;"X";TAB 9;"\a";TAB 28;"*";TAB 5;"\a";TAB 28;"\a"
240 IF fl THEN PRINT AT 15,25; FLASH N1;"X": GO TO STAR1
250 GO SUB ASK: GO TO 210
300 LET C$="TAURUS": LET S$="ALDEBARAN": LET L(L)=N1
310 IF fl THEN GO SUB STAR
320 PRINT AT 3,0;"*"'''TAB 24;"\a::"''TAB 6;"\a"'"*"''TAB 13;"\a"'TAB 14;"\a\a"
330 PRINT AT 12,11;"X";AT 14,25;"\a \a";AT 16,29;"\a";TAB 23;"\a \a"
340 IF fl THEN PRINT AT 12,11; FLASH N1;"X": GO TO STAR1
350 GO SUB ASK: GO TO 310
400 LET C$="GEMINI": LET S$="CASTOR": LET L(L)=N1
410 IF fl THEN GO SUB STAR
420 PRINT AT 4,19;"\a"
430 PRINT AT 5,6;"X"''TAB 14;"\a"''" X"'TAB 7;"\a"'TAB 22;"*"'" \a"'TAB 12;"\a";TAB 29;"* *"," \a \a";AT 16,12;"*"'TAB 26;"X"''TAB 24;"*"
440 IF fl THEN PRINT AT 5,6; FLASH N1;"X": GO TO STAR1
450 GO SUB ASK: GO TO 410
500 LET C$="CANCER": LET L(L)=N1
510 PRINT AT 2,15;"\a";AT 8,15;"\a"';TAB 19;"\a";AT 12,15;"\a";TAB 26;"\a";AT 16,11;"\a";AT 18,25;"\a"
520 GO SUB ASK: GO TO TEST
600 LET C$="URSA MAJOR": LET S$="DUBHE": LET L(L)=N1
610 IF fl THEN GO SUB STAR
620 PRINT AT 8,31;"\a"''TAB 25;"*";TAB 8;"*"'TAB 12;"* *"," *"'TAB 25;"*";TAB 18;"*"''TAB 18;"\a"''TAB 25;"\a"
630 IF fl THEN PRINT AT 10,25; FLASH N1;"*": GO TO STAR1
640 GO SUB ASK: GO TO 610
700 LET C$="LEO": LET S$="REGULUS": LET L(L)=N1
710 IF fl THEN GO SUB STAR
720 PRINT AT 4,26;"\a",;TAB 30;"*";TAB 21;"\a";AT 8,6;"* \a"," *","\a";AT 11,23;"\a"," *"'"*"
730 PRINT AT 14,22;"X";AT 16,4;"\a"," \a";TAB 28;"\a";TAB 10;"\a"''TAB 6;"\a"
740 IF fl THEN PRINT AT 14,22; FLASH N1;"X": GO TO STAR1
750 GO SUB ASK: GO TO 710
800 LET C$="VIRGO": LET S$="SPICA": LET L(L)=N1
810 IF fl THEN GO SUB STAR
820 PRINT AT 5,12;"*";AT 7,25;"\a",TAB 26;"\a \a";AT 10,14;"*"';TAB 30;"*"," \a"',"* *";AT 15,6;"\a";AT 19,4;"x"
830 IF fl THEN PRINT AT 19,4; FLASH 1;"X": GO TO STAR1
840 GO SUB ASK: GO TO 810
900 LET C$="URSA MINOR": LET S$="POLARIS": LET L(L)=N1
910 IF fl THEN GO SUB STAR
920 PRINT AT 7,22;"X"''TAB 19;"\a"''," \a"'''TAB 14;"\a *"'TAB 20;"\a"'," *";TAB 15;"*"
930 IF fl THEN PRINT AT 7,22; FLASH N1;"X": GO TO STAR1
940 GO SUB ASK: GO TO 910
1000 LET C$="PEGASUS": LET L(L)=N1
1010 PRINT AT 6,22;"\a";TAB 19;"*"'TAB 21;"\a"'TAB 22;"\a"'''TAB 8;"*",TAB 19;"*"'''TAB 23;"*"''TAB 28;"*"
1020 GO SUB ASK: GO TO TEST
1100 LET C$="BOOTES": LET S$="ARCTURUS": LET L(L)=N1
1110 IF FL THEN GO SUB STAR
1120 PRINT AT PI,21;"\a \a"''TAB 22;"\a"''," *"'TAB 20;"*"''TAB 14;"*"''TAB 21;"\a"''TAB 19;"*"'''TAB 25;"X"
1130 IF fl THEN PRINT AT 17,25; FLASH N1;"X": GO TO STAR1
1140 GO SUB ASK: GO TO 1110
1200 LET C$="AURIGA": LET S$="CAPELLA": LET L(L)=N1
1210 IF FL THEN GO SUB STAR
1220 PRINT AT 4,12;"\a"'''''," X";TAB 10;"*"'TAB 21;"\a"'''TAB 12;"\a\a"," \a\a";TAB 10;"*"''''TAB 22;"*"
1230 IF fl THEN PRINT AT 9,18; FLASH N1;"X": GO TO STAR1
1240 GO SUB ASK: GO TO 1210
1300 LET C$="CEPHEUS": LET L(L)=N1
1310 PRINT AT 5,18;"*"''''''TAB 24;"*"'',"*"''''TAB 25;"*"'TAB 30;"*";TAB 17;"*"
1320 GO SUB ASK: GO TO TEST
1400 LET C$="CASSIOPEIA": LET L(L)=N1
1410 PRINT AT 6,15;"\a";TAB 14;"\a"'''''TAB 11;"*"''''," * *";TAB 15;"*"'TAB 22;"\a"'TAB 24;"*"
1420 GO SUB ASK: GO TO TEST
1500 LET C$="HERCULES": LET L(L)=N1
1510 PRINT AT 5,18;"* \a \a";TAB 30;"\a";TAB 28;"\a"''TAB 26;"*";TAB 13;"* *"'''TAB 26;"*";TAB 11;"\a"," *";TAB 9;"\a \a"'TAB 13;"*"'TAB 19;"*"''" \a";TAB 30;"*"
1520 GO SUB ASK: GO TO TEST
1600 LET C$="PERSEUS": LET S$="ALGOL": LET L(L)=N1
1610 IF FL THEN GO SUB STAR
1620 PRINT AT 5,23;"\a"''," * \a"'''" \a"," X \a \a"'" \a"'TAB 8;"\a *"'TAB 22;"\a"'''TAB 14;"\a"'TAB 23;"*";TAB 11;"*"'TAB 24;"\a"
1630 IF FL THEN PRINT AT 17,23; FLASH N1;"*": GO SUB STAR1
1640 GO SUB ASK: GO TO 1610
1700 LET C$="CYGNUS": LET S$="DENEB": LET L(L)=N1
1710 IF FL THEN GO SUB STAR
1720 PRINT AT 2,30;"\a";TAB 28;"\a"'''TAB 20;"\a";TAB 20;"\a"'" \a X";TAB 26;"*";TAB 10;"\a"'TAB 11;"\a"'," *";TAB 7;"\a"''TAB 24;"\a";TAB 14;"\a \a"''''TAB 30;"*"
1730 IF FL THEN PRINT AT 8,15; FLASH N1;"X": GO SUB STAR1
1740 GO SUB ASK: GO TO 1710
1800 LET C$="ANDROMEDA": LET L(L)=N1
1810 PRINT AT 5,14;"\a"'TAB 15;"\a"''''TAB 9;"*"'TAB 14;"\a \a";TAB 23;"\a"''TAB 20;"* \a";TAB 26;"\a"'TAB 31;"*";TAB 26;"\a"
1820 GO SUB ASK: GO TO TEST
1900 LET C$="LYRA": LET S$="VEGA": LET L(L)=N1
1910 IF FL THEN GO SUB STAR
1920 PRINT AT 5,15;"\a"''''TAB 19;"\a";TAB 8;"\a";TAB 21;"X";TAB 7;"\a"," \a";TAB 15;"\a \a"''''," *";TAB 14;"*"
1930 IF FL THEN PRINT AT 10,21; FLASH N1;"X": GO SUB STAR1
1940 GO SUB ASK: GO TO 1910
2000 LET C$="CANIS MINOR": LET S$="PROCYON": LET L(L)=N1
2010 IF FL THEN GO SUB STAR
2020 PRINT AT 8,21;"\a"'TAB 22;"*"''',;"X"'''" \a"
2030 IF fl THEN PRINT AT 12,16; FLASH N1;"X": GO TO STAR1
2040 GO SUB ASK: GO TO 2010
2100 LET C$="AQUILA": LET S$="ALTAIR": LET L(L)=N1
2110 IF FL THEN GO SUB STAR
2120 PRINT AT PI,27;"\a";TAB 25;"*"'',"*";TAB 15;"X"'TAB 20;"\a";TAB 14;"*"''''TAB 14;"\a *";TAB 9;"*"''''TAB 27;"*"'TAB 29;"*"
2130 IF FL THEN PRINT AT 7,15; FLASH N1;"X": GO SUB STAR1
2140 GO SUB ASK: GO TO 2110
2200 LET C$="CANIS MAJOR": LET S$="SIRIUS": LET L(L)=N1
2210 IF FL THEN GO SUB STAR
2220 PRINT AT 5,17;"\a"'TAB 21;"X"''TAB 23;"\a *"'',"*"'TAB 12;"\a \a";TAB 14;"*";TAB 9;"*"'TAB 15;"*"''TAB 15;"\a";TAB 24;"*"''," \a"
2230 IF fl THEN PRINT AT 6,21; FLASH N1;"X": GO TO STAR1
2240 GO SUB ASK: GO TO 2210
2300 LET C$="ORION": LET S$="RIGEL": LET L(L)=N1
2310 IF FL THEN GO SUB STAR
2320 PRINT AT PI,7;"\a \a:";TAB 29;"\a"'TAB 30;"\a";TAB 9;"X";TAB 30;"\a"'," \a *";TAB 30;"\a"''TAB 15;"\a"'TAB 29;"\a \a"'''," *"',"*";TAB 14;"* \a"''TAB 15;"\a";TAB 15;":"'TAB 23;"X"'TAB 11;"*"
2330 IF fl THEN PRINT AT 18,23; FLASH N1;"X": GO TO STAR1
2340 GO SUB ASK: GO TO 2310
2400 LET C$="LIBRA": LET L(L)=N1
2410 PRINT AT 4,22;"\a";AT 9,18;"*"''TAB 7;"\a"'TAB 13;"\a";TAB 8;"\a"'TAB 23;"*";AT 19,18;"\a"
2420 GO SUB ASK: GO TO TEST
2500 LET C$="AQUARIUS": LET L(L)=N1
2510 PRINT AT 7,4;"* * *";TAB 8;"*"''TAB 21;"* \a"''" \a"'TAB 30;"\a";TAB 25;"\a"''" \a"''" *"
2520 GO SUB ASK: GO TO TEST
2600 LET C$="SCORPIO": LET S$="ANTARES": LET L(L)=N1
2610 IF fl THEN GO SUB STAR
2620 PRINT AT 2,26;"\a*"'TAB 29;"\a"'TAB 30;"*"'''TAB 23;"* *"
2630 PRINT AT 8,21;"X";TAB 20;"*";TAB 30;"*"''''" * **"," * \a";TAB 20;"\a";TAB 6;"*";TAB 5;"*"," *"'''TAB 8;"*";TAB 14;"*"
2640 IF fl THEN PRINT AT 8,21; FLASH N1;"X": GO TO STAR1
2650 GO SUB ASK: GO TO 2610
2700 LET C$="CAPRICORNUS": LET L(L)=N1
2710 PRINT AT 4,30;"*"''TAB 29;"*"''" * \a \a \a"''''TAB 7;"\a"'TAB 12;":"'," \a \a";TAB 15;"*"'''',"*"
2720 GO SUB ASK: GO TO TEST
2800 LET c$="STAGITTARIUS": LET L(L)=N1
2810 PRINT AT 4,9;"\a";TAB 9;"\a"''TAB 12;"* \a";TAB 14;"\a"''TAB 15;"*";TAB 25;"*"'," *";TAB 27;"\a";TAB 12;"*";TAB 29;"\a";TAB 13;"*";TAB 26;"*"'TAB 29;"*"'''TAB 24;"*"''TAB 25;"*"
2820 GO SUB ASK: GO TO TEST
5000 REM ASK
5010 INPUT "NAME THIS CONSTELLATION",;A$
5020 IF A$=C$ THEN GO TO 5080
5030 INPUT "SORRY, TRY AGAIN ";A$
5040 IF A$=C$ THEN GO TO 5080
5050 PRINT AT 20,N1;"STILL WRONG BUT NICE TRY": PAUSE 180
5060 PRINT AT N1,N1;" IT IS ";C$,;AT 20,N1;,,
5070 GO TO 5090
5080 PRINT AT N1,N1; FLASH N1;C$;" IS CORRECT"; FLASH 0,: PAUSE 180
5090 INPUT "PRESS ENTER TO CONTINUE ";A$
5100 LET FL=N1: RETURN
6000 REM STAR
6010 PRINT AT N1,N1;"NAME THIS STAR IN ";C$,: RETURN
6020 REM STAR1
6030 LET FL=0: INPUT A$
6040 IF A$=S$ THEN GO TO 6090
6050 INPUT "SORRY, TRY AGAIN ";A$
6060 IF A$=S$ THEN GO TO 6090
6070 PRINT AT N1,N1;"SORRY, THE STAR IS ";S$,
6080 GO TO TEST
6090 PRINT AT N1,N1;S$;" IS CORRECT.",;
6100 INPUT "ANOTHER TEST (Y/N) ";B$
7000 REM TEST
7010 INPUT "ANOTHER TEST (Y/N) ";B$
7020 IF B$="N" THEN CLS : PRINT AT 10,12; FLASH N1;"GOODBY": STOP
7030 IF AL=0 AND FL=N1 THEN LET FL=0
7040 LET AL=ABS (AL-N1)
7050 CLS : GO TO 20
8000 REM SETUP
8010 BORDER 0: PAPER 0: INK 7: CLS : READ n1,fl: DATA 1,0: DIM L(29)
8020 FOR a=0 TO 7: READ al: POKE USR "a"+a,al: NEXT a: DATA 0,0,0,20,8,20,0,0: PRINT ''TAB 6;"An Astronomy Program"
8030 PRINT 'TAB 12;"Tutorial"
8040 PRINT ''TAB 9;"CONSTELLATIONS"
8050 PLOT 68,122: DRAW 120,0: DRAW 0,-13: DRAW -120,0: DRAW 0,13
8060 PRINT ''"© Eric Burgess F.R.A.S.","© Mods By ""PEH SOFTWARE"""
8070 PRINT ''"All rights reserved by","S AND T Software Services"
8075 PRINT '"These are your stars: \a dim, * brighter, x the brightest."
8080 INPUT "Do you wish to see the programs instructions? ";a$: IF A$="" THEN GO TO 8080
8085 IF a$>="a" THEN PRINT FLASH n1;"Please put computer in CAPSLOCK.": GO TO 8090
8090 IF a$(N1)="Y" THEN GO TO 8120
8100 IF a$(N1)="N" THEN GO TO 8140
8110 GO TO 8080
8120 CLS : PRINT '"This program displays a","constellation selected at randomand asks for it's name."''"You have 2 tries before the correct name is revealed to you."
8130 PRINT '"Next the program asks for the name of a bright Star in the displayed constellation."''"Again you have 2 tries to name the Star before it's identified."''"Please pick either :","Constellations then the Stars or both mixed up."
8140 INPUT "SELECT: Constellations (1) OR Stars AND Constellations (2) ";AL
8150 LET AL=AL-1: IF al>1 THEN GO TO 8140
8160 LET ASK=5E3: LET STAR=6E3: LET STAR1=6020: LET TEST=7E3
8170 RETURN
8999 CLS : PRINT AT 10,0;"You have seen all the star fields in this quiz at least once. To repete this program please INPUT RUN ": STOP
9000 SAVE "star quiz" LINE PI: BEEP 1,10
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

