Skip to content

jaszki/FunctionalTetris

Repository files navigation

Functional Tetris

Usage

Setup (requires node.js):

> npm install

Start tests:

> npm test

Serve up the App (and ctrl-click the URL that appears in the console)

> npm run dev

Implementing features

There are a few files you may wish to modify. The rest should not be modified as they are used for configuring the build.

src/main.ts

  • Code file used as the entry point
  • Most of your game logic should go here
  • Contains main function that is called on page load

src/style.css

  • Stylesheet
  • You may edit this if you wish

index.html

  • Main html file
  • Contains scaffold of game window and some sample shapes
  • Feel free to add to this, but avoid changing the existing code, especially the id fields

test/*.test.ts

  • If you want to add tests, these go here
  • Uses vitest

We expect the core logic of your game to be in src/main.ts, however, you may elect to spread your code over multiple files. In this case, please use TS Modules.

Avoid separating code into too many files as it makes it hard to mark. The maximum recommended code file structure would be something like

src/
  main.ts        -- main code logic inc. core game loop
  types.ts       -- common types and type aliases
  util.ts        -- util functions
  state.ts       -- state processing and transformation
  view.ts        -- rendering
  observable.ts  -- functions to create Observable streams

About

Tetris game written using Typescript, RxJS using functional programming style

Resources

License

Stars

Watchers

Forks

Contributors