ZAMYLA陳:讓跳進馬里奧。 馬里奧是一個節目中我們會讓我們 自己雖然原始版本 一個經典的超級馬里奧兄弟 遊戲背景。 對於這個問題集,我們將 重建半金字塔 馬里奧跳。 我們的計劃將是互動的,所以它 將要求用戶輸入目標 金字塔的高度。 程序將打印出 半金字塔的高度, 左下方的哈希值與底對齊 左上角的終端 輸出窗口。 讓我們打破了這個問題分為兩部分, 一,獲取用戶輸入,兩個, 打印出來的金字塔。 請記住,雖然調用getInt功能 會檢索一個整數, 必須確保此輸入使 你的程序的意義,所以在 馬里奧,它不會做的只是一個 產品的整數。 你需要確保用戶 輸入一個整數,它的內 的上限和下限的 金字塔,你可以打印。 每本規範,這是 0和23(含)。 如果用戶輸入的整數以外 我們接受的範圍內,那麼,我們要 促使他們一次又一次,直到 他們給我們一個有效的整數。 的一個方法,以確保正確的用戶輸入 通過使用do-whil​​e循環,這是 While循環非常相似。 do-whil​​e循環執行的代碼 身體內部的一次,然後檢查 條件是否符合或不。 用於獲取用戶輸入,這是非常有用的 因為你知道,你需要 提示他們至少一次。 如果不符合條件,程序 將執行線後 您的do-whil​​e循環。 如果該條件得到滿足,雖然, 將重複循環。 一個DO-WHILE循環驗證用戶 輸入會是這個樣子。 我聲明了一個變量n,調用getInt 重複直到n是有效的。 請記住,當你聲明 可變的,它需要適當的 範圍,就像在刮。 如果我宣布ň在我的do-whil​​e循環, 其餘的程序將不會 能夠訪問它。 它是有限的局限 大括號。 所有正確的,所以現在我們已經驗證 用戶的輸入,我們確實需要 得出這樣的半金字塔。 它是由打印的字符,所以 讓我們做一個簡單的半金字塔 文本編輯器。 如果我們希望讓馬里奧風格的金字塔 三個對齊的高度 我們的窗口的左側,然後 我們鍵入兩個哈希值,點擊進入, 然後鍵入三個哈希值,單擊“ 回車,然後輸入四個。 但在這個問題上設置,我們 半金字塔是右對齊。 使用標準的鍵盤,怎麼可能 你修改這個文件移動哈希 到右側? 我可能會使用為底線,兩個 頂行和一個在第二。 看起來不一樣好,雖然,所以 讓我們取代下劃線 的空間,在那裡我們有一個半金字塔 高度三。 嘗試記住這個文本編輯器 例如,當你開始回想起 C.讓我們試著找出一些 樣的模式,我們可以 放了一個循環結構。 舉個例子高度,說是八, ,看看你是否可以開始 想出了一個模式。 第一行有7個空格 接著由兩個哈希。 第二排有六個空格, 三個哈希值,並依此類推,直至 第八行。 但是,你怎麼會代表 的第n行? 請記住,編程慣例 是從零開始編制索引。 這意味著你開始計數 為零,所以第一行技術上是 有兩個艙口的行數為零,行 頭號有三個哈希,行 二號,所以有四個哈希 這種模式的任何行 數n,有Ñ加2散列值。 我會離開它給你,不過,找到 出圖案的空間。 請記住,你的格局將 略有不同的,如果你選擇 從開始計數 一個不為零。 現在,你有一個模式 任何抽象的n行。 你知道多少空格打印和 多少哈希值,所以對於每一行,即 數量將發生變化。 但是,同樣的打印過程的 單個字符,無論是空間或 散列,是重複的。 因此,所有你必須做的就是反复 多次打印該字符 模式決定。 那麼,我們如何重複的過程嗎? 在划痕中,我們使用了重複塊。 在C語言中,我們將使用一個for循環。 讓我們來看看語法 對於循環。 每個循環是由三個 部分,一個初始化條件 和更新。 您的For循環將初始化 一個變量時,它首先 進入循環。 如果條件滿足,身體 該循環將執行。 之後,將執行更新。 如果病情仍滿足, 循環將執行和更新 只要你的病情重複 計算結果為True。 你的條件必須最終計價 為False,不過,因為 不像划痕,我們不這樣做 有任何永遠環路。 你的程序必須最終結束。 下面是一個例子,一個for循環 你可能想使用的馬里奧。 初始化聲明 值為0的整數i。 只要我不到的高度, 循環體將執行 增加i和重複 直到i大於或 的高度相等。 現在,我的For循環指數為零。 INT I為零,沒有一個開始。 如果我選擇一個,那麼我的病情會 還必須是不同的 循環執行 相同的次數。 記住這一點,當你仔細 選擇初始化和您的 條件,並諮詢 圖表仔細檢查。 有關計算機的偉大的事情之一 科學是,有這麼多 的方式來執行的事情。 您可以選擇是否 開始零次或一次。 如果你不想使用一個For循環, 你也可以使用一個while循環 只要你的重複報表 保持一個For循環的本質, 初始化,條件和更新。 一旦我們弄清楚循環, 我們是最舒服的,那麼我們 可以完成馬里奧。 我們首先檢查用戶輸入 然後確定了 任何n行的模式。 因此,對於從零到n減1的每一行 將打印適當數量的 空間,然後適當數量的 哈希值,根據我們的模式, 然後一個新行。 有了這一點,你有你的金字塔。 我的名字是Zamyla,這是馬里奧。