Пример #1
0
        public gameState update()
        {
            lastMoveOutcome outcome = lastMoveOutcome.neutral;

            if (counter % skipCounter == 0)
            {
                d.clear(pos);
                vector2 newPos = vector2.add(pos, velocity);

                if (d.screenBuffer.ContainsKey(newPos))
                {
                    outcome = bounce(newPos);
                    if (outcome == lastMoveOutcome.neutral)
                    {
                        Program.bounces++;
                    }
                }
                else
                {
                    if (newPos.y >= d.yMax)
                    {
                        randomizeBall();
                        outcome = lastMoveOutcome.bad;
                    }
                    else
                    {
                        pos = newPos;
                    }
                }

                d.trySetChar(pos, 'o');
            }

            counter++;

            switch (outcome)
            {
            case lastMoveOutcome.good:
                Program.hits++;
                break;

            case lastMoveOutcome.neutral:
                break;

            case lastMoveOutcome.bad:
                Program.misses++;
                break;
            }

            return(new gameState(pos, velocity, outcome, pd.posCache));
        }
Пример #2
0
        public void update(vector2 move)
        {
            if (counter % skipAmount == 0)
            {
                if (width > 1)
                {
                    clearPaddle();
                    tryMove(pos + move.x);
                    setPaddle();
                }
                else
                {
                    d.clear(posCache);
                    tryMove(pos + move.x);
                    d.trySetChar(posCache, '=');
                }
            }
            else
            {
            }

            counter++;
        }