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">
<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.

Binary file not shown.

Binary file not shown.

View File

@ -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
View File

@ -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

View File

@ -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"