swift一起做一些練手小把戲-堅持就是勝利

文本操作

  • 逆轉(zhuǎn)字符串——輸入一個字符串,將其逆轉(zhuǎn)并輸出。
let strRerverse = String.init(str.characters.reverse())
  • 拉丁豬文字游戲——這是一個英語語言游戲。基本規(guī)則是將一個英語單詞的第一* 個輔音音素的字母移動到詞尾并且加上后綴-ay(譬如“banana”會變成“anana-bay”)。可以在維基百科上了解更多內(nèi)容。
//友情使用喵神的正則tips
struct RegexHelper {
    let regex: NSRegularExpression

    init(_ pattern: String) throws {
        try regex = NSRegularExpression(pattern: pattern,
            options: .CaseInsensitive)
    }

    func match(input: String) -> Int {
        let matches = regex.matchesInString(input,
            options: [],
            range: NSMakeRange(0, input.characters.count))
        return matches.count
    }
}

infix operator =~ {
    associativity none
    precedence 130
}

func =~ (lhs: String, rhs: String) -> Bool {
    do {
        return try RegexHelper(rhs).match(lhs) > 0
    } catch _ {
        return false
    }
}

func getay(string: String) -> String {
    
    for charter in string.characters {
        if String(charter) =~ "[^aeiou]"{
            return "\(string)-\(charter)ay"
        }
    }
    return ""
}

getay("afuieu")
  • 統(tǒng)計元音字母——輸入一個字符串,統(tǒng)計處其中元音字母的數(shù)量。更復(fù)雜點的話統(tǒng)計出每個元音字母的數(shù)量。


func getvowelNuM(string: String) -> (a: Int, e: Int, i: Int, o: Int, u: Int) {
    var tuple = (0, 0, 0, 0, 0)
    for charter in string.characters{
        switch String(charter).uppercaseString {
        case "A":
            tuple.0 += 1
        case "E":
            tuple.1 += 1
        case "I":
            tuple.2 += 1
        case "O":
            tuple.3 += 1
        case "U":
            tuple.4 += 1
        default:
            break
        }
    }
    return tuple
}
//test
let tuple = getvowelNuM("feuiajisfiweqrifosidajifojsdafjoisajdfiewifioasjifasdf")
tuple.a
tuple.e
tuple.i
tuple.o
tuple.u
  • 判斷是否為回文——判斷用戶輸入的字符串是否為回文。回文是指正反拼寫形式都是一樣的詞,譬如“racecar”。

//用到第一題的答案
extension String {
    
    /**
     return reverse of the string
     
     - returns: String
     */
    func reverse() -> String {
        return String.init(self.characters.reverse())
    }
}

/**
 字符串是否是回文
 
 - parameter string: orgin string
 
 - returns: bool
 */
func isPalindrome(string:String) -> Bool {
    return string.reverse() == string
}
//測試
isPalindrome("我怕")
isPalindrome("我怕怕我")
  • 統(tǒng)計字符串中的單詞數(shù)目——統(tǒng)計字符串中單詞的數(shù)目,更復(fù)雜的話從一個文本中讀出字符串并生成單詞數(shù)目統(tǒng)計結(jié)果。
//用到喵神的正則的tips

let str = "Any one may mouth out, a passage with, a theatrical cadence cadence cadence cadence"

struct RegexHelper {
    let regex: NSRegularExpression

    init(_ pattern: String) throws {
        try regex = NSRegularExpression(pattern: pattern,
            options: .CaseInsensitive)
    }

    func match(input: String) -> Int {
        let matches = regex.matchesInString(input,
            options: [],
            range: NSMakeRange(0, input.characters.count))
        return matches.count
    }
}

//infix operator =~ {
//    associativity none
//    precedence 130
//}
//
//func =~ (lhs: String, rhs: String) -> Bool {
//    do {
//        return try RegexHelper(rhs).match(lhs) > 0
//    } catch _ {
//        return false
//    }
//}

