2013-01-04 23 views
0

我正在編寫一款遊戲。我有一個關於幾支足球隊的數據的mySQL表。一個數據就是團隊的聲譽。教練的薪水取決於球隊的聲譽。如何有條件地發起行動?

在遊戲中有一個包含所有團隊名稱的組合框。所以你選擇的球隊會定義教練的薪水。我想要做這樣的僞代碼:

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

那麼我該如何做到這一點?如果有方法可以不使用if,我也想知道。

+0

這取決於你的要求。你問如何從組合框中檢索值?或者你問如何根據組合框中的內容選擇一個值? – ThatBlairGuy

回答

1

這不會真正幫助你,因爲你基本上需要一個良好的C# tutorial,將覆蓋編程的基礎知識,也許一個很好的兩本書,但你需要看起來應該像這樣的東西代碼:

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

像(粗碼): -

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

如果您需要添加其他條件也(不使用的if-else),

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

如果你想要一個刪除的,如果和括號內的更緊湊的版本,你可以使用三元運算像這樣:

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

這意味着,如果語句的第一部分,條件(cmbReputation.SelectedText = =「全球」)是真實的,coachSalary將是256000,如果沒有它會被設置爲0

你可以看到更多的關於三元運算符的位置:http://msdn.microsoft.com/en-us/library/ty67wk28(v=vs.110).aspx

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查找教練工資,以獲得團隊信譽,然後使用ReputationSalary表獲取教練工資。