Skip to main content

A terminal clock played as an endless game of Pong

Project description

Pong Clock

A terminal clock played as an endless game of Pong, built with Textual.

The left paddle plays for the hours, the right paddle plays for the minutes, and the scoreboard is the current time. Both paddles play perfect defense — until the clock is about to tick. When a minute passes, the hours player deliberately misses so the minutes side scores. When the hour rolls over, the minutes player misses, the hours side scores, and the minutes score resets to 00. The ball's speed is quietly adjusted mid-rally so it crosses the goal line right on the minute boundary.

Rendering uses half-block characters () for double vertical resolution, redrawn at 60 fps with a tiny framebuffer, so the animation stays fluid.

Install

Install Pong Clock with pipx:

pipx install pongclock

Then run:

pongclock
Key Action
q Quit
space Pause

Develop from source

python3 -m venv .venv
.venv/bin/pip install -e .
.venv/bin/pongclock

Test

.venv/bin/python smoke_test.py

Runs the app headless, verifies the ball animates, forces a scoring event, and checks the pause toggle.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pongclock-0.1.0.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pongclock-0.1.0-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file pongclock-0.1.0.tar.gz.

File metadata

  • Download URL: pongclock-0.1.0.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pongclock-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5baf59c486e17c3508d8361cd2e0c2e757763d38b88146c8d18fde9c414f9e61
MD5 6c6f8d0c5183efb48cd61b3271f16dfc
BLAKE2b-256 8da629d5bceb4fe0ab394e68e0883b30374a55126d2517885439ce9e64131f54

See more details on using hashes here.

Provenance

The following attestation bundles were made for pongclock-0.1.0.tar.gz:

Publisher: publish.yml on ChomChomp/pongclock

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pongclock-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pongclock-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pongclock-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cb0d73406c02c56b90236c4147111873ad896d304972c58d530e59caa6c418f6
MD5 add684232c89b2e52d1627675286f8a1
BLAKE2b-256 cb30f4f1ff3a1da1deaba0aa65dc2c0e9523abef8bc432ecd8da03674b78b7fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pongclock-0.1.0-py3-none-any.whl:

Publisher: publish.yml on ChomChomp/pongclock

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page