Merge pull request #1 from IanSkinner1982/more-items

This took too long.
This commit is contained in:
Ian Skinner 2021-06-02 15:44:41 -04:00 committed by GitHub
commit 77cc536720
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 249 additions and 410 deletions

View File

@ -9,9 +9,6 @@
<a href="https://discord.com/invite/kJac2ty"> <a href="https://discord.com/invite/kJac2ty">
<img src="https://img.shields.io/discord/704065693246685225?color=purple&label=Discord&logo=Discord&style=plastic" <img src="https://img.shields.io/discord/704065693246685225?color=purple&label=Discord&logo=Discord&style=plastic"
alt="Chat on Discord"> 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>
<a href="https://gbatemp.net/download/cookie-clicker-c64.36587/" style="padding-left: 5px; padding-right: 5px;"> <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"> <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. 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 : ## How to play :
- Press the space bar to 'click' for cookies. - 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: 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: 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 - 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.

Binary file not shown.

Binary file not shown.

View File

@ -1,54 +1,72 @@
cursor cursor
adds .1 cps adds .1 cps
.1
15 15
grandma grandma
adds 1 cps adds 1 cps
1
100 100
farm farm
adds 8 cps adds 8 cps
8
1100 1100
mine mine
adds 47 cps adds 47 cps
47
12000 12000
factory factory
adds 260 cps adds 260 cps
260
130000 130000
bank bank
adds 1400 cps adds 1400 cps
1400
1400000 1400000
temple temple
adds 7800 cps adds 7800 cps
7800
20000000 20000000
wizard tower wizard tower
adds 44000 cps adds 44000 cps
44000
330000000 330000000
shipment shipment
adds 260000 cps adds 260000 cps
260000
5100000000 5100000000
alchemy lab alchemy lab
adds 1600000 cps adds 1600000 cps
1600000
75000000000 75000000000
portal portal
adds 10 million cps adds 10 million cps
10000000
1000000000000 1000000000000
time machine time machine
adds 65 million cps adds 65 million cps
65000000
14000000000000 14000000000000
antim. condenser antimatter condenser
adds 430 million cps adds 430 million cps
430000000
170000000000000 170000000000000
prism prism
adds 2.9 billion cps adds 2.9 billion cps
2900000000
2100000000000000 2100000000000000
chancemaker chancemaker
adds 21 billion cps adds 21 billion cps
21000000000
26000000000000000 26000000000000000
fractal engine fractal engine
adds 150 billion cps adds 150 billion cps
150000000000
310000000000000000 310000000000000000
ml monitor ml monitor
adds 1.1 trillion cps adds 1.1 trillion cps
1100000000000
71000000000000000000 71000000000000000000
idleverse idleverse
adds 8.3 trillion cps adds 8.3 trillion cps
8300000000000
1.2e+22 1.2e+22

Binary file not shown.

Binary file not shown.

457
prg.txt
View File

