忍者ブログ
Admin*Write*Comment
35歳からのC言語ゲームプログラミング
[3]  [4]  [5]  [6]  [7]  [8]  [9]  [10]  [11]  [12]  [13
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

いやあ、まとまった時間が取れないです。
空いた30分とか1時間じゃなかなかやる気になれなくてグダグダです。
でも、そういう時間を使っていかなきゃダメですね。

週に一度あるかないかのまとまった時間を待つより、30分でも毎日やった方が進む気がします。
もうね、ある程度まとまった進行でブログを更新するなんて、つまんないプライドは捨てます。

塵も積もれば・・・の塵を見せてゆこうかと(笑)
今はまた1画面分先のマップを描いています。
ただの四角になっている所が狭い通路です。
描き込むかもしれないし、最後まで四角のままかもしれません(汗)

b40b983f.jpeg











絵とか音楽とか、そしてプログラミングとか、なぜ複数人で分業でやるのか最近身にしみてわかってきました(笑)



PR
C言語の勉強をしていると、もうこれは必然の流れだと思うんですがC++言語に興味がわいてきます。
オブジェクト指向プログラミング?
言葉の意味はよく解らんが、とにかく凄い自信だ!
みたいな・・・。

すいません、ちょっと酒入ってます。

ぷよぷよ再現の時にね、構造体変数の概念を知って、何が便利なのか解らんけどとりあえず使ってみるかって感じだったんです。
説明を何回も読むより、書いて実行してみた方が早いだろうと。
んで、なんとなく意味と言うか存在意義はわかった。

で、今回のシューティングチャレンジでは変数は積極的に構造体で使うようにして、コードがでかくなるにつれて「こりゃ便利だわ」と実感できたわけです。
ロジカルにプログラムが書けて、後々の変更や追加もわかりやすくなるなと。
でも、それと同時に使っているうちに構造体の機能の中途半端さも気になりだしてきたんですわ。

「これって、メンバ変数に関わる関数なんかも一括りに扱った方が、より論理的じゃないかしら?」と。

そういう概念を導入する事で関数の書き方とか変数へのアクセスに制限が出てきて(構造体というスコープ内のローカル変数みたいな感じで)息苦しくはなるだろうけど、プログラムがとんでもなく巨大化してきた場合はそういった制限(=ルール?)があった方がより安全に論理的にプログラムを改造したり追加する事が出来るんじゃないかと。

上記のようなことを考えていた時に、ちょっと時間が出来て家電量販店の専門書コーナーに立ち寄ったわけです。
冒頭に書いたように、
C++って何じゃ?
オブジェクト指向プログラミングって何じゃ?
と興味満タンだった僕はC++の入門書を手にとって見ました。
流し立ち読みです。
前半をパラパラめくると、「なんじゃ?」って感じ。
呼び出す標準ライブラリの種類が違ったり、それに伴って画面入出力の関数が変っていたり・・・。
なんか、がっかり・・・命令形式の違うC言語じゃん、と。
プログラミングの概念はCと一緒なのに、なんでこれがオブジェクト指向なんて仰々しい呼ばれ方してんの?
って思ったわけです。
もう、本を棚に戻す直前でした。
中盤の章のタイトルに『クラス』って言葉が出てくるまで。

クラスって言葉に、なんか分類とか整理とか、そういうことを僕は想像したわけです。
構造体って言葉よりはるかにビビッと来ました。
俄然モチベーションが上がります。
ページをめくって読み進めました。

これこれ!俺が考えてたのコレ!

いや、別にお前が発明したんじゃないから・・・。

もうはるか昔にそういう構造体の発展形みたいなの考えて言語を構築している人がいたんですねえ。
アクセスが制限された一括りの変数や関数がそれぞれ小さな機能を持って複数集まって、アクセスがオープンになった部分で干渉しあって一つの大きな機能を構築するようなプログラム。
こういうプログラムをオブジェクト指向型って言うんでしょうか?
実際に勉強し始めたわけじゃないんで間違った解釈かもしれません。

もし、C++がそういう言語であるなら、今すぐではないですけども、いずれ僕の開発環境はC++に移行することになると思います。
やべ、ブログのタイトル・・・。

シューティングゲームに手を付けてからもう40回目の記事ですか。
敵の攻撃も激しくなってくる、1面の佳境に入ってきてます。

e2acb475.JPG









対空ミサイルの打ち上げ初速にランダムな数を加算して弾道をばらつかせたり、少しずつですが実装済みの部分も調整しています。





この後、狭い通路を抜けて第二の難関、誘導ミサイルを撃ってくるモビルスーツみたいなのを実装して、あとはボスです。
とりあえずボスまで実装してから、フォースなんかのパワーアップアイテムをどうするか考えようと思っています。

回転砲台の先の実装を少しずつ進めています。
回転砲台の時に作業の流れを順を追って書きましたが、基本的には他の敵機も同じような感じで実装してゆきます。

1画面分の背景を書き足しては、その範囲の敵をスケジュールに書き込むわけです。
新しいタイプの敵の場合は、必要に応じて絵を描いたり、動きの法則をプログラミング。
で、一区切りついたところで、テストプレイしながら動きや表示位置を調整してゆきます。
背景の当たり判定も追加したブロック全てに当たってみて、ちゃんと機能しているか確かめます。
このチェックと調整の作業が一番時間がかかったり。

49ad271f.jpeg







こんな感じで書き足した背景にあわせて、同時に当たり判定の座標が入ったテキストファイルも更新してゆきます。
暗算が苦手なので、作業中、計算機は起動しっぱなしのことが多いですな(笑)






5171f10b.JPG








既に登場済みの敵と同じキャラ、同じ動きの場合は、敵のスケジュールテキストを更新して調整するだけで済むので、少し楽です。





あらかた調整できたので、実行ファイルをアップしときます。
回転砲台実装にあわせてウォーリーの動きも若干調整したので、その辺で前のバージョンとは難易度が変ってきています。
僕自身がたいした腕じゃないんでユルユルだとは思いますが・・・。

いつも通りZIPなんで、解凍してなかのEXEファイルを実行して遊んでください。
ソーステキストも同梱です。
なんかフレームレートが安定しない時がありますが、今は気にしないでおきます(キッパリ)

操作法なんかは#30の記事を参照してください。
っていうか、テキストファイルにして同梱しとけば良いのか!
次回のアップの時は考えます。

http://multip.net/view/qmAYBrRA7o

現状どうなんすかね。
難しいですか?
簡単すぎますか?
その辺をコメントもらえると嬉しかったりします。

  • ABOUT
やってやれないことはないっ!たぶん・・・
  • カレンダー
06 2025/07 08
S M T W T F S
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
  • 最新コメント
[11/09 CALL MY NAME]
[11/09 erin]
[08/18 うずランド]
[07/11 うずランド]
[06/23 うずランド]
  • プロフィール
HN:
Call my name
年齢:
51
性別:
男性
誕生日:
1974/05/22
職業:
スロ屋店員
趣味:
いろいろ
自己紹介:
やる気だけはあるつもりです。
はい。
  • バーコード
  • ブログ内検索
  • カウンター
  • アクセス解析
Copyright © 35歳からのC言語ゲームプログラミング All Rights Reserved.*Powered by NinjaBlog
Graphics By R-C free web graphics*material by 工房たま素材館*Template by Kaie
忍者ブログ [PR]