func worldCount(orginString:String)->Int{

    do {
        return try RegexHelper("\\w+").match(orginString)
    } catch _ {
        return 0
    }
}

worldCount(str)
  • 文本編輯器——記事本類型的應(yīng)用,可以打開、編輯、保存文本文檔。可以增加單詞高亮和其它的一些特性。
    主要是mac上的應(yīng)用,應(yīng)該考慮一些nsfilemanger,nsfilehandle,attributetext等等。 因為請參考這位大神的 此處有干貨
  • RSS源創(chuàng)建器——可以從其它來源讀取文本并將其以RSS或者Atom的格式發(fā)布出去。
    考察一些爬蟲的知識吧,個人覺得爬蟲,是python的強項。
  • 實時股價——可以查詢股票當(dāng)前價格。用戶可以設(shè)定數(shù)據(jù)刷新頻率,程序會用綠色和紅色的箭頭表示股價走勢。
    考察,網(wǎng)絡(luò)請求,數(shù)據(jù)存儲,把當(dāng)前存儲的數(shù)據(jù)與最新請求到的數(shù)據(jù)做對比,決定箭頭顏色
  • 訪客留言簿/日志——允許人們添加評論或者日記,可以設(shè)置開啟/關(guān)閉評論,并且可以記錄下每一條目的時間。也可以做成喊話器。
    適合做成web的,喊話器實現(xiàn)應(yīng)該略微復(fù)雜,需要一個tfs存儲語音,以及上傳語言,不過有很多公司應(yīng)該是提供這種服務(wù)的,甚至有些可能給你免費幾G的存儲空間
  • 新聞和比分播報器——一個桌面應(yīng)用,可以從網(wǎng)上收集新聞和比賽分?jǐn)?shù),將結(jié)果在屏幕上滾動播出。
    顯然又是爬蟲,題目說的比較寬泛,可以考慮先做一類,比如NBA目前的分?jǐn)?shù),之前有些小伙伴使用手機不停的手動刷,也是很醉。
  • 占星羅盤——用占星術(shù)來預(yù)測每天的運程。
    知己隨機數(shù)吧,可以事先存儲一定數(shù)量的文本,隨機到哪個索引就顯示那段文本唄,或者,這里可以利用第三方的api,更具你的生日,查出你今天的運勢,然后返回結(jié)果。
  • 密碼短信——可以將數(shù)據(jù)加密解密,并能將其發(fā)送給朋友。
    可以打包兩個版本,一個轉(zhuǎn)到你的手機,一個撞到你親愛滴手機,你的加密碼是他的手機的mac地址啊,imei串號啊,等等一些硬件系數(shù)算出來的一串字符串,反過來,ta的加密碼是你的,這樣,ta發(fā)送的信息只有你可以看到,你發(fā)送的信息只有ta能看到明文
  • 幫你挑禮物——輸入一堆你可能會送的禮物,當(dāng)有人過生日時,該程序會隨機選擇一樣禮物。也可以加上一個額外功能,可以告知哪里可以弄到這個禮物。
    easy
  • HTML生成器——將 TEXT 文檔轉(zhuǎn)換成HTML文件,對制作網(wǎng)頁HTML文檔很有用。
    太抽象,總的有一個規(guī)則吧
  • CD-Key生成器——利用某種算法生成一個唯一的key。軟件開發(fā)者可以用它來作為軟件的激活器。
    可以參考key生成算法,自己用swift實現(xiàn)
  • 正則表達式查詢工具——用戶可以輸入一段文本,在另外的控件里輸入一個正則表達式。運行以后會返回匹配的內(nèi)容或者正則表達式中的錯誤。
    可以使用前面喵神的swift版本正則利器

