Setup (requires node.js):
> npm installStart tests:
> npm testServe up the App (and ctrl-click the URL that appears in the console)
> npm run devTo format your code, for the assignment specifications:
npx prettier . --writeThe configuration for this is set in .prettierrc.json. Feel free to change this to your heart's desire, but try to ensure it still fits the assignment guidelines.
If you are using VS Code, you can also install the Prettier extension. This skeleton code is set up to automatically format your code on save. You can disable this in .vscode/settings.json by changing "editor.formatOnSave": true to "editor.formatOnSave": false.
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
idfields
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 .
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