物事を始めるには、私はゲームを作っています。あなたは3次元グリッド(2次元配列を使用)で戦い、あなたの前方の "Lane#"(Lane#= Row + Col)が空白の場合、-15%のダメージリダクションが得られます。ブランクレーン。チェックしたグリッドに何もない場合は、どのようにゼロを返しますか?
これは、あなたが[0] [0]の場合、レーン#0にあるため、おそらく誰よりも先にいることはできず、常に100%ダメージを取ることを意味しますあなたが[2] [2]にいるなら、あなたはレーン#4にいて、あなたの前方にあるすべてのレーンに少なくとも1つのスペースがあれば、 15 * 4 = 60,100-60 =実際の損傷の40%。
今はそんなことはありません。私は0を返す難しさを持っています...私は
public Blanks(int l) { //l = Lane
int x = 0; //The Return
for (int i = 0; i < 6; i++) //The loop
if (l=0){ //Here I keep getting an error saying 'incompatible types'
x = 0;
return x; //Here is the 'cannot return a void value' error
break;
}
if (l>=1){
x++;
}
if (l>=2){
x++;
}
if (l>=3){
x++;
}
if (l>=4){
x++;
}
return x; //for some odd reason, this is also a void value
}
}
「その結果型がvoidであるメソッドから値を返すことはできません」あなたがvoid値を返すことができないと言うエラー...
を得続けます私はまだ配列/グリッドのチェックの部分を追加する必要がありますが、その問題について別の問題、別の問題、実際の配列自体があります。
平等のための二重の等号を使用するには、 '=='チェック。単一の等号「=」は割り当てのためのものです。また、 'Blanks'クラスには戻り値の型がありません。したがって、あなたは何かを返すことはできません。これを 'public int Blanks(int l)'に変更し、そこに挿入された 'int'キーワードを書き留めます。 – Ian
ありがとう!それは非常に速い答えでした! – DarixGoof
ああ、おそらくそれを* comment *と呼んで、質問に答える方がいいでしょう - または*コメント回答の質問(?)* ... – Ian