Flat Leon Works

アプリやゲームを作ってます。

プログラム全般

Macでビルドした実行ファイルが、libJPEGが原因で落ちる場合の対処法

久しぶりにMacでビルドしたプロジェクトが以下のようなエラー出力とともに実行時に落ちるようになっていました。 dyld: Symbol not found: __cg_jpeg_resync_to_restart Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO …

プログラミング言語を自作した話

数年前、「Flan」というプログラミング言語を作っていました。このプログラミング言語は長い間C++でプログラミングをしてきて感じた不満をもとに、自分好みの最高のプログラミング言語を作ろうと、そういう考えで作っていました。「Flan」は言語機能的にはだ…

Gitリポジトリの統計情報を見るためにGitStatsを使ってみる(Macで)

プログラミングをしていてソースコードの行数が一体どれくらいになっているのか気になることがよくあるのですが、Gitリポジトリを解析して統計情報を生成してくれるGitStatsというツールがあることを知りました。ソースコード行数はもちろん、ファイル数、コ…

【ゲームプログラミング】ビット演算による点滅処理

ゲームプログラミングキャラクターを点滅させたいとき、以下のような実装にするかもしれません。 // C++ class Player { int m_DrawCount; public: Player() : m_DrawCount( 0 ){} void Draw( void ) { // 2フレームに1回描画 if ( m_DrawCount % 2 == 0 ) {…

扱う文字コードに迷ったらUTF-8を選ぼう

文字コードを決める場面 プログラミングにおいて文字コードを考えるときは、APIやファイルフォーマットなどですでに決められた文字コードに自分が合わせる場合がほとんどだと思います。しかし、自分で文字コードを決める場面というのも少なからず存在します…

プログラミングを学ぶこつ

プログラミングを学ぶこつは「慣れ」と「模索」 プログラミングにはいくつもの壁があります。この壁の多さから挫折してしまうひとが沢山いるようです。自分がプログラミングを学んできて思うのは、プログラミングの学習で重要なのは「慣れ」と「模索」なので…

各種プログラミング言語の動作確認に便利なIdeone

プログラミング言語の動作が気になったときに プログラミングをしていて、プログラミング言語の動作を確認したくなったことはありませんか。例えば、C++で複数の変数を一度に初期化したいと考えたとします。そして確かこんな書き方ができたはずと、int a, b …

オブジェクト指向プログラミングでのクラス分けのコツは役割分担

役割分担でクラス化していく 役割を決めることで実装すべきものと実装すべきでないものが明確になる クラス名が役割を表すことになる 動作も役割分担の対象になる 役割を詳細に決めすぎる必要はない 役割分担でクラス化するかどうかは複雑さで考える 役割分…

オブジェクト指向とは何なのか考えてみた

オブジェクト指向の概要 オブジェクト指向の位置づけ 命令型から手続き型へ、そしてオブジェクト指向へ オブジェクト指向+αでメリットが出てくる (おまけ)良質なプログラミングとは何か まとめ オブジェクト指向とは何なのか考え抜いてみました。 オブジェク…