Listing of file='NICHE.BAS;01' on disk='vmedia/chip_8-sector.ccvf'
10 REM NICHE--AN ECOLOGICAL GAME 20 REM JAMES D. LEHMAN, DEPT. OF BIOLOGICAL SCIENCES 60 PLOT 12,10,10:PRINT ">>>>>>>>>> NICHE <<<<<<<<<<" 70 PLOT 10:PRINT TAB( 5)"AN ECOLOGICAL GAME" 80 PLOT 10:PRINT "WELCOME TO THE GAME OF NICHE! 82 PLOT 10:PRINT "EXCUSE ME WHILE I SET THIS UP." 83 PLOT 10:PRINT "HIT ANY KEY TO GET MY ATTENTION WHEN YOU'RE READY" 84 I= RND (1):IF PEEK (33279)= 0GOTO 84 90 PLOT 10:INPUT "DO YOU NEED INSTRUCTIONS (Y/N)? ";I$ 100 I$= LEFT$ (I$,1) 110 IF I$= "N"THEN 520 120 IF I$< > "Y"THEN 90 130 PLOT 10,10:PRINT "INSTRUCTIONS FOR NICHE---":PLOT 10 140 PRINT TAB( 5)"NICHE REFERS TO ALL OF THE ECOLOGICAL VARIABLES WHICH" 150 PRINT "RELATE TO A GIVEN ORGANISM--ITS HABITAT, LIVING SPACE," 160 PRINT "AND ROLE IN THE ECOSYSTEM. IN THE GAME OF NICHE, YOUR JOB" 170 PRINT "IS TO FIT A SELECTED ORGANISM INTO ITS NICHE. YOU SELECT" 180 PRINT "ONE OF 5 ORGANISMS AND RECEIVE A SMALL POPULATION (100" 190 PRINT "INDIVIDUALS) OF THE ORGANISMS. YOUR GOAL IN NICHE IS TO 200 PRINT "MAXIMIZE THE SIZE OF YOUR POPULATION BY PROVIDING IDEAL 210 PRINT "CONDITIONS FOR GROWTH. AT THE BEGINNING OF THE GAME (TURN 1) 220 PRINT "AND AT EACH SUBSEQUENT TURN YOU WILL INPUT THE 230 PRINT "ENVIRONMENT, RANGE, AND COMPETITOR FOR YOUR POPULATION. 240 PRINT "ONCE DURING THE GAME, YOU MAY INPUT THE PREDATOR KILL OPTION. 250 PRINT "THIS WILL REDUCE BUT NOT ELIMINATE THE EFFECTS OF PREDATION 260 PRINT "ON YOUR POPULATION FOR THAT TURN ONLY. AT THE END OF EACH TURN 270 PRINT "THE FOLLOWING INFORMATION WILL BE OUTPUT: THE AMOUNT OF 280 PRINT "FOOD PRESENT IN THE RANGE, THE AMOUNT OF FOOD TAKEN BY 290 PRINT "COMPETITORS, THE AMOUNT OF FOOD AVAILABLE TO YOUR POPULATION, 300 PRINT "DEATHS DUE TO PREDATION, DEATHS DUE TO STARVATION AND OTHER 310 PRINT "CAUSES, BIRTHS, AND THE NEW TOTAL POPULATION. OF COURSE, 320 PRINT "WHAT YOU INPUT WILL AFFECT THE RESULTS WHICH ARE OUTPUT. 330 PLOT 10:INPUT "TO CONTINUE INSTRUCTIONS, TYPE 'GO' ";I$ 360 IF I$< > "GO"THEN 90 370 PLOT 10,10:PRINT TAB( 5)"FOR INSTANCE, IF THE INPUT RANGE IS TOO SMALL FOR YOUR 380 PRINT "POPULATION, THERE WILL BE INSUFFICIENT FOOD (100 UNITS PER 390 PRINT "ORGANISM IS OPTIMUM) AND SOME STARVATION WILL RESULT. 400 PRINT "IF THE INPUT RANGE IS TOO LARGE, THERE WILL BE MANY PREDATORS 410 PRINT "AND DEATHS DUE TO PREDATION WILL BE HIGH. THE GAME LASTS 420 PRINT "FOR 5 TURNS, EACH OF WHICH CORRESPONDS TO ABOUT 1 TO 2 430 PRINT "GENERATIONS OF YOUR ORGANISM. YOU SHOULD RESPOND TO INPUT 440 PRINT "BY TYPING WHAT IS IN THE PARENTHESES FOLLOWING YOUR 450 PRINT "CHOICE. YOU MAY INITIATE EACH NEW TURN BY TYPING GO. 460 PRINT TAB( 5)"GOOD LUCK!! AND, MAY THE BEST ECOLOGIST WIN!! 480 PLOT 10,10:INPUT "TO BEGIN THE GAME TYPE 'GO' ";I$ 510 IF I$< > "GO"THEN 90 520 PLOT 12:CLEAR 1000:T= 0:K= 0:P= 100:PRINT "HERE WE GO!" 530 REM **** SELECTION OF THE ORGANISM 540 PLOT 10:PRINT "WHAT ORGANISM--- 550 PRINT TAB( 5)"PARAMECIUM CAUDATUM (1) 560 PRINT TAB( 5)"RAINBOW TROUT (2) 570 PRINT TAB( 5)"ANTEATER (3) 580 PRINT TAB( 5)"GRAY SQUIRREL (4) 590 PRINT TAB( 5)"KANGAROO RAT (5) 600 PRINT TAB( 20)" ";:INPUT O 610 IF O< 1OR O> 5THEN PRINT "INVALID--REENTER":GOTO 540 650 REM **** SET UP TURN COUNTER AND PRINT TURN 670 T= T+ 1:PLOT 10,10:PRINT "TURN";T:PLOT 10 680 PLOT 10:PRINT "WHAT ENVIRONMENT--- 690 PRINT TAB( 5)"FRESH WATER POND (P) 700 PRINT TAB( 5)"FRESH WATER LAKE (L) 710 PRINT TAB( 5)"TROPICAL RAIN FOREST (R) 720 PRINT TAB( 5)"BOREAL CONIFEROUS FOREST (C) 730 PRINT TAB( 5)"TEMPERATE DECIDUOUS FOREST (T) 740 PRINT TAB( 5)"NORTH AMERICAN DESERT (D) 750 PRINT TAB( 5)"TEMPERATE GRASSLAND (G) 760 PRINT TAB( 30)" ";:INPUT E$ 790 IF E$= "P"OR E$= "L"OR E$= "R"OR E$= "C"OR E$= "T"OR E$= "D"OR E$= "G"THEN 820 800 PRINT "INVALID--REENTER":GOTO 680 810 REM **** GOSUB TO SET VALUES OF E, E1, AND U$ 820 GOSUB 3000 830 REM **** SELECTION OF RANGE SIZE 840 PLOT 10,10:PRINT "WHAT RANGE FOR THE WHOLE POPULATION IN ";U$;"--- 844 IF U$= "HECTARES"THEN PRINT "(1 HECTARE = 10000 SQUARE METERS) 846 IF U$= "DEKASTERES"THEN PRINT "(1 DEKASTERE = 10 CUBIC METERS) 850 PRINT TAB( 30)" ";:INPUT R 890 IF R< = 0THEN PRINT "INVALID--REENTER":GOTO 840 900 REM **** SELECTION OF COMPETITOR (ORGANISM DEPENDENT) 910 REM **** AND SETTING OF TRUE OPTIMUM RANGE 920 PLOT 10,10:PRINT "WHAT COMPETITOR--- 930 ON OGOTO 4000,4100,4200,4300,4400 980 REM **** GOSUB TO SET VALUES OF R1 AND R2 990 GOSUB 5000 1000 REM **** SET C1 VALUE 1010 IF C$= "B"OR C$= "D"OR C$= "L"OR C$= "N"THEN C1= .2:GOTO 1060 1020 IF C$= "F"OR C$= "J"THEN C1= .4:GOTO 1060 1030 IF C$= "A"OR C$= "H"OR C$= "O"THEN C1= .6:GOTO 1060 1040 C1= 0 1050 REM **** CHECK FOR PREVIOUS USE OF PREDATOR KILL 1060 IF K= 1THEN 1140 1070 PLOT 10,10:INPUT "PREDATOR KILL? (Y/N)---";K$ 1090 K$= LEFT$ (K$,1):IF K$= "Y"THEN 1120 1100 IF K$= "N"THEN 1140 1110 PRINT "INVALID--REENTER":GOTO 1070 1120 REM **** SET COUNTER K AND SET D1 AT A LOW VALUE 1130 K= 1:D1= INT (.02* P):GOTO 1160 1140 REM **** SET D1 AT A NORMAL LEVEL 1150 D1= INT ((.25* RND (1)+ .1)* P)+ INT (R2* P) 1160 REM **** SET VARIABLE VALUES 1170 R1= R/ R3:F1= INT (100* R1* P):F2= INT (C1* F1) 1180 F3= F1- F2:F4= F3/ (100* P) 1184 IF F4> 1THEN F4= 1 1186 D2= INT ((1- F4+ E1)* P) 1190 REM **** GOSUB TO SET F5 VALUE 1200 GOSUB 6000 1210 REM **** SET BIRTHS 1220 B= INT (F5* P) 1230 IF E1= 1THEN 1250 1240 GOTO 1260 1250 B= 0:D1= 0:D2= P 1260 REM **** SET POPULATION 1270 P1= P:P= P+ B- D1- D2 1280 IF P< 0THEN 1300 1290 GOTO 1340 1300 X= RND (1):Y= RND (1) 1310 IF P1+ B= INT (D1* X)+ INT (D2* Y)THEN 1330 1320 GOTO 1300 1330 D1= INT (D1* X):D2= INT (D2* Y):P= P1+ B- D1- D2 1340 REM **** PRINT RESULTS OF TURN 1350 PLOT 10,10,10:PRINT "RESULTS OF TURN";T;"---":PLOT 10 1360 PRINT TAB( 5)"AMOUNT OF FOOD PRESENT IN RANGE---";F1;" UNITS" 1370 PRINT TAB( 5)"AMOUNT OF FOOD TAKEN BY COMPETITORS---";F2;" UNITS" 1380 PRINT TAB( 5)"AMOUNT OF FOOD FOR THE POPULATION---";F3;" UNITS" 1390 PRINT TAB( 5)"DEATHS DUE TO PREDATION---";D1 1400 PRINT TAB( 5)"DEATHS DUE TO STARVATION OR OTHER CAUSES---";D2 1410 PRINT TAB( 5)"BIRTHS---";B 1420 PLOT 10:PRINT TAB( 10)"CURRENT POPULATION---";P:PLOT 10,10 1430 REM **** CHECK FOR END OF GAME 1440 FOR N0= 1TO 5000:NEXT :IF T= 5GOTO 1660 1450 REM **** CHECK FOR LOSS OR GREAT REDUCTION OF THE POPULATION 1460 PLOT 10:IF P> 50THEN 1580 1470 IF P> 10THEN 1560 1480 IF P> 0THEN 1530 1500 PRINT TAB( 5)"HEY TURKEY, YOU MANAGED TO LET YOUR POPULATION GO TO ZERO!! 1510 PRINT "AND YOU DID IT AFTER ONLY TURN";T;"!!! 1520 GOTO 1670 1530 PRINT TAB( 5)"LOOK OUT TURKEY! YOUR POPULATION IS DOWN TO A MERE 1540 PRINT P;" INDIVIDUALS! THAT IS EXTREMELY RISKY!!! 1550 GOTO 1580 1560 PRINT TAB( 5)"YOU HAD BETTER WATCH OUT! YOUR POPULATION IS DOWN TO 1570 PRINT P;" INDIVIDUALS! TROUBLE IS JUST AROUND THE CORNER. 1580 PLOT 10,10:PRINT "TO BEGIN TURN";T+ 1;:INPUT " TYPE 'GO' ";G$ 1590 IF G$= "GO"THEN PLOT 12:GOTO 670 1620 PRINT "INVALID--REENTER":GOTO 1580 1660 REM **** FINAL PERFORMANCE EVALUATION 1670 PLOT 10,10:PRINT TAB( 20)"END OF GAME":PLOT 10,10 1680 IF P> 10000THEN 1900 1690 IF P> 5000THEN 1880 1700 IF P> 1000THEN 1870 1710 IF P> 500THEN 1850 1720 IF P> 250THEN 1840 1730 IF P> 100THEN 1830 1740 IF P> 25THEN 1820 1750 IF P> 0THEN 1800 1770 PRINT TAB( 5)"YOU ARE A DISGRACE! YOU ARE HEREBY DRUMMED OUT OF THE 1780 PRINT "AMERICAN COLLEGE OF ECOLOGISTS (ACE) AND MADE A MEMBER 1790 PRINT "OF THE AMERICAN SOCIETY OF STUPIDOS (YOU KNOW)!!!":GOTO 1920 1800 PRINT TAB( 5)"THAT'S AWFUL! THE WILDLIFE MANAGERS OF THE WORLD HAVE 1810 PRINT "NOTHING BUT SPITE FOR YOU!":GOTO 1920 1820 PRINT TAB( 5)"THAT'S VERY POOR! I HOPE YOU DON'T OWN PETS!":GOTO 1920 1830 PRINT TAB( 5)"THAT'S BARELY PASSABLE! AT LEAST YOU DIDN'T LOSE ANY!":GOTO 1920 1840 PRINT TAB( 5)"NOT BAD! YOU ARE APPOINTED A JUNIOR ECOLOGIST!"GOTO 1920 1850 PRINT TAB( 5)"PRETTY GOOD JOB! I GUESS WE'LL HAVE TO LET 1860 PRINT "YOU JOIN THE ECOLOGIST'S CLUB":GOTO 1920 1870 PRINT TAB( 5)"GOOD JOB!! YOU'RE A TRUE BLUE ECOLOGIST!":GOTO 1920 1880 PRINT TAB( 5)"WOW!!! TREMENDOUS JOB! YOU CAN TAKE MARLIN PERKINS' PLACE" 1890 PRINT "ON WILD KINGDOM WHEN HE RETIRES!!":GOTO 1920 1900 PRINT TAB( 5)"SUPER!!!! SUPERB!!!! FANTASTIC!!!! MOTHER NATURE HERSELF 1910 PRINT "MUST BE ENVIOUS!! 1920 PLOT 10,10:INPUT "DO YOU WANT TO PLAY ANOTHER GAME OF NICHE? (Y/N) ";G$ 1930 G$= LEFT$ (G$,1) 1940 IF G$= "Y"THEN 520 1950 IF G$= "N"THEN 9999 1960 PRINT "INVALID--REENTER 1970 GOTO 1920 3000 IF E$= "P"THEN E= 1:GOTO 3050 3010 IF E$= "L"THEN E= 2:GOTO 3050 3020 IF E$= "R"THEN E= 3:GOTO 3050 3030 IF E$= "C"OR E$= "T"THEN E= 4:GOTO 3050 3040 E= 5 3050 IF O= 1AND O+ E< 4THEN E1= 0:GOTO 3220 3060 IF O= 1THEN E1= 1:GOTO 3220 3070 IF O= 2AND O+ E= 4THEN E1= 0:GOTO 3210 3080 IF O= 2AND O+ E= 3THEN E1= .33:GOTO 3210 3090 IF O= 2THEN E1= 1:GOTO 3210 3100 IF O= 3AND O+ E= 6THEN E1= 0:GOTO 3200 3110 IF O= 3THEN E1= 1:GOTO 3200 3120 IF O= 4AND O+ E= 8THEN E1= 0:GOTO 3200 3130 IF O= 4AND O+ E= 7THEN E1= .33:GOTO 3200 3140 IF O= 4THEN E1= 1:GOTO 3200 3160 IF O+ E< 8THEN E1= 1:GOTO 3200 3170 IF O+ E> 9THEN E1= 0:GOTO 3200 3180 E1= .5 3200 U$= "HECTARES":RETURN 3210 U$= "DEKASTERES":RETURN 3220 U$= "CUBIC CENTIMETERS 3230 RETURN 4000 PRINT TAB( 5)"PARAMECIUM AURELIA (A) 4010 PRINT TAB( 5)"AMOEBA (B) 4020 PRINT TAB( 5)"PARAMECIUM BURSARIA (C) 4030 PRINT TAB( 20):INPUT C$ 4040 C$= LEFT$ (C$,1) 4050 IF C$= "A"OR C$= "B"OR C$= "C"THEN R3= P:GOTO 980 4060 PRINT "INVALID--REENTER 4070 GOTO 4000 4100 PRINT TAB( 5)"SNAPPING TURTLE (D) 4110 PRINT TAB( 5)"CATFISH (E) 4120 PRINT TAB( 5)"SOCKEYE SALMON (F) 4130 PRINT TAB( 20):INPUT C$ 4140 C$= LEFT$ (C$,1) 4150 IF C$= "D"OR C$= "E"OR C$= "F"THEN R3= 2000:GOTO 980 4160 PRINT "INVALID--REENTER 4170 GOTO 4100 4200 PRINT TAB( 5)"PACA (G) 4210 PRINT TAB( 5)"ARMADILLO (H) 4220 PRINT TAB( 5)"TAPIR (I) 4230 PRINT TAB( 20):INPUT C$ 4240 C$= LEFT$ (C$,1) 4250 IF C$= "G"OR C$= "H"OR C$= "I"THEN R3= .6* P:GOTO 980 4260 PRINT "INVALID--REENTER 4270 GOTO 4200 4300 PRINT TAB( 5)"CHIPMUNK (J) 4310 PRINT TAB( 5)"TURKEY (K) 4320 PRINT TAB( 5)"MOUSE (L) 4330 PRINT TAB( 20):INPUT C$ 4340 C$= LEFT$ (C$,1) 4350 IF C$= "J"OR C$= "K"OR C$= "L"THEN R3= .05* P:GOTO 980 4360 PRINT "INVALID--REENTER" 4370 GOTO 4300 4400 PRINT TAB( 5)"PECCARY (M) 4410 PRINT TAB( 5)"JACKRABBIT (N) 4420 PRINT TAB( 5)"POCKET MOUSE (O) 4430 PRINT TAB( 20):INPUT C$ 4440 C$= LEFT$ (C$,1) 4450 IF C$= "M"OR C$= "N"OR C$= "O"THEN R3= .1* P:GOTO 980 4460 PRINT "INVALID--REENTER 4470 GOTO 4400 5000 R1= R/ R3 5010 IF R1> 25THEN R2= .4:RETURN 5020 IF R1> 10THEN R2= .3:RETURN 5030 IF R1> 5THEN R2= .2:RETURN 5040 IF R1> 2THEN R2= .1:RETURN 5050 IF R1> 1.67THEN R2= .075:RETURN 5060 IF R1> 1.33THEN R2= .05:RETURN 5070 R2= 0 5080 RETURN 6000 IF F4> 1THEN F4= 1 6010 IF F4> .9THEN F5= 2:RETURN 6020 IF F4> .7THEN F5= 1:RETURN 6030 IF F4> .5THEN F5= .67:RETURN 6040 IF F4> .25THEN F5= .33:RETURN 6050 IF F4> 0THEN F5= .1:RETURN 6060 F5= 0 6070 RETURN 9999 LOAD "MENU":RUN