@ -1,250 +1,243 @@
0 rem !to "build/cookie.prg" 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 2000 ifms<>1thenreturn :rem store page selection and menu switching area.
15 input#8,sb : rem of the save file and 2010 ifss>0theni=0:j=4:ifss>1theni=5:j=9:ifss>2theni=10:j=14:ifss>3theni=15:j=17
20 close 8 : rem checks stop key flag 2060 ts=ss:tm=ms :rem 2010 sets the range of item data
30 if sb=0 then poke788,52:poke792,193: rem 0=on, 1=off 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" 2500 gosub51000
50 ds$=chr$(17):rem cursor down 2505 y=1:forx=itoj :rem this section prints the
60 rs$=chr$(29):rem cursor right 2510 ifx=ithen?"{home}" :rem item data in the given range.
70 ls$=chr$(157):rem cursor left 2515 ?r1$"{up}{rvon}"right$(str$(y),1)"{rvof} "na$(x)
80 c1=15:c2=100:c3=1100:c4=12000 2520 ?r1$r2$"{up}"ia(x)
99 print"{clear}{home}" 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" 3000 get k$:x=0 :rem don't add a 'ifk$=""' or else the adding routine won't run properly
1010 print"{grey2}B{wht} you have 0 {grey2}B{wht}cursor(c) {grey2}B" 3010 gosub 60000 :rem
1020 print"{grey2}B{wht} cookies {grey2}B{wht}"ca 3015 ifval(k$)>5then3070 :rem main loop
1025 print"{up}{grey2}B{wht} cookies {grey2}B{wht}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{grey2}B" 3020 ifval(k$)<1then3070 :rem
1030 print"{grey2}{$ab}CCCCCCCCCCCCCCCCCCCCCCCCC{$b3}{wht}cost: {grey2}B" 3025 x=val(k$)
1040 print"{grey2}B {grey2}B{wht} 15 {grey2}B" 3065 gosub 3500
1050 print"{grey2}B {grey2}{$ab}CCCCCCCCCCC{$b3}" 3070 gosub 50000
1060 print"{grey2}B {grey2}B{wht}grandma(g) {grey2}B" 3080 ifk$="+"thenss=ss+1
1070 print"{grey2}B {grey2}B{wht}"ga 3085 ifk$="-"thenss=ss-1
1075 print"{up}{grey2}B{wht} {grey2}B{wht}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{grey2}B" 3090 ifss=0thenss=1
1080 print"{grey2}B {brown}******** {grey2}B{wht}cost: {grey2}B" 3095 ifss=5thenss=4
1090 print"{grey2}B {brown}*******{blk}**{brown}* {grey2}B{wht} 100 {grey2}B" 3110 ifss<>tsthenreturn
1100 print"{grey2}B {brown}***{blk}*{brown}******** {grey2}{$ab}CCCCCCCCCCC{$b3}" 3120 ifms<>tmthenreturn
1110 print"{grey2}B {brown}***{blk}**{brown}********* {grey2}B B" 3130 goto 3000
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"
1300 print"{home}{down}{down}{down}{down}B "bn$"'s bakery " 3500 y=i+x-1 :rem buying subroutine
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" 3510 if cc<pr(y)then3610
1320 print"{grey2}B {grey2}{$ab}CCCCCCCCCCC{$b3}" 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 5100 ?"{home}{down}"r1$"{rvon}1{rvof} change your bakery's"
1910 if mt$="0" then gosub 4100 5110 ?r1$"name"
1920 get k$:if k$= "" then 1990 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}"
1930 if k$=" " then 2100 5130 ?r1$"{up}{rvon}2{rvof} create a save file"
1940 if k$="c" then 2200 5140 ?r1$"on a disk"
1950 if k$="g" then 2300 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}"
1960 if k$="f" then 2400 5160 ?r1$"{up}{rvon}3{rvof} load a save file"
1970 if k$="m" then 2500 5170 ?r1$"from a disk"
1980 if k$="s" then 10000 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}"
1990 rem start of auto add 5160 ?r1$"{up}{rvon}4{rvof} manage your saves"
2000 cc=cc+cg 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}"
2010 print"{home}{down}{grey2}B{wht} you have "int(cc)
2020 goto 1900
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 5700 open 8,8,8,"@0:savedat,s,w" :rem save data
2110 print"{home}{down}{grey2}B{wht} you have "int(cc) 5710 print#8,fl
2120 goto 1900 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 5900 open 8,8,8,"@0:savedat,s,r" :rem load data
2210 cc=cc-15:cg=cg+.04:ca=ca+1 5910 input#8,fl
2220 print"{home}{down}{grey2}B{wht} you have "int(cc) 5920 input#8,bn$
2225 print"{home}{down}{grey2}B{wht} you have {grey2}B 5930 input#8,cc
2230 print"{home}{down}{down}{down}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{left}{grey2}B{wht}"ca 5940 forx=0tomi
2240 goto 1900 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 10000 stop
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
2400 if cc<1100 then 1900 rem MINES 49999 :rem important subroutines
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
2500 if cc<12000 then 1900 rem FARMS 50000 ifk$="{f1}"then50040:rem
2510 cc=cc-12000:cg=cg+.1:fa=fa+1 50010 ifk$="{f3}"then50040:rem menu selecting
2520 print"{home}{down}{grey2}B{wht} you have "int(cc) 50020 ifk$="{f5}"then50040:rem
2525 print"{home}{down}{grey2}B{wht} you have {grey2}B 50030 return
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 50040 ms=-1*(k$="{f1}")-2*(k$="{f3}")-3*(k$="{f5}"):return
2540 goto 1900
4000 if cc<400 then return 51000 forx=1to20: rem clears the menu
4010 ft$="1" 51010 ifx=1then?"{home}"r1$"{down} ";
4020 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{grey2}B {brown}***{blk}*{brown}******** {grey2}{$ab}CCCCCCCCCCC{$b3}" 51020 ?r1$"{right} ";:next
4030 print"{grey2}B {brown}***{blk}**{brown}********* {grey2}B{wht}farm(f) {grey2}B" 51040 return
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
4100 if cc<6000 then return 52000 x=0:na$(x)="cursor"
4110 mt$="1" 52001 bd$(x)="adds .1 cps"
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}" 52002 bg(x)=.1
4130 print"{grey2}B {brown}*************{brown}* {grey2}B{wht}mine(m) {grey2}B" 52003 pr(x)=15
4140 print"{grey2}B {brown}******{blk}**{brown}**** {grey2}B{wht}"ma 52004 x=x+1:na$(x)="grandma"
4145 print"{up}{grey2}B {brown}******{blk}**{brown}**** {grey2}B{wht} {right}{right}{right}{right}{right}{right}{right}{right}{right}{right}{grey2}B" 52005 bd$(x)="adds 1 cps"
4150 print"{grey2}B {brown}*****{blk}**{brown}*** {grey2}B{wht}cost: {grey2}B" 52006 bg(x)=1
4160 print"{grey2}B {brown}******** {grey2}B{wht} 12000 {grey2}B" 52007 pr(x)=100
4170 print"{grey2}B {grey2}{$ab}CCCCCCCCCCC{$b3}" 52008 x=x+1:na$(x)="farm"
4180 return 52009 bd$(x)="adds 8 cps"
4180 return 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 60000 b=0:fora=0tomi:b=b+(cg(a)/3.6):next:rem adding subroutine
10010 poke53280,0:poke53281,0 60010 ifk$=" "thencc=cc+1
10100 print"{clear}{grey1}UCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCI" 60020 ifcb>ccthen?"{home}{down}{right} "
10110 print"B B" 60030 cc=cc+b:?"{home}{down}{right}"int(cc):cb=cc:return
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

View File

@ -1,133 +1 @@
0 rem !to "build/testmenu.prg" 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