teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

笑いを追加

2019/04/03 16:19

投稿

退会済みユーザー
answer CHANGED
@@ -1,7 +1,7 @@
1
1
  ほいよっ!
2
2
 
3
3
  改行はしているけれど、一行で書いてあるから。
4
- あとはこれをショートコーディングすると、更に何文字か短くなるよ!
4
+ あとはこれをショートコーディングすると、更に何文字か短くなるよ!笑笑
5
5
  ```javascript
6
6
  S=8,B=8,F=(m=>document.write(m.map(a=>a.map(b=>0<=b?b:'*').join(' ')).join('<br>')+'<hr>')),
7
7
  M=Array(S*S).fill(0).fill(-1,0,S).sort(_=>Math.random()-.5),//マップ基本作成

1

追加

2019/04/03 16:19

投稿

退会済みユーザー
answer CHANGED
@@ -1,5 +1,21 @@
1
1
  ほいよっ!
2
2
 
3
+ 改行はしているけれど、一行で書いてあるから。
4
+ あとはこれをショートコーディングすると、更に何文字か短くなるよ!
5
+ ```javascript
6
+ S=8,B=8,F=(m=>document.write(m.map(a=>a.map(b=>0<=b?b:'*').join(' ')).join('<br>')+'<hr>')),
7
+ M=Array(S*S).fill(0).fill(-1,0,S).sort(_=>Math.random()-.5),//マップ基本作成
8
+ M=Array(S).fill(0).map(_=>M.splice(-S)),//マップ作製
9
+ D=[-1,0,1].reduce((a,b,_,c)=>c.reduce((d,e)=>(b|e?[...d,[b,e]]:d),a),[]),//探す方向
10
+ P=M.reduce((a,b,y)=>b.reduce((c,_,x)=>(M[y][x]<0?[...c,[y,x]]:c),a),[]),//爆弾の位置
11
+ f=[...(new Set(P.reduce((a,[b,c])=>D.reduce((d,[e,f])=>([...d,[b+e,c+f]]),a),[]).filter(([y,x])=>0<=x&&0<=y&&x<S&&y<S))).values()],//爆弾の周囲の座標の重複削除
12
+ F(M),
13
+ f.forEach(([y,x])=> 0>M[y][x]||M[y][x]++),//点数計算
14
+ F(M);
15
+
16
+ ```
17
+
18
+
3
19
  爆弾を置くときに、縦と横のランダムに爆弾の数を掛けてはだめ!
4
20
  たぶん
5
21
  if(i|j) ...