Metamaterials composed of asymmetric elements have been shown to break reciprocity; permitting the propagation of waves in one direction. The configuration of these metamaterials typically limits the propagation of the wave to a single direction, speed, or occurrence with little or no tunability. Here we present---theoretically, numerically, and experimentally---a simple design approach for reprogrammable metamaterials, which allows for all of these parameters to be tuned, enabled, disabled, or reset. We present a map of different geometries that allow for reciprocal and nonreciprocal wave propagation and attenuation. We show how a single design can be programmed on demand to support wave propagation and attenuation in both directions (reciprocal) or wave propagation in only one direction (nonreciprocal). In addition, we demonstrate real-time control of the wave velocity, both in amplitude and direction, as it propagates through the metamaterial. We show speeding up, slowing down, or complete reversal of the propagating wave direction. Furthermore, we show that the waves maintain a constant velocity regardless of the impulse magnitude, and even along a curved path. Our metamaterial could open exciting possibilities for designing nonlinear materials with exotic topological properties.