如何有条件地启动行动?

时间:2013-01-04 21:21:04

标签: c# mysql if-statement

我正在编写游戏。我有一个mySQL表,其中包含几个足球队的数据。一个数据是团队的声誉。教练的薪水取决于球队的声誉。

在游戏中有一个组合框,其中包含所有球队的名字。因此,您选择的团队将定义教练的薪水。我想做类似这样的伪代码:

If ( "the field  comboboxtext reputation" == "worldwide")
{
     coach's salary = 256000
}

那我怎么能做到这一点?如果有办法不使用if,我也想知道。

4 个答案:

答案 0 :(得分:1)

这对你没什么帮助,因为你基本上需要一个很好的C# tutorial来涵盖编程基础知识,也许是一两本好书,但你需要的代码应该是这样的:

long coachSalary;
if (cmbReputation.SelectedText  == "worldwide")
{
  coachSalary = 256000;
}

答案 1 :(得分:1)

我认为其他答案并没有解决手头的问题,除非我遗漏了什么。

团队声誉和教练薪水之间的关系应该存储在一个单独的SQL表中,如下所示:

CREATE TABLE ReputationSalary (Reputation NVARCHAR(MAX), Salary INT);
INSERT INTO ReputationSalary VALUES ('District', 10000);
INSERT INTO ReputationSalary VALUES ('State', 50000);
INSERT INTO ReputationSalary VALUES ('Nation', 100000);
INSERT INTO ReputationSalary VALUES ('Worldwide', 256000);

然后,当从组合框中选择一个团队时,使用选定的团队名称或团队ID,您可以使用团队名称/ ID来获取团队声誉,然后使用{{ 1}}表来获得教练的工资。

答案 2 :(得分:0)

像(粗略代码)的东西: -

if(combobox.SelectedText == "worldwide")
{
 coach's salary = 256000;
}

如果你还需要添加else条件(不使用if-else),

coach's salary= (combobox.SelectedText=="worldwide")? 256000 : some other value;

答案 3 :(得分:0)

如果你想要一个更加紧凑的版本来删除if和大括号,你可以像这样使用三元运算符:

int coachSalary = cmbReputation.SelectedText == "worldwide" ? 256000 : 0;

这意味着如果语句的第一部分,条件(cmbReputation.SelectedText ==“worldwide”)为真,则coachSalary将为256000,否则将设置为0.

您可以在此处查看有关三元运算符的更多信息:http://msdn.microsoft.com/en-us/library/ty67wk28(v=vs.110).aspx