プログラム基礎

プログラミングのセオリー

プログラミングのセオリーposted with amazlet at 10.10.08矢沢 久雄 技術評論社 売り上げランキング: 166607おすすめ度の平均: 自分としてはかなり参考になった これより、ひどい本は日本にない 押し付けが嫌いな方へ いくつか役に立ちました 「セオリー」…

Scalaでゲームプログラミング - vol3 システムの骨格を考える -

Scalaでゲームプログラミング まとめソースあり 第1回、第2回の記事を見てるとなんだか拡散な感じがしますね。 Windowの表示(アクティブレンダリング) キー入力を受け付ける そろそろシステムの基盤を作って、拡張してゆけるようにしましょう。 まずは個々の…

Scalaでゲームプログラミング - vol2 キー入力を受け付ける -

Scalaでゲームプログラミング まとめソースあり 8月22日 訂正 プログラムを組む上で重要になってくる入力情報。 今回はキーボードからの入力をチェックする機構を作ってみようと思います。 フレーム間の入力について KeyListenerを用いてキー入力を監視しま…

Scalaでゲームプログラミング - vol1 Windowを表示してみる -

Scalaでゲームプログラミング まとめソースあり Javaで作るようにJFrameを用いて表示します。ゲームプログラミング向けに高速で処理できるようアクティブレンダリングをします。 このあたりはレイヤが低いので、ScalaっていうよりJavaっぽさがあるかもしれま…

インストールとHelloWorld(Ubuntu編)

自宅鯖がUbuntuだったのでUbuntuだけどwindowsやmacでも動きます。 手始めにapt-getしてみる。(事前にJREやJDKのインストールが必要です) sudo apt-get install scala そして scala -version Scala code runner version うんたらかんたら はい、インストール…

Scala講座

基礎編 Scalaって何です? インストールとHelloWorld(ubuntu編) ScalaをJar化して実行 Scalaでゲームプログラミング Windowの表示(アクティブレンダリング) キー入力を受け付ける システムの骨格を考える フルスクリーン化してみる new FPSを制御してみる ne…

Scalaって何です?

巷で話題のプログラミング言語Scalaの正体について記していきます。 Scalaはオブジェクト指向言語と関数型言語の特徴を統合したマルチパラダイムのプログラミング言語である。 by wikipedia JavaのVM上で動くので様々な環境に適応可能なところも魅力。(Andro…

ScalaをJar化してみる

ScalaはJavaVM上で動くのでコンパイルしてclassファイルを出力することができます。 classファイルをまとめてjar化して様々な環境で動かしてみたいという欲求を満たしましょう。 ちょっとしたことを忘れるとはまってしまうのでここに記しておきます。 まず、…

参照型で高速化と省メモリ化

構造体やクラスなどで新しい型を作った場合。 特殊な技法を使わない場合に無駄にコピーされ時間やメモリが使われることがあります。 そんな例を以下に示します。 #include <iostream> using namespace std; struct Vect { int x,y,z; }; void printVect(Vect vect) { c</iostream>…

プリプロセッサとインクルードガード(C/C++)

C/C++にてファイル分割を行う際に問題となる点がありました。 ヘッダファイルには各種ソースファイルの共通部分を置きたいのですが 何度も読み込まれる可能性があるにも関わらず定義は1度しか行えないということです。 (以下を参考:宣言と定義とファイル分…

宣言と定義とファイル分割(C/C++)

C/C++にて、コンパイルの対象となるのはソースファイルです。例として以下のようなものが挙げられます。 // main.cpp #include <iostream> using namespace std; int mul2(int x) { return x*2; } int main() { cout << mul2(3) << endl; return 0; } また、次のように</iostream>…

初めてゲームプログラミングでやるべき言語 ver1

概要 「プログラミングって初めてやるんですけど!」 「ゲーム作りたいんですけど!」 そんな人向けに初めて学ぶプログラミング言語は何かというのを考察してみる。 なお、ウェブならPHPかRuby、組み込みならC++やってアセンブラだと勝手に思っている。 言語…

ビットシフトと高速化

ビットシフトって? ずばり、桁を動かす演算方法です。 10進数で言えば10倍するという形です。(123x10→1230) これをビット単位で行います。(演算子は (10101)2 この動作を左に2ビットシフトすると言います。(後ろから0を2つ押し込むイメージ) ビットシ…

C/C++講座

環境設定 VisualC++ 2010 ExpressEdition 基礎学習 参照型で高速化と省メモリ化 new 宣言と定義とファイル分割 new プリプロセッサとインクルードガード new デザインパターン シングルトン(Singleton) アルゴリズム スマートポインタ(参照カウント型) 高速…

Ruby講座

環境設定 基礎学習 おまけ RubyでSingletonの実装 RubyでFPS管理サンプル

ビット演算と管理方法

ビット演算とは、あるビットパターンを2進数として扱い演算することです。 演算にはAND OR XOR NOT などがあり、ビットシフトもここに該当することがあります。 AND OR XOR NOT ビットシフト 010101 010101 010101 010101 0001110 111100 111100 111100 << …