有沒有初學者用C能寫的比較有意思的project?

時間 2021-05-05 16:07:04

1樓:龍叔

如果題主對演算法感興趣的話,可以用C去實現各種演算法,如鍊表、樹、圖和排序等等,刷一刷LeetCode,每實現乙個演算法你都會非常有成就感的

如果對遊戲感興趣,可以嘗試用C編寫一些簡單的遊戲,如貪吃蛇、打磚塊、俄羅斯方塊等等,不需要圖形介面,只要掌握C語言基本的語法即可實現上述的小遊戲,以下是我用C語言編寫的小遊戲,題主可以參考一下

龍叔:貪吃蛇(1)

龍叔:打磚塊(一)

龍叔:俄羅斯方塊(一)

2樓:凍椰子IcyCoconut

呃,我不知道你有多初學者啊,就推薦幾個適用於各種水平的小專案,初學者哪怕做不出來,能寫一半也是有幫助的。

1. 數獨破解器

這是乙個很好用的練習project。不同水平的人能寫出截然不同的東西。

你先從嘗試破解最簡單的數獨開始,

輸入n個形如(x,y,v)的三元組,x,y,v分別表示某個已知格仔的行,列和值。比如(0,0,3)代表第1行第1列的格仔中有乙個3。

注意,初學者別選難的數獨,盡量找能用簡單排除法解的最簡單的,因為很多難的數獨解到一半會出現更複雜的情況。也可以視自己實力去解更複雜的數獨。

這個主要能練指標,二維陣列,這個專案條件判斷和迴圈會比較多,能鞏固一些邏輯推導能力,

2. 簡單解方程程式

輸入表示簡單四則運算方程的字串比如"x - 3 = 5",或"(x + 8)*2 = x"。程式要能解出x。當然實力強一點可以引入乘方,根號,對數啥的。

這個主要能練字串處理。

3. 遊戲對抗模擬器

很多包含角色之間對抗的遊戲都有複雜的數值,比如暴擊率,攻擊速度,血量,護甲,攻擊力等等。如何強化角色或分配裝備才能最大化角色的實力經常是乙個問題(通常是對操作佔比不大的遊戲更有用),尤其是涉及各種概率數值的時候,不經過大量的測試和統計很難下定論說哪個出裝/強化/培養方案更優。然而你自己一局一局打並統計結果這種做法很明顯不夠程式設計師。

輸入角色1和角色2的所有數值(可以是同一角色不同屬性)。程式要自動模擬兩個角色戰鬥,迴圈100~1000次,一半次數角色1先手,一半次數角色2先手,分別統計角色1和角色2勝利次數。

舉個簡單例子:

角色1: 血量1000,攻擊力10,50%概率暴擊造成1.5倍傷害,20%概率連續攻擊兩次

角色2: 血量1000,攻擊力10,20%概率暴擊造成1.5倍傷害,40%概率連續攻擊兩次

角色1攻擊角色2,觸發暴擊,角色2血量-15,角色2攻擊角色1,未觸發效果,角色1血量-10 ... ... 角色2攻擊角色1,觸發連擊,角色1血量-20,角色1死亡。

角色2勝利次數+1 ... ... 角色1勝利450次,角色2勝利550次。

結論: 目前情況下連擊裝小佔優勢。(這個結果瞎編的,打個比方)

這個例子比較簡單,直接筆算就能算出來,初學者完全可以嘗試程式設計,但是如果你引入護甲,閃避率,命中率,等等更多概率數值,甚至引入每隔一段時間發動的技能效果(並合理估算技能命中率)。那可就不能筆算了。只要你的模擬正確,這個程式可以幫你快速生成大量的對抗資料,幫助你在各種遊戲中選擇最好的角色出裝/強化/培養方案。

算既能練手又有點用的程式。

對於更強的人: 允許30個可以自由分配的技能點/屬性點,求如何分配效果最佳~~~

4. 其他

各種排序演算法

各種資料結構

各種棋類遊戲

各種撲克牌遊戲

貪吃蛇/俄羅斯方塊/飛機大戰

日期計算器: 比如2019.11.18加100天是什麼日期

想自學C語言,有沒有推薦適合初學者的程式設計軟體?

無海 1 首先你得搞明白自學C最終是幹什麼用的?2 C C 能做什麼?C C 可以說是一門通用性的語言了,目前基本都用於底層開發,比如 3 可迭代性 不建議東一槍,西一炮的學習,先做目標與計畫,然後實施,否則會學的很雜很亂也很難系統化。 EventLi visual studio code簡便輕量,...

有沒有適合吉他初學者彈的曲子?

彈結他的小朋友 剛開始接觸吉他的時候肯定是先練C大調的音階,掌握了一些基礎後就應該找點入門級別的簡單歌曲來鞏固知識,也能找到玩結他的一些感覺。那麼新手最合適練哪些歌曲呢?下面蒐集了初學者必練的10首歌,老鳥都耳熟能詳了,寫給新人看 1 Romance,這首歌是入門的經典歌曲,涉及到的品位挺多,非常適...

有沒有適合韓語初學者唱的韓語歌曲?

韓語翻譯 比如 三隻小熊 有三隻小熊,住在一起 熊爸爸,熊媽媽,熊寶寶 熊爸爸胖胖的 熊媽媽 很苗條,熊寶寶 非常可愛 嗚呼嗚呼好棒喲 有三隻小熊,住在一起 熊爸爸,熊媽媽,熊寶寶 熊爸爸呀 身體強壯 熊媽媽呀 美麗漂亮 熊寶寶呀 好可愛呦 一天一天長大啦 黎泊鹿 IU的 心 可以試一試,每個字都是...