v/examples/2048
2024-10-11 08:53:18 +03:00
..
.gitignore examples/2048: add instructions, on how to compile the game through Emscripten and v -os wasm32_emscripten 2023-08-13 11:13:17 +03:00
2048.v all: replace struct field name '@type' with 'type' (#22485) 2024-10-11 08:53:18 +03:00
demo.png all: optimize png images (#6860) 2020-11-17 17:42:21 +01:00
index.html examples/2048: add instructions, on how to compile the game through Emscripten and v -os wasm32_emscripten 2023-08-13 11:13:17 +03:00
LICENSE examples: add 2048 game 2020-08-18 09:29:43 +03:00
README.md doc: update trim_doc_node_description, make module readmes more uniform (#20792) 2024-02-12 12:38:47 +02:00
v.mod examples: add 2048 game 2020-08-18 09:29:43 +03:00

V 2048

This is a simple 2048 game, written in the V programming language.

WebAssembly demo: https://v2048.vercel.app

screenshot

Description

Merge tiles by moving them. After each move, a new random tile is added (2 or 4). The goal of the game is to create a tile with a value of 2048.

Keys

Escape - exit the game Backspace - undo last move n - restart the game t - toggle the UI theme Enter - toggle the tile text format

UP,LEFT,DOWN,RIGHT / W,A,S,D / touchscreen swipes - move the tiles

Running instructions

Compile & run the game with ./v run examples/2048

Compiling to WASM

  1. Install Emscripten from https://emscripten.org/docs/getting_started/downloads.html

  2. Make sure that the environment in your shell is setup correctly, i.e. that emcc --version works.

    . /opt/emsdk/emsdk_env.sh
    emcc --version
    
  3. Compile the game to WASM:

    v -skip-unused -prod -os wasm32_emscripten examples/2048/`
    
  4. Copy the 2048 file to index.js (can be done once; this step will be removed soon):

    cp examples/2048/2048 examples/2048/index.js
    
  5. Run/test the game:

    emrun examples/2048/index.html
    

Once you have run the game, you can make changes, then just recompile (step 3), and refresh the game in your browser.