Skip to content

Instantly share code, notes, and snippets.

View lewdev's full-sized avatar

Lewis Nakao lewdev

View GitHub Profile
@lewdev
lewdev / #README.md
Last active July 17, 2024 11:05
My JS1024 Annual JavaScript Golfing Competition Submission

My JS1024 Annual JavaScript Golfing Competition Submission

I'm happy to have something to submit this year. I just found out about the competition and realized that I have something to submit even if it's not aligned with the theme.

Title: 🏗 Stacking Game

Short Description: Press Space or tap on mobile! See how high you can go in this stacking game!

My Submission (1020b)

@lewdev
lewdev / #README.md
Last active July 13, 2024 01:52
🕹️ Stacking Game #JavaScript #Canvas

🏗️ Stacking Game

Date: June 29, 2024

🕹️ Play Now

Whenever I see a simple game, I start thinking about its mechanics and how it might be implemented.

So then when it seemed like a good small weekend project, I went for it. I got it down to its bare mechanics.

In future iterations, I could add animations, backgrounds, title screen, scoreboard, etc.

@lewdev
lewdev / #README.md
Last active June 24, 2024 07:28
🧙‍♂️ Calculating XP to Level for RPG Games

🧙‍♂️ Calculating XP to Level for RPG Games

I was curious on how level was determined for games and I found an awesome article about it by Jake Lee.

But one important thing was not explained in this article, how is it implemented in JavaScript?!

He has provided implementations in a Google Sheet and Github Gist though. So that may be your preferred method.

The XP and Level formulas in JavaScript

@lewdev
lewdev / address-bar-code-editor-bookmarklet.md
Last active June 30, 2024 19:38
💻 Address Bar Code Editor Bookmarklet (743b)

💻 Address Bar Code Editor Bookmarklet (845b)

Copy-paste this into your address bar:

data:text/html,<title>code</title><link rel=icon href='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 99 99"><text y="1em" font-size="72">&%23128187;</text></svg>'><textarea id=d spellcheck=false onkeypress=e=event;k=e.keyCode;(e.ctrlKey&&k==13)||k==10?f.srcdoc=d.value:0 style=resize:none;filter:invert(><p id=o></p>%0d<script>%0do.innerHTML = 0;%0d</script></textarea><iframe id=f></iframe><p id=p style=position:fixed;bottom:1;color:white;background:black></p><script>D=null,d.onkeyup=d.onclick=n=>{clearTimeout(D),D=setTimeout(n=>{A=d.selectionStart,B=d.selectionEnd,V=d.value,E=V.substr(0,B).split`\n`,p.innerHTML=`Ln:${E.length}, Col:${E.pop().length+1}, ${A==B?"Pos:"+B:"Sel:"+(B-A)}, Len:${V.length}`},99)}</script><style>*{box-sizing:border-box;margin:0}textarea,iframe{width:50%;height:100%;vertical-align:top}

In the latest iteration my code editor, I've made big practical improvements

@lewdev
lewdev / random-seed-methods.md
Last active June 5, 2024 07:10
🌱 Random Seed Methods

🌱 Random Seed Methods

I wanted to see what's out there and here's what I found.

I think this is decent set to study, but I'm mainly interested in the smallest implementation and not worried about if it's computationally random.

@KilledByAPixel (source)

rand = max => Math.sin(++seed)**2 * 1e9 % max
@lewdev
lewdev / #README.md
Created May 24, 2024 02:23
🎮📃 Download Steam Library List as a CSV (446b)

🎮📃 Download Steam Library List as a CSV (446b)

Visit this URL while logged in your steam account: https://store.steampowered.com/account/licenses/

Copy-paste this code and run in your browser's console

Hit F12, click on the "Console" tab and paste it into the prompt)

a=document.createElement`a`;a.href=URL.createObjectURL(new Blob(["Date,Item,Acquisition Method\n"+[...document.querySelectorAll('.account_table tr &gt; td')].reduce((p,e,i)=&gt;(p[~~(i/3)]=(p[~~(i/3)]||"")+'"'+e.innerHTML.trim().replace(/&lt;\/?[^&gt;]+(&gt;|$)/g,"").replace(/\s+/g," ").replace('"','""').replaceAll(" Remove ","")+'"'+(i%3==2?"":","),p),[]).join`\n`],{type:"text/plain"}));a.click(a.download="steam-games-list.csv");URL.revokeObjectURL(a.href)
@lewdev
lewdev / #README.md
Last active May 15, 2024 19:50
🌌 Punch it Chewie! #StarWars #MillenniumFalcon

🌌 Punch it Chewie! #StarWars #MillenniumFalcon

To celebrate May 4th, I made the cockpit design of the Millennium Falcon fit within a dweet!

🚢 Cockpit of the Millennium Falcon (161b) d/31702

B=~~(t*99)%136
x.save(A=300)
x.translate(960,1080)
x.rotate(B*.035)
@lewdev
lewdev / #README.md
Created May 2, 2024 01:13
👨‍💻 Small CSV Parse & Generate Library

Small Library

I was looking into CSV methods on StackOverflow which didn't have great answers. So I put together some solutions that I'd appreciate.

Here's an answer I made for "JavaScript array to CSV," which didn't have any solid answers.

I found a great solution for parsing CSV so I figured that my work is complete by including a great parseCSV solution I found a while ago by Trevor Dixon.

// Inspired by: https://stackoverflow.com/a/64618766/1675237 & https://stackoverflow.com/a/58034688/1675237
@lewdev
lewdev / floating-logo.html
Created May 1, 2024 00:13
😁 Floating Logo with CSS
<!doctype html>
<head>
<title>😁 Floating Logo with CSS</title>
<style>
.icon-shadow {
width: 50px;
margin-top: 1rem;
box-shadow: 0px 0px 15px 5px #888;
animation: grow 3s ease-in-out infinite;
}
@lewdev
lewdev / #code-minifying-tools-resources.md
Last active May 10, 2024 02:10
🤏 Code Minifying Golfing Tools & Resources