Switching over to the new IDE

This commit is contained in:
IanSkinner1982 2021-10-13 19:34:08 -04:00
parent 8f4083d897
commit 7b2ee6045e
11 changed files with 432 additions and 291 deletions

14
.gitignore vendored
View File

@ -1,9 +1,5 @@
# Mac files
.DS_Store
build/.DS_Store
# Others
# testmenu.txt
# build/testmenu.prg
# build/testmenu.prg.out.prg
build/cc64.sav
build/cookie.d64
# Created with CBM prg Studio
bak
*.dbg
*.dmp
*.dup

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

29
CC64.d64 Normal file

File diff suppressed because one or more lines are too long

78
Cookie Clicker.cbmprj Normal file
View File

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- DO NOT EDIT THIS FILE! -->
<!-- Application version : 3.14.0 -->
<!-- Project Target : C64 -->
<Project>
<Target>2</Target>
<Executable>Cookie Clicker.prg</Executable>
<StartAddress>2049</StartAddress>
<FilesGlobal>False</FilesGlobal>
<BatchMode>False</BatchMode>
<AppendToDisk>False</AppendToDisk>
<GenToDisk>False</GenToDisk>
<BuildToPrgFile>True</BuildToPrgFile>
<d64Name />
<Comments>Cookie Clicker for the C64.</Comments>
<Author>Ian M. Skinner</Author>
<Email />
<AutoLaunchName>Cookie Clicker.prg</AutoLaunchName>
<NoSingleFileBuild>False</NoSingleFileBuild>
<CreatedWithVersion>CBM prg Studio 3.14.0</CreatedWithVersion>
<HasGitRepo>True</HasGitRepo>
<GitIgnoreList />
<Cartridge>
<CrtBuildingCartridge>False</CrtBuildingCartridge>
<CrtSignature>C64 CARTRIDGE</CrtSignature>
<CrtName />
<CrtHeaderLength>40</CrtHeaderLength>
<CrtVersionHigh>1</CrtVersionHigh>
<CrtVersionLow>0</CrtVersionLow>
<CrtCartType>0</CrtCartType>
<CrtEXROMActive>False</CrtEXROMActive>
<CrtGAMEActive>False</CrtGAMEActive>
<CrtROMSig>CHIP</CrtROMSig>
<CrtChipType>0</CrtChipType>
</Cartridge>
<BuildEvents>
<PreBuildEnabled>False</PreBuildEnabled>
<PostBuildEnabled>False</PostBuildEnabled>
<RunPostBuildAlways>False</RunPostBuildAlways>
<PreBuildCommands />
<PostBuildCommands />
</BuildEvents>
<BuildList>
<FileName>prg.txt</FileName>
<FileName>storedat.seq</FileName>
<FileName>Tune.bas</FileName>
</BuildList>
<DetermineBuildOrder>0</DetermineBuildOrder>
<PaddingByte>0</PaddingByte>
<!--Screen designer settings-->
<AssyBinaryFileLocation />
<AssyExportList />
<!--End of screen designer settings-->
<SourceFiles>
<SourceFile>
<Name>prg.txt</Name>
<PrgName />
<FileType>1</FileType>
<IncludeInBuild>True</IncludeInBuild>
<Regions />
<Breakpoints />
<Bookmarks />
<Topmost>False</Topmost>
<FileOpen>True</FileOpen>
</SourceFile>
<SourceFile>
<Name>Tune.bas</Name>
<PrgName />
<FileType>1</FileType>
<IncludeInBuild>False</IncludeInBuild>
<Regions />
<Breakpoints />
<Bookmarks />
<Topmost>True</Topmost>
<FileOpen>True</FileOpen>
</SourceFile>
</SourceFiles>
</Project>

BIN
Cookie Clicker.prg Normal file

Binary file not shown.

View File

