原创 Xcode與C++之遊戲開發:精靈(Sprite)

上一篇:Xcode與C++之遊戲開發:遊戲對象 預備動作:請按照第一篇,搭好一個黑框窗口,然後按照第二篇完成基本渲染器,按第三篇完成增量時間。本篇有大量代碼,請有一定的耐心。 精靈 精靈是2D遊戲中的視覺對象,通常用來表示角色、背

原创 Rust學習筆記之基礎概念快速入門

去年就學習過一段時間的Rust,除了略微“詭異”的所有權規則,整個語言的工具鏈體驗還是很好的,起碼Cargo真的很舒服。 聊聊Rust Rust is technology from the past came to sav

原创 Rust學習筆記之非常好用的包管理器Cargo

包管理器 Rust 的 Cargo 應該算是衆多包管理器當中非常好用的一個。如果接觸過前端開發,對 npm/yarn 應該是不陌生的,Go 語言也有 go tool。這些包管理器用來下載正確的依賴庫、編譯和鏈接文件,還有管理項目等

原创 C++運算符重載練習:編寫ipv4類

沒什麼,好久沒玩 C++ 了。打算複習一下,編寫個 ipv4 地址類娛樂一下。 IPv4地址 IPv4 地址是一個32位的數字,通常使用十進制和點.進行格式化,比如192.168.1.1。每一個部分都是一個8比特數,範圍從0到25

原创 Rust學習筆記之測試、文檔和基準

測試是保證軟件質量的關鍵一環,這一節主要講 Cargo 還有怎麼寫測試,也包括如何爲代碼寫文檔,如何評估代碼的性能。 斷言 基本上單元測試都會通過斷言來判斷是否輸出相同的預期結果: 布爾值: assert!(true); // 最

原创 C語言的現代化:語法篇

我坦白,其實我已經很久沒用純C寫東西了。但,這不妨礙我讚美一下 C 語言,甚至爲它謳歌。 引言 所有的C程序都做同一件事,觀察一個字符,然後啥也不幹。 ——Peter Weinberger 很多人覺得C語言就如同古董一般,

原创 C++17,RAII與GSL支持庫

主要聊一下 C++17,順便記錄一下 RAII。說句真心話,只要 C++ 遵照最佳實踐來編碼,還是很省心的,就算它有很多醜陋的地方,你不用它,不看它不就完了。 C++17的一些特性 在if/switch中初始化變量 #includ

原创 C++基礎練習:編寫ipv4類

沒什麼,好久沒玩 C++ 了。打算複習一下,編寫個 ipv4 地址類娛樂一下。 IPv4地址 IPv4 地址是一個32位的數字,通常使用十進制和點.進行格式化,比如192.168.1.1。每一個部分都是一個8比特數,範圍從0到25

原创 C++標準庫概述

文章目錄編碼原則C++標準庫概述字符串正則表達式I/O流智能指針異常數學工具時間工具隨機數初始化列表Pair和Tuple函數對象多線程類型特質標準模板庫STL容器STL算法STL中還缺什麼最後 在使用 C++ 編程中,最重要的庫就是

原创 Xcode與C++之遊戲開發: 遊戲對象

上一篇:Xcode與C++之遊戲開發:Pong遊戲 遊戲對象 在前面的 Pong 遊戲中,沒有用不同的類去代表牆,球拍和球,僅僅使用了一個 Game 類。像 Pong 這種簡單遊戲當然沒問題,但它不是可擴展的解決方案。爲了可擴展性,將

原创 Xcode與C++之遊戲開發:創建環境

由於歷史原因,OSX 沒能像 Windows 一樣成爲遊戲玩家的首選。這也導致了大部分的遊戲開發的書籍關注的是 Visual C++ 上關於 Windows 的遊戲編程。由於我日常用的是 Macbook Pro,最近也想複習一下 C+

原创 Xcode與C++之遊戲開發:Pong遊戲

上一篇:Xcode與C++之遊戲開發:2D圖形 接下來在前兩天遊戲骨架的基礎上實現一個經典的乒乓球(Pong)遊戲。遊戲是這樣的,一個球在屏幕上移動,玩家控制球拍來擊打球。可以說乒乓球遊戲是遊戲開發者的 “Hello World” 項

原创 Xcode與C++之遊戲開發: 2D圖形

上一篇:Xcode與C++之遊戲開發:創建環境 2D 圖形 今天電視、電腦顯示屏、手機、平板電腦用的顯示圖形基本都是光柵圖形,我們常稱之爲位圖。這些屏幕由像素點構成,每個像素點代表了不同顏色。分辨率就是像素點方格的寬度和高度。例如,1