Exemplo n.º 1
0
 public gameState(vector2 ballPos, vector2 ballVelocity, lastMoveOutcome outcome, vector2 paddlePos)
 {
     this.ballPos      = ballPos;
     this.ballVelocity = ballVelocity;
     this.outcome      = outcome;
     this.paddlePos    = paddlePos;
 }
Exemplo n.º 2
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));
        }