mirror of
https://github.com/rvtr/Cookie-Clicker-C64.git
synced 2025-10-31 07:41:12 -04:00
Merge pull request #1 from IanSkinner1982/more-items
This took too long.
This commit is contained in:
commit
77cc536720
46
README.md
46
README.md
@ -9,9 +9,6 @@
|
||||
<a href="https://discord.com/invite/kJac2ty">
|
||||
<img src="https://img.shields.io/discord/704065693246685225?color=purple&label=Discord&logo=Discord&style=plastic"
|
||||
alt="Chat on Discord">
|
||||
</a>
|
||||
<a href="https://www.youtube.com/channel/UCjbecKNosrmUgRIOqU0UxCw/" style="padding-left: 5px; padding-right: 5px;">
|
||||
<img src="https://img.shields.io/badge/YouTube-Channel-red.svg" height="20">
|
||||
</a>
|
||||
<a href="https://gbatemp.net/download/cookie-clicker-c64.36587/" style="padding-left: 5px; padding-right: 5px;">
|
||||
<img src="https://img.shields.io/badge/GBAtemp-Link-blue.svg" height="20">
|
||||
@ -23,54 +20,17 @@
|
||||
|
||||
Cookie Clicker C64 (or CC64 for short) is a Cookie clicker clone for the Commodore 64.
|
||||
|
||||
## No this project is not dead. I have been doing a lot of planning for a whole new program design. Join my Discord server if you want to see my progress so far.<br> - Ian Skinner
|
||||
|
||||
## How to play :
|
||||
|
||||
- Press the space bar to 'click' for cookies.
|
||||
|
||||
- Buy/select items by pressing the letter beside them. (the one in brackets)
|
||||
|
||||
## Saves:
|
||||
|
||||
Saves must be named cc64.sav and placed in the same directory as cookie.prg. (to copy the save onto a d64 file, use <a href="http://lallafa.de/blog/c64-projects/diskimagery64/" target="_blank">DiskImagery64</a> or another disk editor.)
|
||||
<br>Currently saves are only available in the nightly builds.
|
||||
|
||||
|
||||
### Save file format:
|
||||
|
||||
<p>
|
||||
Stop key flag
|
||||
<br>Cookies
|
||||
<br>Cookie gain
|
||||
<br>Cursor amount
|
||||
<br>Grandma amount
|
||||
<br>Farm amount
|
||||
<br>Mine amount
|
||||
<br>Player name
|
||||
<br>
|
||||
<br>The stop key flag must be `0` or `1`.
|
||||
<br>`0` will prevent the player from stoping the program, and `1` allows the player to stop the program.
|
||||
|
||||
### Example save file:
|
||||
|
||||
<br>0
|
||||
<br>3426597
|
||||
<br>0.9823
|
||||
<br>230
|
||||
<br>54
|
||||
<br>32
|
||||
<br>1
|
||||
<br>IANSKINNER1982</p>
|
||||
|
||||
## Credits and Notes
|
||||
|
||||
Credits:
|
||||
- [@Orteil](https://orteil.dashnet.org/) (for making the original cookie clicker game)
|
||||
- [@Orteil](https://orteil.dashnet.org/) for making the original cookie clicker game
|
||||
- [@drskinner](https://github.com/drskinner/)
|
||||
|
||||
Notes:
|
||||
- Due to the way I have everything set up, some of my commits will appear as commits by [@drskinner](https://github.com/drskinner/)
|
||||
- Editing program lines larger than 80 characters on the C64 (or on an emulator) will result in parts of them being deleted
|
||||
- `storedat` must be placed in the same d64 as `cookie.prg`, or in the same directory, if your emulator treats a folder like a disk. Also note that unlike `storedat`, `savedat` is not needed to run the game, so you can place `savedat` on another d64 and swap disks when needed.
|
||||
|
||||
|
||||
|
||||
|
||||
BIN
build/cookie.prg
BIN
build/cookie.prg
Binary file not shown.
Binary file not shown.
@ -1,54 +1,72 @@
|
||||
cursor
|
||||
adds .1 cps
|
||||
.1
|
||||
15
|
||||
grandma
|
||||
adds 1 cps
|
||||
1
|
||||
100
|
||||
farm
|
||||
adds 8 cps
|
||||
8
|
||||
1100
|
||||
mine
|
||||
adds 47 cps
|
||||
47
|
||||
12000
|
||||
factory
|
||||
adds 260 cps
|
||||
260
|
||||
130000
|
||||
bank
|
||||
adds 1400 cps
|
||||
1400
|
||||
1400000
|
||||
temple
|
||||
adds 7800 cps
|
||||
7800
|
||||
20000000
|
||||
wizard tower
|
||||
adds 44000 cps
|
||||
44000
|
||||
330000000
|
||||
shipment
|
||||
adds 260000 cps
|
||||
260000
|
||||
5100000000
|
||||
alchemy lab
|
||||
adds 1600000 cps
|
||||
1600000
|
||||
75000000000
|
||||
portal
|
||||
adds 10 million cps
|
||||
10000000
|
||||
1000000000000
|
||||
time machine
|
||||
adds 65 million cps
|
||||
65000000
|
||||
14000000000000
|
||||
antim. condenser
|
||||
antimatter condenser
|
||||
adds 430 million cps
|
||||
430000000
|
||||
170000000000000
|
||||
prism
|
||||
adds 2.9 billion cps
|
||||
2900000000
|
||||
2100000000000000
|
||||
chancemaker
|
||||
adds 21 billion cps
|
||||
21000000000
|
||||
26000000000000000
|
||||
fractal engine
|
||||
adds 150 billion cps
|
||||
150000000000
|
||||
310000000000000000
|
||||
ml monitor
|
||||
adds 1.1 trillion cps
|
||||
1100000000000
|
||||
71000000000000000000
|
||||
idleverse
|
||||
adds 8.3 trillion cps
|
||||
1.2e+22
|
||||
8300000000000
|
||||
1.2e+22
|
||||
Binary file not shown.
Binary file not shown.
457
prg.txt
457
prg.txt
@ -1,250 +1,243 @@
|
||||
0 rem !to "build/cookie.prg"
|
||||
5 poke53280,14:poke53281,6:poke650,64:rem screen color, no keys repeat
|
||||
10 mi=17:dimna$(mi):dimia(mi):dimbd$(mi):dimbg(mi):dimpr(mi):dimcg(mi)
|
||||
20 rem open 8,8,8,"storedat,s,r"
|
||||
30 rem forx=0tomi
|
||||
40 rem input#8,na$(x)
|
||||
50 rem input#8,bd$(x)
|
||||
55 rem input#8,bg(x)
|
||||
60 rem input#8,pr(x)
|
||||
65 rem ?x+1"/"mi+1
|
||||
70 rem next
|
||||
80 gosub 52000:rem close 8
|
||||
90 ms=2:bn$="someone's":r1$="{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}"
|
||||
95 r2$="{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}":ss=1
|
||||
100 rem stick news here.
|
||||
110 print"{brown}{clear}UCCCCCCCCCCCCCCC{$b2}CCCCCCCCCCCCCCCCCCCCCCI";
|
||||
120 print"B B B";
|
||||
130 print"B B B";
|
||||
140 print"{$ab}CCCCCCCCCCCCCCC{$b3} B";
|
||||
150 print"B B B";
|
||||
160 print"B B B";
|
||||
170 print"B B B";
|
||||
180 print"B {rvon} {rvof} B B";
|
||||
190 print"B {rvon} {blk} {brown} {rvof} B B";
|
||||
200 print"B {rvon} {blk} {brown} {rvof} B B";
|
||||
210 print"B {rvon} {blk} {brown} {blk} {brown} {rvof} B B";
|
||||
220 print"B {rvon} {blk} {brown} {blk} {brown} {rvof} B B";
|
||||
230 print"B {rvon} {rvof} B B";
|
||||
240 print"B {rvon} {rvof} B B";
|
||||
250 print"B {rvon} {blk} {brown} {rvof} B B";
|
||||
260 print"B {rvon} {blk} {brown} {blk} {brown} {blk} {brown} {rvof} B B";
|
||||
270 print"B {rvon} {blk} {brown} {blk} {brown} {rvof} B B";
|
||||
280 print"B {rvon} {rvof} B B";
|
||||
290 print"B {rvon} {rvof} B B";
|
||||
300 print"B {rvon} {rvof} B B";
|
||||
310 print"B B B";
|
||||
320 print"B{wht} v2.9.0-1.0 {brown}B B";
|
||||
330 print"JCCCCCCCCCCCCCCC{$b1}CCCCCCCCCCCCCCCCCCCCCCK";
|
||||
340 print"{wht} {rvon}f1{rvof} store {rvon}f3{rvof} options {rvon}f5{rvof} stats {rvon}f7{rvof} ascend";
|
||||
500 print"{home}{down}{right}"int(cc)
|
||||
510 print"{brown}B{wht} cookies"
|
||||
520 ?"{brown}B{wht}"bn$
|
||||
530 print"{up}{brown}B{wht} bakery"
|
||||
1000 on ms gosub 2000, 5000, 5000
|
||||
1010 goto 1000
|
||||
|
||||
10 open 8,8,8,"cc64.sav,s,r" : rem reads the first line
|
||||
15 input#8,sb : rem of the save file and
|
||||
20 close 8 : rem checks stop key flag
|
||||
30 if sb=0 then poke788,52:poke792,193: rem 0=on, 1=off
|
||||
2000 ifms<>1thenreturn :rem store page selection and menu switching area.
|
||||
2010 ifss>0theni=0:j=4:ifss>1theni=5:j=9:ifss>2theni=10:j=14:ifss>3theni=15:j=17
|
||||
2060 ts=ss:tm=ms :rem 2010 sets the range of item data
|
||||
2090 gosub2500 :rem to be used. do not have a range
|
||||
2100 goto2000 :rem bigger than 5. (smaller is fine)
|
||||
|
||||
40 cc=0:cg=0:ca=0:ga=0:fa=0:ma=0:ft$="0":mt$="0":bn$="someone"
|
||||
50 ds$=chr$(17):rem cursor down
|
||||
60 rs$=chr$(29):rem cursor right
|
||||
70 ls$=chr$(157):rem cursor left
|
||||
80 c1=15:c2=100:c3=1100:c4=12000
|
||||
99 print"{clear}{home}"
|
||||
2500 gosub51000
|
||||
2505 y=1:forx=itoj :rem this section prints the
|
||||
2510 ifx=ithen?"{home}" :rem item data in the given range.
|
||||
2515 ?r1$"{up}{rvon}"right$(str$(y),1)"{rvof} "na$(x)
|
||||
2520 ?r1$r2$"{up}"ia(x)
|
||||
2530 ?r1$bd$(x)
|
||||
2540 ?r1$"{up}"int(pr(x))
|
||||
2545 ?r1$"{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}":y=y+1
|
||||
2550 next
|
||||
2555 ifj=17then?r1$"{down}{down}{down}{down}{down}{down}{down} prev/next(-/+)"
|
||||
2560 ?r1$"{up} prev/next(-/+)"
|
||||
2565 gosub 3000
|
||||
2570 return
|
||||
|
||||
1000 print"{clear}{home}{grey2}UCCCCCCCCCCCCCCCCCCCCCCCCC{$b2}CCCCCCCCCCCI"
|
||||
1010 print"{grey2}B{wht} you have 0 {grey2}B{wht}cursor(c) {grey2}B"
|
||||
1020 print"{grey2}B{wht} cookies {grey2}B{wht}"ca
|
||||
1025 print"{up}{grey2}B{wht} cookies {grey2}B{wht}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{grey2}B"
|
||||
1030 print"{grey2}{$ab}CCCCCCCCCCCCCCCCCCCCCCCCC{$b3}{wht}cost: {grey2}B"
|
||||
1040 print"{grey2}B {grey2}B{wht} 15 {grey2}B"
|
||||
1050 print"{grey2}B {grey2}{$ab}CCCCCCCCCCC{$b3}"
|
||||
1060 print"{grey2}B {grey2}B{wht}grandma(g) {grey2}B"
|
||||
1070 print"{grey2}B {grey2}B{wht}"ga
|
||||
1075 print"{up}{grey2}B{wht} {grey2}B{wht}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{grey2}B"
|
||||
1080 print"{grey2}B {brown}******** {grey2}B{wht}cost: {grey2}B"
|
||||
1090 print"{grey2}B {brown}*******{blk}**{brown}* {grey2}B{wht} 100 {grey2}B"
|
||||
1100 print"{grey2}B {brown}***{blk}*{brown}******** {grey2}{$ab}CCCCCCCCCCC{$b3}"
|
||||
1110 print"{grey2}B {brown}***{blk}**{brown}********* {grey2}B B"
|
||||
1120 print"{grey2}B {brown}********{blk}**{brown}**** {grey2}B B"
|
||||
1130 print"{grey2}B {brown}********{blk}**{brown}**** {grey2}B B"
|
||||
1140 print"{grey2}B {brown}************** {grey2}B B"
|
||||
1150 print"{grey2}B {brown}*{blk}*{brown}************ {grey2}B B"
|
||||
1160 print"{grey2}B {brown}*************{brown}* {grey2}B B"
|
||||
1170 print"{grey2}B {brown}******{blk}**{brown}**** {grey2}B B"
|
||||
1180 print"{grey2}B {brown}*****{blk}**{brown}*** {grey2}B B"
|
||||
1190 print"{grey2}B {brown}******** {grey2}B B"
|
||||
1200 print"{grey2}B {$ab}CCCCCCCCCCC{$b3}"
|
||||
1210 print"{grey2}B B{grey1}settings(s){grey2}B"
|
||||
1220 print"{grey2}B v2.9.0-1.0 B{grey1}upgrades(u){grey2}B"
|
||||
1230 print"{grey2}JCCCCCCCCCCCCCCCCCCCCCCCCC{$b1}CCCCCCCCCCCK"
|
||||
3000 get k$:x=0 :rem don't add a 'ifk$=""' or else the adding routine won't run properly
|
||||
3010 gosub 60000 :rem
|
||||
3015 ifval(k$)>5then3070 :rem main loop
|
||||
3020 ifval(k$)<1then3070 :rem
|
||||
3025 x=val(k$)
|
||||
3065 gosub 3500
|
||||
3070 gosub 50000
|
||||
3080 ifk$="+"thenss=ss+1
|
||||
3085 ifk$="-"thenss=ss-1
|
||||
3090 ifss=0thenss=1
|
||||
3095 ifss=5thenss=4
|
||||
3110 ifss<>tsthenreturn
|
||||
3120 ifms<>tmthenreturn
|
||||
3130 goto 3000
|
||||
|
||||
1300 print"{home}{down}{down}{down}{down}B "bn$"'s bakery "
|
||||
1310 print"{up}B{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{grey2}B{wht} 15 {grey2}B"
|
||||
1320 print"{grey2}B {grey2}{$ab}CCCCCCCCCCC{$b3}"
|
||||
3500 y=i+x-1 :rem buying subroutine
|
||||
3510 if cc<pr(y)then3610
|
||||
3515 if ia(y)=300then3610:rem temp item cap
|
||||
3520 cc=cc-pr(y):cg(y)=cg(y)+bg(y):pr(y)=pr(y)*1.15:ia(y)=ia(y)+1
|
||||
3530 ifx=1then?"{home}"r1$r2$"{down}"ia(y)
|
||||
3540 ifx=2then?"{home}"r1$r2$"{down}{down}{down}{down}{down}"ia(y)
|
||||
3550 ifx=3then?"{home}"r1$r2$"{down}{down}{down}{down}{down}{down}{down}{down}{down}"ia(y)
|
||||
3560 ifx=4then?"{home}"r1$r2$"{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}"ia(y)
|
||||
3565 ifx=5then?"{home}"r1$r2$"{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}"ia(y)
|
||||
3570 ifx=1then?"{home}"r1$"{down}{down}{down}"int(pr(y))
|
||||
3580 ifx=2then?"{home}"r1$"{down}{down}{down}{down}{down}{down}{down}"int(pr(y))
|
||||
3590 ifx=3then?"{home}"r1$"{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}"int(pr(y))
|
||||
3600 ifx=4then?"{home}"r1$"{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}"int(pr(y))
|
||||
3605 ifx=5then?"{home}"r1$"{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}"int(pr(y))
|
||||
3610 x=0:return
|
||||
|
||||
1500 ft$="0":mt$="0"
|
||||
5000 ifms<>2thenreturn :rem
|
||||
5010 tm=ms :rem this section is for menu switching.
|
||||
5020 gosub51000:gosub5100:goto5000 :rem
|
||||
|
||||
1900 if ft$="0" then gosub 4000
|
||||
1910 if mt$="0" then gosub 4100
|
||||
1920 get k$:if k$= "" then 1990
|
||||
1930 if k$=" " then 2100
|
||||
1940 if k$="c" then 2200
|
||||
1950 if k$="g" then 2300
|
||||
1960 if k$="f" then 2400
|
||||
1970 if k$="m" then 2500
|
||||
1980 if k$="s" then 10000
|
||||
1990 rem start of auto add
|
||||
2000 cc=cc+cg
|
||||
2010 print"{home}{down}{grey2}B{wht} you have "int(cc)
|
||||
2020 goto 1900
|
||||
5100 ?"{home}{down}"r1$"{rvon}1{rvof} change your bakery's"
|
||||
5110 ?r1$"name"
|
||||
5120 ?r1$"{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{down}"
|
||||
5130 ?r1$"{up}{rvon}2{rvof} create a save file"
|
||||
5140 ?r1$"on a disk"
|
||||
5150 ?r1$"{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{down}"
|
||||
5160 ?r1$"{up}{rvon}3{rvof} load a save file"
|
||||
5170 ?r1$"from a disk"
|
||||
5180 ?r1$"{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{down}"
|
||||
5160 ?r1$"{up}{rvon}4{rvof} manage your saves"
|
||||
5180 ?r1$"{down}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{down}"
|
||||
|
||||
|
||||
2099 rem part 2
|
||||
5200 getk$ :rem
|
||||
5210 ifval(k$)>4then5240 :rem main loop
|
||||
5220 ifval(k$)<1then5240 :rem
|
||||
5230 onval(k$)gosub5500,5700,5900,6100
|
||||
5240 gosub 50000
|
||||
5250 ifms<>tmthenreturn
|
||||
5260 goto 5200
|
||||
|
||||
5500 tn$="":?"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}"r1$"new name:"
|
||||
5510 getnp$:ifnp$=""then5510
|
||||
5515 iflen(tn$)<1then?r1$; :
|
||||
5520 ?np$;:tn$=tn$+np$:ifnp$="{\n}"then5540 :rem bakery name
|
||||
5530 iflen(tn$)<14then5510 :
|
||||
5540 ?"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}"r1$" "
|
||||
5550 ?r1$" ":bn$=left$(tn$,(len(tn$)-1))
|
||||
5560 ?"{home}{down}{down}{down}{down}{right} {home}{down}{down}{down}{down}{right}"bn$"'s":return
|
||||
|
||||
2100 cc=cc+1
|
||||
2110 print"{home}{down}{grey2}B{wht} you have "int(cc)
|
||||
2120 goto 1900
|
||||
5700 open 8,8,8,"@0:savedat,s,w" :rem save data
|
||||
5710 print#8,fl
|
||||
5720 print#8,bn$
|
||||
5730 print#8,cc
|
||||
5740 forx=0tomi
|
||||
5750 print#8,cg(x)
|
||||
5760 print#8,pr(x)
|
||||
5770 print#8,ia(x)
|
||||
5780 next:close 8:return
|
||||
|
||||
2200 if cc<15 then 1900 rem CURSORS
|
||||
2210 cc=cc-15:cg=cg+.04:ca=ca+1
|
||||
2220 print"{home}{down}{grey2}B{wht} you have "int(cc)
|
||||
2225 print"{home}{down}{grey2}B{wht} you have {grey2}B
|
||||
2230 print"{home}{down}{down}{down}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{grey2}B{wht}"ca
|
||||
2240 goto 1900
|
||||
5900 open 8,8,8,"@0:savedat,s,r" :rem load data
|
||||
5910 input#8,fl
|
||||
5920 input#8,bn$
|
||||
5930 input#8,cc
|
||||
5940 forx=0tomi
|
||||
5950 input#8,cg(x)
|
||||
5960 input#8,pr(x)
|
||||
5970 input#8,ia(x)
|
||||
5980 next:close 8:return
|
||||
|
||||
2300 if cc<100 then 1900 rem GRANDMAS
|
||||
2310 cc=cc-100:cg=cg+.05:ga=ga+1
|
||||
2320 print"{home}{down}{grey2}B{wht} you have "int(cc)
|
||||
2325 print"{home}{down}{grey2}B{wht} you have {grey2}B
|
||||
2330 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{grey2}B{wht}"ga
|
||||
2340 goto 1900
|
||||
10000 stop
|
||||
|
||||
2400 if cc<1100 then 1900 rem MINES
|
||||
2410 cc=cc-1100:cg=cg+.06:ma=ma+1
|
||||
2420 print"{home}{down}{grey2}B{wht} you have "int(cc)
|
||||
2425 print"{home}{down}{grey2}B{wht} you have {grey2}B
|
||||
2430 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{grey2}B{wht}"ma
|
||||
2440 goto 1900
|
||||
49999 :rem important subroutines
|
||||
|
||||
2500 if cc<12000 then 1900 rem FARMS
|
||||
2510 cc=cc-12000:cg=cg+.1:fa=fa+1
|
||||
2520 print"{home}{down}{grey2}B{wht} you have "int(cc)
|
||||
2525 print"{home}{down}{grey2}B{wht} you have {grey2}B
|
||||
2530 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{grey2}B{wht}"fa
|
||||
2540 goto 1900
|
||||
50000 ifk$="{f1}"then50040:rem
|
||||
50010 ifk$="{f3}"then50040:rem menu selecting
|
||||
50020 ifk$="{f5}"then50040:rem
|
||||
50030 return
|
||||
50040 ms=-1*(k$="{f1}")-2*(k$="{f3}")-3*(k$="{f5}"):return
|
||||
|
||||
4000 if cc<400 then return
|
||||
4010 ft$="1"
|
||||
4020 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{grey2}B {brown}***{blk}*{brown}******** {grey2}{$ab}CCCCCCCCCCC{$b3}"
|
||||
4030 print"{grey2}B {brown}***{blk}**{brown}********* {grey2}B{wht}farm(f) {grey2}B"
|
||||
4040 print"{grey2}B {brown}********{blk}**{brown}**** {grey2}B{wht}"fa
|
||||
4045 print"{grey2}B {brown}********{blk}**{brown}**** {grey2}B{wht} {right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{grey2}B"
|
||||
4050 print"{up}{grey2}B {brown}********{blk}**{brown}**** {grey2}B{wht}cost: {grey2}B"
|
||||
4060 print"{grey2}B {brown}************** {grey2}B{wht} 1100 {grey2}B"
|
||||
4070 print"{grey2}B {brown}*{blk}*{brown}************ {grey2}{$ab}CCCCCCCCCCC{$b3}"
|
||||
4080 return
|
||||
51000 forx=1to20: rem clears the menu
|
||||
51010 ifx=1then?"{home}"r1$"{down} ";
|
||||
51020 ?r1$"{right} ";:next
|
||||
51040 return
|
||||
|
||||
4100 if cc<6000 then return
|
||||
4110 mt$="1"
|
||||
4120 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{grey2}B {brown}*{blk}*{brown}***********{brown}* {grey2}{$ab}CCCCCCCCCCC{$b3}"
|
||||
4130 print"{grey2}B {brown}*************{brown}* {grey2}B{wht}mine(m) {grey2}B"
|
||||
4140 print"{grey2}B {brown}******{blk}**{brown}**** {grey2}B{wht}"ma
|
||||
4145 print"{up}{grey2}B {brown}******{blk}**{brown}**** {grey2}B{wht} {right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{grey2}B"
|
||||
4150 print"{grey2}B {brown}*****{blk}**{brown}*** {grey2}B{wht}cost: {grey2}B"
|
||||
4160 print"{grey2}B {brown}******** {grey2}B{wht} 12000 {grey2}B"
|
||||
4170 print"{grey2}B {grey2}{$ab}CCCCCCCCCCC{$b3}"
|
||||
4180 return
|
||||
4180 return
|
||||
52000 x=0:na$(x)="cursor"
|
||||
52001 bd$(x)="adds .1 cps"
|
||||
52002 bg(x)=.1
|
||||
52003 pr(x)=15
|
||||
52004 x=x+1:na$(x)="grandma"
|
||||
52005 bd$(x)="adds 1 cps"
|
||||
52006 bg(x)=1
|
||||
52007 pr(x)=100
|
||||
52008 x=x+1:na$(x)="farm"
|
||||
52009 bd$(x)="adds 8 cps"
|
||||
52010 bg(x)=8
|
||||
52011 pr(x)=1100
|
||||
52012 x=x+1:na$(x)="mine"
|
||||
52013 bd$(x)="adds 47 cps"
|
||||
52014 bg(x)=47
|
||||
52015 pr(x)=12000
|
||||
52016 x=x+1:na$(x)="factory"
|
||||
52017 bd$(x)="adds 260 cps"
|
||||
52018 bg(x)=260
|
||||
52019 pr(x)=130000
|
||||
52020 x=x+1:na$(x)="bank"
|
||||
52021 bd$(x)="adds 1400 cps"
|
||||
52022 bg(x)=1400
|
||||
52023 pr(x)=1400000
|
||||
52024 x=x+1:na$(x)="temple"
|
||||
52025 bd$(x)="adds 7800 cps"
|
||||
52026 bg(x)=7800
|
||||
52027 pr(x)=20000000
|
||||
52028 x=x+1:na$(x)="wizard tower"
|
||||
52029 bd$(x)="adds 44000 cps"
|
||||
52030 bg(x)=44000
|
||||
52031 pr(x)=330000000
|
||||
52032 x=x+1:na$(x)="shipment"
|
||||
52033 bd$(x)="adds 260000 cps"
|
||||
52034 bg(x)=260000
|
||||
52035 pr(x)=5100000000
|
||||
52036 x=x+1:na$(x)="alchemy lab"
|
||||
52037 bd$(x)="adds 1600000 cps"
|
||||
52038 bg(x)=1600000
|
||||
52039 pr(x)=75000000000
|
||||
52040 x=x+1:na$(x)="portal"
|
||||
52041 bd$(x)="adds 10 million cps"
|
||||
52042 bg(x)=10000000
|
||||
52043 pr(x)=1000000000000
|
||||
52044 x=x+1:na$(x)="time machine"
|
||||
52045 bd$(x)="adds 65 million cps"
|
||||
52046 bg(x)=65000000
|
||||
52047 pr(x)=14000000000000
|
||||
52048 x=x+1:na$(x)="antimatter condenser"
|
||||
52049 bd$(x)="adds 430 million cps"
|
||||
52050 bg(x)=430000000
|
||||
52051 pr(x)=170000000000000
|
||||
52052 x=x+1:na$(x)="prism"
|
||||
52053 bd$(x)="adds 2.9 billion cps"
|
||||
52054 bg(x)=2900000000
|
||||
52055 pr(x)=2100000000000000
|
||||
52056 x=x+1:na$(x)="chancemaker"
|
||||
52057 bd$(x)="adds 21 billion cps"
|
||||
52058 bg(x)=21000000000
|
||||
52059 pr(x)=26000000000000000
|
||||
52060 x=x+1:na$(x)="fractal engine"
|
||||
52061 bd$(x)="adds 150 billion cps"
|
||||
52062 bg(x)=150000000000
|
||||
52063 pr(x)=310000000000000000
|
||||
52064 x=x+1:na$(x)="ml monitor"
|
||||
52065 bd$(x)="adds 1.1 trillion cps"
|
||||
52066 bg(x)=1100000000000
|
||||
52067 pr(x)=71000000000000000000
|
||||
52068 x=x+1:na$(x)="idleverse"
|
||||
52069 bd$(x)="adds 8.3 trillion cps"
|
||||
52070 bg(x)=8300000000000
|
||||
52071 pr(x)=1.2e+22
|
||||
52072 return
|
||||
|
||||
10000 rem settings start here
|
||||
10010 poke53280,0:poke53281,0
|
||||
10100 print"{clear}{grey1}UCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCI"
|
||||
10110 print"B B"
|
||||
10120 print"B {wht}bakery name (b): {grey1}B"
|
||||
10130 print"B{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}B"
|
||||
10140 print"B B"
|
||||
10150 print"B {wht}save (s) {grey1}B"
|
||||
10160 print"B{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}B"
|
||||
10170 print"B B"
|
||||
10180 print"B {wht}load (l) {grey1}B"
|
||||
10190 print"B{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}B"
|
||||
10200 print"B B"
|
||||
10210 print"B {wht}manage saves (m) {grey1}B"
|
||||
10220 print"B{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}B"
|
||||
10230 print"B B"
|
||||
10240 print"B {yel}testmenu (t) {grey1}B"
|
||||
10250 print"B{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}B"
|
||||
10260 print"B B"
|
||||
10270 rem print"B B"
|
||||
10280 rem print"B B"
|
||||
10290 rem print"B B"
|
||||
10300 rem print"B B"
|
||||
10310 print"B {wht}exit settings (e) {grey1}B"
|
||||
10320 print"B{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}{$a3}B"
|
||||
10330 print"B B"
|
||||
10340 print"JCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCK"
|
||||
|
||||
11200 getk$:ifk$=""then 11200
|
||||
11210 ifk$="b"then goto 12000
|
||||
11220 ifk$="s"then goto 12100
|
||||
11230 ifk$="l"then goto 12200
|
||||
11240 ifk$="m"then goto 12300
|
||||
11250 ifk$="e"then goto 15000
|
||||
11260 ifk$="t"then goto 40000
|
||||
11270 goto 11200
|
||||
|
||||
12000 print"{clear}{down}{wht}please enter a new name (14 characters max):"
|
||||
12010 input nn$
|
||||
12020 nl=len(nn$)
|
||||
12030 if nl<15 then 12050
|
||||
12040 print"{up}{up}{up}{red}error: name too long{wht}":getk$:ifk$=""goto12040
|
||||
12045 goto 12000
|
||||
12050 print"are you sure? (y/n)"
|
||||
12055 getk$:ifk$=""then12055
|
||||
12060 ifk$="y"then 12080
|
||||
12070 goto 10100
|
||||
12080 bn$=nn$:goto10100
|
||||
|
||||
12100 print"{clear}{wht}writing save data..."
|
||||
12110 open 8,8,8,"@0:cc64.sav,s,w"
|
||||
12110 print#8,sb
|
||||
12120 print#8,cc
|
||||
12130 print#8,cg
|
||||
12140 print#8,ca
|
||||
12145 print#8,ga
|
||||
12150 print#8,fa
|
||||
12155 print#8,ma
|
||||
12160 print#8,bn$
|
||||
12165 close 8
|
||||
12170 print"saving complete"
|
||||
12180 goto 10000
|
||||
|
||||
12200 print"{clear}{wht}loading save data..."
|
||||
12210 open 8,8,8,"cc64.sav,s,r"
|
||||
12215 input#8,sb
|
||||
12220 input#8,cc
|
||||
12222 input#8,cg
|
||||
12224 input#8,ca
|
||||
12226 input#8,ga
|
||||
12228 input#8,fa
|
||||
12230 input#8,ma
|
||||
12235 input#8,bn$
|
||||
12260 close 8
|
||||
12270 print"loading complete"
|
||||
12275 poke53280,14:poke53281,6
|
||||
12280 goto 10000
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
12300 print"{home}{down}{down}{down}{down}{down}{down}{right}{right}{right}{right}*CCCCCCCCCCCCCCCCCCCCCCCCCCCCC*"
|
||||
12310 print"{right}{right}{right}{right}B (1) erase current save B"
|
||||
12320 print"{right}{right}{right}{right}B (2) erase cc64.sav B"
|
||||
12330 rem print"{right}{right}{right}{right}B (3) create 2nd save B"
|
||||
12340 rem print"{right}{right}{right}{right}B (4) erase 2nd save B"
|
||||
12350 print"{right}{right}{right}{right}B (3) exit B"
|
||||
12360 print"{right}{right}{right}{right}*CCCCCCCCCCCCCCCCCCCCCCCCCCCCC*"
|
||||
12400 getk$:ifk$=""then12400
|
||||
12410 ifk$="1"then 12500
|
||||
12420 ifk$="2"then 12600
|
||||
12450 ifk$="3"then 10000
|
||||
12460 goto 12400
|
||||
|
||||
12500 cc=0:cg=0:ca=0:ga=0:fa=0:ma=0:ft$="0":mt$="0":bn$="someone"
|
||||
12510 goto 10000
|
||||
|
||||
12600 open 8,8,8,"@0:cc64.sav,s,w"
|
||||
12610 print#8,sb
|
||||
12610 print#8,0
|
||||
12620 print#8,0
|
||||
12630 print#8,0
|
||||
12640 print#8,0
|
||||
12650 print#8,0
|
||||
12660 print#8,0
|
||||
12670 close 8
|
||||
12680 goto 10000
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
15000 print"{clear}"
|
||||
15010 poke53280,14:poke53281,6
|
||||
15030 goto 1000
|
||||
|
||||
40000 print"{clear}"
|
||||
40010 print chr$(147);
|
||||
40020 q$=chr$(34)
|
||||
40030 d$=chr$(17)
|
||||
40040 print"load"q$"testmenu"q$",8"
|
||||
40050 printd$;d$;d$;d$;"run"
|
||||
40060 rem load keyboard buffer and flush it
|
||||
40070 poke631,19:poke632,13:poke633,13:poke198,3
|
||||
60000 b=0:fora=0tomi:b=b+(cg(a)/3.6):next:rem adding subroutine
|
||||
60010 ifk$=" "thencc=cc+1
|
||||
60020 ifcb>ccthen?"{home}{down}{right} "
|
||||
60030 cc=cc+b:?"{home}{down}{right}"int(cc):cb=cc:return
|
||||
|
||||
134
testmenu.txt
134
testmenu.txt
@ -1,133 +1 @@
|
||||
0 rem !to "build/testmenu.prg"
|
||||
5 poke788,52:poke792,193
|
||||
40000 rem testing menu
|
||||
40010 poke53280,0:poke53281,0:poke646,5
|
||||
40020 print"{clear}logging into console"
|
||||
40025 print"cc64:/>"
|
||||
40030 print"{up}{right}{right}{right}{right}{right}{right}{right} h"
|
||||
40040 print"booting help menu"
|
||||
40045 print""
|
||||
40050 print" manage saves:"
|
||||
40060 print""
|
||||
40110 print" delete [d]"
|
||||
40130 print" restore [r]"
|
||||
40140 print" edit [e]"
|
||||
40150 print""
|
||||
40160 print" others:"
|
||||
40165 print""
|
||||
40170 print" help [h]"
|
||||
40160 print" exit [t]"
|
||||
40170 print""
|
||||
40180 print"cc64:/>"
|
||||
40500 getk$:ifk$=""then40500
|
||||
40520 ifk$="d"then 41000
|
||||
40540 ifk$="r"then 43000
|
||||
40570 ifk$="e"then 44000
|
||||
40580 ifk$="h"then 40030
|
||||
40590 ifk$="t"then 60000
|
||||
40600 goto 40500
|
||||
|
||||
41000 print"{up}{right}{right}{right}{right}{right}{right}{right} d"
|
||||
41005 print"writing objects: 0% (0/1)"
|
||||
41010 open 8,8,8,"@0:cc64.sav,s,w"
|
||||
41015 print#8,0
|
||||
41020 print#8,0
|
||||
41025 print#8,0
|
||||
41030 print#8,0
|
||||
41035 print#8,0
|
||||
41040 print#8,0
|
||||
41050 print#8,0
|
||||
41055 print#8,"someone"
|
||||
41060 close 8
|
||||
41070 print"{up}writing objects: 0% (1/1)"
|
||||
41080 goto 40180
|
||||
|
||||
44000 print"{up}{right}{right}{right}{right}{right}{right}{right} e"
|
||||
44005 print"loading save file: 0% (0/1)"
|
||||
44010 open 8,8,8,"@0:cc64.sav,s,r"
|
||||
44015 input#8,sb
|
||||
44020 input#8,cc
|
||||
44022 input#8,cg
|
||||
44024 input#8,ca
|
||||
44026 input#8,ga
|
||||
44028 input#8,fa
|
||||
44030 input#8,ma
|
||||
44040 input#8,bn$
|
||||
44040 close 8
|
||||
44070 print"{up}loading save file: 100% (1/1)"
|
||||
44080 print""
|
||||
44090 print" [1] stop key flag: "sb
|
||||
44100 print" [2] cookies: "cc
|
||||
44110 print" [3] cookie gain: "cg
|
||||
44120 print" [4] cursor amount: "ca
|
||||
44130 print" [5] grandma amount: "ga
|
||||
44140 print" [6] farm amount: "fa
|
||||
44150 print" [7] mine amount: "ma
|
||||
44160 print" [8] bakery name: "bn$
|
||||
44500 print" [9] exit menu (saves changes)"
|
||||
44510 print""
|
||||
44520 print"please choose an option"
|
||||
44530 print"cc64:/cc64.sav/>"
|
||||
44540 getk$:ifk$=""then44540
|
||||
44550 if k$="1"then 45000
|
||||
44560 if k$="2"then 45100
|
||||
44570 if k$="3"then 45200
|
||||
44580 if k$="4"then 45300
|
||||
44590 if k$="5"then 45400
|
||||
44600 if k$="6"then 45500
|
||||
44610 if k$="7"then 45600
|
||||
44620 if k$="8"then 45700
|
||||
44630 if k$="9"then 45800
|
||||
44999 goto 43540
|
||||
|
||||
45000 print"please set a value (0=on:1=off)
|
||||
45010 input sb
|
||||
45020 if sb>1 then goto 45000
|
||||
45030 if sb<0 then goto 45000
|
||||
45040 goto 44080
|
||||
45100 print"please set a value"
|
||||
45110 input cc
|
||||
45120 goto 44080
|
||||
45200 print"please set a value"
|
||||
45210 input cg
|
||||
45220 goto 44080
|
||||
45300 print"please set a value"
|
||||
45310 input ca
|
||||
45320 goto 44080
|
||||
45400 print"please set a value"
|
||||
45410 input ga
|
||||
45420 goto 44080
|
||||
45500 print"please set a value"
|
||||
45510 input fa
|
||||
45520 goto 44080
|
||||
45600 print"please set a value"
|
||||
45610 input ma
|
||||
45620 goto 44080
|
||||
45700 print"please set a value"
|
||||
45710 input bn$
|
||||
45720 goto 44080
|
||||
|
||||
|
||||
45800 print"{up}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right} .."
|
||||
45805 print"writing objects: 0% (0/1)"
|
||||
45810 open 8,8,8,"@0:cc64.sav,s,w"
|
||||
45815 print#8,sb
|
||||
45820 print#8,cc
|
||||
45825 print#8,cg
|
||||
45830 print#8,ca
|
||||
45835 print#8,ga
|
||||
45840 print#8,fa
|
||||
45845 print#8,ma
|
||||
45850 print#8,bn$
|
||||
45855 close 8
|
||||
45860 print"{up}writing objects: 100% (1/1)"
|
||||
45865 goto 40180
|
||||
|
||||
60000 print"{clear}"
|
||||
60010 print chr$(147);
|
||||
60020 q$=chr$(34)
|
||||
60030 d$=chr$(17)
|
||||
60040 print"load"q$"cookie"q$",8"
|
||||
60050 printd$;d$;d$;d$;"run"
|
||||
60060 rem load keyboard buffer and flush it
|
||||
60070 poke631,19:poke632,13:poke633,13:poke198,3
|
||||
0 rem !to "build/testmenu.prg"
|
||||
Loading…
Reference in New Issue
Block a user