0

在课堂上我有蛇:

public Snake()
{
  snakeRec = new Rectangle[3];

  if(Form1.diffeasy = true)
  {
    colorid = "Green";
  }
  else if (Form1.diffnormal = true) 
  {
    colorid = "blue";
  }
  else if (Form1.diffhard = true) 
  {
    colorid = "purple";
  }
  else if (Form1.diffextreme = true)
  {
    colorid = "red";
  }


  Sbrush = new SolidBrush(Color.FromName(colorid)

现在 diffextreme, diffeasy,... 在 Form1 中定义为

bool diffeasy = false;
bool diffnormal = false;
bool diffhard = false;
bool diffextreme = false;

当用户选择一个难度时,其中一个设置为 true。

我的问题是:如何在蛇类中正确访问这些布尔值?

4

2 回答 2

0

不需要像这样用布尔变量编写 if 语法

if (value = true) // Incorrect Syntax

而不是你可以对

if(value) // reason is if takes boolean variable.

你也可以这样写

if(value == true).

您可以使用 setter 和 getter 函数来访问和设置布尔运算符。

于 2012-10-23T15:42:21.970 回答
0

accessor methods在 Form1 中定义了 getter/setter 方法来访问您的字段,Form1例如diffeasy

   boolean isDiffeasy (){
       return this.diffeasy;
   }

   void setDiffeasy (boolean diffeasy){
       this.diffeasy = diffeasy ;
   }

Form1Snake类中使用此方法:

   if(form1.isDiffeasy()) {
       colorid = "Green";
    }

    ....
    form1.setDiffeasy (false);
于 2012-10-23T15:42:59.123 回答