<!-- .slide: data-background="#093407" --> <!-- .slide: data-transition="fade" --> # Oli's side project --- <style> img[src$="centerme"] { display:block; margin: 0 auto; padding: 20px; } </style> <!-- .slide: data-background="#093407" --> <!-- .slide: data-transition="fade" --> # What is it? An online single player game of BlackJack (21) against a computer opponent ♥️♠️♦️♣️ --- <!-- .slide: data-background="#093407" --> <!-- .slide: data-transition="fade" --> # How does it work? - The player can bet chips - Cards are drawn from the top of the deck (array of objects) on 'draw' or 'hit' - Players choose when to 'stand' - Player closest to 21 (without going bust) wins --- ![](https://i.imgur.com/2g4vZKR.png) --- <!-- .slide: data-background="#093407" --> <!-- .slide: data-transition="fade" --> # Commits - 37 commits, 9 issues, 15 pull requests - Issues helped guide development ![](https://i.imgur.com/XInjNRi.png?style=centerme =350x) --- <!-- .slide: data-background="#093407" --> <!-- .slide: data-transition="fade" --> # Challenges and learnings - Edge cases (pocket blackjack, 5 card trick, low aces) - Large amount of event listeners (14) and many side effects - Building the logic from ground up results in continual refactoring --- <!-- .slide: data-background="#093407" --> <!-- .slide: data-transition="fade" --> # New issues - Replace CLI mocha tests with client side browser tests - Leaderboard drop down - Read and write top scores to a database - Re-write in TypeScript! --- <!-- .slide: data-background="#093407" --> <!-- .slide: data-transition="fade" --> # Demo https://vanilla-js-blackjack.vercel.app/
{"metaMigratedAt":"2023-06-16T16:24:49.464Z","metaMigratedFrom":"Content","title":"Oli's side project","breaks":true,"contributors":"[{\"id\":\"473a32e9-12bd-45da-a3d3-4ac6fad9042c\",\"add\":2075,\"del\":389}]"}
    163 views