Compare commits

..

2 commits

Author SHA1 Message Date
the_potato_plus
d069c73616
Merge pull request #1 from potato-plus-plus/the-potato_rogue-potato
add the actual game itself
2023-11-16 21:13:18 -05:00
the potato
1cd4318cac add game 2023-11-16 21:11:08 -05:00
4 changed files with 215 additions and 133 deletions

View file

@ -1,5 +1,6 @@
<h2>
<a href="https://discord.gg/53DkvQnn9M">Discord</a>
<a href='https://potatoplusplus.com/'>Potato++</a> |
<a href="https://discord.gg/KnAU3Snc9g">Discord</a>
</h2>
<slot />

View file

@ -1,138 +1,45 @@
<script>
let technologicalProgression = "Stone";
import { Currency, Factory } from "$lib/clicker.js";
import CurrencyItem from "$lib/CurrencyItem.svelte";
import FactoryItem from "$lib/FactoryItem.svelte";
let causeUpdate = () => {
currencies = { ...currencies };
upgrades = { ...upgrades };
technology.stoneTools.invis = !(upgrades.scientist.amount > 9);
};
let currencies = {
research: new Currency("TECH", causeUpdate, "research"),
land: new Currency("LAND", causeUpdate, "land"),
stone: new Currency("ROCK", causeUpdate, "stone"),
wood: new Currency("WOOD", causeUpdate, "wood"),
dirt: new Currency("DIRT", causeUpdate, "dirt"),
};
currencies.research.perClick = 1;
currencies.stone.delay = 3000;
let upgrades = {
scientist: new Factory(
"Scientist",
{
research: 15,
},
{
research: {
perClick: 0,
delay: 1,
perDelay: 1,
},
},
1.1,
causeUpdate,
false,
"scientist"
),
miner: new Factory(
"Miner",
{
stone: 10,
},
{
stone: {
perClick: 0,
delay: 1,
perDelay: 1,
},
},
1.1,
causeUpdate,
false,
"miner"
),
};
let technology = {
rockfinding: new Factory(
"Rock Finding",
{
research: 15,
},
{
stone: {
perClick: 0.1,
delay: 1,
perDelay: 0,
},
},
1.1,
causeUpdate,
true,
"stone"
),
stoneTools: new Factory(
"Stone Tools",
{
research: 100,
stone: 50,
},
{
stone: {
perClick: 0.1,
delay: 1,
perDelay: 0,
},
},
1.1,
causeUpdate,
true,
"research"
),
};
import Button from "$lib/Button.svelte";
</script>
<h1>{technologicalProgression} Age</h1>
<a
on:click={() => {
for (let currency in currencies) {
currencies[currency].click();
}
}}><img src="/research.svg" /></a
>
<p>Click to <b>Research</b></p>
<h2>Raw Resources</h2>
<section class="left">
<h1 class="row">
<img src="/potatoplusplus.svg" alt="icon" />
<p>Welcome to Potato++</p>
</h1>
<p>
Potato++ is a website where two brothers make games and put them here so
people can play them.
</p>
<section class="row">
{#each Object.values(currencies) as currency}
{#if !currency.invis}
<CurrencyItem {currency} />
{/if}
{/each}
<Button href="https://discord.gg/KnAU3Snc9g" content="Discord" />
<Button
href="https://github.com/potato-plus-plus/ppp"
content="Source Code"
/>
</section>
<h1>Games</h1>
<h2>Early Access Games</h2>
<p>These games are games that are not finished yet, but are available to play.</p>
<section class="row">
<Button
href="researchclicker"
content="Research Clicker"
icon="/research.svg"
/>
<Button
href="roguepotato"
content="Rogue Potato"
icon="/research.svg"
/>
</section>
<h2>Generators</h2>
<h2>Finished Games</h2>
<p>These games are full games, and are no longer in the Early Access phase.</p>
<h1>Credits</h1>
<section class="row">
{#each Object.values(upgrades) as upgrade}
{#if !upgrade.invis}
<FactoryItem factory={upgrade} {currencies} />
{/if}
{/each}
<Button href="https://github.com/thepotatoplus" content="Potato" />
<Button href="https://github.com/nanodev-x" content="NDX" />
</section>
<h2>Research</h2>
<section class="row">
{#each Object.values(technology) as upgrade}
{#if !upgrade.invis}
<FactoryItem factory={upgrade} {currencies} />
{/if}
{/each}
</section>

View file

@ -0,0 +1,138 @@
<script>
let technologicalProgression = "Stone";
import { Currency, Factory } from "$lib/clicker.js";
import CurrencyItem from "$lib/CurrencyItem.svelte";
import FactoryItem from "$lib/FactoryItem.svelte";
let causeUpdate = () => {
currencies = { ...currencies };
upgrades = { ...upgrades };
technology.stoneTools.invis = !(upgrades.scientist.amount > 9);
};
let currencies = {
research: new Currency("TECH", causeUpdate, "research"),
land: new Currency("LAND", causeUpdate, "land"),
stone: new Currency("ROCK", causeUpdate, "stone"),
wood: new Currency("WOOD", causeUpdate, "wood"),
dirt: new Currency("DIRT", causeUpdate, "dirt"),
};
currencies.research.perClick = 1;
currencies.stone.delay = 3000;
let upgrades = {
scientist: new Factory(
"Scientist",
{
research: 15,
},
{
research: {
perClick: 0,
delay: 1,
perDelay: 1,
},
},
1.1,
causeUpdate,
false,
"scientist"
),
miner: new Factory(
"Miner",
{
stone: 10,
},
{
stone: {
perClick: 0,
delay: 1,
perDelay: 1,
},
},
1.1,
causeUpdate,
false,
"miner"
),
};
let technology = {
rockfinding: new Factory(
"Rock Finding",
{
research: 15,
},
{
stone: {
perClick: 0.1,
delay: 1,
perDelay: 0,
},
},
1.1,
causeUpdate,
true,
"stone"
),
stoneTools: new Factory(
"Stone Tools",
{
research: 100,
stone: 50,
},
{
stone: {
perClick: 0.1,
delay: 1,
perDelay: 0,
},
},
1.1,
causeUpdate,
true,
"research"
),
};
</script>
<h1>{technologicalProgression} Age</h1>
<a
on:click={() => {
for (let currency in currencies) {
currencies[currency].click();
}
}}><img src="/research.svg" /></a
>
<p>Click to <b>Research</b></p>
<h2>Raw Resources</h2>
<section class="row">
{#each Object.values(currencies) as currency}
{#if !currency.invis}
<CurrencyItem {currency} />
{/if}
{/each}
</section>
<h2>Generators</h2>
<section class="row">
{#each Object.values(upgrades) as upgrade}
{#if !upgrade.invis}
<FactoryItem factory={upgrade} {currencies} />
{/if}
{/each}
</section>
<h2>Research</h2>
<section class="row">
{#each Object.values(technology) as upgrade}
{#if !upgrade.invis}
<FactoryItem factory={upgrade} {currencies} />
{/if}
{/each}
</section>

View file

@ -0,0 +1,36 @@
<script>
let floor = 1;
let maxHealth = 10;
let currentHealth = 10;
let minDamageMult = 0.75;
let maxDamageMult = 1.25;
let strength = 3;
let defense = 0;
let damageTakenMult = 1;
let enemyType = "Slime";
let enemyHealth = 10;
let enemyStrength = 2;
let enemyDefense = -1;
let enemyDamageMult = 1;
let enemiesDefeated = 0;
let causeUpdate = () => {
if (enemyHealth <= 0) {
enemiesDefeated += 1
enemyHealth = 5
}
};
</script>
<h1>Floor {floor}</h1>
<h3>Enemy: {enemyType}</h3>
<p>Enemy Health: {enemyHealth}</p>
<a
on:click={() => {
enemyHealth -= Math.round((strength - enemyDefense) * enemyDamageMult)
causeUpdate
}}>Click to Attack
</a>
<p>Your Health: {currentHealth}/{maxHealth}</p>
<p>Strength: {strength}</p>
<p>Defense: {defense}</p>
<p>Damage Taken: {damageTakenMult * 100}%</p>
<p>Enemies Defeated: {enemiesDefeated}</p>