Mario

入門

VS Codeを開きます。

ターミナルウィンドウ内をクリックすることから始めて、それからcdを実行します。
その後プロンプトは次のようになっていることがわかります。

$

ターミナルウィンドウの内側をクリックし、次のように入力します。

wget https://cdn.cs50.net/2021/fall/psets/1/mario-more.zip

その後にEnterを押すと、mario-more.zipというZIPがあなたのコードスペースにダウンロードされます。wgetと次のURLの間にあるスペースや、その他の文字を見落とさないように注意してください。

次に

unzip mario-more.zip

を実行して、mario-moreというフォルダを作成します。
ZIPファイルは不要になりましたので、

rm mario-more.zip

を実行し、プロンプトで “y “に続いてEnterで応答すると、ダウンロードしたZIPファイルが削除されます。

次に

cd mario-more

の後にEnterを押して、そのディレクトリに移動する(つまり、開く)。これでプロンプトは以下のようになります。

mario-more/ $

すべて成功した場合は、次のように実行します。

ls

code mario.cを実行すると、このProblem setのコードを入力するファイルが開かれるはずです。そうでない場合は、手順をたどって、どこで間違ったのかを判断してください。

World 1-1

任天堂スーパーマリオブラザーズのWorld 1-1の最初に、マリオは下のようなブロックのピラミッドを登らなければなりません。

以下のように、レンガのハッシュ (#) を使用して、テキストではありますが、Cでピラミッドを再作成しましょう。各ハッシュは幅よりも少し高いため、ピラミッド自体も幅よりも高さが高くなります。

   #  #
  ##  ##
 ###  ###
####  ####

私たちが作成するプログラムはmarioと呼ばれます。そして、ユーザがピラミッドの高さを決めるために、例えば1から8までの正の整数を入力するようにしましょう。

ユーザがプロンプトに対して8を入力した場合のプログラムの動作を次に示します。

$ ./mario
Height: 8
       #  #
      ##  ##
     ###  ###
    ####  ####
   #####  #####
  ######  ######
 #######  #######
########  ########

ユーザがプロンプトに対して4を入力した場合のプログラムの動作を次に示します。

$ ./mario
Height: 4
   #  #
  ##  ##
 ###  ###
####  ####

ユーザがプロンプトに対して2を入力した場合のプログラムの動作を次に示します。

$ ./mario
Height: 2
 #  #
##  ##

最後に、プロンプトが表示されたときに1を入力した場合のプログラムの動作を示します。

$ ./mario
Height: 1
#  #

プロンプトが表示されたときに、ユーザが実際に1~8の正の整数を入力しなかった場合、プログラムはユーザがそのようにするまでプロンプトを再表示します。

$ ./mario
Height: -1
Height: 0
Height: 42
Height: 50
Height: 4
   #  #
  ##  ##
 ###  ###
####  ####

隣接するピラミッドの 「ギャップ」 の幅は、ピラミッドの高さに関係なく、2つの#の幅と同じであることに注意してください。

ウォークスルー

コードのテスト方法

コードは以下の入力時に指定されたとおりに動作しますか。

  • -1 (または他の負の数)
  • 0
  • 1から8
  • 9または他の正の数
  • 文字・文字列
  • 何も入力せず、Enterキーだけを押したとき

以下を実行し、コードの正確さを評価することもできます。ただし、必ず自分でコンパイルしてテストしてください。

check50 cs50/problems/2022/x/mario/more

以下を実行し、style50を使用してコードのスタイルを評価します。

style50 mario.c

提出方法

お使いの端末で、以下を実行して作品を提出してください。

submit50 cs50/problems/2022/x/mario/more