我在网上找的贪吃蛇案例,为什么我在创建事例b是说P是变量无法使用,我改如何改进 private void Move()
{
Point p;
Block head = (Block)(this._blocks[0]);
if (this._direction == Direction.Up)
p = new Point(head.Point.X, head.Point.Y - 1);
else if (this._direction == Direction.Down)
p = new Point(head.Point.X, head.Point.Y + 1);
else if (this._direction == Direction.Left)
p = new Point(head.Point.X - 1, head.Point.Y);
else if (this._direction == Direction.Right)
p = new Point(head.Point.X + 1, head.Point.Y);
Block b = new Block(Color.Red, this._size, p);//mmmmmmmmm
if (this._food.Point != p)
this._blocks.RemoveAt(this._blocks.Count - 1);
else
this._food = this.GetFood();
this._blocks.Insert(0, b);
this.PaintPalette(this._gpPalette);
}
------解决方案-------------------- try
Point p = Point.Empty;
------解决方案-------------------- p定义时要初始化一个值
如:
Point p = new Point(0,0);
或
Point p = Point.Empty; ------解决方案-------------------- 我的意思是
else if (this._direction == Direction.Right)
p = new Point(head.Point.X + 1, head.Point.Y);
这个改成
else
p = new Point(head.Point.X + 1, head.Point.Y);
怎么能没有呢? ------解决方案--------------------