質問編集履歴

2

問題の修正

2017/08/03 12:51

投稿

DANNBU
DANNBU

スコア19

test CHANGED
File without changes
test CHANGED
@@ -102,9 +102,11 @@
102
102
 
103
103
  a.Check_winner()
104
104
 
105
- self.update()
105
+ ###
106
106
 
107
- ###
107
+ self.update()
108
+
109
+
108
110
 
109
111
  super(TicTacToe, self).mousePressEvent(event)
110
112
 

1

コードの追加、メソッドの追加

2017/08/03 12:51

投稿

DANNBU
DANNBU

スコア19

test CHANGED
File without changes
test CHANGED
@@ -50,6 +50,8 @@
50
50
 
51
51
  ```
52
52
 
53
+
54
+
53
55
  碁を置いたときにこのselectメソッドが呼び出され盤の情報が更新されていくのですが、この更新されていくself.boardのリストの情報を
54
56
 
55
57
  新たに作る勝敗判定のクラスに上手く渡せなく、このselect内でインスタンスを作って勝敗判定のクラスを呼んできても、上記の初期状態のself.boardのリストのまま渡され困っています。
@@ -57,3 +59,65 @@
57
59
 
58
60
 
59
61
  どうしたら更新されていくリストの情報を他のクラスに渡せるのでしょうか?
62
+
63
+
64
+
65
+ ###追記
66
+
67
+ 新たにメソッドを作りmousePressEvent()メソッドで呼ぶようにしてみたのですが
68
+
69
+ ```
70
+
71
+ def mousePressEvent(self, event):
72
+
73
+ pos = event.pos()
74
+
75
+ #self.select(int(pos.x()/100), int(pos.y()/100))
76
+
77
+
78
+
79
+ hantei_ryouiki_satan = int(self.goban_left_top_x - int(self.length_of_between / 2))
80
+
81
+ x_from_hantei_ryouiki_satan = int(pos.x()) - hantei_ryouiki_satan
82
+
83
+
84
+
85
+ hantei_ryouiki_joutan = int(self.goban_left_top_y - int(self.length_of_between / 2))
86
+
87
+ y_from_hantei_ryouiki_joutan = int(pos.y()) - hantei_ryouiki_joutan
88
+
89
+
90
+
91
+ x = int(x_from_hantei_ryouiki_satan / self.length_of_between) +1
92
+
93
+ y = int(y_from_hantei_ryouiki_joutan / self.length_of_between) +1
94
+
95
+ print("x = {}, y = {}\n".format(x, y))
96
+
97
+ self.select(x,y)
98
+
99
+ ###追加したコード
100
+
101
+ a = TicTacToe()
102
+
103
+ a.Check_winner()
104
+
105
+ self.update()
106
+
107
+ ###
108
+
109
+ super(TicTacToe, self).mousePressEvent(event)
110
+
111
+ #追加メソッド
112
+
113
+ def Check_winner(self):
114
+
115
+ print(self.board)
116
+
117
+ ```
118
+
119
+ とりあえずCheck_winner()メソッドの方はprint文出力だけにしてるのですが
120
+
121
+ やはりmousePressEvent()の方で呼び出してもself.boardの情報が更新されておらず
122
+
123
+ 初期状態として呼び出してしまうのですが、やはりどこか間違っているのでしょうか?