@ -1,39 +0,0 @@
# Cookie-Clicker-C64
<p align="center">
<img src="https://github.com/IanSkinner1982/Cookie-Clicker-C64/blob/master/Banner.png"/>
<p align="center">
<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://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">
</a>
<a href="https://github.com/IanSkinner1982/Cookie-Clicker-C64/" style="padding-left: 5px; padding-right: 5px;">
<img src="https://img.shields.io/github/downloads/IanSkinner1982/Cookie-Clicker-C64/total?color=Green&label=Downloads&logo=Github" height="20">
</a>
</p>
Cookie Clicker C64 (or CC64 for short) is a Cookie clicker clone for the Commodore 64.
## How to play :
- Press the space bar to 'click' for cookies.
Credits:
- [@Orteil](https://orteil.dashnet.org/) for making the original cookie clicker game
- [@drskinner](https://github.com/drskinner/)
Notes:
- 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.

15
Tune.bas Normal file
View File

@ -0,0 +1,15 @@
2 for l=54272 to 54296: poke l,0: next
5 s=54272
10 poke s+24,15: poke s+5,88: poke s+3,15: poke s+2,15: poke s+6,89
20 read h: if h=-1 then end
30 read l
40 read d
60 poke s+1,h: poke s,l: poke s+4,65
80 for t=1 to d: next: poke s+4,64
85 for t=1 to 50: next
90 goto 20
100 data 33,135,250,42,62,250,50,60,250,42,62,125,50,60,250
105 data 56,99,250
110 data 50,60,500,0,0,125,42,62,250,50,60,250,56,99
115 data 1000,50,60,500
120 data -1

Binary file not shown.

Binary file not shown.

476
prg.txt
View File

@ -1,243 +1,233 @@
0 rem !to "build/cookie.prg"
10 mb=17:dimna$(mb):dimia(mb):dimbd$(mb):dimbg(mb):dimpr(mb):dimcg(mb)
20 rem open 8,8,8,"storedat,s,r"
30 rem forx=0tomb
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"/"mb+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
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)
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
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
3500 y=i+x-1:ify>mbthenreturn :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
5000 ifms<>2thenreturn :rem
5010 tm=ms :rem this section is for menu switching.
5020 gosub51000:gosub5100:goto5000 :rem
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}"
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
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=0tomb
5750 print#8,cg(x)
5760 print#8,pr(x)
5770 print#8,ia(x)
5780 next:close 8:return
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=0tomb
5950 input#8,cg(x)
5960 input#8,pr(x)
5970 input#8,ia(x)
5980 next:close 8:return
10000 stop
49999 :rem important subroutines
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
51000 forx=1to20: rem clears the menu
51010 ifx=1then?"{home}"r1$"{down} ";
51020 ?r1$"{right} ";:next
51040 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
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
!- ========================================
!- Project : Cookie Clicker
!- Target : Commodore 64
!- Comments : Cookie Clicker for the C64.
!- Author : Ian M. Skinner
!- ========================================
0 rem !to "build/cookie.prg"
10 mb=17:dimna$(mb):dimia(mb):dimbd$(mb):dimbg(mb):dimpr(mb):dimcg(mb)
15 gosub52000:rem remove later
20 rem open 8,8,8,"storedat,s,r"
30 rem forx=0tomb
40 rem input#8,na$(x):rem building name
50 rem input#8,bd$(x):rem building description
55 rem input#8,bg(x):rem building cps (not actually per second)
60 rem input#8,pr(x):rem building price
65 rem ?x+1"/"mb+1:
70 rem next
80 rem close 8:rem gosub 52000
90 ms=1:bn$="someone's":r1$="{right*17}":rem ms is the main subroutine value
95 r2$="{right*17}":ss=1:rem huh? that isn't right. why are r1 and r2 the same?
100 rem stick news here. Also ss is the shop page. (to be named sp)
110 print"{brown}{clear}UCCCCCCCCCCCCCCC{cm r}CCCCCCCCCCCCCCCCCCCCCCI";
120 print"B B B";
130 print"B B B";
140 print"{cm q}CCCCCCCCCCCCCCC{cm w} B";
150 print"B B B";
160 print"B B B";
170 print"B B B";
180 print"B {reverse on} {reverse off} B B";
190 print"B {reverse on} {black} {brown} {reverse off} B B";
200 print"B {reverse on} {black} {brown} {reverse off} B B";
210 print"B {reverse on} {black} {brown} {black} {brown} {reverse off} B B";
220 print"B {reverse on} {black} {brown} {black} {brown} {reverse off} B B";
230 print"B {reverse on} {reverse off} B B";
240 print"B {reverse on} {reverse off} B B";
250 print"B {reverse on} {black} {brown} {reverse off} B B";
260 print"B {reverse on} {black} {brown} {black} {brown} {black} {brown} {reverse off} B B";
270 print"B {reverse on} {black} {brown} {black} {brown} {reverse off} B B";
280 print"B {reverse on} {reverse off} B B";
290 print"B {reverse on} {reverse off} B B";
300 print"B {reverse on} {reverse off} B B";
310 print"B B B";
320 print"B{white} v2.9.0-1.0 {brown}B B";
330 print"JCCCCCCCCCCCCCCC{cm e}CCCCCCCCCCCCCCCCCCCCCCK";
340 print"{white} {reverse on}f1{reverse off} store {reverse on}f3{reverse off} options {reverse on}f5{reverse off} stats {reverse on}f7{reverse off} ascend";
500 print"{home}{down}{right}"int(cc)
510 print"{brown}B{white} cookies"
520 ?"{brown}B{white}"bn$
530 print"{up}{brown}B{white} bakery"
1000 on ms gosub 2000, 5000:rem, 7000
1010 goto 1000:rem the menu selector
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)
2500 gosub51000:rem clear dynamic window
2505 y=1:forx=itoj :rem this section prints the
2510 ifx=ithen?"{home}" :rem item data in the given range.
2515 ?r1$"{up}{reverse on}"right$(str$(y),1)"{reverse off} "na$(x)
2520 ?r1$r2$"{up}"ia(x)
2530 ?r1$bd$(x)
2540 ?r1$"{up}"int(pr(x))
2545 ?r1$"{cm t*22}":y=y+1:rem the bars below each item
2550 next
2555 ifj=17then?r1$"{down*7} prev/next(-/+)"
2560 ?r1$"{up} prev/next(-/+)"
2565 gosub 3000
2570 return
3000 get k$:x=0:rem don't add an 'ifk$=""then3000' or else the adding routine won't run properly
3010 gosub 60000
3015 ifval(k$)>5then3070
3020 ifval(k$)<1then3070
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
3500 y=i+x-1:ify>mbthenreturn :rem buying subroutine
3510 if cc<pr(y)then3610
3515 if ia(y)=300then3610:rem item cap (otherwise you'd have prices too big to handle)
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):rem find a better way to do this
3540 ifx=2then?"{home}"r1$r2$"{down*5}"ia(y)
3550 ifx=3then?"{home}"r1$r2$"{down*9}"ia(y)
3560 ifx=4then?"{home}"r1$r2$"{down*13}"ia(y)
3565 ifx=5then?"{home}"r1$r2$"{down*17}"ia(y)
3570 ifx=1then?"{home}"r1$"{down*3}"int(pr(y))
3580 ifx=2then?"{home}"r1$"{down*7}"int(pr(y))
3590 ifx=3then?"{home}"r1$"{down*11}"int(pr(y))
3600 ifx=4then?"{home}"r1$"{down*15}"int(pr(y))
3605 ifx=5then?"{home}"r1$"{down*19}"int(pr(y))
3610 x=0:return
5000 ifms<>2thenreturn
5010 tm=ms
5020 gosub5500
5030 goto5000
5500 gosub51000:rem clear screen
5510 ?r1$"change name";
5530 ?r1$"{$a3*22}{down}"
5540 ?r1$"save";
5560 ?r1$"{$a3*22}{down}"
5570 ?r1$"load";
5590 ?r1$"{$a3*22}{down}"
5600 getk$:rem main loop
5610 gosub 60000:rem adding routine
5620
5700 open 8,8,8,"@0:savedat,s,w" :rem save data
5710 print#8,al
5720 print#8,bn$
5730 print#8,cc
5740 forx=0tomb
5750 print#8,cg(x)
5760 print#8,pr(x)
5770 print#8,ia(x)
5780 next:close 8:return
5900 open 8,8,8,"@0:savedat,s,r" :rem load data
5910 input#8,al
5920 input#8,bn$
5930 input#8,cc
5940 forx=0tomb
5950 input#8,cg(x)
5960 input#8,pr(x)
5970 input#8,ia(x)
5980 next:close 8:return
10000 stop
49999 :rem important subroutines
50000 ifk$="{f1}"then50040:rem menu selecting
50010 ifk$="{f3}"then50040
50020 ifk$="{f5}"then50040
50030 return
50040 ms=-1*(k$="{f1}")-2*(k$="{f3}")-3*(k$="{f5}"):return
51000 forx=1to20: rem clears the menu
51010 ifx=1then?"{home}"r1$"{down} ";
51020 ?r1$"{right} ";:next
51040 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
60000 b=0:fora=0tomb:b=b+(cg(a)/3.6):next:rem slow, horrible, not good 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

72
storedat.seq Normal file
View File

@ -0,0 +1,72 @@
spacebar
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
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
8300000000000
1.2e+22