jrhodes Posted October 29, 2023 Share Posted October 29, 2023 (edited) Can anyone recommend some games like Hover Bovver or Mower Mania where you mow the grass? There is a couple of games like this for C64/VIC20. Do we have anything like this for TI? Also interested in if these are still somehow a thing on modern Windows / consoles (Would probably be considered shovelware nowadays)? [... Cutting grass with your sword in Zelda games does not count b.t.w. lol] Edited October 29, 2023 by jrhodes Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted October 29, 2023 Share Posted October 29, 2023 The genre I never knew I wanted... Quote Link to comment Share on other sites More sharing options...
globeron Posted October 29, 2023 Share Posted October 29, 2023 I am not aware of any game with a lawn mower (I have 300+ running in Retrobat) (unless someone wrote one in TI-BASIC, EXTENDED BASIC or other language) 1 Quote Link to comment Share on other sites More sharing options...
globeron Posted October 29, 2023 Share Posted October 29, 2023 Gee guess what? I just checked Gamebase (4401 programs in it, there is a lawnmower) 1 Quote Link to comment Share on other sites More sharing options...
globeron Posted October 29, 2023 Share Posted October 29, 2023 From Gamebase it opens up MAME, but it is very slow. 2 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted October 29, 2023 Share Posted October 29, 2023 Spoiler 90 ! LAWNMOWER (C) BY 91 ! GARY COX 92 ! 3174 MELBOURNE 93 ! MEMPHIS, TN 38127 94 ! 901-358-0667 95 ! Freeware 100 A=1 :: B=0 :: C=1 110 CALL SCREEN(4) :: RANDOMIZE :: CALL CHAR(127,"FFFFFFFFFFFFFFFF") :: CALL COLOR(12,4,4) :: CALL CHAR(90,"0000000000000000") :: CALL CLEAR 170 PRINT TAB(10);"LAWNMOWER":TAB(9);"BY GARY COX":" COPYRIGHT 3/15/1984" 180 PRINT 200 FOR D=1 TO 12 :: PRINT :: NEXT D 210 GOSUB 3430 220 DISPLAY AT(12,2):"READY TO START PARTNER":TAB(7);"PRESS ANY KEY" :: CALL SAY("#READY TO START# PARTNER PRESS ANY KEY") 225 CALL KEY(0,UI,KK) 226 IF KK=0 THEN 225 230 CALL CLEAR 251 PRINT :: PRINT "ARE YOU GOING TO USE THE":"JOYSTICKS YES OR NO" :: CALL SAY("ARE YOU GOING TO USE THE JOYSTICK") :: INPUT A$ 260 CALL CLEAR 270 PRINT "DO YOU NEED INSTRUCTIONS?" :: CALL SAY("DO YOU NEED INSTRUCTIONS") 290 INPUT B$ :: IF B$="YES" OR B$="Y" THEN GOSUB 2970 291 PRINT " PUT ALPHA LOCK UP" :: FOR D=1 TO 150 :: NEXT D 300 E=3 :: F=25 :: B=0 :: G=1 :: H=10 :: I=1 :: J=2 :: K=1 :: L=0 :: M=2 310 CALL CLEAR :: H=10 330 CALL CHAR(88,"0038444038044438") 340 CALL CHAR(89,"0078444478504844") 350 CALL CHAR(64,"0044444428281010") 360 REM DRW GAUGE 370 CALL COLOR(9,7,7) 380 N=1 390 CALL CHAR(96,"FFFFFFFFFFFFFFFF") 400 CALL HCHAR(1,2,96,8) 410 CALL CHAR(104,"0024242424242418") 420 CALL CHAR(105,"002020202020203E") 430 CALL HCHAR(2,2,70,1) 440 CALL HCHAR(2,3,104,1) 450 CALL HCHAR(2,4,69,1) 460 CALL HCHAR(2,5,105,1) 470 CALL COLOR(7,4,4) 480 O=15 :: P=22 490 CALL CHAR(33,"FFFFFFFFFFFFFFFF") 500 CALL COLOR(1,13,1) 510 IF C=1 THEN Q=9 :: R=17 520 IF C=2 THEN Q=7 :: R=19 530 IF C=3 THEN Q=5 :: R=21 540 IF C>3 THEN Q=4 :: R=23 550 IF C>3 THEN CALL MOTION(#7,-1,-1) 560 IF C=2 THEN CALL MOTION(#7,-1,0) 570 FOR D=Q TO R :: CALL HCHAR(D,Q,33,R) :: NEXT D 580 REM DRW CAN 590 CALL CHAR(120,"0204083C3C3C3C00") 600 CALL SPRITE(#7,120,7,170,121) 610 REM DRW DOG & HOUSE 620 CALL COLOR(13,2,2) 630 CALL CHAR(128,"FFFFFFFFFFFFFFFF") 640 CALL HCHAR(12,1,128,2) 650 CALL HCHAR(13,1,128,2) 660 CALL CHAR(127,"00121EFF1E120000") 670 CALL SPRITE(#1,127,2,98,6) 680 REM DRW NEIGHBOR 690 CALL CHAR(126,"00E01C3C1C3CE000") 700 CALL SPRITE(#2,126,2,100,235,K,L) 710 REM DRW BONE 720 CALL CHAR(45,"0000667E66000000") 730 CALL SPRITE(#3,45,16,100,105,0,0) 740 CALL CHAR(46,"81FFAA2424A5E7BD") 750 CALL CHAR(47,"42425A3C3C3C0000") 760 CALL SPRITE(#4,47,2,152,153,S,T) 770 CALL SPRITE(#5,46,2,144,153,S,T) 780 CALL LOCATE(#1,50,50) 790 DISPLAY AT(3,10):"LE@EL=";G 800 P=0 :: U=4 :: V=101 810 GOTO 870 830 REM 835 CALL JOYST(1,P,U) 840 A=0 850 CALL KEY(0,V,AC) 860 IF V=108 THEN 2750 870 IF X=20 THEN GOSUB 1770 880 X=X+1 890 DISPLAY AT(1,10):"MEN=";E 900 CALL POSITION(#5,Y,Z) 910 AA=AA+1 :: BA=BA+1 920 IF AA>10 THEN CA=0 930 DISPLAY AT(2,10):"XCOYE";B 940 IF BA>5 THEN DA=0 950 CALL POSITION(#1,EA,FA) 960 IF EA<Y THEN EA=EA+4 970 IF EA>Y THEN EA=EA-4 980 IF FA<Z THEN FA=FA+4 990 IF FA>Z THEN FA=FA-4 1000 CALL LOCATE(#1,EA,FA) 1010 Y=Y/8 :: Z=Z/8 1020 CALL HCHAR(Y+1,Z+1,127) 1030 CALL POSITION(#2,GA,HA) 1040 IF GA<3 THEN CALL MOTION(#2,1,0) 1050 IF GA>180 THEN CALL MOTION(#2,-1,0) 1060 IA=INT(RND*190) :: F=F+1 1070 IF F<25 THEN 1150 1080 IF IA>80 THEN GOTO 1150 1090 CALL POSITION(#2,JA,KA) 1100 IF IA>40 THEN GOTO 1130 1110 LA=3 1120 GOTO 1140 1130 LA=-3 1140 CALL SPRITE(#13,92,2,JA,KA-9,LA,-3) :: F=1 1150 CALL POSITION(#13,MA,NA) 1160 IF MA>185 THEN CALL DELSPRITE(#13) 1170 IF MA<5 THEN CALL DELSPRITE(#13) 1180 IF NA<5 THEN CALL DELSPRITE(#13) 1190 CALL COINC(ALL,OA) 1200 IF OA=-1 THEN GOSUB 1830 1210 IF A$="NO" THEN 3660 1220 IF A=1 THEN 1240 1230 IF PA<=24 THEN 1250 1240 IF P=0 AND U=4 THEN 1360 1250 IF PA>=177 THEN 1270 1260 IF P=0 AND U=-4 THEN 1450 1270 IF QA<=18 THEN 1290 1280 IF P=-4 AND U=0 THEN 1540 1290 IF QA>=240 THEN 1310 1300 IF P=4 AND U=0 THEN 1660 1310 RA=0 :: SA=0 1320 CALL DISTANCE(#13,#4,TA) 1330 IF TA<250 THEN 1950 1340 IF P=0 AND U=0 THEN 830 1350 GOTO 830 1360 REM UP 1370 CALL CHAR(46,"42425A3C3C3C0000") 1380 CALL CHAR(47,"81FFAA2424A5E7BD") 1390 CALL POSITION(#5,PA,QA) 1400 CALL GCHAR((PA-8)/8,(QA+9)/8,UA) 1410 IF UA=33 THEN B=B+1 1420 PA=PA-8 1430 CALL LOCATE(#4,PA-8,QA) :: CALL LOCATE(#5,PA,QA) 1440 GOTO 830 1450 REM DOWN 1460 CALL CHAR(47,"81FFAA2424A5E7BD") 1470 CALL CHAR(46,"00183C3C3C424242") 1480 CALL POSITION(#5,PA,QA) 1490 CALL GCHAR((PA+17)/8,(QA+9)/8,UA) 1500 IF UA=33 THEN B=B+1 1510 PA=PA+8 1520 CALL LOCATE(#4,PA+8,QA) :: CALL LOCATE(#5,PA,QA) 1530 GOTO 830 1540 REM LEFT 1550 VA=3 1560 CALL CHAR(47,"E7427E42427E42E7") 1570 CALL CHAR(46,"00E01C3C1C3CE000") 1580 CALL POSITION(#5,PA,QA) 1590 CALL GCHAR((PA+9)/8,(QA-17)/8,UA) 1600 IF UA=33 THEN B=B+1 1610 CALL LOCATE(#4,PA,QA-8) 1620 QA=QA-8 1630 CALL LOCATE(#5,PA,QA) :: CALL LOCATE(#4,PA,QA-8) 1640 SA=1 1650 GOTO 830 1660 REM RIGHT 1670 CALL CHAR(47,"E7427E42427E42E7") 1680 CALL CHAR(46,"0007183C3C180700") 1690 CALL POSITION(#5,WA,XA) 1700 CALL GCHAR((WA+9)/8,(XA+17)/8,UA) 1710 IF UA=33 THEN B=B+1 1720 QA=QA+8 1730 CALL LOCATE(#4,PA,QA+8) :: CALL LOCATE(#5,PA,QA) 1740 RA=1 1750 GOTO 830 1760 GOTO 1760 1770 X=0 1780 H=H-1 1790 IF H=1 THEN GOSUB 2620 1800 CALL HCHAR(1,H,90) 1810 CALL SOUND(120,999,2) 1820 RETURN 1830 CALL COINC(#1,#4,9,OA) 1840 CALL COINC(#1,#5,9,OA) 1850 IF OA=-1 THEN GOTO 2130 1860 OA=0 1870 CALL COINC(#3,#4,9,OA) 1880 CALL COINC(#3,#5,9,OA) 1890 IF OA=-1 THEN GOTO 2020 1900 OA=0 1910 CALL COINC(#4,#7,15,OA) 1920 CALL COINC(#5,#7,15,OA) 1930 IF OA=-1 THEN GOTO 2240 1940 RETURN 1950 CALL SOUND(1000,-3,2) 1960 FOR YA=1 TO 2 :: FOR ZA=1 TO 16 :: CALL SCREEN(ZA) :: NEXT ZA :: NEXT YA :: CALL SCREEN(4) 1970 CALL SAY("#WHAT WAS THAT#") 1980 E=E-1 1990 B=B-20 2000 IF E=0 THEN GOTO 2360 2010 GOTO 830 2020 CALL SOUND(200,150,2,150,2) 2030 CALL SOUND(200,500,2,500,2) 2040 CALL DELSPRITE(#3) 2050 B=B+50 2060 CALL SAY("#GOOD WORK") 2070 AB=INT(RND*190) :: BB=INT(RND*190) 2080 CB=INT(RND*(-3-3+1))+3 :: DB=INT(RND*(-3-3+1))+3 2090 IF AB<5 OR AB>188 THEN 2070 :: IF BB<4 OR BB>251 THEN 2070 2100 CALL SPRITE(#3,45,16,AB,BB,CB,DB) 2110 RETURN 2120 AA=0 2130 REM DOG & MAN 2140 IF DA=1 THEN RETURN 2150 CALL SOUND(500,-6,2) 2160 FOR YA=1 TO 2 :: FOR ZA=1 TO 16 :: CALL SCREEN(ZA) :: NEXT ZA :: NEXT YA 2170 CALL SCREEN(4) 2180 E=E-1 2190 CALL SAY("UHOH") 2200 IF E=0 THEN GOTO 2360 2210 DA=1 :: BA=0 2230 RETURN 2240 REM MAN & GAS CAN 2250 IF CA=1 THEN RETURN 2260 CALL SOUND(840/8,196,6,262,6,330,6) 2270 FOR EB=1 TO 30 :: NEXT EB 2280 CALL SOUND(840,196,6,262,6,330,6) 2290 CALL HCHAR(1,2,96,8) 2300 H=10 :: B=B+10 2320 CALL SAY("DOING GOOD PARTNER") 2330 CA=1 :: AA=0 2350 RETURN 2360 DISPLAY AT(1,10):"MEN= 0" :: REM END GAME 2370 FOR DA=1 TO 5 :: FOR D=1 TO 16 :: CALL SCREEN(D) :: NEXT D :: NEXT DA 2380 READ FB,GB 2390 DATA 750,117,750,117,183,117,558,117,750,139,183,131,558,131,183,117,558,117,750,110,1500,117,0,0 2400 IF FB=0 THEN 2430 2410 CALL SOUND(FB,GB,0) 2420 GOTO 2380 2430 CALL DELSPRITE(ALL) 2440 CALL SCREEN(4) 2450 FOR D=1 TO 500 :: NEXT D 2470 CALL CLEAR :: CALL CHARSET 2490 DISPLAY AT(4,10):"SCORE=";B :: DISPLAY AT(5,10):"LEVEL=";G :: DISPLAY AT(10,9):"GAME OVER" 2520 RESTORE 2530 IF IB=1 THEN GOSUB 2700 2540 CALL SAY("GAMES OVER") 2550 DISPLAY AT(20,5):"PLAY AGAIN Y/N?)" 2570 ACCEPT AT(20,21):C$ 2580 IF C$="Y" OR C$="YES" THEN 100 2600 DISPLAY AT(21,6):"HAVE A NICE DAY" 2610 STOP 2620 REM OUT OF GAS 2630 FOR D=220 TO 110 STEP-5 2640 CALL SOUND(-40,D,2) 2650 NEXT D 2660 IB=1 2670 JB=JB-1 2680 GOTO 2360 2690 RETURN 2700 REM STUPID1 2710 DISPLAY AT(14,2):"THAT WAS STUPID TO RUN OUT" :: DISPLAY AT(15,2):"OF GAS! THE DOG WAS NO" 2730 DISPLAY AT(16,2):"LONGER AFRAID OF YOU AND":" HE ATE YOU!" 2740 RETURN 2750 REM CHECK SCN 2760 KB=0 2770 CALL SOUND(1000,-4,2) 2780 CALL SAY("I WILL CHECK FOR NEXT SCREEN") 2790 FOR D=3 TO 22 2800 FOR LB=3 TO 28 2810 CALL GCHAR(D,LB,MB) 2820 IF MB<>33 THEN KB=KB+1 2830 NEXT LB 2840 NEXT D 2850 IF KB>510 THEN 2890 2860 B=B-200 2870 CALL SAY("YOU MUST COMPLETE THIS SCREEN FIRST") 2880 GOTO 870 2890 REM GO TO NEXT SCREEN 2900 CALL SOUND(1000,110,2,220,2) 2910 FOR D=110 TO 400 STEP 30 :: CALL SOUND(90,D,2) :: NEXT D 2920 CALL SOUND(840/8,196,6,262,6,330,6) :: FOR EB=1 TO 30 :: NEXT EB :: CALL SOUND(840,196,6,262,6,330,6) 2930 G=G+1 2940 B=B+200 :: CALL SAY("GOING TO NEXT SCREEN") 2950 C=C+1 2960 GOTO 310 2970 REM 2990 CALL CLEAR :: PRINT "THE OBJECT OF THE GAME IS":"TO MOW THE YARD AND GET AS":"MANY POINTS AS POSSIBLE":"THE POINTS ARE AS FOLLOWS" 3010 PRINT "":" PRESS ANY KEY" 3020 CALL KEY(0,NB,O) 3030 IF O=0 THEN 3020 3050 CALL CLEAR :: PRINT "BONE=";TAB(19);"50 POINTS":"REFUELING=";TAB(19);"10 POINTS":"FINISH MOWING":"ENTIRE SCREEN=";TAB(18);"200 POINTS" 3060 PRINT "----------------------------" 3070 PRINT "FOR EACH":"SQUARE MOWED (APPROXIMATELY)";TAB(20);"1 POINT":"----------------------------":"GETTING BIT" 3080 PRINT "BY DOG=";TAB(19);"-1 MAN":"----------------------------":"HIT BY":"WHAT YOUR":"NEIGHBOR THROUGHS" 3090 PRINT "AT YOU=";TAB(10);"-1 MAN -20 POINTS":"----------------------------":"RUNNING OUT":"OF GAS=";TAB(12);"END OF GAME" 3100 PRINT "----------------------------":"ALSO END OF GAME WHEN OUT OF":"MEN." 3110 PRINT " PRESS ANY KEY" 3120 CALL KEY(0,OB,O) 3130 IF O=0 THEN 3120 3150 CALL CLEAR :: PRINT "TO GET POINTS FOR THE BONE":" SIMPLY MOW OVER IT.":"HOWEVER IF THE DOG IS TOO":"CLOSE TO YOU YOU WILL NOT" 3160 PRINT "BE ALLOWED TO TAKE THE BONE.":"AFTER YOU GET THE BONE ONCE,":"THEN NEXT TIME YOU MUST":"CHASE AFTER IT TO GET IT." 3170 PRINT 3180 PRINT "BE CARFUL NOT TO RUN OUT OF":"GAS OR THE GAME WILL BE OVER":"WATCH YOUR FUEL GAGE IN THE":"TOP LEFT HAND CORNER OF THE":"SCREEN." 3190 PRINT "TO REFUEL MOW OVER THE GAS":"CAN. AFTER LEVEL 1 YOU MUST":"CHASE AFTER IT TO REFUEL." 3210 PRINT "":" PRESS ANY KEY" 3220 CALL KEY(0,PB,O) 3230 IF O=0 THEN 3220 3250 CALL CLEAR :: PRINT "TO ADVANSE TO THE NEXT":"SCREEN HOLD THE L KEY DOWN":"THE MAN AND DOG WILL":"MOMENTARILY STOP WHILE THE" 3260 PRINT "COMPUTER CHECKS TO SEE IF":"YOU HAVE MOWED ALL THE YARD":"IF NOT 200 POINTS ARE":"SUBTRACTED FROM YOUR SCORE" 3270 PRINT "AND YOU MUST CONTINUE THE":"GAME. HOWEVER, SOMETIMES IF":"YOU HAVE ONLY A FEW SQUARES":"LEFT THE COMPUTER WILL" 3280 PRINT "ALLOW YOU TO GO TO THE NEXT":"LEVEL. ALSO THE SCREENS WILL":"CONTINUE TO INCREASE IN ":"MAGNITUDE UNTIL LEVEL 4." 3310 PRINT "":" PRESS ANY KEY" 3320 CALL KEY(0,PB,O) 3330 IF O=0 THEN 3320 3340 CALL CLEAR 3350 PRINT TAB(12);"HINT":"LAWNMOWERS ARE HARD TO PUSH":"THEREFORE CONTROL OF THE":"LAWNMOWER IS SLOW ESPECIALLY":"WHEN CHANGING DIRECTIONS" 3360 PRINT "ALSO IT IS HARD TO STOP ONCE":"IT GETS GOING. THEREFORE THE":"LAWNMOWER WILL USUALLY GO":"ONE OR TWO MORE SPACES AFTER" 3370 PRINT "YOU WANT IT TO STOP SO YOU":"NEED TO PLAN YOUR MOVES":"ACCORDINGLY.":" ":" PRESS ANY KEY" 3380 CALL KEY(0,PB,O) 3390 IF O=0 THEN 3380 3400 CALL SAY("SO HERE WE GO") 3410 CALL CLEAR :: RETURN 3430 REM SONG 3440 QB=131 :: RB=165 :: SB=196 :: TB=220 :: OA=262 :: UB=330 :: VB=392 :: WB=523 :: XB=587 :: YB=659 :: ZB=698 :: DA=840 3450 CALL SOUND(DA,QB,6,SB,6) 3460 CALL SOUND(DA,TB,11,OA,11,UB,11) 3470 CALL SOUND(DA,QB,6,SB,6) 3480 CALL SOUND(DA,TB,6,OA,6,UB,6) 3490 FOR P=1 TO 4 3500 CALL SOUND(DA/3,QB,6,SB,6) 3510 CALL SOUND(DA/3,TB,9,OA,9,UB,9) 3520 NEXT P 3530 FOR U=1 TO 8 3540 CALL SOUND(DA/6,QB,6,SB,6) 3550 CALL SOUND(DA/6,TB,11,OA,11,UB,11) 3560 NEXT U 3570 CALL SOUND(2/3*DA,QB,6,SB,6) 3580 CALL SOUND(2/3*DA,VB,6,WB,6,ZB,6) 3590 CALL SOUND(2/3*DA,VB,6,WB,6,ZB,6) 3600 CALL SOUND(2/3*DA,VB,6,WB,6,XB,6) 3610 CALL SOUND(4/3*DA,VB,6,WB,6,XB,6) 3620 CALL SOUND(4/3*DA,VB,6,WB,6,YB,6) 3630 RETURN 3640 CALL KEY(0,V,AC) 3650 RETURN 3660 IF A=1 THEN 3680 3670 IF PA<=24 THEN 3690 3680 IF V=101 THEN 1360 3690 IF PA>=177 THEN 3710 3700 IF V=120 THEN 1450 3710 IF QA<=18 THEN 3730 3720 IF V=115 THEN 1540 3730 IF QA>=240 THEN 1310 3740 IF V=100 THEN 1660 3750 GOTO 1310 FAIR152.ZIP 3 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.