約 285,202 件
https://w.atwiki.jp/kokeiro/pages/26.html
この章(?)では、どんなゲームでも必要な機能について考え、作成します。 ほとんどの関数はおおよその機能を持っているだけで、実際にゲームを作る際はその機能を残したまま、ソースを追加していくという形をとります。 実際に作る関数とその機能 メイン関数 DXライブラリの初期化 ゲームで使うデータのロード 以上が終わったら下のMainLoopを実行する void MainLoop(); メインループの関数です。 ESCAPEキーが押されたらゲーム終了 裏画面の反映、クリアを行う 現在のゲームの状態(タイトル画面なのか、メインゲーム中なのか)に応じて、実行する関数を選択する void ProcessTitle(); タイトルの処理をする関数です。 Zボタンを押すことでゲームがスタートする void ProcessGameMain(); メインゲームの処理をする関数です。 Zボタンを押すことでゲームクリア画面に移動する Xボタンを押すことでゲームオーバー画面に移動する void ProcessGameClear(); クリア画面の処理をする関数です。 Zボタンを押すことでタイトル画面に移動する void ProcessGameOver(); ゲームオーバー画面の処理をする関数です。 Zボタンを押すことでタイトル画面に移動する void GetKeyInput( int *KeyBuf ); キーボードの押下時間を調べる関数です。 キーボードの押下時間を調べる void LoadFiles(); 画像や音声を読み込む関数です。 タイトル画像、クリア画像、ゲームオーバー画像を読み込む 各プロセス系統の初期化関数 初期化。 void ChangeGameState(int NewGameState ); ゲームの状態(タイトル、メインゲームなど)を変更する関数。 ゲームステートを変更する 各プロセス系統の初期化関数の呼び出し
https://w.atwiki.jp/sfwiki/pages/206.html
サポート サポート [#s93e9345] TeamKill防止 [#b81dc365] 武器現地調達 [#ac562128] 武器タイプスロット追加 [#w2507ac4] 武器変更速度UP [#o0882395] ヘッドショットボーナス [#s4e96b10] 階級ポイント×2 [#t4aed592] ダブルアップ [#p4168315] コードネーム変更(永久) [#v7ff0df0] コードネーム変更(期間) [#rb7d1619] カラーコードネーム [#xfbee524] Kill_Death初期化 [#qab55e74] 戦率_勝率初期化 [#bd78d7f2] マナーデータ初期化 [#d63910b1] クロスヘアー [#t22afe69] TeamKill防止 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 自分が投げたグレネードのダメージは回避できません。自爆します。 武器現地調達 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 武器タイプスロット追加 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 武器変更速度UP #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 ヘッドショットボーナス #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 階級ポイント×2 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 ダブルアップ #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 2倍というのは、試合が終わると増えるチャージゲージと同じ分だけSPが即支給されるということ。 (試合終了時、ゲージが0.5コマ増えたとしたら500SP支給される、ということ。つまり、ゲージがちょうど満タンになるまでに計1万SPが支給され、ゲージ満タン時にプラス1万、合計2万になるので「2倍」という計算) コードネーム変更(永久) #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 コードネーム変更(期間) #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 カラーコードネーム #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 Kill_Death初期化 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 戦率_勝率初期化 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 マナーデータ初期化 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 クロスヘアー #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 一覧 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 ただし橙色は黄色に見えるなどの若干の色相違あり。 またスナイパーライフルやナイフなど、元々クロスヘアーのない武器は「・」(ドット)のみの表示となる。 #norelated
https://w.atwiki.jp/isuzumi/pages/35.html
対象は忍者を想定した。 強化サンプルは以下のとおり。 通例どおり高速アタッカーとして強化するイメージ。 なお、いろいろ面倒なので、強化は25回を1セットで計算している(消費石計算のエクセルを簡単に組める)。 (1) 回数500まで。 強化順序は DEF+25、HP+375、AGI+50、DEX+50、斬+50、AT+225 消費石計9775。 初期値+強化でステータスは HP600、AT280、DEF65、AGI120、DEX110、INT40、斬1.60 博士のガッツリは考慮してないが、最初にやっといたほうが多少有利だろう。 (2) 回数1000まで。 強化順序は DEF+25、HP+125、AGI+100、DEX+75、斬+25、AT+250 (AGI、DEX、斬、ATは同じコスト2なので順不同) 消費石は累計42800。 INTはガン無視。魔法を使われる前に殺すという方針。 ステータスは HP725、AT530、DEF90、AGI245、DEX185、INT40、斬1.85 (3) 回数1500まで。 強化順序 DEF+25、HP+250、AGI+75、DEX+50、AT+300 消費石累計97475。 ステータスは HP975、AT830、DEF115、AGI320、DEX235、INT40、斬1.85 (4) 回数2000まで。 強化順序 AGI+50、DEX+50、AT+400 消費石累計167975。((3)からの消費は70500) ステータスは HP975、AT1230、DEF115、AGI370、DEX285、INT40、斬1.85 (4 ) (3)を初期化した場合。 1500/100*10%=150%がATにかかるので、ATに+1245のボーナスがつく。 消えた能力の強化しなおしと(4)の強化を追加して DEF+75、HP+750、AGI+300、DEX+225、斬+75 これで強化回数825。 ステータスは HP975、AT1300、DEF115、AGI370、DEX285、INT40、斬1.85 消費石計29325。 となる。 以上。 強化回数1500回から2000回の状況だと、初期化を使うことで、普通に強化するのに比べて、半分以下の石で同等の能力を獲得できると考えられる。 といっても、初期化後に戦力として復帰できるまでに万単位の石がいるので結構大変だが。 また、強化回数1500回ではなく2000回で初期化すれば初期化のボーナスがもっと行くわけだが、その強化回数をどうやって稼ぐのかという問題もある。
https://w.atwiki.jp/bigoyayubi/pages/40.html
プログラミング C++用語宣言 定義 デフォルトコンストラクタ コピーコンストラクタ C++のキャストconst_cast dynamic_cast reinterpret_cast static_cast constやconst_castといった機能を活用する目的 #defineを頑張って使わないこと new/delete何故new/delete使うの? 配列のnew/deleteは要注意 コンストラクタ注意点 デストラクタ注意点 自分で作成したクラスの管理用とかにnew/deleteをオーバーロード コメント 不必要な関数宣言は保守者の混乱のもと。用意するなら目的をどこかに書いておくこと データメンバをpublicで公開しないこと 配列データをクラス内で使いまわさないこと。どっかで領域はみ出したりする。 値渡しよりもリファレンス渡ししましょう。 C++用語 宣言 オブジェクト、関数、クラス、テンプレートの名前と型をコンパイラに知らせるが、詳細は別 定義 コンパイラにオブジェクト、関数、クラス、テンプレートの詳細を伝える デフォルトコンストラクタ 引数なしで呼び出せるコンストラクタ コピーコンストラクタ 同じ型の別オブジェクトを使って、オブジェクトを初期化する。 オブジェクトの値渡し=コピーコンストラクタの呼び出し! C++のキャスト const_cast オブジェクトやポインタの定数性を取り除く dynamic_cast 安全なダウンキャスト reinterpret_cast よくわからん。関数ポインタのキャストとか? static_cast C言語的キャスト constやconst_castといった機能を活用する目的 コンパイラでチェックできる。 ソースコードに意図が込めることができる。 #defineを頑張って使わないこと 定数設定はconst宣言で充分というか、const宣言使うほうがいいプリプロセッサ通ると数値とかに書き換わっているから変数名でトレースしにくい クラス変数配列にconst値が使えないときはenumで値指定すればOK マクロはinline関数でやる関数とほとんど同じイメージで使えるし、ミスが少ない inline関数使うとコード量が増えることには注意 new/delete 何故new/delete使うの? コンストラクタ、構造体のコンストラクタ/デストラクタが動きません。 配列のnew/deleteは要注意 Object array = new Object[100]; delete(array); 上のコードはメモリリーク確定。 new xxx[]はdelete[](xxx) が1セット! コンストラクタ注意点 ポインタメンバはしっかり初期化すること メモリを動的に割り当てるクラスはコピーコンストラクタと代入演算子を宣言すること 代入よりも初期化constやリファレンスのメンバは代入できない クラスメンバは初期化→代入なので、初期化だけにすれば効率的 初期化は宣言された順番から行われる デストラクタ注意点 ポインタメンバのdeleteを忘れないこと 基底クラスには仮想デストラクタを用意すること基底クラスポインタを使って派生クラスをdeleteすると動作は不定です 自分で作成したクラスの管理用とかにnew/deleteをオーバーロード new/deleteは1セットで書くこと。標準のnew/deleteは独自の管理領域も含めて扱う 配列で最初に固定数確保した領域でやりくりしたりもあり コメント 嘘を書くくらいなら書かないこと。書くならちゃんと書くこと どーでもいいことの説明はいらない。初期化すると書いても意味なし。数値の意味を書くのは役に立つかも 不必要な関数宣言は保守者の混乱のもと。用意するなら目的をどこかに書いておくこと データメンバをpublicで公開しないこと 他クラスから好き勝手いじられるパラメータとかありえない インターフェース中継してアクセスさせて、アクセスする際の注意点を持たせること 配列データをクラス内で使いまわさないこと。どっかで領域はみ出したりする。 インターフェースを中継してアクセスすれば、ガード処理も1つだけで済む 値渡しよりもリファレンス渡ししましょう。 値渡しはコピーです。処理がたくさん走ります。 なんでもかんでもリファレンス渡ししようとしても、実体がなければリファレンスもできないからね!
https://w.atwiki.jp/cplusplus/pages/21.html
目次 逆引きメンバ関数の中身が決まらない 派生クラス側のメンバ関数を使うようにしたい デストラクタの呼び出し順は? 抽象クラスを作る際、たまたま全てのメンバ関数に必要な処理があり、純粋仮想関数にできない ソースコードチェック一般定数定義 戻り値 クラス初期化 破棄 制約の明示インスタンスは1つ コピー禁止 リンク 逆引き メンバ関数の中身が決まらない その関数を純粋仮想関数にする。その関数を含むクラスは抽象クラスとなる。 派生クラス側のメンバ関数を使うようにしたい 基本クラス側のメンバ関数を仮想関数にする。 通常、クラスを作成する際に、将来に渡って派生されるかどうかなどはわからないので、全て仮想関数にすることをデフォルトにしても良い。ただし、処理速度は遅くなる。 デストラクタの呼び出し順は? 派生クラスから。仮想指定を無視してそのクラスの関数が呼び出される。 抽象クラスを作る際、たまたま全てのメンバ関数に必要な処理があり、純粋仮想関数にできない 純粋仮想デストラクタを使う。デストラクタを純粋仮想関数にする。 ソースコードチェック 一般 定数定義 #defineではなくconstを使う 戻り値 戻り値が必ず処理されていること クラス 初期化 全メンバ変数をコンストラクタで初期化しているか?特に、初期化不要な場合はコメントに明記する。 破棄 コンストラクタでnewしたものをデストラクタでdeleteしているか?特に、デストラクタ以外で破棄するものはコメントに明記する。 制約の明示 インスタンスは1つ Singletonにする コピー禁止 代入演算子をprivateにする リンク C/C++リファレンス C++編(言語解説) C++入門 ロベールのC++教室 猫でもわかるプログラミング Programming Place Plus
https://w.atwiki.jp/m1000/pages/190.html
<<メニュー mINIT メニューを初期化する 構文 mINIT パラメータ 無し 戻り値 無し 詳細 メニュー定義の初期化を行う。既存のメニューは全てキャンセルされる。 サンプルコード PROC main ENDP OPL掲示板
https://w.atwiki.jp/sfwiki/pages/37.html
サポート サポート [#s93e9345] TeamKill防止 [#b81dc365] 武器現地調達 [#ac562128] 武器タイプスロット追加 [#w2507ac4] 武器変更速度UP [#o0882395] ヘッドショットボーナス [#s4e96b10] 階級ポイント×2 [#t4aed592] ダブルアップ [#p4168315] コードネーム変更(永久) [#v7ff0df0] コードネーム変更(期間) [#rb7d1619] カラーコードネーム [#xfbee524] Kill_Death初期化 [#qab55e74] 戦率_勝率初期化 [#bd78d7f2] マナーデータ初期化 [#d63910b1] クロスヘアー [#t22afe69] TeamKill防止 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 自分が投げたグレネードのダメージは回避できません。自爆します。 武器現地調達 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 武器タイプスロット追加 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 武器変更速度UP #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 ヘッドショットボーナス #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 階級ポイント×2 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 ダブルアップ #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 2倍というのは、試合が終わると増えるチャージゲージと同じ分だけSPが即支給されるということ。 (試合終了時、ゲージが0.5コマ増えたとしたら500SP支給される、ということ。つまり、ゲージがちょうど満タンになるまでに計1万SPが支給され、ゲージ満タン時にプラス1万、合計2万になるので「2倍」という計算) コードネーム変更(永久) #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 コードネーム変更(期間) #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 カラーコードネーム #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 Kill_Death初期化 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 戦率_勝率初期化 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 マナーデータ初期化 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 クロスヘアー #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 一覧 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 ただし橙色は黄色に見えるなどの若干の色相違あり。 またスナイパーライフルやナイフなど、元々クロスヘアーのない武器は「・」(ドット)のみの表示となる。 #norelated
https://w.atwiki.jp/maya_pymel/pages/14.html
バージョン1.0.0の新機能 新しいパッケージのレイアウト PyMEL 1.0は非常に大きな後方の非互換性が導入されています:、pymelもはや輸入のサブパッケージをインポートするpymelは、厳密にそのサブモジュールのエントリポイントであることを意味します。 ユーザーが明示的に彼らが使用するサブモジュールをインポートする必要があります。以前のバージョンでやったのと同じトップレベルのpymelのモジュールをインポートすると、pymel.coreがプライマリモジュールのままとマヤの完全な起動シーケンスは、トリガ、バッチモードでそれをインポートする。 独自の名前空間を持つサブモジュール モジュール エイリアス pymel.util マヤの独立しているユーティリティ pymel.versions Mayaのバージョンを比較するための機能(Mayaを初期化する必要はありません) pymel.mayautils 低レベルのマヤのユーティリティ(マヤの初期化を必要としない) pymel.api OpenMayaクラス、マヤが必要ですが、maya.standaloneの初期化を必要としない pymel.internal pymel.coreにmaya.OpenMayaとmaya.cmdsを融合するために必要な機械(正式にmayahook) pymel.core 主なサブパッケージ、このモジュールをインポートするには、バッチモードでmaya.standaloneを初期化 pymel.core.nodetypes NT カスタムノードを含むすべてのノードのクラスが含まれています pymel.core.uitypes UI すべてのUIクラスが含まれています pymel.core.datatypes DT すべてのデータクラスが含まれています 親モジュールがインポートされると、エイリアスを持つモジュールは、この短い名前でアクセスすることができます。
https://w.atwiki.jp/java2cs/pages/5.html
特徴 継承を行うことも、継承されることもできない フィールドの初期化が行えない デフォルトのコンストラクタを定義できない nullがありえない(メリットでもある) クラスよりも初期化が高速
https://w.atwiki.jp/deruagi/pages/13.html
シリアルを使用するには まず初期化を行う。 シリアルコントロールレジスタを初期化 SCI0.SCR.BYTE = 0; ビット7:TIE-送信データエンプティ割り込み要求の許可/禁止 ビット6:RIE-受信データフル割り込み要求と受信エラー割り込み要求の許可/禁止 ビット5:TE-送信動作の許可/禁止 ビット4:RE-受信動作の許可/禁止 ビット3:MPIE-マルチプロセッサ割り込みの許可/禁止 ビット2:TEIE-送信終了割り込み要求の許可/禁止 ビット1:CKE1-クロックソースの選択 ビット0:CKE0- シリアルモードレジスタの初期化 通信モードの設定を行う SCI0.SMR.BYTE = 0; ビット7:歩調同期モードとクロック同期モードを決める ビット6:歩調同期のキャラクタ長を決める ビット5:パリティの付加を許可/禁止 ビット4:偶数か奇数を選択 ビット3:ストップビット長を選択 ビット2:マルチプロセッサ機能の選択 ビット1:ボーレートジェネレータのクロック選択 ビット0: