回答編集履歴
1
追記しました。
answer
CHANGED
@@ -15,4 +15,48 @@
|
|
15
15
|
i=0からS-1迄させ、hantei[i][j]が全て1ならビンゴ(jはiと同じ値を使用)
|
16
16
|
3-4)斜め並びの判定(右上がり)
|
17
17
|
i+j==S-1なら斜めの位置にあるので以下の処理
|
18
|
-
i=0からS-1迄させ、hantei[i][j]が全て1ならビンゴ(jはS-1-iを使用)
|
18
|
+
i=0からS-1迄させ、hantei[i][j]が全て1ならビンゴ(jはS-1-iを使用)
|
19
|
+
|
20
|
+
@word_nとword_arrはあなたのをそのまま使用してください
|
21
|
+
```ruby
|
22
|
+
def find_position(arr,s,val)
|
23
|
+
(0..s-1).each do |i|
|
24
|
+
(0..s-1).each do |j|
|
25
|
+
if arr[i][j] == val
|
26
|
+
return i,j
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
return nil,nil
|
31
|
+
end
|
32
|
+
|
33
|
+
|
34
|
+
# arrと同じ形式のhantei(初期値:0)
|
35
|
+
|
36
|
+
hantei = Array.new(S)
|
37
|
+
(0..S-1).each do |i|
|
38
|
+
ar = Array.new(S,0)
|
39
|
+
hantei[i] = ar
|
40
|
+
end
|
41
|
+
|
42
|
+
pp hantei
|
43
|
+
#@word_nを作成(なかみは適当)
|
44
|
+
@word_n = ["aaa","bbb","ccc"]
|
45
|
+
#word_arrを作成(中身は入れてない)
|
46
|
+
word_arr = Array.new(S)
|
47
|
+
(0..S-1).each do |i|
|
48
|
+
ar = Array.new(S)
|
49
|
+
word_arr[i] = ar
|
50
|
+
end
|
51
|
+
@word_n.each do |val|
|
52
|
+
i,j = find_position(word_arr,S,val)
|
53
|
+
if i == nil
|
54
|
+
printf("バグのため終了\n")
|
55
|
+
exit 10
|
56
|
+
end
|
57
|
+
hantei[i,j] = 1
|
58
|
+
# 以下4つのビンゴ判定(4つのメソッドをつくったほうがよいかと思います)
|
59
|
+
end
|
60
|
+
|
61
|
+
|
62
|
+
```
|