忍者ブログ
  • 2025.07
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 2025.09
時と場合

結局のところ 1画面にステージの攻略の状況や同時にステージ選択をさせる為には

表のようなものを使う事に落ち着いた。

もし今後 使えるキャラクターが増えたりしたら 2枚目の表 3枚目の表 って言う感じに増やしていく

ステージ選択とか 難易度選択とかで 色々とたらいまわしにされるよりかは良いはず

作っていて ソースコードがグチャグチャになってしまったけど

もっと上手いまとめ方があるのかもしれない

とりあえず ループを使って だらだらと長く続くソースコードにはしないようにしたけど

何だろう 美しくない。

しかし、 ソースコードの美しさを気にしていたら ゲームはいつまでも完成しないので

何所かで妥協しなければならない。

そもそもソースコードの部分は 遊んでくれる人には見えないし

こういった時と場合の部分が多いのは困りもの

大まかな指標という物は 先輩とかそういう人から代々継承されていく物なのだが

受け入れがたいものなども多く・・・

人間の好き嫌いも大きく

プログラマーはやはり大変だ。

拍手[0回]

PR
【2013/07/18 23:34 】 | プログラム | 有り難いご意見(0)
短切る
うーん 本気でブログに書くネタが無くなってきたので

今日は 私がよう使う パソコンのショートカットキーでも 書いておきます。

なるべく区分して書くつもりだけど・・・一部のツールだけの昨日とごっちゃになってるかもしれない・・・


Ctrl+W 単語選択

Ctrl+右矢印、左矢印 その単語単語の端に移動

Alt+Tab 使用しているパソコンのソフトの切り替え

ウィンドウズ+D デスクトップに

Ctrl+Tab タブの切り替え


うーん 現実世界の日記帳に書かれてあって 普通に使えそうなのはこれくらいか

あとは エディタ専用のショートカットキーの事しかなかった・・・

まぁ、 使いこなせれば 結構便利ですよ。

最終目標は ネズミを使わずにパソコンを操作することだけど・・・

拍手[0回]

【2013/01/25 23:10 】 | プログラム | 有り難いご意見(0)
多分岐

何だか今日は 久々にプログラムソースを書いてみたくなった・・・って言っても 毎日嫌と言うほど書いているのだが・・・

昨日のブログに書いた 関数ポインタの簡単なサンプルを書いてみた

コンソールアプリケーションで動きが確認できると思います。

コメントが一つも無い ダメなプログラムの例でもある。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>


void Func00();
void Func01();
void Func02();

typedef void(*FUNC)();

FUNC func[]={
 &Func00,
 &Func01,
 &Func02,
};


void Hoge00(int no);
void Hoge01(int no);
void Hoge02(int no);

typedef void(*HOGE)(int no);

HOGE hoge[]={
 &Hoge00,
 &Hoge01,
 &Hoge02,
};

void main(){

 srand((unsigned int)time(NULL));

 printf("こんにちは\n");

 int i;
 for(i=0;i<10;i++){
  func[rand()%3]();
 }

 printf("少し休憩\n");

 for(i=0;i<10;i++){
  hoge[rand()%3](i);
 }
}

void Func00(){
 printf("Func00\n");
}

void Func01(){
 printf("Func01\n");
}

void Func02(){
 printf("Func02\n");
}


void Hoge00(int no){
 printf("Hoge00 no=%d\n",no);
}

void Hoge01(int no){
 printf("Func01 no=%d\n",no);
}

void Hoge02(int no){
 printf("Func02 no=%d\n",no);
}

拍手[0回]

【2012/06/18 21:31 】 | プログラム | 有り難いご意見(0)
依存
プログラムを打って なるべく気を付ける事は・・・ ソースファイル同士の依存関係をなるべく少なくするように

作りたいのだが・・・

敵の行動を書いたソースファイルが 『アイテムのソースファイルが無いと動かない』

そんな状態は あまりよろしくないので・・・ 他にも色々と言える。

一番良いのは それぞれのファイルが独立して動き 主となるゲームのみが 全ての情報を集めている

そんな感じに作れればベストなのだが・・・なかなかそう上手くいかないものである。

色々と悩んだ結果 依存関係をほったらかしにしたりしてしまったままにしていて・・・おかしなことになっていく・・・

最終的に行きついた結論は 「色々考えてゲームができないよりは 出来るように無理やりにでもやっていった方が良い」

という自論なのだが 社会に出て 会社でゲームを作る以上は それではいけなくなってきている。

プログラムの作業は 『9割が考える事 残りの1割がキーボードを打つ事』 これでいいのだと

昔先生が言っていた。

拍手[0回]

【2012/04/08 21:15 】 | プログラム | 有り難いご意見(0)
安心
今日は 少しでもプログラムに触れたので 何となく 心が安心している。

一つでも命令を 一つでもコードを 書く

そしたら次は 一つでも多く 命令を 省く

プログラムは 命令が多くなればなるほど 処理速度が遅くなってしまうので

無駄な命令を省き 必要最低限の命令のみを書く そのための

見直しの時間が始まる。

どこまで最適化するかは 人それぞれなのだが 私はとことん最適化したい人間です。

うーん プログラムを打たないと胸がザワザワしてきて 不安になるけど

