tabとspcace

はてなのスーパーpreの機能を使っていてソースコードの端が途切れてしまうことが判明した。 どうしようと考えていると、タブが幅を食っていた。(8つ分) タブ幅変えようとも考えたけれども、よく分からなかったのでスペースに置換します。 vimの設定 /etc/vim…

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

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

Scalaでゲームプログラミング - 番外編 デバッグの方法を見つけ出す -

Scalaでゲームプログラミング まとめソースあり エラーが起こったり、きちんと動いているか確認するためにもデバッグは必要です。 デバッグをするにあたり、データをどこかに出力しなければなりません。 そこでDebuggerというオブジェクトをつくりどこからで…

Scalaでゲームプログラミング - vol5 FPSを制御してみる -

Scalaでゲームプログラミング まとめソースあり FPSって何ですか。そんな人は以下の記事を見てください。 FPS(frame per second)を整える方法 上記のシステムを実装してみました。 時間計測にはcurrentTimeMillisを利用してミリ秒単位の時間を取得しています…

Scalaでゲームプログラミング - vol4 フルスクリーンにしてみよう -

Scalaでゲームプログラミング まとめソースあり フルスクリーン化をするにあたって注意することがあります。 キー入力等がオフになっていると戻れなくなる可能性があります。 前回の例ではESCにて終了できるようになっていました。 終了条件 private def isE…

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

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

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

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

Scalaプログラミング入門

Scalaプログラミング入門posted with amazlet at 10.07.21デイビッド・ポラック 日経BP社 売り上げランキング: 73030おすすめ度の平均: 評価が分かれるのではないかと… Scalaでアプリケーション/ライブラリ開発を考えている方は是非どうぞAmazon.co.jp で詳…

インストールと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化して様々な環境で動かしてみたいという欲求を満たしましょう。 ちょっとしたことを忘れるとはまってしまうのでここに記しておきます。 まず、…

エイトクイーン問題 by Scala

方針 パターンマッチを上手く使う。 斜め方向は、網目探索にならないように関数を渡して演算を固定する。 (書いた当時はScala初心者なので上手い方法あったら教えてください。) サンプルコード object EightQueen { def check(number: Int, f: Int=>Int, lis…

エイトクイーン問題

問題の詳細 チェスにおけるクイーンは十字方向と斜め方向に動くことができる。(飛車角みたいな動き) 8x8の盤面で各行に互いに取られない位置にクイーンを置きたい。そして置くことのできる総パターン数を求める。 問題の概要 概要 ループや配列の扱い方な…

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

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

VisualC++ ExpressEdition 2010

名称:VisualC++ 2010 ExpressEdition 概要:マイクロソフト製のC/C++の統合開発環境で無償版。 解説 かの有名なVisualStudioの無償・評価版 無償版だからといってあなどってはいけない。 リソースエディタなどの一部の機能が制限されているだけで有用である…

プリプロセッサとインクルードガード(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>…

【簡易開発環境】codepad【ウェブアプリ】

名称:codepad 要約:オンラインでの簡易開発環境 種類:コンパイラ・インタプリタ 形式:ウェブアプリ http://codepad.org/ codepad is an online compiler/interpreter, and a simple collaboration tool. Paste your code below, and codepad will run it…

競技プログラミングまとめ

ゲーム作ろうよ 06/16 22:32 [競技プログラミング]優先度付き幅優先探索(最小コストの算出) 06/16 02:30 [競技プログラミング] Problem 2252 koukyoukoukokukikou ICPC模擬国内予選2011 A 06/16 02:26 [競技プログラミング] Problem 2253 Brave Force Story …

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

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

Effective C++ 原著第3版

Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)posted with amazlet at 10.04.02スコット・メイヤーズ ピアソン・エデュケーション 売り上げランキング: 8011おすすめ度の平均: C++歴半年 息抜きに読みたい本 かなりレベルが高い…

Modern C++ Design

Modern C++ Design―ジェネリック・プログラミングおよびデザイン・パターンを利用するための究極のテンプレート活用術 (C++ In‐Depth Series)posted with amazlet at 10.04.02アンドレイ アレキサンドレスク ピアソンエデュケーション 売り上げランキング: 7…

高速固定長アロケータ

概要 newとかdeleteってもの凄く重いですよね。 何故かって割り当てられる領域を探すのに時間がかかっているんです。 OS側でメモリを管理しているわけですが、色んなシステムが割り当て要求をしてきます。 さらに大きさがバラバラなので、割り当て取り消しを…

スマートポインタ(参照カウント型)

概要 C/C++の話なんですが、メモリ管理ってめんどくさいですよね。 誰が生成して誰が消去するのか、2度もdeleteすると危ないです。 そんなわけで、自動的に解放してくださるクラスを作りましょう。 制作方針 C/C++のtemplateの機能を使って実現します。 以下…

【ドット絵】EDGE【フリーソフト】

名称:EDGE要約:EDGEは、256色専用のドット絵エディタです。主な特長は次の通りです。種類:ドット絵エディタ形式:フリーソフト フリーソフトなので無料で全ての機能が使える GIF形式(アニメーションGIFも可能)をサポート MDIアプリケーション(同時に複…

ドット絵プロフェッショナルテクニック

ドット絵プロフェッショナルテクニックドット打ちからアニメーションまで (Game developer books)posted with amazlet at 09.12.16高野 隼人 秀和システム 売り上げランキング: 5812おすすめ度の平均: 読んで、練習する本 ドット絵練習のおともに かなり参考…

HSPコンテスト2009- FPSを整えてみた

STGにおいてFPSの概念は重要です。 FPSが不安定だとゲームスピードが変わるので難易度が変わってしまいます。 (詳しくは「FPS(frame per second)を整える方法」) d3module d3module は、HSP の標準機能のみで簡単な 3D グラフィックを描画するためのモジュー…

HSPコンテスト2009 全体の処理形態を考察してみた

まずは全体をどういう様子で回していくかを考えることにする。 MainLoop 定番的なメインループを実装する。 これはゲーム中の流れを止めることなく処理を続けるというものです。 ループを1週するのを1フレームという単位で呼ばれています。 TITLE "雲色の…

HSPコンテスト2009

概要 HSPコンテスト2009に向けてHSPで横スクロールSTGを作ろうという企画。 (HSPのバージョンは3.2です) ソースコードも設定資料も全部公開しちゃうぞ、てへ。 制作日誌 2009/10/16 FPSを整えてみた 2009/08/25 全体の処理形態を考察してみた 設定資料 タイ…