回答編集履歴

1

コード追加

2019/05/04 04:58

投稿

jimbe
jimbe

スコア12646

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