質問するログイン新規登録

回答編集履歴

1

コード追加

2019/05/04 04:58

投稿

jimbe
jimbe

スコア13357

answer CHANGED
@@ -1,2 +1,34 @@
1
1
  引数は値渡しですので, px1 は playerMive 内で変更しても 呼び出し元の px1 は変更されません.
2
- 戻り値として返すか, オブジェクト(の参照)を渡して変更する形にすると良いと思います.
2
+ 戻り値として返すか, オブジェクト(の参照)を渡して変更する形にすると良いと思います.
3
+
4
+ ----
5
+ 追記
6
+
7
+ playerMove から px1(px) の値を返す場合です. "****" のコメントの行が修正箇所です.
8
+ なお, コンパイル確認等していません.
9
+
10
+ 呼び出し側
11
+ ```java
12
+ px1 = playerMove(bPx1,bPy1,px1,pw1); //**** "px1="を追加
13
+ ```
14
+ playerMove
15
+ ```java
16
+ int playerMove(int[] bPx,int[] bPy,int px,int pw){ //**** void → int
17
+ // if( (keyPressed == true) && (key == CODED) ){
18
+ if( ( keyKeep == LEFT) && (px>0) ){
19
+ px -= 3;
20
+ }
21
+ if( ( keyKeep == RIGHT) &&(px <600-pw) ){
22
+ px += 3;
23
+ }
24
+ // }
25
+ if( bombWait>0){
26
+ bombWait--;
27
+ }
28
+ if( (keyPressed == true) && (key == ' ' ) && (bombWait == 0) ){
29
+ bombWait =10; //10秒まち
30
+ bombPAdd(bPx,bPy,px,pw);
31
+ }
32
+ return px; //**** 追加
33
+ }
34
+ ```