網(wǎng)絡(luò)

  • FTP工具——與遠程網(wǎng)絡(luò)服務(wù)器交互文件。

  • 原子鐘校時——從網(wǎng)上同步原子鐘時間。全世界有很多原子鐘,可以把它們都列出來。

  • 聊天應(yīng)用(IRC或者MSN風(fēng)格的)——像IRC那樣的聊天室軟件或者MSN那樣的實時聊天軟件。更復(fù)雜一點的話,可以為聊天制定一套你自己的傳輸協(xié)議。

  • 獲取當(dāng)前天氣——獲取某個地區(qū)當(dāng)前的天氣情況。

  • P2P文件共享應(yīng)用——像LimeWire、FrostWire、Bearshare或者torrent風(fēng)格的應(yīng)用。

  • 端口掃描器——輸入某個ip地址和端口區(qū)間,程序會逐個嘗試區(qū)間內(nèi)的端口,如果能成功連接的話就將該端口標(biāo)記為open。

  • 郵件檢查工具(POP3/IMAP)——用戶輸入一些賬號信息,包括服務(wù)器、ip、協(xié)議類型(POP3或者IMAP),應(yīng)用每隔一段時間就會檢查下該賬號下的郵箱。

  • 數(shù)據(jù)包嗅探器——偵測電腦上進出的數(shù)據(jù)包,獲取諸如目的地和大小之類的信息。

  • IP注冊地查詢——輸入ip地址,查詢該ip是在哪注冊的。

  • Whois查詢工具——輸入一個ip或者主機地址,通過whois查詢并將結(jié)果返回。

  • 郵編查詢——輸入郵編,返回使用該郵編的地區(qū)名稱。

  • 遠程登入——遠程登入桌面類型的應(yīng)用,可以查看和控制遠程電腦(假如你已經(jīng)獲得權(quán)限)。可能需要你自己的網(wǎng)絡(luò)和兩臺電腦來進行測試。

  • 網(wǎng)站定時檢查器——每隔一段時間或者在預(yù)定的時間嘗試連接某個網(wǎng)站或者服務(wù)器,來檢查它是否可以連上,如果連不上了會通過郵件或者桌面通知來告知你。
    小型網(wǎng)頁服務(wù)器——簡易版的網(wǎng)頁服務(wù)器,可以存放包含Javascript和其它形式代碼的HTML文件。復(fù)雜一點的話可以嘗試流媒體視頻、創(chuàng)建一種服務(wù)器端語言或者其它類型的流媒體。

  • 網(wǎng)絡(luò)蜘蛛——一個可以自動執(zhí)行網(wǎng)頁上各種任務(wù)的程序,任務(wù)包括網(wǎng)站檢查、頁面抓取、數(shù)據(jù)摘要以及網(wǎng)絡(luò)郵務(wù)。

  • 產(chǎn)品庫存管理——創(chuàng)建一個管理產(chǎn)品庫存的應(yīng)用。建立一個產(chǎn)品類,包含價格、id、庫存數(shù)量。然后建立一個庫存類,記錄各種產(chǎn)品并能計算庫存的總價值。

  • 電影商店——管理錄像帶租借,記錄借出時間、到期時間、逾期費用。復(fù)雜一點可以生成逾期用戶的賬號報告。

  • 航空/酒店預(yù)訂系統(tǒng)——創(chuàng)建一套預(yù)訂航班或酒店的預(yù)訂系統(tǒng)。不同的航班座位和酒店房間收費不一樣。譬如頭等艙要比經(jīng)濟艙貴。帶閣樓的套間要更貴些。記錄下何時有空房可供預(yù)訂。

  • 學(xué)生成績管理器——記錄一個班級的學(xué)生(創(chuàng)建一個Student類,記錄他們的名字、平均分和考試分?jǐn)?shù))和他們的成績等級。根據(jù)學(xué)生的測驗和作業(yè)的分?jǐn)?shù)計算出平均分和成績等級。復(fù)雜一點可以將數(shù)據(jù)畫在貝爾曲線上。

  • 銀行賬戶管家——創(chuàng)建一個名為“Account”的抽象類,有三個為“CheckingAccount”、“SavingsAccount”和“BusinessAccount”的子類。通過類似ATM的程序來管理這些賬戶的借貸。
    館藏目錄——創(chuàng)建一個圖書類,記錄書名、頁數(shù)、國際標(biāo)準(zhǔn)書號、是否借出。用它來管理各種書籍,允許用戶進行借出和歸還操作。復(fù)雜一點的話,可以生成逾期圖書和逾期費用的報告。也可以讓用戶進行預(yù)約操作。

