"Ссылка на объект не указывает на экземпляр объекта p2 было null", эта ошибка выскочила при запуске программы. Причём в отладке в p1 выводилось значение. Как исправить это?
Код:
namespace PacMan
{
public partial class PacManGame : Form
{
public int intvifan = 3;//ускорение призрака
TextBox[] tablobor = new TextBox[38];
public string strdirection;
public string[,] Hautscore = new string[50, 3];
public int intjoueurs;
public PictureBox[] bit = new PictureBox[119];//точки пакмена
public int intcompteur; //метр
public int intscore; //счёт
public PictureBox[] GrosBit = new PictureBox[4];
public int pacvitesse = 3;//скорость
public int pacbordure = 3;
public bool bolboule;
string strfan1direction, strfan2direction, strfan3direction, strfan4direction;
public PictureBox[] tablofan = new PictureBox[4];
public bool pacmaninvincible = false; // неуязвимость
public PacManGame()
{
InitializeComponent();
}
private static bool Touch(PictureBox p1, TextBox p2)
{
//Функция, чтобы узнать, касается ли pacman стен
int Dh, Dw;
//Проверка по горизонтали
if (p2.Left > p1.Left) { Dh = p2.Left - p1.Left - p1.Width;}
else { Dh = p1.Left - p2.Left - p2.Width; }
//Проверка по вертикали
if (p2.Top > p1.Top) { Dw = p2.Top - p1.Top - p1.Height; }
else { Dw = p1.Top - p2.Top - p1.Height; }
if (Dh <= 0 && Dw <= 0) { return true; }
else { return false; }
}
{
public partial class PacManGame : Form
{
public int intvifan = 3;//ускорение призрака
TextBox[] tablobor = new TextBox[38];
public string strdirection;
public string[,] Hautscore = new string[50, 3];
public int intjoueurs;
public PictureBox[] bit = new PictureBox[119];//точки пакмена
public int intcompteur; //метр
public int intscore; //счёт
public PictureBox[] GrosBit = new PictureBox[4];
public int pacvitesse = 3;//скорость
public int pacbordure = 3;
public bool bolboule;
string strfan1direction, strfan2direction, strfan3direction, strfan4direction;
public PictureBox[] tablofan = new PictureBox[4];
public bool pacmaninvincible = false; // неуязвимость
public PacManGame()
{
InitializeComponent();
}
private static bool Touch(PictureBox p1, TextBox p2)
{
//Функция, чтобы узнать, касается ли pacman стен
int Dh, Dw;
//Проверка по горизонтали
if (p2.Left > p1.Left) { Dh = p2.Left - p1.Left - p1.Width;}
else { Dh = p1.Left - p2.Left - p2.Width; }
//Проверка по вертикали
if (p2.Top > p1.Top) { Dw = p2.Top - p1.Top - p1.Height; }
else { Dw = p1.Top - p2.Top - p1.Height; }
if (Dh <= 0 && Dw <= 0) { return true; }
else { return false; }
}