了:
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。
我的问题是:如何在蛇类中正确访问这些布尔值?
答案 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);