線程處理

  • 下載進度條——創(chuàng)建一個表示下載進度的進度條。進度條由獨立的線程操作,通過委托來和主線程進行通訊。
  • 下載管理器——允許程序同時下載數(shù)個文件,每個都用單獨的線程進行背景下載。主線程會關(guān)注下載進度并且在下載完成時通知用戶。
  • 聊天軟件(遠程聊天)——做一個聊天軟件,允許你通過ip直接連接到另一臺電腦,也允許你的“服務(wù)器”程序處理多個請求連接。
  • 批量縮略圖生成器——在進行圖片轉(zhuǎn)換的處理時會需要很多時間,尤其是圖片很大時。做一個圖片處理程序,能讓你在做其它事的時候在后臺線程里將數(shù)百張圖片轉(zhuǎn)換成某個大小的圖片。復(fù)雜一點的話可以用一個線程來縮放,用另一個線程來為縮略圖重命名。

Web應(yīng)用

  • 所見即所得編輯器——創(chuàng)建一個在線編輯器,允許用戶移動元素、創(chuàng)建表格、書寫文本、設(shè)置顏色,而用戶不必懂HTML。就像Dreamweaver或者FrontPage。如果需要例子的話,可以參看DIC。

  • 分頁瀏覽器——創(chuàng)建一個可以分頁的小型網(wǎng)頁瀏覽器,可以同時瀏覽幾個網(wǎng)頁。簡化一點的話不要考慮Javascript或者其它客戶端代碼。

  • 文件下載器——該程序可以從網(wǎng)頁上下載各種資源,包括視頻和其它文件。用于有很多下載鏈接的網(wǎng)頁。

  • 遠程登錄——創(chuàng)建一個遠程登錄的應(yīng)用,可以通過網(wǎng)絡(luò)登錄服務(wù)器并能執(zhí)行一些基本命令。

  • 在線白板——做一個在線白板程序,你和朋友們可以一起在白板上進行一些操作,畫圖、寫字等等。

  • 帶寬監(jiān)視器——這個小工具可以記錄你已經(jīng)在網(wǎng)上上傳和下載多少數(shù)據(jù)流量了。可以試著做份報告或者圖表來展示各時段的使用情況。

  • 書簽搜集管理器——該程序可以讓用戶上傳書簽并將它們排序,去掉重復(fù)的,并能生成書簽文件以供Firefox/IE/Safari等使用。復(fù)雜一點的話可以試著將書簽整理進不同的文件夾。

  • 密碼保險箱——用來記錄各種密碼,并且將它們加密,這樣別人就看不到了。
    iGoogle媒體播放器小部件——做一個iGoogle小部件,可以用來播放本地音樂列表,也可以每天分享一首歌。也許還可以讓別人看到你最近聽了些什么歌。
    基于文本的游戲——做一個像Utopia那樣的文本RPG,游戲中,你可以創(chuàng)建一個文明、收集資源、共鑄聯(lián)盟、施放法術(shù)、回合制系統(tǒng)。看看是否能夠統(tǒng)一王國。
    定時自動登錄——做一個程序可以在預(yù)定的時間登錄進某個指定的網(wǎng)頁并且執(zhí)行特定的動作,然后在登出。可以用來檢查郵箱、發(fā)布常規(guī)內(nèi)容、為其它程序獲取信息。

  • 電子卡片生成器——可以讓用戶制作自己的電子卡片并發(fā)送給其他人。可以使用flash也可以不用。可以使用圖片庫,也可以加上深刻的格言警句。
    內(nèi)容管理系統(tǒng)——像Joomala、Drupal、PHP Nuke這樣的內(nèi)容管理系統(tǒng)。從簡單的做起,慢慢增加其它功能。

  • 模板制作器——該網(wǎng)站應(yīng)用允許用戶輸入各種顏色代碼、元素、尺寸,來為PHPBB、Invision Board、MySpace之類的應(yīng)用創(chuàng)建模板文件。

  • 驗證碼生成器——應(yīng)該在登錄時見過有數(shù)字有字母的驗證碼圖片吧?這可以防止自動登錄和垃圾廣告。試著自己做一個,如果使用PHP的話,看下GD的圖片函數(shù)。
    文件

  • 試卷生成器——該程序可以從文件中隨機挑選出不同的題目生成一份試卷。每份試卷可以不一樣,通過讀取答案來給打分。

  • 快速啟動——該工具可以添加各個程序的小圖標(biāo),點擊小圖標(biāo)就可以運行程序。和Windows的快速啟動類似。

  • 文件管理器——做一個文件管理器,要加些新特性,更佳的搜索功能、新圖標(biāo)、新外觀。

  • 文件記錄排序工具——從文件中讀取記錄,將其排序并寫回文件中。允許用戶選擇排序風(fēng)格以及排序關(guān)鍵字。

  • 生成財務(wù)交易文件并且算出平均值——將財務(wù)交易讀進文件,按照賬戶分類、算出各項目的總量或平均值、理清各賬戶的借貸數(shù)據(jù)。

  • Zip文件生成器——用戶輸入不同文件夾的文件,也許還包括其他電腦中的文件,然后程序?qū)⑦@些文件打包成zip文件。復(fù)雜一點的話,打包時對這些文件進行壓縮。

  • PDF生成器——從txt、html或其它文件中讀取數(shù)據(jù)生成PDF文件。可以做成一個網(wǎng)頁服務(wù),用戶上傳文件,返回一個pdf版本。

  • 批量文件命名器——程序批量處理一些文件,將根據(jù)用戶提供的過濾器為它們重命名。譬如用戶輸入的過濾器為myimage###.jpg,那么會生成至少包含3位數(shù)的文件名,譬如myimage001.jpg、myimage145.jpg,甚至是myimage1987.jpg,因為1987也滿足了至少包含3位數(shù)的條件。
    MP3標(biāo)簽生成器——修改MP3文件的id3v1標(biāo)簽。還可以試著在MP3文件的頭部加入id3v2的標(biāo)簽,譬如album art標(biāo)簽。

  • 日志文件生成器——該程序可以記錄指定事件的日志。譬如程序做了什么、系統(tǒng)在干什么、文件什么時候被修改了。

  • Excel分頁輸出器——做一個在線程序,可以讀取文件內(nèi)容生成一個excel分頁。可以通過CVS或者其它文件格式來做。復(fù)雜一點的話看看是否能創(chuàng)建公式字段。

  • RPG角色屬性生成器——做一個程序來給RPG角色隨機分配屬性點數(shù),可以由用戶制定一些分配規(guī)則。可以生成職業(yè)、性別、力量/魔法/敏捷點數(shù)、額外能力或者貿(mào)易技能。把結(jié)果保存成文件,這樣跑團的時候地下城主可以把它打印出來。

  • 文件復(fù)制工具——該工具可以批量處理文件復(fù)制和備份操作。

