原创 基於EasyX和Raylib的別碰方塊

基於 EasyX // 根據《C和C++遊戲趣味編程》第三章 別碰方塊 寫出 #include <graphics.h> #include <conio.h> // _kbhit() #include <stdio.h> // 檢測按

原创 基於EasyX和Raylib的自由落體小球

這個簡陋的小遊戲,在 《C和C++遊戲趣味編程》 第三章, 是逐次迭代寫成的。這裏貼出基於 easyx 和 raylib 的各自實現。 基於 EasyX // 根據《C和C++遊戲趣味編程》第二章 仿真“自由落體小球” 寫出 #incl

原创 基於EasyX和Raylib的字符雨

思路 按如下順序嘗試: 繪製一個字符下落 繪製4個字符(一列)的下落 繪製20個字符(一列)的下落,並封裝其位置更新、繪製的過程爲 Rain 類的成員函數 繪製多個雨滴 每個雨滴在更新位置時, 也修改字符 每個雨滴初始化時,位置、速度都

原创 基於EasyX和Raylib的推箱子

基於 EasyX // 根據《C和C++遊戲趣味編程》第九章 推箱子 寫出 #include <graphics.h> #include <conio.h> // _kbhit() #include <stdio.h> #include

原创 基於EasyX和Raylib的字符陣

字符陣是 EasyX 的經典樣例程序: https://codebus.cn/yangw/character-matrix 使用 raylib 替代 easyx. 除了常規的 API 替換, 還需要額外調用 SwapScreenBuffe

原创 基於EasyX和Raylib的堅持100秒

Raylib 播放音頻毫無壓力, 相比之下 EasyX 需要藉助 Windows API mciString 傳入播放相關的命令, 感覺風格不統一, 不夠優雅。 另一個問題是 clock() 和 CLOCKS_PER_SEC 在 Linu

原创 基於EasyX和Raylib的十字消除

基於 EasyX // 根據《C和C++遊戲趣味編程》第10章 十字消除 寫出 #include <graphics.h> #include <conio.h> // _kbhit() #include <stdio.h> #inclu

原创 基於EasyX和Raylib的貪喫蛇

基於 EasyX // 根據《C和C++遊戲趣味編程》第七章 貪喫蛇 寫出 #include <graphics.h> #include <conio.h> // _kbhit() #include <stdio.h> #include

原创 LLDB備忘錄

收集整理使用 LLDB 過程中發現的問題和解決方法。 1. error: Couldn't allocate space for materialized struct: Couldn't malloc: address space is

原创 簡易貪喫蛇-基於C++和OpenCV的實現

簡易貪喫蛇-基於C++和OpenCV的實現 2022-08-12 11:20:01 1. 目的 做一些 application 方面 demo 的嘗試。 使用 OpenCV 而不是 EasyX 或 SDL 的原因是: 對 OpenCV 比較

原创 C語言getopt()的8個用法

目錄概況例子1例子2例子3例子4例子5例子6例子7例子8 概況 做 CSAPP 的 CacheLab 的第一個門檻是學習使用 getopt() 函數。它是 Linux 下的函數,Windows 先不考慮了。 查詢 getopt 用法的“官方

原创 rgb2gray 的實現和優化

環境和原理說明 測試設備: 小米11, QCOM888. 使用 NDK-r22 編譯器. 使用 OpenCV 的 Mat, imread/imwrite 等基礎設施,以及作爲對照比較性能。 使用 C++ 模板技術: 由於確定了是 RGB 因

原创 最近鄰 resize 的實現和優化

目錄1. 目的1. 影響性能的因素2. 對照: cv::resize 耗時(4ms)3. 實現和優化naive 實現. 19ms第1次優化:提前算索引. 提速 2ms第2次優化:展開最裏層循環中的Mat.ptr到外層. 提速9ms第3次優化

原创 macOS備忘錄

記錄使用 macOS 的一些細節。 1. Finder 文件剪切 一度誤以爲 Finder 不能剪切只能鼠標拖放,一度想找Finder替代品。實際可以剪切: 複製粘貼:cmd+c→cmd+v 剪切粘貼:cmd+c→cmd+option+v

原创 Python的一些工程實踐

1. 文檔 Python 廣泛使用的文檔標準是 Sphinx MarkUp, 主要原因是可以部署在 read the docs 網站上。 VSCode 有相應的插件。 https://stackoverflow.com/questions/