Upload Rock/Paper/Scissors
This commit is contained in:
parent
15ef54c2ca
commit
53668dcbb4
2 changed files with 85 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
|||
# rockpaperscissors
|
||||
# Rock/Paper/Scissors
|
||||
A basic rock/paper/scissors/donkey/shrek/cheeseburger game
|
||||
`Hosted at https://logically.cc/rockpaperscissors`
|
||||
|
||||
A simple Rock Paper Scissors app
|
||||
**Note that this source is uncoupled from the components required to run it standalone**
|
||||
|
||||
## Use Project Standalone
|
||||
You'll want to run `npx create-astro` to use this project standalone. Then, you can clone this project into the `src/pages` directory and then run `npx astro build` to have the finished product we release on logically.cc
|
78
index.astro
Normal file
78
index.astro
Normal file
|
@ -0,0 +1,78 @@
|
|||
---
|
||||
import Layout from "layouts/primary.astro"
|
||||
---
|
||||
|
||||
<Layout>
|
||||
<style>
|
||||
.container { display: grid;
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
grid-template-rows: 1fr 1fr;
|
||||
gap: 0px 0px;
|
||||
grid-auto-flow: row;
|
||||
grid-template-areas:
|
||||
". Icon ."
|
||||
"Buttons Buttons Buttons";
|
||||
}
|
||||
|
||||
#Buttons { grid-area: Buttons; }
|
||||
#Icon { grid-area: Icon; }
|
||||
|
||||
</style>
|
||||
<p id="scoreboard"></p>
|
||||
<hr>
|
||||
<p>You Selected:</p><h3 id="player"></h3>
|
||||
<p>AI Selected:</p><h3 id="machine"></h3>
|
||||
<p id="result"></p>
|
||||
<hr>
|
||||
<div class="container">
|
||||
<div id="Buttons">
|
||||
<button id="rock">🪨</button>
|
||||
<button id="paper">📝</button>
|
||||
<button id="scissors">✂</button>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
const result = document.getElementById("result")
|
||||
const items = ["rock", "paper", "scissors"]
|
||||
const scores = {computer:0, player:0}
|
||||
const scoreboard = document.getElementById("scoreboard")
|
||||
const player = document.getElementById("player")
|
||||
const computer = document.getElementById("machine")
|
||||
const play = (e) => {
|
||||
player.innerText = e
|
||||
const selection = items[Math.floor(Math.random()*items.length)];
|
||||
console.log(e)
|
||||
console.log(selection)
|
||||
computer.innerText = selection
|
||||
if (e == selection) result.innerText = "Tie!"; else
|
||||
if ((e == "rock" && selection == "scissors") || (e == "scissors" && selection == "paper") || (e == "paper" && selection == "rock")) {
|
||||
result.innerText = "You win!"
|
||||
scores.player += 1
|
||||
} else {
|
||||
result.innerText = "AI wins!"
|
||||
scores.computer += 1
|
||||
}
|
||||
|
||||
scoreboard.innerText = `Computer: ${scores.computer}\nYou: ${scores.player}`
|
||||
|
||||
computer.innerText = computer.innerText.replaceAll("rock", "🪨")
|
||||
computer.innerText = computer.innerText.replaceAll("paper", "🗞️")
|
||||
computer.innerText = computer.innerText.replaceAll("scissors", "✂️")
|
||||
|
||||
player.innerText = player.innerText.replaceAll("rock", "🪨")
|
||||
player.innerText = player.innerText.replaceAll("paper", "🗞️")
|
||||
player.innerText = player.innerText.replaceAll("scissors", "✂️")
|
||||
|
||||
}
|
||||
|
||||
document.getElementById("rock").onclick = () => {
|
||||
play("rock")
|
||||
}
|
||||
document.getElementById("paper").onclick = () => {
|
||||
play("paper")
|
||||
}
|
||||
document.getElementById("scissors").onclick = () => {
|
||||
play("scissors")
|
||||
}
|
||||
</script>
|
||||
</Layout>
|
Loading…
Reference in a new issue