數(shù)據(jù)庫

  • SQL查詢分析器——該工具可以讓用戶輸入一條查詢命令,讓其運行于本地數(shù)據(jù)庫中。盡量讓它運行得更高效。
  • 遠程SQL工具——該工具能讓你通過網(wǎng)絡(luò)在遠程服務(wù)器上執(zhí)行查詢操作。它能接收遠程主機地址、驗證用戶名和密碼、執(zhí)行查詢并返回結(jié)果。
  • 卡片整理器——創(chuàng)建一個在線應(yīng)用,用來記錄搜集到的卡片。可以讓用戶輸入整套卡片,查看哪些已經(jīng)有了,哪些還需要搜集。要增加復(fù)雜度的話,還可以讓用戶知道還差多少可以完成,或者已經(jīng)收集卡片的價值。
  • 報告生成器——該工具可以根據(jù)數(shù)據(jù)庫中的表格生成一份報告。譬如根據(jù)訂單表格生成銷售報告。
  • 數(shù)據(jù)庫備份腳本制作器——該程序可以讀取數(shù)據(jù)庫的對象、關(guān)系、記錄和步驟,生成一個sql文件,該文件可以導(dǎo)入另一個數(shù)據(jù)庫或者作為備份文件。
  • 備忘錄——該程序可以讓用戶設(shè)置一個日期和某個事件的時間、事件備注并將它們放到日歷上。用戶可以查看日歷、搜索特定的事件。復(fù)雜一點的話,可以讓用戶設(shè)置重復(fù)發(fā)生的事件,譬如每天、每周、每月、每年等等。
  • 預(yù)算記錄器——該程序可以記錄家庭預(yù)算。用戶可以添加支出、收入,計算一段時間內(nèi)的收入和支出。復(fù)雜一點的話,讓用戶指定一個時間段,顯示該時間段內(nèi)的家庭收支情況。
  • 電話簿——記錄各種聯(lián)系人和他們的號碼、郵箱、備注。復(fù)雜一點的話可以讓用戶連上網(wǎng)將電話簿發(fā)布到設(shè)置好的網(wǎng)站上。
  • 電視節(jié)目記錄器——你是否有不想錯過的電視節(jié)目?但沒有錄像機或者想之后能找到該電視節(jié)目然后錄下來,那么可以做個程序?qū)ふ腋鞣N在線電視導(dǎo)航網(wǎng)站,記錄下電視節(jié)目名稱、播放時間、播放頻道,存在數(shù)據(jù)庫中。數(shù)據(jù)庫或者網(wǎng)站到時就會發(fā)郵件提醒你,節(jié)目就快在某個頻道開始了。
  • 旅行計劃系統(tǒng)——該系統(tǒng)可以讓用戶管理旅行路線,記錄下航班和酒店安排、感興趣的地方、預(yù)算和時間表。
  • 實體關(guān)系圖生成器——該程序可以讓用戶整合實體關(guān)系圖,并將其保存起來,也可以用它來生成一些基礎(chǔ)SQL語句。
  • 數(shù)據(jù)庫翻譯器(MySQL<->SQL Server)——該工具可以從數(shù)據(jù)庫A讀取數(shù)據(jù),生成數(shù)據(jù)庫B使用的SQL語句,將數(shù)據(jù)存入數(shù)據(jù)庫B。比較常用的是SQL Server和Oracle使用的MySQL服務(wù)器。
  • BBS論壇——為你和小伙伴們做一個論壇,可以發(fā)帖、管理、分享想法和構(gòu)思。

