home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
No Fragments Archive 10: Diskmags
/
nf_archive_10.iso
/
MAGS
/
ST_USER
/
1990
/
USERAP90.MSA
/
LISTINGS_CHEMV2.BAS
(
.txt
)
< prev
next >
Wrap
Atari STOS Basic
|
1990-02-05
|
68KB
|
1,033 lines
10 REM Chemistry for all
100 KEY
1000 MODE
10000 RETURN
10050 REM menu for questions
10100 INK
10150 LOCATE
10200 LOCATE
10250 LOCATE
10300 LOCATE
10350 LOCATE
10400 LOCATE
10450 LOCATE
1050 REM chemistry
10500 LOCATE
10550 BOX
10600 BOX
10650 BOX
10700 BOX
10750 BOX
10800 RETURN
10850 REM choose option for questions
10900 VARNAME
10950 VARNAME
1100 LOAD
11000 RETURN
11050 VARNAME
11100 IF
11150 IF
11200 IF
11250 IF
11300 IF
11350 IF
11400 IF
11450 IF
1150 LOAD
11500 IF
11550 RETURN
11600 REM option=2 choice=2 ATOMS
11650 GOSUB
11700 VARNAME
11750 INK
11800 INK
11850 INK
11900 GOSUB
11950 PRINT
1200 ERASE
12000 PRINT
12050 PRINT
12100 PRINT
12150 GOSUB
12200 GOSUB
12250 INK
12300 INK
12350 INK
12400 GOSUB
12450 PRINT
1250 ERASE
12500 PRINT
12550 PEN
12600 PEN
12650 PEN
12700 GOSUB
12750 GOSUB
12800 INK
12850 INK
12900 GOSUB
12950 PRINT
1300 ERASE
13000 PRINT
13050 PRINT
1310 ERASE
13100 PRINT
13150 GOSUB
13200 PRINT
13250 PRINT
13300 PRINT
13350 PRINT
13400 GOSUB
13450 GOSUB
1350 BLOAD
13500 INK
13550 INK
13600 CIRCLE
13650 INK
13700 INK
13750 CIRCLE
13800 GOSUB
13850 PRINT
13900 PRINT
13950 PRINT
1400 BLOAD
14000 PRINT
14050 PRINT
14100 GOSUB
14150 CLW
14200 PRINT
14250 PRINT
14300 PRINT
14350 GOSUB
14400 INK
14450 PLOT
1450 BLOAD
14500 PLOT
14550 PRINT
1460 BLOAD
14600 PRINT
14650 PRINT
14700 GOSUB
14750 INK
14800 PRINT
14850 PRINT
1490 EXTENSION (Index #3) (Token 0x80)
14900 PRINT
1492 EXTENSION (Index #3) (Token 0x98)
14950 GOSUB
15 REM Written for STuser Mag
1500 WAIT
15000 PRINT
15050 PRINT
1510 EXTENSION (Index #3) (Token 0x8a)
15100 PRINT
15150 PRINT
15200 PRINT
15250 GOSUB
15300 IF
15350 GOSUB
15400 RETURN
15450 REM option=2 choice=1 state
1550 DEFAULT
15500 GOSUB
15550 INK
15600 DRAW
15650 SPRITE
15700 INK
15750 VARNAME
15800 GOSUB
15850 PRINT
15900 PRINT
15950 PRINT
1600 CLICK
16000 CLW
16050 PRINT
16100 FOR
16150 INK
16200 IF
16250 FOR
16300 NEXT
16350 GOSUB
16400 SPRITE
16450 ANIM
1650 GOSUB
16500 PRINT
16550 INK
16600 FOR
16650 VARNAME
16700 VARNAME
16750 INK
16800 INK
16850 IF
16900 NEXT
16950 SPRITE
1700 REM build menus
17000 PRINT
17050 GOSUB
17100 IF
17150 GOSUB
17200 REM periodic table
17250 GOSUB
17300 VARNAME
17350 INK
17400 BAR
17450 INK
1750 MENU$
17500 GOSUB
17550 PRINT
17600 PRINT
17650 PRINT
17700 GOSUB
17750 INK
17800 CLW
17850 PRINT
17900 PRINT
17950 PRINT
1800 MENU$
18000 GOSUB
18050 CLW
18100 PRINT
18150 PRINT
18200 PRINT
18250 PRINT
18300 PRINT
18350 GOSUB
18400 CLW
18450 PRINT
1850 MENU$
18500 PRINT
18550 PRINT
18600 GOSUB
18650 IF
18700 GOSUB
18750 RETURN
18800 REM radioactivity
18850 GOSUB
18900 VARNAME
18950 INK
1900 MENU$
19000 INK
19050 GOSUB
19100 PRINT
19150 PRINT
19200 VARNAME
19250 GOSUB
19300 GOSUB
19350 CLW
19400 PRINT
19450 PRINT
1950 MENU$
19500 PRINT
19550 GOSUB
19600 PRINT
19650 PRINT
19700 PRINT
19750 VARNAME
19800 GOSUB
19850 GOSUB
19900 PRINT
19950 PRINT
20 REM Jan 1990
2000 MENU$
20000 GOSUB
20050 PRINT
20100 PRINT
20150 PRINT
20200 PRINT
20250 VARNAME
20300 GOSUB
20350 GOSUB
20400 PRINT
20450 PRINT
2050 MENU$
20500 PRINT
20550 GOSUB
20600 PRINT
20650 PRINT
20700 PRINT
20750 GOSUB
20800 PRINT
20850 PRINT
20900 FOR
20950 VARNAME
2100 MENU$
21000 VARNAME
21050 GOSUB
21100 NEXT
21150 PRINT
21200 VARNAME
21250 IF
21300 GOSUB
21350 RETURN
21400 REM atomic weight
21450 GOSUB
2150 MENU$
21500 VARNAME
21550 INK
21600 POLYGON
21650 PAPER
21700 LOCATE
21750 PAPER
21800 GOSUB
21850 PRINT
21900 PRINT
21950 PRINT
2200 MENU$
22000 PRINT
22050 CLW
22100 PRINT
22150 PRINT
22200 PRINT
22250 UNDER
22300 PRINT
22350 UNDER
22400 PRINT
22450 PRINT
2250 MENU$
22500 GOSUB
22550 IF
22600 GOSUB
22650 RETURN
22700 REM halogen gas
22750 GOSUB
22800 VARNAME
22850 INK
22900 POLYLINE
22950 LOCATE
2300 MENU$
23000 LOCATE
23050 LOCATE
23100 LOCATE
23150 LOCATE
23200 GOSUB
23250 PEN
23300 PRINT
23350 PRINT
23400 PRINT
23450 PRINT
2350 MENU$
23500 PRINT
23550 GOSUB
23600 CLW
23650 PRINT
23700 PRINT
23750 PRINT
23800 PRINT
23850 PRINT
23900 GOSUB
23950 IF
2400 MENU$
24000 GOSUB
24050 INK
24100 REM nobel gases
24150 GOSUB
24200 VARNAME
24250 INK
24300 POLYLINE
24350 LOCATE
24400 LOCATE
24450 LOCATE
2450 MENU$
24500 LOCATE
24550 LOCATE
24600 LOCATE
24650 PEN
24700 GOSUB
24750 PRINT
24800 PRINT
24850 PRINT
24900 PRINT
24950 GOSUB
25 REM Thanks to Mandarin Software making this possible
25000 PRINT
25050 PRINT
25100 PRINT
25150 PRINT
25200 GOSUB
25250 IF
25300 GOSUB
25350 INK
25400 STOP
25450 GOSUB
25500 VARNAME
2555 MENU$
25550 INK
25600 POLYLINE
25650 LOCATE
25700 LOCATE
25750 LOCATE
25800 LOCATE
25850 LOCATE
25900 LOCATE
25950 GOSUB
2600 MENU$
26000 PRINT
26050 PRINT
26100 PRINT
26150 GOSUB
26200 CLW
26250 PRINT
26300 PRINT
26350 PRINT
26400 PRINT
26450 PRINT
2650 MENU$
26500 GOSUB
26550 IF
26600 GOSUB
26650 INK
26700 REM trainistional elements
26750 GOSUB
26800 VARNAME
26850 INK
26900 POLYLINE
26950 FOR
2700 MENU$
27000 READ
27050 LOCATE
27100 NEXT
27150 FOR
27200 READ
27250 LOCATE
27300 NEXT
27350 INK
27400 GOSUB
27450 GOSUB
2750 MENU$
27500 VARNAME
27550 WINDEL
27600 INK
27650 POLYLINE
27700 INK
27750 GOSUB
27800 PRINT
27850 PRINT
27900 PRINT
27950 PRINT
2800 RETURN
28000 PRINT
28050 GOSUB
28151 CLW
28152 PRINT
28153 PRINT
28154 PRINT
28155 PRINT
28156 PRINT
28157 GOSUB
28158 IF
28159 GOSUB
28160 INK
28250 REM the air
28300 GOSUB
28350 VARNAME
28400 VARNAME
28450 GOSUB
2850 REM build variables for movement
28500 INK
28550 GOSUB
28600 GOSUB
28650 WINDEL
28700 GOSUB
28750 INK
28800 VARNAME
28850 GOSUB
28900 PRINT
28950 PRINT
2900 DIM
29000 PRINT
29050 PRINT
29100 PRINT
29150 PRINT
29200 GOSUB
29250 IF
29300 GOSUB
29350 RETURN
29400 REM draw the air pie
29450 VARNAME
2950 VARNAME
29500 INK
29550 INK
29600 INK
29650 INK
29700 LOCATE
29750 LOCATE
29800 LOCATE
29850 RETURN
29900 GOSUB
29950 VARNAME
30 REM bye STuser every month you cant beat it.
3000 FOR
30000 RESTORE
30002 VARNAME
30050 WHILE
30055 GOSUB
30100 READ
30110 VARNAME
30120 LOCATE
30130 LOCATE
30140 LOCATE
30150 LOCATE
30160 GOSUB
30170 GOSUB
30180 WINDEL
30190 WEND
30200 IF
30210 GOSUB
30220 RETURN
30399 REM ** Fly the ballon
30400 GOSUB
30410 INK
30411 BAR
30420 VARNAME
30421 INK
30422 INK
30423 INK
30424 INK
30425 INK
30430 LOCATE
30431 LOCATE
30432 LOCATE
30433 LOCATE
30434 LOCATE
30435 VARNAME
30440 WHILE
30450 SPRITE
30460 GOSUB
30480 WEND
30490 GOSUB
30495 RETURN
30499 REM test if sprite is off the screen
3050 VARNAME
30500 VARNAME
30550 VARNAME
30600 IF
30650 IF
30700 IF
30750 IF
30800 RETURN
30850 REM start the movement of the sprite
30900 MOVE
30950 VARNAME
3100 NEXT
31000 VARNAME
31050 MOVE Y
31100 MOVE X
31150 WAIT VBL
31200 RETURN
31250 REM subroutine to move a sprite
31300 WHILE
31350 VARNAME
31400 VARNAME
31450 IF
3150 VARNAME
31500 IF
31550 VARNAME
31600 SPRITE
31650 GOSUB
31700 UNKNOWN OP: 0x3A
31750 UNKNOWN OP: 0x3A
31800 UNKNOWN OP: 0x3A
31850 IF
31900 WEND
31950 RETURN
3200 VARNAME
32000 REM geiger clock
32050 VARNAME
32100 LOCATE
32150 VARNAME
32200 VARNAME
32250 BELL
32300 RETURN
32350 REM questions on atoms
32400 VARNAME
32450 VARNAME
3250 VARNAME
32500 GOSUB
32550 PRINT
32600 PRINT
32650 GOSUB
32700 VARNAME
32750 GOSUB
32800 VARNAME
32850 GOSUB
32900 PRINT
32950 PRINT
3300 VARNAME
33000 GOSUB
33050 VARNAME
33100 GOSUB
33150 VARNAME
33200 GOSUB
33250 PRINT
33300 PRINT
33350 GOSUB
33400 VARNAME
33450 GOSUB
3350 VARNAME
33500 VARNAME
33550 GOSUB
33600 PRINT
33650 PRINT
33700 GOSUB
33750 VARNAME
33800 GOSUB
33850 VARNAME
33900 VARNAME
33950 GOSUB
3400 VARNAME
34000 PRINT
34050 GOSUB
34100 VARNAME
34150 GOSUB
34200 VARNAME
34250 RETURN
34300 REM states questions
34350 VARNAME
34400 VARNAME
34450 VARNAME
3450 VARNAME
34500 GOSUB
34550 PRINT
34600 GOSUB
34650 VARNAME
34700 GOSUB
34750 VARNAME
34800 GOSUB
34850 PRINT
34900 GOSUB
34950 VARNAME
3500 VARNAME
35000 GOSUB
35050 GOSUB
3510 VARNAME
35100 PRINT
35150 GOSUB
35200 VARNAME
35250 GOSUB
35300 GOSUB
35350 PRINT
35400 GOSUB
35450 VARNAME
3550 VARNAME
35500 GOSUB
35550 VARNAME
35600 GOSUB
35650 PRINT
35700 GOSUB
35750 VARNAME
35800 GOSUB
35850 GOSUB
35900 PRINT
35950 GOSUB
3600 VARNAME
36000 VARNAME
36050 GOSUB
36100 GOSUB
36150 PRINT
36200 GOSUB
36250 VARNAME
36300 GOSUB
36350 VARNAME
36400 VARNAME
36450 RETURN
3650 VARNAME
36500 STOP
36550 REM atomic mass questions
36600 VARNAME
36650 VARNAME
36700 GOSUB
36750 PRINT
36800 PRINT
36850 GOSUB
36900 VARNAME
36950 GOSUB
3700 VARNAME
37000 VARNAME
37050 RETURN
37100 VARNAME
37150 VARNAME
37200 VARNAME
37250 VARNAME
37300 GOSUB
37350 PRINT
37400 PRINT
37450 GOSUB
3750 VARNAME
37500 VARNAME
37550 GOSUB
37600 VARNAME
37650 GOSUB
37700 PRINT
37750 PRINT
37800 GOSUB
37850 VARNAME
37900 GOSUB
37950 VARNAME
3800 VARNAME
38000 GOSUB
38050 PRINT
38100 GOSUB
38150 VARNAME
38200 GOSUB
38250 GOSUB
38300 PRINT
38350 PRINT
38400 GOSUB
38450 VARNAME
3850 VARNAME
38500 GOSUB
38550 VARNAME
38600 RETURN
38650 REM questions about radioactivity
38700 VARNAME
38750 VARNAME
38800 VARNAME
38850 GOSUB
38900 PRINT
38950 GOSUB
3900 VARNAME
39000 VARNAME
39050 GOSUB
39100 VARNAME
39150 GOSUB
39200 PRINT
39250 GOSUB
39300 VARNAME
39350 GOSUB
39400 VARNAME
39450 GOSUB
3950 FOR
39500 PRINT
39550 GOSUB
39600 VARNAME
39650 GOSUB
39700 VARNAME
39750 VARNAME
39800 GOSUB
39850 PRINT
39900 PRINT
39950 GOSUB
4000 IF
40000 VARNAME
40050 GOSUB
40100 VARNAME
40150 RETURN
40200 VARNAME
40250 VARNAME
40300 GOSUB
40350 PRINT
40400 PRINT
40450 GOSUB
4050 NEXT
40500 VARNAME
40550 GOSUB
40600 VARNAME
40650 GOSUB
40700 PRINT
40750 PRINT
40800 GOSUB
40850 VARNAME
40900 GOSUB
40950 VARNAME
4100 REM turn on the menu
41000 RETURN
41050 REM the Results !!!
41100 VARNAME
41150 GOSUB
41200 FOR
41250 PRINT
41300 IF
41350 PEN
41400 PRINT
41450 GOSUB
4150 GOSUB
41500 RETURN
41550 PEN
41600 RETURN
41650 REM simplfy question routines
41700 GOSUB
41750 GOSUB
41800 IF
41850 VARNAME
41900 RETURN
41950 REM wrong
4200 REM main loop
42000 LOCATE
42050 WAIT
42100 LOCATE
42150 VARNAME
42200 RETURN
42250 REM say choosen
42300 EXTENSION (Index #3) (Token 0x80)
42350 VARNAME
42400 EXTENSION (Index #3) (Token 0x8e)
42450 EXTENSION (Index #3) (Token 0x98)
4250 WHILE
42500 WAIT
42550 EXTENSION (Index #3) (Token 0x8a)
42600 RETURN
42650 REM clear the screen and print the header for questions
42700 CLS
42750 PEN
42800 PRINT
42850 PRINT
42900 REM clear the screen and print the header for questions
42950 RETURN
4300 VARNAME
43000 REM print a box and questions
43050 INK
43100 BOX
43150 LOCATE
43200 LOCATE
43250 LOCATE
43300 RETURN
43350 VARNAME
43400 IF
43450 IF
4350 VARNAME
43500 IF
43550 BELL
43600 RETURN
43650 VARNAME
43700 VARNAME
43750 IF
43800 IF
43850 RETURN
43900 REM continue subrotine
43950 PRINT
4400 IF
44000 VARNAME
44050 VARNAME
44100 IF
44150 IF
44200 VARNAME
44250 IF
44300 RETURN
44350 REM open a window for text
44400 WINDOPEN
44450 TITLE
4450 IF
44500 RETURN
44550 REM get rid of main menu
44600 MENU
44650 RETURN
44700 REM enable main menu
44750 MODE
44760 MENU
44800 REM turn element menu on
44849 REM subroutine for gas test
44850 LOCATE
44851 LOCATE
44852 BOX
44854 LOCATE
44856 BOX
44857 LOCATE
44858 LOCATE
44860 BOX
44861 LOCATE
44862 BOX
44863 LOCATE
44864 RETURN
44900 REM at end turn on stuff
44950 EXTENSION (Index #3) (Token 0x80)
44955 EXTENSION (Index #3) (Token 0x98)
44956 WAIT
44958 CURS
4500 IF
45000 LOCATE
45050 LOCATE
45100 LOCATE
45150 LOCATE
45200 LOCATE
45250 INK
45300 BOX
45350 BOX
45400 BOX
45450 LOCATE
4550 IF
45500 LOCATE
45550 LOCATE
45600 LOCATE
45650 LOCATE
45700 LOCATE
45750 REM clear screen and a window
45800 WINDEL
45850 CLS
45900 REM screen menu
45950 LOCATE
4600 IF
46000 LOCATE
46050 LOCATE
46100 LOCATE
46150 LOCATE
46200 LOCATE
46250 LOCATE
46300 INK
46350 BOX
46400 BOX
46450 BOX
4650 IF
46500 RETURN
46550 CLS
46600 DATA
46650 DATA
46700 DATA
46750 DATA
46800 DATA
46850 DATA
46900 DATA
46950 DATA
4700 IF
47000 DATA
47050 DATA
47100 DATA
47150 DATA
47200 DATA
47250 DATA
47300 DATA
47350 DATA
47400 DATA
47450 DATA
4750 IF
47500 DATA
47550 DATA
47600 DATA
47650 DATA
47700 DATA
47750 REM end session
47800 MENU
47810 EXTENSION (Index #3) (Token 0x98)
47820 WAIT
47830 EXTENSION (Index #3) (Token 0x8a)
47840 CURS
4800 IF
4850 IF
4900 IF
4950 IF
5000 IF
5050 IF
5100 IF
5150 IF
5160 IF
5200 WEND
5250 REM display the menus
5300 MODE
5350 RETURN
5400 REM introduction
5450 GOSUB
5500 GOSUB
5550 PRINT
55864 RETURN
55999 REM test for screen loc
5600 PRINT
56000 VARNAME
56010 VARNAME
56020 IF
56030 IF
56040 IF
56050 IF
56060 IF
56100 RETURN
5650 PRINT
5700 PRINT
57000 LOCATE
57010 WAIT
57020 LOCATE
57030 RETURN
5750 PRINT
57500 LOCATE
57510 FOR
57520 SPRITE
57525 WAIT
57530 NEXT
57540 LOCATE
57550 RETURN
5800 PRINT
5850 PRINT
5900 PRINT
5950 PRINT
6000 PRINT
6050 PRINT
6100 PRINT
6150 PRINT
6200 GOSUB
6250 CLS
6300 GOSUB
6350 PRINT
6400 PRINT
6450 PRINT
6500 PRINT
6550 PRINT
6600 PRINT
6650 PEN
6700 PRINT
6750 PRINT
6800 PRINT
6850 PRINT
6900 PRINT
6950 PRINT
7000 GOSUB
7050 GOSUB
7100 RETURN
7150 STOP
7200 CLS
7250 PRINT
7300 RETURN
7350 REM cycle through the information
7400 GOSUB
7450 VARNAME
7500 GOSUB
7550 IF
7600 IF
7650 IF
7700 IF
7750 IF
7800 IF
7850 IF
7900 IF
7950 IF
8000 IF
8050 IF
8100 IF
8150 IF
8200 IF
8250 IF
8300 IF
8350 IF
8400 IF
8450 IF
8455 IF
8460 IF
8465 IF
8470 IF
8500 VARNAME
8510 GOSUB
8550 RETURN
8600 CLS
8650 PEN
8700 CENTRE
8750 PEN
8800 PRINT
8850 GOSUB
8900 IF
8950 RETURN
9000 REM questions and answers
9050 GOSUB
9100 LOCATE
9150 PEN
9200 PRINT
9250 GOSUB
9300 SHOW
9350 VARNAME
9400 WHILE
9450 GOSUB
9500 IF
9550 IF
9600 IF
9650 IF
9700 IF
9750 IF
9800 IF
9850 IF
9900 WEND
9950 GOSUB