예제 #1
0
        private bool uniqueValue(int value)
        {
            PongDBEntities edb = new PongDBEntities();

            foreach (Score score in edb.ScoreSet)
            {
                if (score.Value == value)
                {
                    return(false);
                }
            }
            return(true);
        }
예제 #2
0
        private void MoveBall()
        {
            if (ball.X + axisXSpeed < 0)
            {
                axisXSpeed += axisInvert;
            }
            if (ball.X + axisXSpeed > platformBox.Width - ball.Width)
            {
                axisXSpeed -= axisInvert;
            }
            if (ball.Y + axisYSpeed < 0)
            {
                axisYSpeed += axisInvert;
                if (axisYSpeed == 0)
                {
                    axisYSpeed += axisInvert;
                }
            }
            if (ball.Y >= platform.Y)
            {
                timer.Stop();

                DialogResult result = MessageBox.Show("Your score: " + points, "Game Over", MessageBoxButtons.OK);
                if (result == System.Windows.Forms.DialogResult.OK)
                {
                    PongDBEntities dbe = new PongDBEntities();
                    if (uniqueValue(points))
                    {
                        Score score = new PongNet.Score();
                        score.Value = points;
                        dbe.ScoreSet.Add(score);
                        dbe.SaveChanges();
                    }
                    Application.Restart();
                }
            }
            if (ball.IntersectsWith(platform))
            {
                axisYSpeed -= axisInvert;
                points++;
                CountLabel.Text = points.ToString();
            }
            ball.X += axisXSpeed;
            ball.Y += axisYSpeed;
        }
예제 #3
0
        public Label[,] getContent()
        {
            PongDBEntities     dbe    = new PongDBEntities();
            IQueryable <Score> result = dbe.ScoreSet.OrderByDescending(n => n.Value).Take(10);

            Score[] resultArray = new Score[result.Count()];
            int     count       = 0;

            foreach (Score score in result)
            {
                resultArray[count] = score;
                count++;
            }
            Label[,] content = new Label[scoreTable.ColumnCount, scoreTable.RowCount];
            for (int i = 0; i < scoreTable.ColumnCount; i++)
            {
                for (int j = 0; j < scoreTable.RowCount; j++)
                {
                    content[i, j] = new Label();
                    if (i == 0)
                    {
                        int order = j + 1;
                        content[i, j].Text = order + ".";
                    }
                    else
                    {
                        if (resultArray.Length > j)
                        {
                            content[i, j].Text = resultArray[j].Value.ToString();
                        }
                        else
                        {
                            content[i, j].Text = "-";
                        }
                    }
                }
            }
            return(content);
        }