いざプログラムを打つと 最適化の事ばかり考えて やっぱり胸がザワザワしてくるな

一体どうすれば 本当に安心できるのだろうか?

拍手[0回]

【2012/02/25 21:59 】 | プログラム | 有り難いご意見(0)
光源
ライティングの処理を作っている。

簡単に言うと 光 と 影 とかだ・・・影はまた微妙に話が違うのだが・・・

3Dの空間に キャラクターをポツンと置く それだけでも

結構すごい事である。 それを自由に動かす ジャンプもさせる それだけでも立派なゲームが作れそうだ。

せっかくならば 光 の計算などをして キャラクターを照らしたいものだ。

影を置くと キャラクターのジャンプ感覚が 少しつかめる・・・キャラがどこを飛んでいるのかが分かるようになるから

ちょっとだけ親切なゲームになる、 丸影でOK

昔の無双ゲームは ほぼ丸影だったが 最近は ちゃんとキャラクターの形をした影もイキイキと動いている。

影の処理などは 結構重たいので つくづく無双系のゲームは 謎な処理が多い・・・


ベクターの私のゲームの最新作も 差し替えが完了したようです。

よろしければ 遊んでみてください。

拍手[0回]

【2012/02/14 22:35 】 | プログラム | 有り難いご意見(0) | トラックバック()
固定
浮動小数 0.5 とかを 固定小数に直して計算する

パソコンは 小数の計算が苦手であり遅い まぁ、最近のパソコンは完全にそうとも言い切れないのだが。

私は 固定小数を使うことに多少こだわっている。

きっと 固定小数を使った方が 早いプログラムができるから。

基本的に 平行移動などは あまり大差ないのだが

回転とかで sin とか cos とかを使う場合に それをサインテーブルにして なおかつ 固定小数 で表現

できれば プログラムの速度は かなりアップする。

ちょっとだけ 見栄えが悪くなったり、 角度がちょっと固定されてしまったりしてしまうのが

難点なのだが。

とりあえず

PAI=3.14159265358979.0f 円周率
PI=256 2の乗数がいいよ

私は こんなものを愛用している。

拍手[0回]

【2012/02/11 22:44 】 | プログラム | 有り難いご意見(0) | トラックバック()
判定
この記事内の計算に誤りがあることをご指摘いただきました。

正しい計算式などは 有り難いご意見に記載していただきました。

よろしければそちらをご覧ください。

ご迷惑をかけて申し訳ございません。


以下のトンチキな計算なども、黒歴史として残しておきます・・・

笑いながら見てやってください・・・


プログラムでゲームを作成する上で、時にヒマラヤ山脈級の巨大なヤマとなり、

その人をプログラムの道から諦めさせてしまうものがある。

それは、物体と物体の『当たり判定』だ。

大概のゲームなら、四角と四角の当たり判定のプログラムが書ければ大丈夫。

その一つ上のレベルは丸と丸の当たり判定だと勝手に思い込んでいる。

ちょいと説明してみる・・・分かりにくいかもしれないが・・・


プレイヤーの座標 player_x=100; player_y=100;
プレイヤーの当たり判定円サイズ player_size=50;

弾の座標 bullet_x=30; bullet_y=80;
弾の当たり判定円サイズ bullet_size=30;

プレイヤーと弾の距離 (player_x-bullet_x)+(player_y-bullet_y)で、これの√(ルート)
(100-30)+(100-80)=90 これのルートなので √90

プレイヤーと弾の当たり判定円サイズの合計 player_size+bullet_size
50+30=80

で、 80 > √90 ならば

プレイヤーは弾に当たっている・・・これは当たってますね。

文字だけの説明は難しい。

拍手[0回]

【2011/09/29 20:35 】 | プログラム | 有り難いご意見(1) | トラックバック()
再開
リライト ~シーズン004~ のプログラミング作業を再開 というか開始しました。

まずはじめは WimMain関数を作るところから始めます。

私のプログラムにおけるポリシー的なもので 全てのところにコメントを書くことにしています。

たとえ

int i;

とかだけであってもコメントを打ちます そしてたまに洒落たことや変なことを書きます。

そうすることで ソースを見直す時に、

楽しく見直すことができるからです。


ゲーム業界の人にはあまりウケが良くないですが・・・

拍手[0回]

【2011/08/28 20:52 】 | プログラム | 有り難いご意見(0) | トラックバック()
七夕

今日は七夕
のんびりと夜空を見上げて
織姫と彦星の1年に1回の再開を2828しながら眺めましょう・・・

といきたいところだが・・・

残念だが
一日中自作ゲームのプログラムに没頭してしまっていた。

短冊に願い事を書いている暇があったら
プログラムコードを打ち込んでいたほうがよい。

短冊に願いを描いてつるしておいて叶うなら
もうとっくにかなっていてもおかしくない・・・


夢も希望もないようなブログで申し訳ない><

一人でプログラムもグラフィックもサウンドも作っていると
1分1秒が惜しくて
のんびりしていられないぜよ

拍手[0回]

【2011/07/07 23:22 】 | プログラム | 有り難いご意見(0) | トラックバック()
<<前ページ | ホーム | 次ページ>>