約 285,206 件
https://w.atwiki.jp/mopsprogramming/pages/70.html
格納文字列の廃棄 格納された文字列をもう使わないのであれば、それにメモリを占拠させておくのは無駄です。RELEASE メッセージを送ると、文字列は廃棄され、確保されていたメモリ領域は完全に解放されます。 RELEASE MyString \ RELEASE ( -- ) ただ、細かいことですが、Stringオブジェクトは、文字列データ以外にもサイズやアクティブ部分を示すオフセットの値といったデータ(インスタンス変数)を持っています。RELEASE メソッドは、これら全てを初期化してくれるわけではありません。もっとも、そのままにしておいても、次に内容を格納したときには、全てが適切な値にセットされるようになっています。 付随的なデータも初期化したいときには、CLEAR メソッドがあります。このメソッドは、マスターポインタ自体は保持しますが、随伴するヒープ領域の大きさは0にセットします。これは結果として、残りのデータを全て初期化することになります。 CLEAR MyString \ CLEAR ( -- ) マスターポインタの分(PPC G3,G4では4バイト)はシステムの側が領域を確保してくれます。特に個数が多くないのであれば、このままでも大きなロスではありません。気になる場合は、重ねてRELEASE すればよいことになります。こうすれば、オブジェクトデータ以外の部分は完全に解放されるとともに、Stringオブジェクトのインスタンス変数も完全に初期化されます。 なお、PUT メソッドを用いて文字列オブジェクトの内容を新たに代入すると、それ以前に格納されていた文字列は自動的にRELEASE されます。したがって、新たにPUT する場合には事前に廃棄操作をする必要はありません。 関連項目: 文字列オブジェクト Stringクラスの基本メソッド Stringの諸データとアクティブ部分 文字列を操作する トップページへ 目次へ
https://w.atwiki.jp/dreamcclublive/pages/27.html
子ネタ 名前変更について 新規プロフィールで作成する初期化されるもの 初期化されないもの 現在使用中のプロフィールを使わずに名前を変更する方法 実績可能なもの 不可能なもの(カラオケ関連のみ抜粋) 子ネタ 名前変更について 名前の変更については、メモリーユニットを使う方法と使わない方法の2つの方法があります。 新規プロフィールで作成する 名字・名前・あだ名を入力する 初期化されるもの 飲酒レベルが1になる 所持金が30,000になる プレイ1週目の状態になる Xbox LIVEで入手したメールが全部消去される (再度Xbox LIVE店の指名回数を満たすことによりメールは復活します) アルバイト回数リセット(コールセンター/謎の仕事の初期表示がなくなります。) 初期化されないもの プロフィール 入手したスナップ プレゼントしたアイテム 現在使用中のプロフィールを使わずに名前を変更する方法 2ちゃんねるスレドリームクラブLive支店 5店舗目 51レスより抜粋 タイトル画面のストレージ選択でBボタンを押す→「はい」を選択。 これで、以前のプロフィールを消すことなく、新しいプロフィールを作れる。 次に、名前を入力→「ストレージが選択されてないため…」で「いいえ」を選択。 「以後、(中略)ゲームを続けますか?」で「はい」を選択→確認メッセージで「はい」。 これで、オートセーブ機能を切って、新規にゲームを始められる(もちろん手動セーブもできないが)。 後は、ストーリーを2週目まで進めれば、LIVE支店で遊べます。 実績 可能なもの カラオケキング 本店・カラオケビューをしなくても、カラオケキングの実績は解除されます。 不可能なもの(カラオケ関連のみ抜粋) 盛り上げ上手 本店のみでの実績解除なので不可能 ヘビードリンカー メロメロドリンカー LIVE店では、酩酊状態にならないので不可能 8ホストガール 本店での指名が対象なので、LIVE店で指名しても対象にならない 名前 コメント
https://w.atwiki.jp/kokeiro/pages/52.html
other.cppについて ここのシートには、どこに入れればいいのかよくわかんなかった関数が詰め込まれています。全部main.cppに移してもいいかもしれませんね。 このシリーズ読まなくてもコメントアウト見れば大体分かるような気がしてきた。 GetKeyInput関数について // キーボードの押下時間を調べる関数 void GetKeyInput( int *KeyBuf ){ char damy[256];// 押下状況を格納する配列 GetHitKeyStateAll( damy ) ;// 押下状況を格納 for( int i=0 ; i 256 ; i++ ){// 全要素 if( damy[i] == 1 )// 押下されていたら KeyBuf[i]++;// インクリメント else KeyBuf[i] = 0;// ゼロにする } if( Key[KEY_INPUT_F] == 1 )//printfDx関数で書かれた文字を消す clsDx(); } これについての詳細はキーボードの押下時間を調べる方法を見てください。なお、関数の最後にあるif文ですが、「Fキーが押されたらprintfDx関数で書かれた文字を消す」ための処理です。printfDx関数は主にデバッグの際に使用します。また、この関数で描画された文字は普通に裏画面をクリアするだけでは消すことが出来ません。そのため、このclsDx関数を呼び出して消してやる必要があります。どこに書こうか迷ったのですが、とりあえずこの関数に書きました。特にFキーである必要はありません。ホームポジションという理由から選びました。 LoadFiles関数について // ファイルを読み込む関数 void LoadFiles(){ Title.Load(); GameMain.Load(); GameClear.Load(); GameOver.Load(); BgmControl.Load(); SeControl.Load(); } それぞれの構造体のロード関数を呼び出しています。私の中で、ロードの仕方には2択ありました。各構造体に必要な画像、音声を読み込ませ、その構造体でそのまま使用する方法と、画像や音声を専門に格納する構造体を用意し、使用するときはその構造体にアクセスするというものです。前者は別の構造体にアクセスする必要が無いので、管理が楽になります。後者は管理が面倒くさい代わりに、構造体間で共通の情報を扱うことが出来ます(前者でも出来ますが、分かりにくい構造になります)。どちらが有効かは場合によります。この基盤では、画像ファイルは各構造体に格納し、音声ファイルは音声専門構造体に格納する方法を取りました。画像はあまり共通して使用する場合がないのですが、音声ファイルは構造体間で共有して使用する場合があります。 たとえば、タイトルのメニュー選択で使用する効果音と、ゲーム中のメニュー選択で使用する効果音を共有したい場合などがあります。 ChangegameState関数について // ゲームの状態を変更する関数 void ChangeGameState( int NewGameState ){ GameState = NewGameState;// ゲームの状態を更新 switch(GameState){// 新しいゲームの状態の初期化を行うための分岐 case GS_TITLE Title.Init(); break; case GS_MAIN GameMain.Init(); break; case GS_CLEAR GameClear.Init(); break; case GS_OVER GameOver.Init(); break; } } これは、引数に指定されたゲームの状態に変更し、指定されたゲームの状態を呼び出すために初期化の関数を呼び出す関数です。つまり、 タイトル画面からゲームに移るとき、ゲームの初期化関数を呼び出します ゲームからゲームクリアに移るとき、ゲームクリアの初期化関数を呼び出します ゲームからゲームオーバーに移るとき、ゲームオーバーの初期化関数が呼び出します このような機能を持っているのです。だからゲームの状態を変えたいときはGameStateに直接代入したりせず、この関数を呼び出してGameStateの値を変更し、初期化関数を呼び出すようにしましょう。ちなみに、BGMの管理もこれに似た構造を持っています。新しいBGMを流せと関数を呼び出すと前に流れていた曲をとめてから再生を開始します。 タイトル画面に変更したいときはこのように呼び出します ChangeGameState( GS_TITLE ); これでタイトル画面の初期化をしてからタイトル画面に移動することが出来ます。
https://w.atwiki.jp/kokeiro/pages/53.html
title.cppについて もうここまで読んだらなんとなく分かってきたかもしれませんが、やってることはびっくりするほど簡単です。正確にはやってることがとても簡単に見えるくらいまで関数を細分化しているのです。関数を分けて書かないで長文を書くと、やってることは同じなのにとても難しく見えます。 にしても驚くほど説明することがない・・・。 まずはヘッダーファイルから見ます。重複インクルード防止のマクロ記述は腸略します。 const int TG_NUM = 8;//TitleGraphicNumberの略 enum eTG_INDEX{ TG_BACK, }; struct STitle{ int Graphic[TG_NUM]; void Process();// この中でループする void Init();// 初期化 void FirstInit();// コンストラクタ void Load();// ロード void Draw();// 描画系をここにまとめる }; 見るべき点は、const指定による配列のサイズを決めいている点と、列挙型?を用いて配列の添え字を決めている点です。この場合、Graphic配列は要素数が8で、TG_BACKは0として扱われることになります。このような配列の添え字には意味が分かりやすいように列挙型を用いましょう。 Prosess関数について // 全体の処理 void STitle Process(){ Draw();// 描画をする if( Key[KEY_INPUT_Z] == 1 )// キー入力で画面チェンジ ChangeGameState( GS_MAIN ); } 現在は、描画する関数とZキーが押されたらゲーム画面に切り替える機能しかありません。ところで、このDraw関数は同じ構造体のDraw関数を呼び出しているわけです。慣れるまでは分かりにくいと思いますが、慣れると記述が簡単で読みやすくなると思います。 Init関数について // タイトル画面の初期化処理 void STitle Init(){ BgmControl.ChangePlay( BGM_TITLE ); } これはタイトル画面が呼び出されるたびに実行される初期化関数です。下の初期化とは別物です。ChangeGameState関数から呼び出されます。ここではBGMを変更する処理のみ書かれています。このBGMを変更する関数は直前まで再生されていたBGMを止めてから新しく指定したBGMを再生する機能を持っています。ちなみに、Initは英語で初期化を意味するinitializeの略です。 FirstInit関数について // 最初の変数の初期化 void STitle FirstInit(){ memset(this,0,sizeof(STitle)); } これはプログラムが起動した直後に実行される、構造体の変数の初期化をする関数です。main.cppのFirstInit関数から呼び出されます。さて、ここにあるmemset(メモリーセット)関数は、構造体や配列を初期化するときに使用されることがある関数です。とりあえず、この記述は自分自身の変数を全て0にしているということのみ覚えてください。 memset関数をアバウトに説明すると、第1引数が初期化したい構造体や配列の先頭アドレス、第2引数がどの値で変数を埋めるか、第3引数が第1引数のアドレスから、第2引数の値で変数を書き換えるバイト数という動作をします。かなり正確な動作とは違うので、詳しい使い方はググってください。 第1引数のthisは、thisポインタといい、構造体の自分自身をしめすポインタです。分かりにくいですね。そもそも、このプロトタイプ宣言は構造体の定義であって、実体を持っていません。そのため、自分自身のポインタは呼び出されるまで確定せず、定数として扱うことが出来ないのです(だいぶ嘘ついてますが、捕らえ方はこんなかんじ)。そのためthieポインタを使用する必要がるのです。 第3引数の書き換えるバイト数にはsizeof関数を用いています。sizeof関数は、引数に渡された変数や構造体の大きさを返します。単位はバイトです。 基本的に使用するのは第2引数で配列や構造体を埋めたいときに使用します。C言語の構造体?や配列?のとこを見てください。あとで書き足します。 Load関数について void STitle Load(){ Graphic[TG_BACK]= LoadGraph("picture/title_back.bmp");// タイトルの背景画像をロード } タイトル画面に表示する画像を読み込んでいます。今回は読み込む画像は1つですが、拡張性を考えて配列にしてあります。読み込む画像を追加したいときはpictureフォルダに画像を追加し、Load関数で読み込ませてください。 Draw関数について // 描画 void STitle Draw(){ DrawGraph(0,0,Graphic[TG_BACK],FALSE); DrawString(100,100,"タイトル画面です。",White); DrawString(100,120,"Zでゲームスタート。",White); } 読み込んだ画像を表示し、さらに文字を描画しています。TG_BACKはヘッダーファイルで定義した列挙定数です。文字のカラーコードWhiteはglobal.hに定義されているグローバル変数です。描画する順番を間違えないようにしましょう。文字を描画してから背景画像を描画すると、文字の描画は画像に隠れてしまい見ることが出来ません。 また、このDraw関数は極力Process関数の[[はじめに]]呼び出しましょう。これはデバッグする際に役に立ちます。2つのサンプルProcess関数を見てみましょう。 先にDraw関数を呼び出した場合 void STitle Process(){ Draw(); DrawString(...);// この関数の文字を見ることが出来る } 後にDraw関数を呼び出した場合 void STitle Process(){ DrawString(...);// この関数の文字は次のDraw関数に上書きされてみることが出来ない Draw(); } コメントのように、先にDraw関数を呼び出すと、デバッグのために呼び出した文字列を見ることが出来ます。デバッグのために変数を表示したりする場面は多いので、覚えておいてください。
https://w.atwiki.jp/bokuyo/pages/124.html
変数名に困った時の変数名リスト ぼくなりの変数名の条件 コメントアウトで意味を書かずともわかるもの。 なるべく多くの人がソースを書くときに共通して使っていそうなもの。 描画関連変数 変数名 意味 drawingExtent(s) 描画範囲 top, bottom, left, right 上下左右 depth 深度, 奥行き identification IDとか, identとか. 〜range 範囲? basic〜 基本形? 〜size サイズ Opacity 不透明度 Transparency 透明度 Opaque 不透明 Transparent 透明 関数名 関数名 意味 Initialize() 初期化 UnInitialize() 初期化前の状態に戻す処理, 未初期化, 後始末処理 Finalize() 終了処理, 予約語になってる場合が多くてあまり使われてないっぽい.そのためか, UnInitialize()のほうを終了処理として使ってることが多いっぽい. Execute() 実行する. 読みはエクセキュートらしい…. Register() 登録する. erついてるけれど動詞だよ. Append() (末尾に)追加する Send() 送信する. Transmissionだと名詞になるっぽい Receive() 受信する
https://w.atwiki.jp/versesaver/pages/324.html
二つ名 エージェント パラメータ上昇値 メインスキル 単体初期化攻撃B 名前 ハードガールA HP 6 サブスキル1 - レアリティ ☆2 SP 3 サブスキル2 ☆4で解放 属性 黄 AT 6 継承エフェクト 縦流線(黄) (演出) 世界相 DF 4 - - IN 8 - - スカウト以外の入手法 - 詳細 ひとこと説明 ダーザイン所属の子供VSエージェント。何事にも動じないストイックな少女。 キャラシート ダーザイン所属の子供VSエージェント。何事にも動じないストイックな少女。 出身世界的に独り立ちする年齢のためか、とても大人っぽい。 特徴 ロール:サポーター(デバフ) <不朽系統樹世界>サウレギア出身。 能力値的にはINが8と高く、サポーターとして活躍できる性能。 早めにメインスキルの単体初期化攻撃Bを使えれば、強力な敵スキルを初期化して弱体化させられる。 このメインスキルはクールガイBも持っており、SPが多いあちらの方がスキル自体は使い易い。 その代わりこちらはHPが多く耐久力があるため、どちらを使うかは好みになるだろう。 育成 エンハンサー サブスキル EX コメント 編集できない人などで何かあれば。荒らしは厳禁。 名前
https://w.atwiki.jp/sunflowerserver/pages/17.html
2012年10月13日 Ver.1.3.2対応 全ワールドの初期化 2012年7月25日 Minecraft Sunflower Server @ Wiki開設 2012年7月14日 セントラル、アイテムワールドの誕生 2012年7月12日 全ワールドの初期化 2012年6月 Sunflower Server運用開始
https://w.atwiki.jp/versesaver/pages/808.html
スプーキーアンガーズ ~万聖節の怒れる被害者~ 構成 世界相 Wave1 狼男:黄×1、狼男:赤×1、スケルトン:黄×1、ゾンビ:青×1、ゾンビ:緑×1 Wave2 テロリスト:赤×1、ゾンビ:青×1、狼男:黄×1、ゾンビ:緑×1、テロリスト:青×1 Wave3 サイバーニンジャ:緑×1、サイバー魔術師:無×1、サイバー特殊部隊兵:緑×1、狼男:赤×1、ゾンビ:青×1 バトルオーダー ゲストキャラなし 一度も戦闘不能にならない 10ターン以下でクリア 敵詳細 W1 敵名 狼男 属性 黄 コマンド パッシブ 先行チャージ 魅了攻撃 備考 敵名 狼男 属性 赤 コマンド 単体スタン攻撃A パッシブ 先行チャージ スタン攻撃 備考 敵名 スケルトン 属性 黄 コマンド 単体睡眠攻撃A パッシブ 先行チャージ 睡眠攻撃 痛打DF低下 備考 敵名 ゾンビ 属性 青 コマンド 単体初期化攻撃A パッシブ 再生(小) 初期化攻撃 備考 敵名 ゾンビ 属性 緑 コマンド パッシブ 先行チャージ 再生(小) 継続D攻撃 備考 W2 敵名 テロリスト 属性 コマンド 単体復活(小) 単体狂撃D パッシブ 護衛 先行チャージ スタン攻撃 備考 HP200万 敵名 テロリスト 属性 コマンド 単体復活(小) 対象誘導(自) パッシブ 単体狂撃D 先行チャージ 沈黙攻撃 備考 HP200万 敵名 ゾンビ 属性 青 コマンド 単体初期化攻撃A パッシブ 再生(小) 初期化攻撃 備考 敵名 狼男 属性 黄 コマンド パッシブ 先行チャージ 魅了攻撃 備考 敵名 ゾンビ 属性 緑 コマンド パッシブ 先行チャージ 再生(小) 継続D攻撃 備考 W3 敵名 サイバーニンジャ 属性 コマンド 全体2連撃 パッシブ 痛打DF低下 痛打チャージ 備考 敵名 サイバー魔術師 属性 コマンド 全体反射(自)(〇) パッシブ 再生(小) 痛打DF低下 痛打チャージ 備考 敵名 サイバー特殊部隊兵 属性 コマンド 全体復活(中)(〇) 単体復活(小) パッシブ 闘魂 先行チャージ 再行動 備考 HP500万 敵名 狼男 属性 赤 コマンド 単体スタン攻撃A(〇) パッシブ 先行チャージ スタン攻撃 備考 敵名 ゾンビ 属性 青 コマンド 単体初期化攻撃A パッシブ 再生(小) 初期化攻撃 備考 攻略(ゲストあり) 高AT高INの全体攻撃の連発で終わる。下手をすると敵が行動する前に1ターンずつで終わる。 ATバフや多重行動付与があると楽になる。 ※SPが十分高い場合、世界相が一致しなくてもスキルが打てる。 W2 テロリストはHPが高く、十分な火力がないと1ターン突破はきつい。 W3 全体反射を使うサイバー魔術師さえ倒せればあとは全体攻撃の連打でいい。 ただサイバー特殊部隊兵はかなりタフなため強力な単体攻撃がいるといい。 サイバー特殊部隊兵は復活優先なので全体攻撃連打なら気にしなくていい。 攻略(ゲストなし) 今回は敵がすべてモブだが中身は高性能。 大きく2つのタイプに分かれ、「AT高め、HP低め、状態異常攻撃あり」のタイプAと「HP高め、復活あり」のタイプB。 タイプAを素早く倒せる火力がないと厳しい。 ここに限らないが全体CTチャージはほぼ必須で、悠長にCTを溜めていると先行チャージからスキルを撃たれまくる。 先制チャージの発動率がかなり高く、いきなりCTが溜まって不意にスキルを撃たれる事が多い。 W1 基本的に全員が状態異常の攻撃を持っているので、護衛と状態異常回復でうまくしのぎたい。 狼男:黄が敵専用の魅了攻撃を持っており、通常攻撃でも魅了されることがあるので注意。 優先して倒すべきは魅了攻撃を持つ狼男:黄と初期化攻撃を持つゾンビ:青。 W2 テロリストはHPが高い上にスキルが厄介。 単体狂撃Dは発動されるとほぼやられるのでなるべく撃たせないようしたい。 CTが溜まるのは遅めなので素早く倒すかCT遅延をしまくるのがいい。 W3 サイバー特殊部隊兵はHPが高い上に復活を2種持っている。 闘魂と先行チャージの併用ですぐCTが溜まり、再行動があるため沈黙(2アクション)もほとんど意味がない。 そのため逆に敵は復活されるものと考え、起きて瀕死な敵を全体攻撃でまとめて倒してしまう戦法がお勧め。 サイバー特殊部隊兵はATもそこそこあるので、復活スキルに専念させれば攻撃されないのも大きい。 なおサイバー魔術師は全体反射をいきなり張るので、打消しがあると楽になる。 打消しが無い場合は、幸い護衛は居ないので単体攻撃で優先して倒してしまおう。 サイバーニンジャは全体2連撃持ち。INもかなり早いので痛打チャージなどで発動を許すと危険。 コメント 編集できない人などで何かあれば。荒らしは厳禁。 名前
https://w.atwiki.jp/cscd/pages/68.html
疑似乱数だからです 乱数が初期化しないと使えないだなんてそんな意味分からん仕様 -- (kmkr) 2011-08-15 13 45 36 そうなんですかねえ。他の言語だと初期化の文は書かなくても使える気がするんですが -- (OK) 2011-08-19 21 16 34
https://w.atwiki.jp/freememo/pages/98.html
概要 初期化 参照 追加 コメント 概要 動的な配列を使用する場合、利用する。 <インクルードヘッダー> #include vector 以降、std名前空間を使用しているものとする。 using namespace std; ちなみに、使用/未使用で宣言が異なる。 使用しない場合) std vector int v; 使用する場合) vector int v; TOP 初期化 空vector 例) vector int v; サイズ、値を指定 例) vector int v(3, 1); vector int iterator p; for (p = v.begin(); p != v.end(); p++) { TRACE(_T("%d\n"), *p); } 実行結果) 1 1 1 他のvectorで初期化 例) vector int a(3, 2); vector int b(a); vector int iterator p; for (p = b.begin(); p != b.end(); p++) { TRACE(_T("%d\n"), *p); } 実行結果) 2 2 2 他のvectorで初期化(範囲指定) 例) vector int a; a.push_back(1); a.push_back(2); a.push_back(3); vector int b(a.begin()+1, a.end()); vector int iterator p; for (p = b.begin(); p != b.end(); p++) { TRACE(_T("%d\n"), *p); } 実行結果) 2 3 TOP 参照 TOP 追加 push_back()を用いる。 例) vector int v; v.push_back(1); v.push_back(2); v.push_back(3); v.push_back(4); vector int iterator p; for (p = v.begin(); p != v.end(); p++) { TRACE(_T("%d\n"), *p); } 実行結果) 1 2 3 4 TOP コメント 名前 コメント TOP