使Form1定义boolean可在类中访问

时间:2012-10-23 15:40:09

标签: class boolean

在课堂上我已经

了:

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。

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

2 个答案:

答案 0 :(得分:0)

没有必要像这样

用boolean变量编写if语法
if (value = true) // Incorrect Syntax

而不是你可以

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

你也可以这样写不正确的方式

if(value == true).

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

答案 1 :(得分:0)

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

   boolean isDiffeasy (){
       return this.diffeasy;
   }

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

Form1类中使用Snake的这种方法作为:

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

    ....
    form1.setDiffeasy (false);