From 2d7c90cb33b7df7facac674fe3e35a0afe1487ed Mon Sep 17 00:00:00 2001 From: Aaron Gutierrez Date: Sun, 29 Mar 2020 10:37:10 -0700 Subject: [PATCH] Throw looking OK-ish --- img/beer.png | Bin 0 -> 2196 bytes img/grass.png | Bin 0 -> 42511 bytes index.html | 19 ++++++-- index.js | 3 -- site.css | 103 ++++++++++++++++++++++++++++++++++++++++++ src/die.ts | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/index.ts | 9 ++-- src/power.ts | 16 +++++++ tsconfig.json | 11 ++--- 9 files changed, 263 insertions(+), 20 deletions(-) create mode 100644 img/beer.png create mode 100644 img/grass.png delete mode 100644 index.js create mode 100644 src/die.ts create mode 100644 src/power.ts diff --git a/img/beer.png b/img/beer.png new file mode 100644 index 0000000000000000000000000000000000000000..29229d6b3c67f28c928219b0713b4648d7d2054c GIT binary patch literal 2196 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 - +

Snappa

-
-
+
+
+
+
+
+
+
+
+ Touch and drag the die to throw +
+
+
diff --git a/index.js b/index.js deleted file mode 100644 index 895a6a5..0000000 --- a/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import { startApp } from "./modules/index.js"; - -startApp(); diff --git a/site.css b/site.css index e69de29..631e9d1 100644 --- a/site.css +++ b/site.css @@ -0,0 +1,103 @@ +html, +body { + margin: 0; + padding: 0; + background: #49713e; + background: url('img/grass.png'); +} + +body { + display: flex; + flex-direction: column; + height: 100vh; +} + +header { + background: #4c76b8; + color: #fff; + display: flex; + flex: 0; + justify-content: center; +} + +h1 { + font-size: 32px; + line-height: 40px; +} + +main { + display: flex; + flex: 1; + position: relative; +} + +.Table { + background: #fff; + border: 10px groove #ddd; + box-shadow: 0px 12px rgba(0, 0, 0, 0.3); + + position: fixed; + top: 20vh; + bottom: 20vh; + left: 10vw; + right: 10vw; + + transform: perspective(50cm) rotateX(45deg); +} + +.Cup { + position: absolute; + background: url('img/beer.png'); + height: 64px; + width: 64px; +} + +#Cup-0 { + bottom: 0; + left: 0; +} + +#Cup-1 { + bottom: 0; + right: 0; +} + +#Cup-2 { + top: 0; + left: 0; +} + +#Cup-3 { + top: 0; + right: 0; +} + +.Toss { + align-self: flex-end; + background: rgba(30,30,30,0.4); + box-sizing: border-box; + color: #ccc; + font-size: 20px; + height: 20vh; + padding-top: 8px; + position: relative; + text-align: center; + width: 100%; +} + +.Power { + background: #c00; + bottom: 0; + position: absolute; + height: 40px; + width: 20%; +} + +.Die { + background: #fff; + border: 1px solid #000; + height: 20px; + position: fixed; + transform: translate(-10px, -10px); + width: 20px; +} diff --git a/src/die.ts b/src/die.ts new file mode 100644 index 0000000..9926705 --- /dev/null +++ b/src/die.ts @@ -0,0 +1,122 @@ +import { Power } from "./power.js"; + +interface Point { + x: number; + y: number; +} + +const touchLocation = (event: TouchEvent): Point => { + if (event.touches.length === 0) { + throw new Error("no touchy"); + } + + return { + x: event.touches[0].pageX, + y: event.touches[0].pageY, + }; +} + +export class Die { + node: HTMLDivElement; + + power: Power; + + x: number; + y: number; + + offsetX: number = 0; + offsetY: number = 0; + + startX: number | null = null; + startY: number | null = null; + + positionRAF: number | null = null; + + constructor() { + const node = document.getElementById("Die"); + if (!node) { + throw new Error("No dice"); + } + + this.node = node as HTMLDivElement; + + this.power = new Power(); + + this.x = this.initialX(); + this.y = this.initilaY(); + + this.updatePosition(); + + node.onmousedown = this.dragStart; + node.ontouchstart = this.touchStart; + } + + private initialX = () => window.innerWidth / 2; + private initilaY = () => window.innerHeight * 0.9; + + private dragStart = ({ x, y }: Point) => { + window.addEventListener("mousemove", this.mouseMove); + window.addEventListener("touchmove", this.touchMove); + + window.addEventListener("mouseup", this.dragEnd); + window.addEventListener("touchend", this.dragEnd); + + this.offsetX = x - this.initialX(); + this.offsetY = y - this.initilaY(); + + this.startX = x; + this.startY = y; + + window.requestAnimationFrame(this.updatePosition); + } + + private mouseDown = (event: MouseEvent) => + this.dragStart({x: event.pageX, y: event.pageY}); + + private touchStart = (event: TouchEvent) => + this.dragStart(touchLocation(event)); + + private dragMove = ({ x, y}: Point) => { + this.x = x - this.offsetX; + this.y = y - this.offsetY; + + window.requestAnimationFrame(this.updatePosition); + } + + private mouseMove = (event: MouseEvent) => + this.dragMove({x: event.pageX, y: event.pageY}); + + private touchMove = (event: TouchEvent) => + this.dragMove(touchLocation(event)); + + private dragEnd = () => { + window.removeEventListener("mousemove", this.mouseMove); + window.removeEventListener("touchmove", this.touchMove); + + window.removeEventListener("mouseup", this.dragEnd); + window.removeEventListener("touchend", this.dragEnd); + + console.log("TOSS!", this.startX, this.startY, this.x, this.y); + } + + private updatePosition = () => { + this.node.style.left = this.x + "px"; + this.node.style.top = this.y + "px"; + + this.power.setPower(this.getTossPower()); + } + + private getTossPower = () => { + if (this.startX && this.startY) { + const dx = this.x - this.startX; + const dy = this.y - this.startY; + + const distance = Math.sqrt(dx*dx + dy*dy); + const scale = window.innerHeight * 0.2; + + return Math.min(distance / scale, 1); + } else { + return 0; + } + } +} diff --git a/src/index.ts b/src/index.ts index 1278cf7..7bd8bde 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,8 +1,5 @@ +import { Die } from "./die.js"; + export const startApp = () => { - const root = document.getElementById("main"); - - const div = document.createElement("div"); - div.innerHTML = "Sup bro"; - - root.appendChild(div); + const die = new Die(); }; diff --git a/src/power.ts b/src/power.ts new file mode 100644 index 0000000..6f4fbbe --- /dev/null +++ b/src/power.ts @@ -0,0 +1,16 @@ +export class Power { + node: HTMLDivElement; + + constructor() { + const node = document.getElementById("Power"); + if (!node) { + throw new Error("no power"); + } + + this.node = node as HTMLDivElement; + } + + setPower = (power: number) => { + this.node.style.width = power * 100 + "%"; + } +} diff --git a/tsconfig.json b/tsconfig.json index 454342e..37cb294 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,13 +2,8 @@ "compilerOptions": { "module": "es2015", "outDir": "modules", - "strictNullChecks": true, + "rootDir": "src", + "strict": true, "target": "es2018" - }, - "include": [ - "src/**/*/" - ], - "exclude": [ - "node_modules" - ] + } }