検索結果 1281 件

by beatle
3年前
フォーラム: C言語何でも質問掲示板
トピック: [雑談][書籍]ゼロからの OS 自作入門
返信数: 3
閲覧数: 4265

Re: [雑談][書籍]ゼロからの OS 自作入門

著者です。買っていただいてありがとうございました。お楽しみくださいませ。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: お手上げです
返信数: 13
閲覧数: 5023

Re: お手上げです

画像が表示されない、というのはどんな状況でしょうか。
  1. ソースコードがコンパイルできず、そもそもプログラムが起動しない
  2. コンパイルできるし起動するが、何らかのエラーが出てしまう
  3. エラーは出ないが、画面が真っ黒のままで何も表示されない
2番か3番の状況ならLog.txtが出力されていると思いますので、その内容を記載してもらえたら何か分かるかもしれません。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】第2回 mixC++勉強会@Tokyo
返信数: 7
閲覧数: 4858

Re: 【雑談】第2回 mixC++勉強会@Tokyo

勉強会は無事終了しました。
ookamiさんが下記URLにて勉強会の動画を配信しておりますので、興味の有る方は御覧ください。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: Lemon構文解析器で再帰的定義
返信数: 4
閲覧数: 2674

Re: Lemon構文解析器で再帰的定義

質問は何でしょうか?

僕はLemon構文解析器は知らないので正確ではありませんが、左再帰は構文解析器泣かせの構文規則として知られています。
http://ja.wikipedia.org/wiki/%E5%B7%A6% ... D%E5%B8%B0
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】第2回 mixC++勉強会@Tokyo
返信数: 7
閲覧数: 4858

Re: 【雑談】第2回 mixC++勉強会@Tokyo

参加募集を開始しました。
発表者の方々も含め、参加登録をよろしくお願いします。
第2回 mixC++勉強会@Tokyo

参加費はなんと無料になりました。
皆さんお気軽にご参加ください。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: DirectXやOpenGLに手をつけようと思っているのですが・・・
返信数: 3
閲覧数: 2360

Re: DirectXやOpenGLに手をつけようと思っているのですが・・・

3Dでゲームを作るにしても、結局表示装置は2Dなわけです。 そこで、3Dの世界を2Dに変換する作業が必要なんですけど、それを「投影」とか「プロジェクション」とか言います。 3Dの世界にある各物体の位置、傾きなどとカメラの位置、方向、視野角などを組み合わせて計算して2Dに落とし込みます。 GPUはこの作業をやってくれます。 そこでは行列の掛け算を使って物体の回転とか位置決めや、2Dの世界における色表現を決める作業などを行います。 そこで出てくるのが固定パイプラインです。 3Dの世界をパイプの端に入力すると、ごにょごにょと一連の作業が行われ、パイプの他の端から出てくる、そんなイメージです。 3Dプ...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 入力した整数の逆数を小数で求める
返信数: 7
閲覧数: 6212

Re: 入力した整数の逆数を小数で求める

数字の周りに括弧が付いたり付かなかったりするのはどういう意味があるのでしょう。

それから、できる部分までで結構ですからソースコードを書いて投稿してください。
今のままですと、掲示板で禁止されている「課題の丸投げ」の状態になっております。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: OpenGLのglColor関数について
返信数: 5
閲覧数: 4492

Re: OpenGLのglColor関数について

水色に描画したくない頂点は、明示的に水色以外の色をglColorで指定したらどうでしょう。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】第2回 mixC++勉強会@Tokyo
返信数: 7
閲覧数: 4858

Re: 【雑談】第2回 mixC++勉強会@Tokyo

現在発表予定の方をまとめてみました。
みなさん、面白い話題を提供してくださるはずですので、お楽しみに!

ookamiさん 仮テーマ「Lua用ゲーム開発環境AEnについて」
h2so5さん 仮テーマ「mrubyかGLSLかネットワークについて」
新々月さん 仮テーマ「Direct2DとDirect3D11を共存して使う(DXGI1.2版)」
南山まさかずさん(ゲスト枠 from 広島) 仮テーマ「C++でゲームDSL(Domain Specific Language)」
beatle 仮テーマ「SDLとC言語入門」
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】第2回 mixC++勉強会@Tokyo
返信数: 7
閲覧数: 4858

【雑談】第2回 mixC++勉強会@Tokyo

前回の勉強会 【雑談】mixC++勉強会@Tokyo に引き続き、また勉強会を企画しました。 3/21(金・春分の日)に新宿あたりで行う予定です。 テーマは「ゲームプログラミング、DirectX、OpenGL」です。 現在数人の方が発表予定ですが、自分も発表したいという方、お知らせ下さい。 参加したいという方、2/11までに意思表明してくだされば、会場確保の参考にします。 (正式表明は今後イベント管理サイトに載せる予定ですが、 人数が多くて会場が足りなくならないように、事前に募集する次第です) 会場にも依りますが、一人1000円(ワンドリンク付き)ほど会費を集める予定です。ご了承ください。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: クラスの継承について
返信数: 21
閲覧数: 7358

Re: クラスの継承について

うーん。継承の意味を勘違いしているのではないでしょうか? オブジェクト指向で継承というと、普通は「is-a関係」が成り立つ場合に使います。 この場合で言うと「Player is a Game」、日本語で言えば、「プレイヤーはゲームである」です。 多分違いますよね? 教科書的な例では「人間は哺乳類である」とか「三角形は図形である」とかでしょうか。 is-a関係の重要なことは、子クラスは親クラスとして見なせる、ということです。 人間は哺乳類ですので、哺乳類に成り立つことは人間にも成り立ちます。 三角形は図形ですので、図形にできる操作(色を付ける、移動する)は三角形にも適用できます。 そして、継承で...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 三角関数を使うとフリーズする
返信数: 3
閲覧数: 2268

Re: 三角関数を使うとフリーズする

かずまさん、訂正ありがとうございます。
tmpの計算と条件分岐がいらないことはその通りです。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 三角関数を使うとフリーズする
返信数: 3
閲覧数: 2268

Re: 三角関数を使うとフリーズする

なんでそれでフリーズするのか分かりませんが、取り敢えずその処理なら三角関数なしで計算可能です。
cosは底辺/斜辺、sinは垂直辺/斜辺で計算できますから、pady,padxの符号で条件分岐して4つの象限それぞれで計算すれば、正しくcos、sinの値が出ます。
例えば第一象限(グラフの右上)では
cos(atan2f(pady,padx)) = padx / tmp;
sin(atan2f(pady,padx)) = pady / tmp;
ただし、tmp = padx * padx + pady * pady;
と計算できます。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: さっそく新しい悩みが…
返信数: 3
閲覧数: 2189

Re: さっそく新しい悩みが…

東工大の情報工学科はC++を勉強しません。 1年次後期、2年次前期でC言語、2年次後期でSchemeとJavaを勉強します。 その後はアルゴリズムとデータ構造とか、コンパイラ基礎、OSの基礎などの授業があります。 基本的に言語の勉強は各自でよろしく!って姿勢なので、授業を頼りにすると伸びません。 一般に、受け身でしか授業を聞かないような人に、まともにプログラミング言語を教えることはとても難しいです。本人のやる気にとても依存しますし、やる気のある人はどんどん自分で学習するので、やる気のある人にとっては、結局のところ授業は簡単な復習みたいになると思います。 ゲームを作りたい中学生さんがやる気の有る...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: まったくの初心者でなにをすればいいのか分からないです
返信数: 8
閲覧数: 4382

Re: まったくの初心者でなにをすればいいのか分からないです

ゲーム作りのどの部分を特にやりたいかで変わるのでは。 ゲーム業界にあまり詳しくないですが、ゲームエンジン作る人、ゲームのシナリオを書く人、エフェクトをプログラムする人、グラフィックを描く人、音楽を作る人など、分業体制のはずです。 まあ、ゲームプログラマとおっしゃっているので、プログラミングがしたいのかなと想像しますが。 最初に学ぶ言語は、周りにプログラミング出来る人がいるならその人が詳しい言語を選択すると良いと思います。 そういう人が居なかったら、JavaかCでしょう。どっちでも良いと思いますが、よりCの方がよりハードウェアに近く、基礎的だと僕は思います。書店に行ってJavaとCの参考書をパラ...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: セーブ、ロードのやり方の質問です。
返信数: 5
閲覧数: 3126

Re: セーブ、ロードのやり方の質問です。

