Thanks to visit codestin.com
Credit goes to github.com

Skip to content

A terminal-based game to practice Vim commands while creating ASCII art ๐ŸŽฏ

License

Notifications You must be signed in to change notification settings

dq-hustlecoding/vimscii

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

VIMSCII ๐ŸŽฏ

Master Vim commands while creating ASCII art!

VIMSCII is a terminal-based game that helps you practice Vim commands while creating ASCII art. Race against time, perfect your Vim skills, and compete with your own records!

Features

โŒจ๏ธ Authentic Vim-like interface and commands
๐ŸŽจ Create ASCII art with familiar Vim controls
โšก Challenge yourself with time trials
๐Ÿ† Local record tracking system
๐ŸŽฎ Expandable stages through simple text files

Installation

  1. Set up a virtual environment (recommended)
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies
pip install -r requirements.txt

Usage

Run the game:

python src/game.py

How to Play

  1. Select a stage from the menu
  2. Create the ASCII art shown on the right side
  3. Use Vim commands to edit and navigate
  4. Submit your work with :wq when ready
  5. Beat your previous records!

Controls

Mode Switching

  • ESC - Enter Normal mode
  • i - Enter Insert mode
  • : - Enter Command mode

Navigation (Normal Mode)

  • h - Move left
  • j - Move down
  • k - Move up
  • l - Move right

Commands

  • :wq - Submit your work (saves only if correct)
  • :q! - Quit without saving

Records

Your completion times are automatically saved in vimscii_records.txt with the following format:

2024-02-06 15:30:22 | Triangle | 12.45s

Project Structure

vimscii/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ game.py          # Main game logic
โ”‚   โ”œโ”€โ”€ stage.py         # Stage management
โ”‚   โ””โ”€โ”€ records.py       # Record keeping
โ”œโ”€โ”€ stages/              # ASCII art stages
โ”‚   โ””โ”€โ”€ basic/
โ”‚       โ””โ”€โ”€ triangle.txt
โ””โ”€โ”€ requirements.txt

Contributing

Adding New Stages

  1. Create a new .txt file in an appropriate category under stages/
  2. Add your ASCII art
  3. Test the stage by playing it
  4. Submit a pull request

Stage Guidelines

  • Keep ASCII art reasonable in size (max 20x20 recommended)
  • Use basic ASCII characters for better compatibility
  • Test your stage thoroughly before submitting
  • Consider the difficulty level when choosing a category

Code Style

This project uses Black for code formatting. Please ensure your code adheres to the Black style guidelines.

To format your code, run:

pip install black
black .

Or, to check which files need formatting without applying changes:

black --check .

You can also configure your editor to run Black automatically on save. For VS Code, add the following to your settings.json:

{
    "python.formatting.provider": "black",
    "editor.formatOnSave": true,
    "editor.codeActionsOnSave": {
        "source.organizeImports": true
    }
}

Development

The game is built with:

  • blessed for terminal UI
  • Pure Python for game logic
  • Text files for stage storage and record keeping

Roadmap

  • Additional Vim commands (dd, yy, etc.)
  • More complex ASCII art stages
  • Stage categories by difficulty
  • Stage completion statistics
  • Time-based achievements

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Inspired by Vim and the ASCII art community
  • Built with blessed library
  • Thanks to all ASCII art contributors

About

A terminal-based game to practice Vim commands while creating ASCII art ๐ŸŽฏ

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages