嗯,我的问题基本上就是它在标题中所说的内容。我正在尝试将我的Player2类的bool值称为我们在学校的Tic Tac Toe项目。我认为值得一提的是我使用“Player Player1,Player2;”在Form1.cs的开头创建我的类的两个实例,Player。我在互联网上阅读了多篇关于此的帖子,但所有人都试图调用比他们提供的参数更多的参数。我不知道bool值的真或假是多于一个。
提前致谢。
我的一个按钮出现此问题。
public void Btn1_Click(object sender, EventArgs e) >{
{
if (click1 == 0)
{
if (Player2.GetActive(true))//(turn == 0)
{
Btn1.Text = "X";
}
else
{
>Btn1.Text = "O";
}
//turn++;
click1++;
}
else
{
Btn1.Text = Btn1.Text;
}
display();
checkit();
}
}
这是我的玩家类。
` public class Player
{
//Characteristics
string name;
int points;
bool Active;
//Constructor
public Player() { points = 0; Active = true; }
//Methods
public void SetName(string n) { name = n; }
public string GetName() { return name; }
public void SetPoints(int p) { points = p; }
public int GetPoints() { return points; }
public void SetActive(bool a) { Active = a; }
public bool GetActive() { return Active; }`
答案 0 :(得分:2)
你有代码:
<div class="main-div">
<div class="working-area">
<div class="container">
<div class="top">
some text some text some text some text some text some text some text some text some text some text some text some text
</div>
<div class="bottom">
<div class="table-panel">
<table>
<tr>
<td>cell text</td>
</tr>
<tr>
<td>cell text</td>
</tr>
<tr>
<td>cell text</td>
</tr>
<tr>
<td>cell text</td>
</tr>
<tr>
<td>cell text</td>
</tr>
<tr>
<td>cell text</td>
</tr>
<tr>
<td>cell text</td>
</tr>
<tr>
<td>cell text</td>
</tr>
<tr>
<td>cell text</td>
</tr>
<tr>
<td>cell text</td>
</tr>
<tr>
<td>cell text</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="footer">footer text</div>
</div>
但是你定义了活动为
Player2.GetActive(true)
所以你没有用参数定义GetActive是正确的。
答案 1 :(得分:0)
下面,
if(Player2.GetActive(true))
您正在向方法true
传递一个额外的参数(GetActive
)。正如我们从GetActive
的方法声明中看到的那样,它不需要参数:
public bool GetActive() { return Active; }
// ↑
// empty parentheses
我认为你的意思是&#34;如果Player2.GetActive()
是真的......&#34;对?如果是true
,您不需要指定所需的值,只需这样做就可以了:
if (Player2.GetActive())
如果您想检查它是否为假,请在通话前添加!
以取消结果:
if (!Player2.GetActive())
答案 2 :(得分:0)
与BugFinder一样,您使用该方法获取Active-Value,而不是使用该方法来设置值。
所以改变
Player2.GetActive(true)
到
Player2.SetActive(true)
正如另外一样:
由于我们在这里使用C#并且您的许多方法都被称为set和get,我建议您将这些方法更改为属性:
public string Name
{
get { return name; }
set { name = value; }
}
public int Points
{
get { return points; }
set { points = value; }
}
public bool Active
{
get { return active; }
set { active = value; }
}
现在,当您想设置值时,可以输入
Player2.IsActive = true;
并检查值的简单类型代码,如
If(Player2.IsActive)
//Do Stuff