回答編集履歴

2

間違え修正

2023/02/19 10:18

投稿

TakaiY
TakaiY

スコア12571

test CHANGED
@@ -14,7 +14,7 @@
14
14
  - Enemyクラス内で参照している valueはglobalではだめでしょう。
15
15
  動作の確認のためにとりあえず入れて入れているのだとは思いますが、これだとたくさん(現状は18)あるEnemyクラスのインスタンスが同じ変数を書き換えてしまいます。なので、 1秒ごとに0101.... と 18個表示されることになります。
16
16
  この動作のせいで「#結果:高速で0と1が出力される。」と錯覚しているのではないでしょうか。
17
- 以下のように、この値をクラス変数にすることで、0000.. 1111... と 1秒毎に18個ずつ表示されるようになりますよ。 (以下抜粋)
17
+ 以下のように、この値をインタンス変数にすることで、0000.. 1111... と 1秒毎に18個ずつ表示されるようになりますよ。 (以下抜粋)
18
18
  ```python
19
19
  class Enemy:
20
20
  #クラスのインスタンス生成時に起動

1

整形

2023/02/19 03:32

投稿

TakaiY
TakaiY

スコア12571

test CHANGED
@@ -12,8 +12,9 @@
12
12
  ```
13
13
  □ コメント
14
14
  - Enemyクラス内で参照している valueはglobalではだめでしょう。
15
- 動作の確認のためにとりあえず入れて入れているのだとは思いますが、これだとたくさん(現状は18)あるEnemyクラスのインスタンスが同じ変数を書き換えています。なので、 1秒ごとに0101.... と 18個表示されることになります。この動作のせいで、 「#結果:高速で0と1が出力される。」と思っているのではないでしょうか。
15
+ 動作の確認のためにとりあえず入れて入れているのだとは思いますが、これだとたくさん(現状は18)あるEnemyクラスのインスタンスが同じ変数を書き換えてしまいます。なので、 1秒ごとに0101.... と 18個表示されることになります。
16
+ この動作のせいで「#結果:高速で0と1が出力される。」と錯覚しているのではないでしょうか。
16
- いかのように、この値をクラス変数にすることで、0000.. 1111... と 1秒毎に18個ずつ表示されるようになりますよ。 (以下抜粋)
17
+ 以下のように、この値をクラス変数にすることで、0000.. 1111... と 1秒毎に18個ずつ表示されるようになりますよ。 (以下抜粋)
17
18
  ```python
18
19
  class Enemy:
19
20
  #クラスのインスタンス生成時に起動
@@ -31,6 +32,5 @@
31
32
  #self.x -= Enemy_Move_Space_X
32
33
  print('1')
33
34
  self.value += 1
34
-
35
35
  ```
36
36