(JavaScript) アスタリスクで菱形を書いてみた

こんなブログを見かけた。

www.2dgod.com

未経験でWebエンジニアになって1ヶ月の人が、どういう訳か、JavaScirpt、アスタリスクで菱形を表示する事になったらしい。
表示するのはこんなの、

f:id:ibeckuu:20160504164559j:plain

面白そうなのでやってみた。

問題の仕様

  • JavaScript
  • for文を使う
  • console.logでアスタリスクを使って表示する

方針

5行9列の場合でアスタリスクを表示する位置は
(0,4)
(1,2),(1,3),(1,4),(1,5),(1,6)
(2,0), .. ,(2,8) (2行全て)
(3,2),(3,3),(3,4),(3,5),(3,6)
(4,4)

この場合のアスタリスクを表示する位置を数式で表すと、
行(i)が0から4、列(j)が0から8の範囲で(i,j)について、

{|j-4|} < {5-|4-i \times 2|}

( | | は絶対値)
が成立する時である。

実装 JavaScript (Node.js)

上記の数式を用いて実装する。

  • 上記の例では5行のみだが、定数を変更する事により任意の奇数行で表示できる様にしてある。
  • 実行環境はideone.com上でNode.jsとして可能(console.logを使用するので)のほか、htmlに埋め込んでFirefoxのFirebugでも動作確認済み。
  • コードはGistに埋め込み

では、

Sponsored Link