[ プログラミング演習(Ruby) >  プログラミング演習(Ruby) 課題(2025) >  [課題20] 雪の結晶 ]

[課題20] 雪の結晶

課題

レベルkとサイズsを指定したときに,以下のように正六角形で構成される雪の結晶のような図形を描くメソッドを作成し,そのメソッドで実際に図形を描くプログラムを提出してください.

もくじ

  1. 「雪の結晶」の構造
  2. 描画方法に関するヒント
  3. プログラムテンプレート
  4. Tips
  5. サンプルプログラム

「雪の結晶」の構造

今回描く「雪の結晶」は次のような再帰的な構造をもっています. 以下描く図形を「結晶」と書くことにします.

描画方法に関するヒント

レベルkの結晶は,再帰呼び出しメソッドによって描画できます. そのメソッドを作成するためのヒントを示します. 以下では亀の位置と向きを合わせて亀の状態と呼ぶことにします.

なお亀のある時点での状態(「位置」と「向き」)を保存して,後で亀をその状態に戻すには, markとback(あるいはhover { back })を組み合わせて使います. (タートルの描画機能一覧).

プログラムテンプレート

次に示すプログラムのテンプレート(雛型)を使ってください. このプログラムは名前を適宜変えた上で保存して利用してください.

Tips

サンプルプログラム

再帰呼び出しのプログラムのサンプルを示します. プログラムをブラウザの画面で開いたときに文字化けしてしまう場合には, ダウンロードしてEmacs等で開いてみてください.

[ プログラミング演習(Ruby) >  プログラミング演習(Ruby) 課題(2025) >  [課題20] 雪の結晶 ]