jblog
toc

c’t-Racetrack

2015-10-18, post № 74

games, programming, Pygame, Python, #acceleration, #c't, #car, #mouse, #mouse controlled, #position, #race, #ractrack, #track, #vector, #velocity, #vertrac't

In a recent c’t article [1] they showed a game regarding vector mathematics, velocities, accelerations and positions.
I could not resist and wrote this program to simulate the game.
The only thing this program cannot do is to check the barriers. That you have to check for yourself.

The Game

You have a start position (red), an end position (green) and some barriers (white).
Your job is it to steer your little dot (bright yellow) onto the end position.
To make it more difficult, you are not allowed to change the dot’s position directly, but rather you accelerate it on each step.
Your acceleration vector (turquoise) also is not allowed to be longer than 𝟣𝟢 (dim yellow bubble) and at the end point your dot must have a velocity of (𝟢, 𝟢).

The fewer moves you need, the better your steering abilities.

ct-racetrack-2.png

Controls

  • Mouse movement changes the new acceleration vector applied in the next step,
  • Left click moves one step,
  • Right click is a undo for the latest move,
  • Middle click moves the frame,
  • ‘c’ clears all the moves made so far,
  • ‘e’ exports current moves to a .txt file,
  • ‘Space’ saves a screenshot.
ct-racetrack-5.png
Source code: ct-racetrack.py

Footnotes

  1. [2020-10-24] For the list of all submitted entries, see here.