質問編集履歴
1
コードに説明を加えました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -7,6 +7,8 @@
|
|
7
7
|
関連する部分のソースコードを載せます。
|
8
8
|
|
9
9
|
```ここに言語を入力
|
10
|
+
|
11
|
+
//ブロックが存在してもいい位置か判定
|
10
12
|
|
11
13
|
boolean check(int[][] block, int offsetx, int offsety) {
|
12
14
|
|
@@ -21,6 +23,8 @@
|
|
21
23
|
return false;
|
22
24
|
|
23
25
|
}
|
26
|
+
|
27
|
+
|
24
28
|
|
25
29
|
for (int y = 0; y < block.length; y++) {
|
26
30
|
|
@@ -44,15 +48,13 @@
|
|
44
48
|
|
45
49
|
|
46
50
|
|
47
|
-
|
51
|
+
//ブロックを落とす処理
|
48
52
|
|
49
53
|
private final Handler mHandler = new Handler() {
|
50
54
|
|
51
55
|
@Override
|
52
56
|
|
53
57
|
public void handleMessage(Message msg) {
|
54
|
-
|
55
|
-
// gameover();
|
56
58
|
|
57
59
|
if (count == 0) {
|
58
60
|
|
@@ -72,9 +74,11 @@
|
|
72
74
|
|
73
75
|
} else {
|
74
76
|
|
75
|
-
|
77
|
+
//新しいブロックを画面の一番上に設置する処理
|
76
78
|
|
77
79
|
mergeMatrix(block, posx, posy);
|
80
|
+
|
81
|
+
//そろった列を消す処理
|
78
82
|
|
79
83
|
clearRows();
|
80
84
|
|
@@ -85,6 +89,8 @@
|
|
85
89
|
block = block1;
|
86
90
|
|
87
91
|
block1 = blocks[mRand.nextInt(blocks.length)];
|
92
|
+
|
93
|
+
//次落ちてくるブロックを表示させる処理
|
88
94
|
|
89
95
|
mergeMatrix1(block1, 0, 0);
|
90
96
|
|
@@ -122,4 +128,6 @@
|
|
122
128
|
|
123
129
|
|
124
130
|
|
125
|
-
ど
|
131
|
+
ブロックは下に行くほどposyの値が大きくなります。
|
132
|
+
|
133
|
+
ブロックが下に積み重なっているブロックに重なったときのposyがわかればできると思うのですがどうすればいいでしょうか。
|