オブジェクト指向とは、っていうのは抽象的過ぎて良い議論にならないので、議題としてはオススメしません。 トピックとしては違反ではないので、どうしても立てたいならいいと思います。(過去にもそんなトピックがあった気がします) オブジェクト指向という用語は、実は僕もよくわかりません。一種のバズワードなので、誰も正確な定義は言えないのではないでしょうか? とにかく、グローバル関数とデータ、というC言語のような設計から、賢いデータ(公開されたメソッドからしか内部のデータを弄れない。データは自分の操作され方をメソッドとして制限できる)への移行がポイントだと思います。すなわちクラスです。 クラスは内部状態(各...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: セーブ、ロードのやり方の質問です。
返信数: 5
閲覧数: 3126

Re: セーブ、ロードのやり方の質問です。

私の読解能力が低くて返信を理解できてない部分がありますが、とりあえず回答書きます。 2について、クラスインスタンスの内容を数値などに置き換える処理を一般に「シリアライズ」といい、逆にファイルの内容からクラスインスタンスを作り出す処理を「デシリアライズ」といいます。 シリアライズは自分のクラスが直接保持するメンバだけに対し行い、他のクラスのインスタンスをメンバとして持つ場合、それぞれに対しシリアライズ処理を委譲すればすっきりしませんか? 試しにJSON形式でシリアライズするプログラムを書いてみました。 class A : public ISerializable { int menber1_; ...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: セーブ、ロードのやり方の質問です。
返信数: 5
閲覧数: 3126

Re: セーブ、ロードのやり方の質問です。

基本的に、プログラムの情報をファイルに保存するとき、ポインタ値をそのまま保存するのはダメです。
次にファイルを読み込んだとき、もうそのポインタ値の指す場所に元の情報が無いからです。

ポインタ値を保存する代わりに、対象物のリストとその添字を保存するといいと思います。
今回なら、キャラクタ実体の一覧と、その配列への添字。
で、ロード時はそのキャラクタ実体の一覧をmallocしたメモリ領域にでもロードしてあげて、その先頭アドレスと添字で計算したポインタ値を復元してあげればいいと思いますよ。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム作りを通してプログラミング言語を学ぶ書籍を教えて下さい
返信数: 6
閲覧数: 4165

Re: ゲーム作りを通してプログラミング言語を学ぶ書籍を教えて下さい

ジュンク堂に行ってきましたが、大体ここで挙がってるものしか有りませんでした。
ということで、解決にしたいと思います。

もし、他にこんな本・サイト知ってるよ、というのがございましたらお教え下さい。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: Luaの使いどころ
返信数: 6
閲覧数: 4137

Re: Luaの使いどころ

一度作ったらあまり変わらないところはC/C++で、何度も微調整が掛かる部分をLuaで、っていうのがいいのでは?
ゲームのメニューとかはゲームバランスに関係無いので、何回か調整すれば完成しますよね。→C/C++
敵の思考回路とか弾の動きはマップやストーリーを作ってくとバランス調整が必要になり、何度も変えますよね。→Lua
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム作りを通してプログラミング言語を学ぶ書籍を教えて下さい
返信数: 6
閲覧数: 4165

Re: ゲーム作りを通してプログラミング言語を学ぶ書籍を教えて下さい

>> softyaさん ソースコード見てみました。 gprintfとか、gimageのような簡単APIを独自に定義してるみたいですね。内部ではWin32APIを使っているのでしょうね。 初心者向けのAPIを独自に作るというのは、最初の頃の「おまじない」を最小限に抑える意味で効果的でしょうね。その本以外に資料がなくて、応用的な学習が難しいという欠点はありますが。 早いところ本文を読みたいです。 沖さんに ゲーム作りで学ぶVisual C# 2008入門―XNA Game Studio 3.0対応 (SCC Books 336) を教えていただきました。今はもうAmazonでも中古しか扱ってません...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム作りを通してプログラミング言語を学ぶ書籍を教えて下さい
返信数: 6
閲覧数: 4165

Re: ゲーム作りを通してプログラミング言語を学ぶ書籍を教えて下さい

>> softyaさん
「13歳からはじめるゼロからのC言語ゲームプログラミング教室 入門編」はAmazonでも中古でしか売ってませんね。
東京都立図書館だと葛西区の水元図書館だけに有るみたいですね。(もちろん国会図書館には有るようです)

この本で作るゲームとはどのようなゲームなのか、ご存知の方がいれば教えて下さい。キャラクタベース or それとも絵が動くゲーム、アドベンチャー or アクションなど。

>> h2so5さん
有名な本ですね。まだ読んだことないので図書館で読んでみたいと思います。(この本は地元の図書館にもありました)

みなさん、回答ありがとうございます。まだまだ募集します。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: ゲーム作りを通してプログラミング言語を学ぶ書籍を教えて下さい
返信数: 6
閲覧数: 4165

ゲーム作りを通してプログラミング言語を学ぶ書籍を教えて下さい

ゲームプログラミングを通して、CやC++、Javaなどを学ぶ本を探しています。 例えば… ゲーム作りで学ぶJavaプログラミング入門 Java7版 は、(買ってないので違うかもしれませんがレビューを見た限り)キャラクタベースのゲーム作りを通してJavaを学びます。 ゲーム作りで学ぶ!実践的C言語プログラミング は、DXライブラリを使ってゲームを作りつつ、C言語の応用を学びます。Cの入門ではないようです。一応こういう本も募集しますが、できればプログラミング言語の入門書を知りたいです。 という感じで、ゲーム作りを通してプログラミングに入門する本を探しています。よろしくお願いします。 簡単な読書レビ...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: しばしば起こるので困っています。
返信数: 5
閲覧数: 2434

Re: しばしば起こるので困っています。

どのようなビルドエラーが発生しますか?メッセージを全て、正確に貼り付けて下さい。

2回目以降もGameProg.slnをダブルクリックして起動すれば良いです。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 推薦システムをCで作成する
返信数: 4
閲覧数: 3554

Re: 推薦システムをCで作成する

各行の動作をコメントで書き込みました。 これで分かりますか? def userbase_scoring(user_id, item_id, user_data, users_similarity): """ userとitemのスコアを求める """ # item_idが1.0のユーザだったら if user_data[user_id][item_id] == 1.: # -1.0 × sys.maxint を返す return -1. * sys.maxint # user_idとuser_dataを引数にしてcalc_user_average_scoreを呼び出し、戻り値をave_scor...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体の組み合わせについて
返信数: 3
閲覧数: 2924

Re: 構造体の組み合わせについて

マルチポストっぽいです
http://detail.chiebukuro.yahoo.co.jp/qa ... 4119481849

しかしプログラムの構造が謎ですね。パッと見てなぜ*dataに代入してるのだろうか。hantei関数が内部でBMI計算と、その結果に基づく判定を行っているとすれば、戻り値はvoidで良いですよね。引数としてdataを渡し、それを直接変更してもらう設計が適していると思います。
きっともう手遅れだけど、書きたくなったので書きました。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: メモリの節約の仕方とロード時間の短縮
返信数: 7
閲覧数: 4675

Re: メモリの節約の仕方とロード時間の短縮

僕の環境で単純なDXライブラリのアプリを立ち上げても40MB弱はメモリを食ってるようです。

曲一個に10MBということですが、元のファイルは何MBなんでしょうか。圧縮形式は?
で、今の時代、メモリの100MBや200MBは気軽に使っていいと思いますよ。

ロード時間を減らす工夫として、ゲーム進行中に近い将来必要となりそうな画像、音楽を先読みするというのも出来ると思います。
ゲームとは別のスレッドでロードすれば、ゲーム本体の進行は妨げられません。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 推薦システムをCで作成する
返信数: 4
閲覧数: 3554

Re: 推薦システムをCで作成する

「Userとitemの部分」とはuserbase_scoring関数の中身ということですか?
また、どのレベルの説明が欲しいですか?
  • Pythonコードが読めないので、一行一行のPythonコードを日本語で説明して欲しい
  • Pythonコードは分かるが、全体的に何やってるか分からない
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: android,iosアプリでC++で開発できる環境はあるのでしょうか?
返信数: 4
閲覧数: 3624

Re: android,iosアプリでC++で開発できる環境はあるのでしょうか?

QtというC++向けのライブラリがありますが、バージョン5.2からAndroid, iOSに正式対応したそうです。
iOSとAndroidに正式対応した「Qt 5.2」リリース
これを使えば出来そうですね。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: RS232CのCAN通信(C++)
返信数: 3
閲覧数: 4244

Re: RS232CのCAN通信(C++)

CAN関係なく、RS232C通信をパソコンのプログラムで行えるかという質問でよろしいですかね?
それなら、答えは「出来ます」ですね。

例えば.NET Frameworkを用いて
.NET Framework 2.0 コア機能解説 ~ 第 2 回 シリアルポートのサポート ~

またはWin32APIを用いて
RS232C シリアル通信
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: DxLib初心者です
返信数: 2
閲覧数: 1151

Re: DxLib初心者です

どんなエラーですか?
エラーメッセージが出ているなら、省略せず全部貼り付けてください。

想像ですが、もしかして、1つのプロジェクトに複数のWinMainを入れていませんか?
1つのプロジェクトには1つだけWinMainがある状態にしましょう。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: グラフの頂点でマークが付いている頂点数を数える
返信数: 1
閲覧数: 1339

Re: グラフの頂点でマークが付いている頂点数を数える

良くある問題ですね。 要素がたくさんあるコレクションを色々な順番で訪問する過程で、訪問済み頂点を記録しておきたい。 でも、対象クラスは変更してはいけない。 こんな時は、「訪問済み要素を記録しておくコレクション」を作ります。訪問済み要素一覧、ということです。 コレクションには要素の重複がない「Set」が適します。 Set<Vertex> visited_vertices = new HashSet<Vertex>(); そして、訪問を再帰的に行うには各再帰にこのvisited_verticesを渡さねばなりませんので、引数を改造します。 int numberOfMarkedNeighbors(V...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: このxって何ですか?
返信数: 3
閲覧数: 2258

Re: このxって何ですか?

まず、ソースコードを貼り付けるときはcodeタグをお使いください チェック2 : ソースコードをそのまま貼り付けない さて、引数xは4つも有るわけですが、どのことでしょうか。 例えば double SSTACC_NormalDist(double x); について。 この関数は何処からも呼び出されていないようです。すなわち引数はどこからも渡されません。 次は double SSTACC_ErrorFunc(double x); について。 この関数は一箇所から呼び出されています。 printf("%lf\n",SSTACC_ErrorFunc(0)); これを見ると、仮引数xには実引数0が渡さ...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: C++でのTwitterデータの取得
返信数: 21
閲覧数: 13525

Re: C++でのTwitterデータの取得

oauth_http_get関数の14行目で、ステータスコードcが200かどうかをチェックしています。
HTTPのステータスコードを見ると、200は正常の意味です。

戻り値が空文字列(NULLではなく、string()は空文字列を生成します)になるのは、resheader.size()が0の場合か、cが200以外の場合か、resdata.empty()がtrueの場合です。
3つのうちどの原因でoauth_http_get関数が失敗しているのかは調べる必要がありそうですね。
特にステータスコードcの値はチェックしましょう。大きなヒントになると思います。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: C++でのTwitterデータの取得
返信数: 21
閲覧数: 13525

Re: C++でのTwitterデータの取得

戻り値を返さないというのは、return文が実行されないのか、エラーっぽい値がreturnされるのか。
エラーっぽい値がreturnされるなら、その戻り値を貼り付けてもらえませんか?
または、そのエラーメッセージでGoogle検索したら何かヒントを得られませんか?
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: C++でのTwitterデータの取得
返信数: 21
閲覧数: 13525

Re: C++でのTwitterデータの取得

Twitter全体の投稿を漏らさず全部受け取るには、Twitter社と有料契約が必要だったと思います。
無料の範囲では、全体のうち何%か忘れましたが少ししか取得できません。

何か特定のクエリを決めて、自分のTLにおけるクエリ包含率(クエリを含むツイート数/TLの全ツイート数)とTwitter全体でのクエリ検索結果数を使えばある程度推測できると思います。

時刻AからBまでの世界中のツイート数推定値
= 時刻AからBまでのTwitter全体でのクエリ検索結果数
/ 時刻AからBまでの自分のTLにおけるクエリ包含率

で計算できます。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: C++でのTwitterデータの取得
返信数: 21
閲覧数: 13525

Re: C++でのTwitterデータの取得

GET statuses/show/:idを読むと、特定のツイートを取得するAPIがちょっと違うのかなと思いますが、どうでしょうか。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: ■ 新年の挨拶トピック~2014~ ■ 今年の抱負 ■ [雑談]
返信数: 17
閲覧数: 9803

Re: ■ 新年の挨拶トピック~2014~ ■ 今年の抱負 ■ [雑談]

新年あけましておめでとうございます!
今年から社会人だから頑張って仕事するぞー!
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: (C++)クラスAのメンバであるクラスaの継承
返信数: 8
閲覧数: 2988

Re: (C++)クラスAのメンバであるクラスaの継承

「継承」はあくまでも、「新しいクラスを作って」メンバを追加する、のです。 static A_dash A_dash1; A_dash1.a_.yn=hoge; を見る限り、クラスaを変更せずにクラスaにynを追加したいように見えたのです。 でも、それは文法的に出来ないとyumaさんも分かっているのでしょう。 実際にはクラスa_dashを作ってそこにynを定義していますね。 ポイントなのは、クラスA_dashはクラスa_dashと一切関係無いことです。 A_dashは自分でa_dashのメンバを持っているわけではありません。 かといって、継承元のAがa_dashのメンバを持っているわけでもありま...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: (C++)クラスAのメンバであるクラスaの継承
返信数: 8
閲覧数: 2988

Re: (C++)クラスAのメンバであるクラスaの継承

一般論ですが、アップキャストというのは「参照」とか「ポインタ」で使う技術です。 functionの戻り値がA*であったなら、似たようなことは出来るかもしれませんね A* function(bool hoge) { static A_dash A_dash1; ((a_dash*)A_dash1.a_)->yn = hoge; A* A1 = &A_dash1; return A1; } A_dash1.a_を実インスタンスではなく、aへのポインタ型として宣言していると仮定しています。 そして、A_dashのコンストラクタでa_に対し、a_dash型インスタンスへのポインタを設定します。 cla...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: (C++)クラスAのメンバであるクラスaの継承
返信数: 8
閲覧数: 2988

Re: (C++)クラスAのメンバであるクラスaの継承

A_dashのa_はあくまでもa型なので、
A_dash1.a_.yn
にはアクセスできません(A_dash1.a_の中にynが存在しません)

何がやりたいのか良く分かりませんが、推測するに
「Aのクラス定義はそのままで、Aにメンバを追加したい」のでしょうか?

聞いてる限りですと、とても無理筋なクラス設計を考えているように思います。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: (C++)クラスAのメンバであるクラスaの継承
返信数: 8
閲覧数: 2988

Re: (C++)クラスAのメンバであるクラスaの継承

そのクラス構造に意味があるのか、良い設計なのかは別として、技術的には何も問題なくできると思います。

コード:

class a {};
class A {
    a a_;
};
class a_dash : public a {};
class A_dash : public A {
    a_dash a_dash_;
};
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 複数のクラスに共通な関数を定義する方法を知りたいです
返信数: 12
閲覧数: 7297

Re: 複数のクラスに共通な関数を定義する方法を知りたいです

その時々に一番合う方法を探せばよく、もしかしたら 目指す状態:   基本クラス:たくさんのメンバ   +操作クラス:基本クラスのたくさんのメンバを操作するメソッド にするのが良い設計になる場合があるかもしれません。 が、一般論で言うなら、これは良くない設計だと思います。 基本的にクラスは、それ単体で完結したものにします。 親クラスのメンバは子クラスからでさえ触らない方が良いのです(一般論を言ってます) なぜかというと、他人にメンバを直接いじられるとクラス全体としての整合性を保てなくなるかもしれないからというのが一つの理由。子クラスが親クラスにアクセスするときもメソッド経由にします。 クラスとし...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 複数のクラスに共通な関数を定義する方法を知りたいです
返信数: 12
閲覧数: 7297

Re: 複数のクラスに共通な関数を定義する方法を知りたいです

ちょっと長くなってしまいましたが、こんな感じでしょうか。 Movementクラス、Supplyクラスを動体オブジェクトの外に出せば、動体オブジェクトを継承した“矢”、“弾丸”、“砲弾”などのクラスは作らなくていいかもしれません。 (それらの差は動体オブジェクトのコンストラクタ引数として指定したMovement1,Movement2などの違いで表されます) zeekさんのswitch文による解決法もシンプルな良い方法だと思います。 ご自身でお選びください。 struct MotionStatus { int x, vel, acc; MotionStatus() : x(0), vel(0), ...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 複数のクラスに共通な関数を定義する方法を知りたいです
返信数: 12
閲覧数: 7297

Re: 複数のクラスに共通な関数を定義する方法を知りたいです

継承を用いるとどれか1つの実装しか継承できませんので、目的のことを達成するのは難しいですね。 以下のようにしたらどうでしょうか。 Movement1, Movement2, Movement3のようなクラスを作って、ClassA-CはMovement1を、ClassD-FはMovement2を、ClassG-IはMovement3を持つようにします。 ClassA-CのMoveメソッドはMovement1のMoveメソッドに処理を委譲します。 class Movement1 { int x_, vel_, acc_; public: void Move() { !!! } int x() co...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 「動的」「静的」という概念がよくわかりません
返信数: 3
閲覧数: 2461

Re: 「動的」「静的」という概念がよくわかりません

softyaさんが言うのは変数の生存期間の話ですね。動的領域とか、静的領域なんて言うと思います。

他にもプログラミング関連の用語では
動的型付け、静的型付け
動的解析、静的解析
など、いろいろな用語があります。
AIさんが知りたいのはどれでしょうか。

いずれにしても、動的は動きがある感じ、静的は止まっている感じを表しますが、動的、静的が付く後ろの言葉によって大分意味が変わります。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: コンパイラの電卓プログラム
返信数: 3
閲覧数: 3115

Re: コンパイラの電卓プログラム

toma さんが書きました:いろいろ足りない部分があると思うのでよろしくお願いします。
というのはつまり、具体的に何処がダメなのかは自分で調べる気は無いが、でもダメな所はきっとあるので、皆さんで修正お願いします、ということでしょうか。
難しい要求ですし、丸投げに近い雰囲気を感じます。

「~~が分からないから教えて下さい」なら答えやすいです。
toma さんが書きました:うまくいかないのでご教授お願いします
「うまくいかない」だけだと情報がありませんので、「~となることを期待していたが、実際は…だった」のように書いてください。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: C++でのTwitterデータの取得
返信数: 21
閲覧数: 13525

Re: C++でのTwitterデータの取得

MinGWのgccでコンパイルしているということですから、実行時にMinGWのbinディレクトリなどをPATHに追加しておく必要があると思います。
つまりlibgcc_s_sjlj-1.dll(に限らず実行時に依存するdll)が存在するディレクトリがPATHに入っていなければなりません。

ちなみに私のMinGW環境には F:\MinGW\bin\libgcc_s_dw2-1.dll というファイルがありました。
MinGW GCCでコンパイルした実行可能ファイルを実行するには F:\MinGW\bin をPATHに追加する必要があります。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: C++でのTwitterデータの取得
返信数: 21
閲覧数: 13525

Re: C++でのTwitterデータの取得

先生がC++にこだわる理由はよくわかりません.もしかしたら,便利なTwitterライブラリが無い状況を知らず,なんとなく「C++」と言ったのでは?とも思ってしまいます.
メインはC++プログラムで,ツイッターを扱う部分だけ他の言語にする,というのも技術的には可能です.

ちょっと探したらこんなページがありますが参考になりますか?
C++でTwitter APIを利用する
「C/C++用の使いやすいライブラリが見つからなかったので自作しました。liboauthを元に改造して制作しました。」
だそうです.
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: C++でのTwitterデータの取得
返信数: 21
閲覧数: 13525

Re: C++でのTwitterデータの取得

どうしてもC++で書かなければいけないのですか?
Pythonなど他の言語用ライブラリならいろいろ便利なのがあるのですが。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル名からフォルダに振り分けるソース
返信数: 6
閲覧数: 4026

Re: ファイル名からフォルダに振り分けるソース

なるほど、そういうことですか。 ファイルを振り分けると聞くと、ファイルを実際に移動したいのだと思ってしまいます。 cotton618さんがやりたいのは単なる文字列の処理ということで良いですね? 実際のファイルが関係するのは、ファイル名一覧を記録したgazou.txtと書き出すファイルgazou0X1.txtのみで、後は単なる文字列の操作だけですね? それなら gazou.txtから1行ずつ読み込んで(fscanfなり、fgetsなりを使えばいいでしょう) 数字の部分で処理を分けて(if文でいけると思います) gazou0X1.txtに書き出す という手順でどうでしょう。 「gazou001.p...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 困っています
返信数: 4
閲覧数: 2137

Re: 困っています

具体的なソースコードなどが出てきていませんので抽象的なお話になりますが、ご了承ください。 弾を打ったら残弾が減り、補給アイテムを拾うと残弾が増える、という解釈でよろしいでしょうか。 それをやるには変数を使えばいいのです。 どこかで変数を定義しておいて、初期値を初期弾数にしておきます。 1発撃ったらその変数から1を減じ、補給アイテムを拾ったらその変数に好きな数を加えればいいでしょう。 大体の流れは以下のようになると思います。main関数の中身の主要部分だけ書きます。 int remainBullet = 100; // 残弾数を記録する変数。初期弾数は100発 while (1) { 入力処理;...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル名からフォルダに振り分けるソース
返信数: 6
閲覧数: 4026

Re: ファイル名からフォルダに振り分けるソース

例えばhoge.txtをdir\hoge.txtに移動したい場合は下記のコードです

コード:

rename("hoge.txt", "dir\\hoge.txt");
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル名からフォルダに振り分けるソース
返信数: 6
閲覧数: 4026

Re: ファイル名からフォルダに振り分けるソース

C言語標準ライブラリの rename 関数を使えばファイルの移動ができます。
C言語 ファイル名 フォルダ名の変更と移動 - stdio.h - [ rename ]
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 困っています
返信数: 4
閲覧数: 2137

Re: 困っています

「弾の弾数」って何ですか?残弾の数を表示したいのですか?
具体的なソースコードのアドバイスを得たいなら言語以外にも使っているライブラリを明らかにすると良いです。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: プログラム改良
返信数: 5
閲覧数: 3042

Re: プログラム改良

何をやりたいのか伝わりづらいので、もう少し分かりやすい質問をお願いします。

何が3つ以上あるのですか?
はじめの数、最後の数とは、最小値、最大値のことですか?
真ん中の数とは、何でしょうか?

具体的に「sel_numに~が入っているとき、○○という出力を期待しているのだが、□□になってしまって困っている」という質問だと伝わりやすいかも知れません。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: コードについて
返信数: 3
閲覧数: 1846

Re: コードについて

偽プログラマーさんは未登録状態なので、一度登録してしまうと修正できませんので、プレビューを見て試行錯誤すると良いと思いますよ。

codeで囲むやり方はチェック2 : ソースコードをそのまま貼り付けないを御覧ください。

追記:一度登録、じゃなくて一度投稿、の間違いでした。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 本当にtry-catchで処理すべき問題??
返信数: 7
閲覧数: 4591

Re: 本当にtry-catchで処理すべき問題??

しかし、C++の規格においてtryブロックから例外送出までのオブジェクトの変更について、不定とするという文言はないため、catchブロックまでの間に値が不定になることはまずないと考えてよいでしょう。実際、SJLJ有効のGCCにおいて次のコードを実行しても、iの値は2回とも10でした。 実験までしていただいてありがとうございます。 不定とする文言は確かに見つかりませんでした。longjmpの場合は不定になる旨が明示してあり、例外では不定云々が記述されていないことを考えれば、不定にならないということで良さそうですね。 beatleさんが書かれていることは杞憂であって,大元の質問に関連して言えばこ...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 本当にtry-catchで処理すべき問題??
返信数: 7
閲覧数: 4591

Re: 本当にtry-catchで処理すべき問題??

C++の規格をちょっと調べたのですが、該当する記述が見つかりませんでしたので想像で書きます。 try開始から例外発生時までに行ったローカル変数への変更は、例外が発生してcatchに移動したときに保持されている保証は無いと思います。 例外が発生すると,最寄りの型が一致するcatchハンドラに「制御が移り」ます (ISO/IEC 14882:2011 15.1 ¶2)。 tryブロック開始から例外発生までのローカル変数のデストラクタは呼び出されますが (同 15.2 ¶3)。 この時,try ブロックの外側にあるローカル変数は,まだブロックの末尾に達していませんから,当然生存しています (同 3...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 本当にtry-catchで処理すべき問題??
返信数: 7
閲覧数: 4591

Re: 本当にtry-catchで処理すべき問題??

C++の規格をちょっと調べたのですが、該当する記述が見つかりませんでしたので想像で書きます。 try開始から例外発生時までに行ったローカル変数への変更は、例外が発生してcatchに移動したときに保持されている保証は無いと思います。 setjmp/longjmpを用いて例外っぽい処理を書こうと思うと、まさにローカル変数への変更は担保されませんので、try-catchがsetjmp/longjmpを用いて実装されている処理系だと同様に担保されない可能性はあります。 jmp_buf jbuf; // グローバル変数 void f() { int i = 0; if (setjmp(jbuf) == ...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: スマートな読み込みプログラムの書き方
返信数: 17
閲覧数: 8764

Re: スマートな読み込みプログラムの書き方

ファイルの内容に何らかの文法があるようですね。
文法があるということは、原理的にはそれを字句解析、構文解析をするということになります。
したがって、読込部分が複雑になるのは必然ですから、それほどシンプルなプログラムには成らないでしょう。(今のプログラムも構文解析してると思えばそれなりにすっきりしたコードだと思いますよ)

もっと楽ちんにしたいなら、普及している文法を使うのです。
例えばXMLやJSONにしておけば、構文解析は既成のライブラリを使えます。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: CではなくPHPのことで質問があります・・・
返信数: 5
閲覧数: 2633

Re: CではなくPHPのことで質問があります・・・

このファイルが置いてある場所から画像までの相対パスは何でしょうか。
PHPとかHTML以前の問題として、それが分からないといけません。

そもそも、相対パスと絶対パスはそれぞれ何かは知っていますか?
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】境界はどこか?
返信数: 7
閲覧数: 4372

Re: 【雑談】境界はどこか?

オフトピック
usao さんが書きました: コードでも同じように,上級者というか熟練者は それを見たときに
問題のある,あるいはありそうな箇所 というのを「ん?」って感じることができるような,
そんな感じの特殊能力?を習得されているような気がします.
コードスメルっていうやつですね。特殊能力というか、大量のソースコード(良い物と悪い物)に触れると身につく気がします。
パッと見たときに同じようなコード片が何箇所にも出てくると怪しいと感じたり、識別子が意味不明だったり。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】境界はどこか?
返信数: 7
閲覧数: 4372

Re: 【雑談】境界はどこか?

何を持ってたら・持ってなかったらなんて考えたことないですね。
もしかしたら、どこかに「初級者とは〜である」などという明確な定義はあるのかもしれませんが、僕の中では非常に曖昧な分類でしかありません。
ゲームプログラミングと一括りにしているが、ではネットワーク通信はバリバリ書けるけどAIは書いたことないや、というのは何級者なのか。細かい分野毎にも習熟度がありますから、全体平均としての級分類がどこまで役に立つのかも疑問の余地はあります。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: インテリセンスについて
返信数: 4
閲覧数: 1999

Re: インテリセンスについて

printf や strcpy は、途中で ctrl+space を押さないと補完されません。

例えば stdio.h をインクルードした状態で
pr
と入力し ctrl+space を押すと、 pr で始まる関数が候補に出てくると思います。
関数名の補完の場合、残念ながら手動で ctrl+space を押す以外に候補を出すやり方は無いと思います。(何か文字を入力するたびに候補が出てきたら、それこそ邪魔だと思いませんか?)
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: インテリセンスについて
返信数: 4
閲覧数: 1999

Re: インテリセンスについて

Visual Studio 2010 Expressのどの言語をお使いですか?

例えばC++でプログラムを書いていて、「.」や「->」を書いても、自動では候補が出てこないということですか?
「.」や「->」を書いた時点で、ctrl+spaceを入力すると候補は出てきますか?
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: どなたか教えてくださいm(__)m
返信数: 1
閲覧数: 1314

Re: どなたか教えてくださいm(__)m

フォーラムルールによれば、課題の丸投げは禁止です。

「C++ ガウスの消去法」で検索したらたくさん見つかりましたよ。
例えばc++でガウスの消去法 - yattの日記は参考になると思います。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: OSがスリープ状態であるときのプログラムについて
返信数: 6
閲覧数: 5583

Re: OSがスリープ状態であるときのプログラムについて

決まった時間に(定期的にでも一回限りでも)パソコンをスリープから起こし、何かタスクを実行するにはWindows標準の「タスクスケジューラ」が使えます。
タスクスケジューラは「コントロールパネル」の「管理ツール」に入っているはずです。

タスクスケジューラで新しいタスクを作成し、「条件」タブで「タスクを実行するためにスリープを解除する」をチェックすると、パソコンがスリープしていても起きてからタスクが実行されます。

以上は手動での操作ですが、タスクの作成をプログラムからやる方法は僕は知りませんので他の方に譲ります。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: C言語でのビットマップ画像の読み込み
返信数: 8
閲覧数: 5347

Re: C言語でのビットマップ画像の読み込み

GNU binutilsに含まれるobjcopyコマンドを利用すると、任意のファイルをプログラムに埋め込めます。
参考 普通のやつらの下を行け: objcopy で実行ファイルにデータを埋め込む
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 入力補完機能について
返信数: 3
閲覧数: 1695

Re: 入力補完機能について

なるほど。プロジェクトの作成はいいと思います。
そのやり方で作ったプロジェクトでC言語の標準ライブラリなども補完が効きませんか?

僕がVC++ 2010 Expressで実験したところでは、Win32 プロジェクトで空のプロジェクトを作り、main.cppを新規作成し

#include <

と入力するとヘッダファイル一覧が出てきました(これが補完機能です)。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 入力補完機能について
返信数: 3
閲覧数: 1695

Re: 入力補完機能について

きちんとソリューションとプロジェクトは作ってますか?
新規作成でファイルだけ作って編集してても補完機能は無効です。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 助けて下さい!
返信数: 9
閲覧数: 4089

Re: 助けて下さい!

フォーラムルールにありますように、課題の丸投げは禁止されております。asciiさんが出来るところまで提示してください。
学校の課題ということですので、きっと授業があるのでしょう。
Hello Worldプログラムくらいは書けますか?
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 足し算の和について
返信数: 4
閲覧数: 1834

Re: 足し算の和について

for文は1個だけです。分かるだろうと思って...を使って省略したのですが、伝わらなかったみたいですね。ごめんなさい。 5個のstr1.floatValueの和を求めたいわけですよね?でしたら以下でどうでしょうか。 float d = 0; for (NSInteger i = 0; i < [ontabtime2 count]; i++) { // 配列から要素を取得 NSString *str1 = [ontabtime2 objectAtIndex:i]; d += str1.floatValue; NSLog(@"%f",d); }
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 足し算の和について
返信数: 4
閲覧数: 1834

Re: 足し算の和について

変数dをfor文の外側で初期値0で定義し、for文の中でdに足していけばOKです。

コード:

float d = 0;
for (...) {
    d += ...;
}
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリ、64ビットのpcでは動かない?
返信数: 5
閲覧数: 3160

Re: DXライブラリ、64ビットのpcでは動かない?

色のビット数とコンピュータ(CPUやOS)のビット数は関係ありませんのでご安心ください。
僕は64ビットのWindows 7でDXライブラリを使っていますが正常に動作しています。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: キャラクターオブジェクトを他のキャラクターオブジェクトにアクセスさせる
返信数: 2
閲覧数: 1600

Re: キャラクターオブジェクトを他のキャラクターオブジェクトにアクセスさせる

クラス設計は唯一の答えがあるわけではないので答えづらいですが、例えば「戦闘」をクラスにして、戦闘クラスは戦闘に参加しているキャラクタを持つようにしては如何でしょう。
その上で、各攻撃技もクラス化して、ダメージ計算は攻撃技クラスに任せるようにしては?

今攻撃しようとしているプレイヤは、攻撃技クラスをインスタンス化して、それをプレイヤが持つ戦闘クラスのインスタンスに渡します。
戦闘クラスは攻撃技クラスを受け取ったら、攻撃技クラスに戦闘参加メンバ一覧を渡して、ダメージ計算をしてもらいます。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 変数をあるだけ読み込む
返信数: 6
閲覧数: 3245

Re: 変数をあるだけ読み込む

softyaさんのNo.5の「追記」で紹介された方法を応用するのが楽で分かりやすいと思います。 #include <fstream> #include <sstream> #include <string> #include <vector> #include <map> #include <iostream> using namespace std; int main() { map<char, vector<int>> data; ifstream ifs("data"); string str; while (getline(ifs, str)) { istringstream iss(...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: おすすめのjQuery入門サイトを教えて下さい
返信数: 3
閲覧数: 2274

Re: おすすめのjQuery入門サイトを教えて下さい

たくさんのサイトを教えていただきありがとうございます。

ドットインストールが分かりやすそうだったので、ひとまずそこで学習してみます。

リファレンスはもちろんすごく重要ですよね。ある程度基礎が分かったら活用すると思います。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: おすすめのjQuery入門サイトを教えて下さい
返信数: 3
閲覧数: 2274

おすすめのjQuery入門サイトを教えて下さい

C言語の話題ではなくて恐縮です。
jQueryの勉強をしようと思い、入門サイトを探しています。
ググるとたくさん出てくるので迷っていますが、オススメのサイトがありましたら教えて下さい。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 宣言が正しく終了していないについて
返信数: 2
閲覧数: 4781

Re: 宣言が正しく終了していないについて

ライアー さんが書きました: aやiなどはすべてグローバル変数でちゃんと宣言しています。
なのに引数をint a, int iなどとしたら、名前が被ってしまいます。
OUT関数の内部の変数aはグローバル変数とは違うものなのでご注意ください。
それを知っててわざとやる分には構いませんが。

「宣言が正しく終了していない」ということですが、もしかしてお示しのプログラムより上の箇所にエラーがあり、その影響がOUT関数の部分で現れて、あたかもOUT関数がエラーになっているように見えるだけでは?と思ったりしますが、いかがでしょうか。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: ゲームプログラミングにおいての今の主流
返信数: 9
閲覧数: 12771

Re: ゲームプログラミングにおいての今の主流

ゲーム業界にはあまり詳しくありませんが、僕もC++大好きなので考えてみました。ずばりの答えではありません。 確かにちょっと前はコンシューマーゲームはC++と言われていました。 そして、最近のマシン性能の向上でC#などで十分ゲームが作れるようになったのも事実だと思います。 C++がC#やJava、JavaScriptなどに対して持つ優位性は、マシン性能が上がった今日では「速さ」よりも「低レベル記述が出来ること」かもしれません。Windowsなどのオペレーティング・システム、ゲーム機のファームウェアなど、ハードウェアを直接操作する必要がある場面では、C/C++の「ポインタ」がどうしても必要です。そ...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体の直列化(Persistency)
返信数: 7
閲覧数: 4834

Re: 構造体の直列化(Persistency)

関数ポインタにかぎらず、ポインタは基本的にシリアライズ出来ません。
仰るとおり、そのメモリ環境においてのみ有効だからです。

無理やりポインタをアドレスを表す整数値としてシリアライズし、それをデシリアライズしてもでたらめなメモリ位置を指し示すだけで、使い物になりません。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 古いPCの使い道
返信数: 5
閲覧数: 3663

Re: 古いPCの使い道

ちなみにCentOS 6.4のSystem Requirementsが書いてありましたよ
http://on-disk.com/product_info.php/products_id/1342

Linuxはとてもカスタマイズできるので、どのバージョンでも最低限のパッケージだけをインストールしたり不必要な常駐プロセスを切ったりすれば低性能のPCでも使えると思いますよ。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリで変数が変な値をとります。その2
返信数: 2
閲覧数: 1633

Re: DXライブラリで変数が変な値をとります。その2

long int human[100000000][3]
ですので、2番目の添字は0から2しか使えません。
human[i_f][3]=1;
こういうのはダメです。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 動的2次元配列(new)についてお聞きしたいことが…。
返信数: 11
閲覧数: 4597

Re: 動的2次元配列(new)についてお聞きしたいことが…。

Map::mapはインスタンス変数といって、Mapクラスをインスタンス化しないと使えない変数です。
一方でMap::create_mapは静的(=static)関数ですので、Mapクラスをインスタンス化せずに使える関数です。

存在しない変数に書き込もうとしていますのでエラーが出ています。

解決策:
Map::mapをクラス変数にするか、Map::create_mapを静的でない関数にします。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: プログラミングの問題
返信数: 2
閲覧数: 2109

Re: プログラミングの問題

サイコロの上面と北面(または南、東、西のいずれか)の二面の状態を決めると、サイコロの置き方を特定できます。 すなわち、サイコロの状態を二つの変数で管理すれば良いことになります。 後は、一回だけ回転させたときにその二つの変数がどのように変化するかをプログラムします。 例えば 上面1、北面2のとき、東に一回だけ転がすと 上面3、北面2 に変数が更新されます。 という風に、上面X、北面Y、回転方向Zに対応して新しい上面X'、北面Y'を計算するプログラムを書けばいいわけです。 愚直に書くと上面6通り、北面4通り、回転方向4通り=96通りの分岐を書かねばならないので(そんなにelse ifを書きたくない...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: C++ではなくあえてC言語を使用するメリット
返信数: 30
閲覧数: 12667

Re: C++ではなくあえてC言語を使用するメリット

02giri さんが書きました:となると、ますますC言語を使うメリットがなくなっていくような…笑
でもきっとこの逆にあたる場面も存在するということなんでしょうね。
なんか勘違いしてませんか?
C++はCで書けることすべてを書けますので、Cでは簡単でC++では難しくなる例は有りません。
(一部細かい例外はありますが、本質的なところではないので、C++はCを含むと言いました。)

ただ、C++っぽく書くというのとCっぽく書くというのは区別できますので、
C++っぽく書くよりCっぽく書く方が読みやすい、理解しやすいという場面はあります。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: C++ クラスのコンストラクタで別クラスのポインタを渡して使う
返信数: 6
閲覧数: 5445

Re: C++ クラスのコンストラクタで別クラスのポインタを渡して使う

雨ガエル さんが書きました:「クラスのコンストラクタで別クラスのポインタを渡し、コピーして使う」という使い方は、オブジェクト指向プログラミングとして正しいのでしょうか。
「クラスのコンストラクタで別クラスのポインタを渡し、コピーして使う」こと自体は問題はありません。
たとえばJavaのBufferedReaderクラスのコンストラクタにはReader型のオブジェクトを渡します(Javaの場合は参照ですがポインタと同じようなものです)

オブジェクト指向な設計として適切かどうかは、クラスの詳細が分からないと議論できません。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: DOS窓を一時停止させるには
返信数: 6
閲覧数: 3400

Re: DOS窓を一時停止させるには

デバッグ > デバッグなしで開始 (Ctrl + F5)
を試してみて下さい。
続行するには何かキーを押してください . . .
と出て止まると思います。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: callocの速度
返信数: 2
閲覧数: 2985

Re: callocの速度

DDR3-800メモリの転送速度が6.4GB/sです。
callocはmallocした領域に初期値を書き込むだけですから、単純に計算すると100MBの初期値を転送する時間が0.015625秒。
メモリ確保も一回でまとめて確保していますのでそんなに時間はかからないでしょう。

0.08秒を速いと取るか遅いと取るかは人次第ですが、askさんの用途で0.08秒が十分な速さなら問題ないのでは。
(80ミリ秒もかかる、という見方もできるわけで。)

提示されたコードはC言語規格としては単にCPU経過時間を表示しているだけで、VC++でたまたまミリ秒になるだけですのでご注意ください。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力で効果音
返信数: 5
閲覧数: 2347

Re: キー入力で効果音

新・ゲームプログラミングの館でキー入力の方法を取り扱っていますが、そこは読みましたか?
全てのキーの入力状態を取得する
キーの入力に応じてキャラを移動させる

GetHitKeyStateAllとchar配列を組み合わせてキーが押されているかどうかを取得するのがミソです
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: キー入力で効果音
返信数: 5
閲覧数: 2347

Re: キー入力で効果音

キーを押すと何かするプログラムは書けますか?
何でも構いません。文字を出力するとか、四角形を描くとか。
それができるなら、その場所で PlaySoundMem を使えば音を再生できます。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: [アンケート]皆様のプログラムの環境や、取り組み方について
返信数: 7
閲覧数: 3938

Re: [アンケート]皆様のプログラムの環境や、取り組み方について

1、どのような環境でプログラミングをしていますか?(詳しくはないのですがコンパイラとかは何ですか(あまり詳しくないです・・・)) ※僕はVC++2010です。(変な質問でしたらすみません) Mac OS X + Vim で開発するのが好きです。使っているコンパイラは python / clang++ / g++ あたりですね。 Visual C# も使います。最近 Visual C# 2012 をダウンロードしてみました。フラットデザインかっこいいと思います。 2、どのような環境でプログラミングをしていますか?(身の回りの環境です) 例、アニソンを流しながら、とか、自室に籠って1人で、とか、リ...
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: JavaのArrayList
返信数: 2
閲覧数: 1347

Re: JavaのArrayList

ArrayListは容量が足りなくなると自動で増やしていきます。
増やすときに多少のコストが掛かりますので、格納する要素の個数があらかじめ分かるなら、初期容量をその数だけ指定したほうが効率はいいです。
普段は気にしないで、どうしてもチューニングしなければならないときに初期容量を与えてみる、くらいでいいのではないでしょうか。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 2D描画ライブラリインターフェイス
返信数: 3
閲覧数: 1922

Re: 2D描画ライブラリインターフェイス

描画部とゲームをインターフェースで分離とは、具体的にはどういうことですか?
同じ描画APIを使いつつ、DirectXとOpenGLとソフトウェアレンダラを切り替えたい、とかそういうことですか?
IrrLichtはその3種類の描画方法を選べるようになっています。
3Dにも対応する汎用ライブラリですので、その分複雑なAPIになっています。

「2D描画が簡単にできる」の簡単のレベルがよくわかりませんが、基本的にAPIを簡単にするということは用途を絞るということですので、普及しにくくなります。つまり手に入れにくい。
DXライブラリは相当簡単な方だと思います。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: mingwでopencvを使ったプログラムをコンパイルしたい
返信数: 4
閲覧数: 6324

Re: mingwでopencvを使ったプログラムをコンパイルしたい

そしていざコンパイルとしようとすると、上記のページにはこのような方法が書かれていました $ gcc test.c -o test.exe -lcxcore210 -lcv210 -lhighgui210 -lcvaux210 -lml210 今回質問した理由はこのコマンドのせいです。mingwと言えば、windowsようだと思っていたのに、これではlinuxでは無いのでしょうか??? MinGWはLinuxぽい環境をWindows上に構築するソフトウェアですので、Linuxぽくて正常なのですが… gccにライブラリディレクトリを教える方法ですが、-Lオプションを試してみたらいかがでしょうか。
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 関数から抜けるだけでエラーが発生します(通常ではあり得ない?)
返信数: 6
閲覧数: 2986

Re: 関数から抜けるだけでエラーが発生します(通常ではあり得ない?)

longjmpで戻ると対応するsetjmp呼び出しの直後に飛ぶわけですが,
その時点でローカル変数の値は未定義ですので利用してはいけません.
そこは大丈夫でしょうか?

例えば
longjmp(jmpbuf1);
によって
setjmp(jmpbuf1);
に戻ると,fin, SD, j, decode_imgの値は使えなくなります.

直後memcpyでSDを使っているように見えるので,ご注意ください.
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: 関数から抜けるだけでエラーが発生します(通常ではあり得ない?)
返信数: 6
閲覧数: 2986

Re: 関数から抜けるだけでエラーが発生します(通常ではあり得ない?)

setjmp/longjmpは本当に使う必要ありますか?
できるだけ避けるのが懸命です.

それでも使うなら,いろいろ注意点があります.
例えば現在のソースコードではsetjmpの戻り値をcに代入していますが,ダメです.
[迷信] setjmp マクロの返却値は変数に代入できる
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: セーブデータに画像を含める方法
返信数: 6
閲覧数: 3420

Re: セーブデータに画像を含める方法

スクリーンショットを保存するのではなく,その時の状態を保存しておいてロード画面で描画する方法もあります.
例えば,その時の背景画像の名前,敵味方の位置,それらの動き方などを保存しておいて,再生します.
この方法のいいところは,ロード画面で動画を流せることです.
何秒間かのプレイヤーからの入力をセーブデータに保存しておくことで,再生時に利用できます.
悪いところは,画像でやるよりプログラムが複雑になる可能性が高いことです.
by beatle
10年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 配列の中身とカウント数の連動の仕方
返信数: 2
閲覧数: 5130

Re: C言語 配列の中身とカウント数の連動の仕方

codeタグの使い方が間違っていますので,投稿前に必ずプレビューして確認してくださいね. 100個のランダム列の識別番号(0から99.配列の)iと,ランダム列iについての一致カウント数niを組にして並べ替えます. (0, n0), (1, n1), (2, n2), ... , (99, n99) を並べ替えるということです. 並べ替えの勉強段階では,単純な数列10, 2, 8, 3, 21, ...のようなものの並べ替えをすると思います. 今回はそれではダメで,次のような並べかえをしなければなりません. 次のような(添字, 値)の列に対して (0, 10), (1, 2), (2, 8), ...

詳細検索ページへ移動する