圖像和多媒體

  • 幻燈片——做一個以幻燈片形式顯示各種圖片的程序。為了增加難度可以做些額外的效果,譬如漸進檢出、星型擦除、窗口漸隱。
  • 思維導(dǎo)圖——允許用戶記錄下各種構(gòu)思并且快速地進行頭腦風(fēng)暴將這些構(gòu)思整合到一張思維導(dǎo)圖中。越快越好,因此要讓用戶能迅速地寫下構(gòu)思,然后將其拖到可視的導(dǎo)圖中去,將構(gòu)思之間的關(guān)系展現(xiàn)出來。
  • 導(dǎo)入圖片并存成灰度圖——該工具將圖片上的彩色除盡并保存。可以增加對比度調(diào)整、色化等額外功能以增加復(fù)雜度。
  • 在線流媒體視頻——試著自己做一個在線流媒體視頻播放器。
  • MP3播放器(以及其他格式的音樂播放器)——該小程序用來播放你最愛的音樂文件。復(fù)雜一點的話看看能否加個播放列表功能和均衡器。
  • 批量圖片處理——該程序可以將一個文件夾內(nèi)的圖片進行統(tǒng)一的處理,譬如降低圖片色調(diào)、轉(zhuǎn)換格式或者修改文件屬性。還可以嘗試給圖片增加標(biāo)簽。
  • CD燒錄器——可以輕松燒錄CD的工具。
  • YouTube下載器——可以從Youtube.com上下載視頻到硬盤中,要支持包括FLV和AVI在內(nèi)的文件格式。
  • 墻紙管理工具——做一個管理墻紙的程序,可以定時更換刷新墻紙,也可以針對分辨率進行縮放。
  • 截屏程序——做一個可以截屏的工具,復(fù)雜一點可以增加一個轉(zhuǎn)發(fā)郵件的功能。
  • 圖片瀏覽器——該程序可以查看電腦上各種格式的圖片,譬如PNG、GIF、JPG、BMP、TIFF等等。
  • 交通信號燈——試著做一個交通信號燈并且把它放到可以互動的場景中。不要讓汽車闖紅燈或者撞到其它車。
  • MP3-WAV轉(zhuǎn)換器——MP3格式本質(zhì)上就是壓縮版的WAV。試著將MP3轉(zhuǎn)換成WAV格式以供可以處理WAV格式的程序使用。請記住1MB的MP3大約等于10MB的WAV。
  • 簽名生成器——是否在網(wǎng)上見過有人的留言后面有條生成的簽名?試著做個程序讓用戶可以指定背景、文字、顏色和對齊方式來定制一個簽名檔。
  • 屏保——電腦空閑時會運行的屏保程序。簡單版的可以使用一些標(biāo)準(zhǔn)圖片,復(fù)雜版的可以做出能在屏幕上轉(zhuǎn)來轉(zhuǎn)去的3D物體。
  • 水印——你是否想保護你圖片的版權(quán)?在圖片上加上標(biāo)志或者文字,這樣別人就不能輕易地從你網(wǎng)站上盜圖了。做一個程序來給你的圖片加上水印吧。
  • 海龜圖——創(chuàng)建一個20*20的格子,用命令讓一只海龜在格子上畫線。可以前進、左轉(zhuǎn)、右轉(zhuǎn),拿起或放下筆等等。復(fù)雜一點的話,允許程序從文件中讀取命令列表。可以在網(wǎng)上了解到更多關(guān)于“海龜圖”的信息。

