Example #1
0
File: PacMan.c Project: cs50/spl
int main() {
   GWindow gw;
   GArc pacman;
   int angle, sign;
   double limit;

   gw = newGWindow(600, 400);
   pacman = newGArc(0, (getHeight(gw) - PACMAN_SIZE) / 2,
                    PACMAN_SIZE, PACMAN_SIZE, 45, 270);
   setFilled(pacman, true);
   setFillColor(pacman, "YELLOW");
   add(gw, pacman);
   waitForClick();
   angle = 45;
   sign = -1;
   limit = getWidth(gw) - PACMAN_SIZE;
   while (getX(pacman) < limit) {
      move(pacman, DELTA_X, 0);
      angle += sign * DELTA_THETA;
      if (angle == 0 || angle == 45) sign = -sign;
      setStartAngle(pacman, angle);
      setSweepAngle(pacman, 360 - 2 * angle);
      pause(PAUSE_TIME);
   }

   return 0;
}
Example #2
0
//------------------------------------------------------------------------------
// setSlotSweepAngle() --
//------------------------------------------------------------------------------
bool AnalogDial::setSlotSweepAngle(const base::Number* newSweepAngle)
{
    bool ok = false;
    if (newSweepAngle != nullptr) ok = setSweepAngle(newSweepAngle->getReal());
    return ok;
}
Example #3
0
//------------------------------------------------------------------------------
// updateData()
//------------------------------------------------------------------------------
void DialArcSegment::updateData(const double dt)
{
    BaseClass::updateData(dt);

    if (isDynamic) setSweepAngle(getInstValue());
}