Code Monkey home page Code Monkey logo

evolution-ts-bootcamp-blackjack's Introduction

โ€œlogoโ€

Blackjack

View Demo

Blackjack is a popular casino game. The rules of the game can be found here. The application is developed for a single-player mode and contains all basic functionalities of the game.

The objective of the project was to go through all steps of project development from planning to deploying, and to obtain practical skills in 3D graphics and state management using modern development tools.

Demo

Here is a working live demo: https://ts-bootcamp-blackjack-client.netlify.app/

Debug mode with mocked cards to test insurance and split: https://ts-bootcamp-blackjack-client.netlify.app/?debug=true

Features

๐ŸŒŸ implementation of the game logic in the backend part;

๐ŸŒŸ player's actions: hit, stand, double down, split, surrender;

๐ŸŒŸ possibility to take the insurance;

๐ŸŒŸ score calculations for soft and hard hands;

๐ŸŒŸ opportunity to perform different bet actions: place a bet, undo, reset, rebet, place all.

Built With

  • Typescript - a strongly typed programming language that builds on JavaScript.
  • React - a JavaScript library for building user interfaces.
  • MobX - state management tool.
  • Babylon.js - a real time 3D engine using a JavaScript library for displaying 3D graphics in a web browser via HTML5.
  • Node.js - an open-source and cross-platform JavaScript runtime environment.
  • Socket.IO - a library that enables real-time, bidirectional and event-based communication between the browser and the server.
  • React Testing Library - a very light-weight solution for testing React components.
  • Jest - a JavaScript testing framework.

Getting Started

To clone and run this application, you'll need Git and Node.js (which comes with npm) installed on your computer. From your command line:

# Clone this repository
$ git clone https://github.com/nata-kostina/evolution-ts-bootcamp-blackjack.git

To start the server:

# Go into the repository server
$ cd server  

# Install dependencies
$ npm install
  
# Run the server
$ npm run start

The server will be listening at http://localhost:3000/.

To start the client:

# Go into the repository client
$ cd client

# Install dependencies
$ npm install 

# Run the app
$ npm run start

You will then be able to access the application at http://localhost:3001/.

Usage

As a player, firstly, you should choose the chips:

1.jpg

Click Bet to place a bet. If you want to edit your bet, choose the appropriate action:

2.jpg

When the cards are dealt, you may make a decision:

3.jpg

While splitting the cards, the arrow is indicating the hand which is currently active:

4.jpg

What else should be done

๐Ÿ’ก implement game session storage on the backend

๐Ÿ’ก put 3D model of the table

๐Ÿ’ก add cameras

๐Ÿ’ก implement multiplayer game

Contacts

evolution-ts-bootcamp-blackjack's People

Contributors

nata-kostina avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.