游戲

  • 戰(zhàn)船——創(chuàng)建兩塊游戲面板,玩家各占一邊,在上面放置一些戰(zhàn)船,玩家看不到對方的面板。每艘船都占幾個格子,玩家輪流攻擊某個格子,如果格子上有船,那就命中目標(biāo),否則就是未命中。當(dāng)一艘船所占的所有格子都被攻擊命中了,那么船就被擊沉。誰先將對方戰(zhàn)船全部擊沉就獲勝。
  • 象棋跳棋——象棋或者跳棋游戲。可以試著做成可以聯(lián)網(wǎng)玩,用圖形用戶界面來實現(xiàn)悔棋、保存走棋過程并且可以回放。
  • 劊子手——從文件中隨機選擇一個單詞,讓玩家猜單詞中的字母。旁邊是一幅隱藏的行絞刑的畫,猜錯一個單詞,畫就顯示出一部分。畫全部顯示出來時還沒能猜全的話玩家就輸了。
  • 填字游戲——創(chuàng)建一個填字游戲,并為每個詞提供一個提示信息,讓玩家填上所有正確的單詞。
  • 青蛙跳——讓青蛙跳過河或者馬路,過河的話要跳在順流而下速度各異的木頭或者睡蓮葉子上,過馬路的話要避開速度各異的車子。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,505評論 6 533
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,556評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,463評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,009評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,778評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,218評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,281評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,436評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,969評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,795評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,993評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,537評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,229評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,659評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,917評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,687評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 47,990評論 2 374

推薦閱讀更多精彩內(nèi)容