検索結果 128 件

by バグ
9年前
フォーラム: C言語何でも質問掲示板
トピック: ヒトカラ初挑戦(^o^)/
返信数: 1
閲覧数: 1501

Re: ヒトカラ初挑戦(^o^)/

自意識過剰ではないかと。
自分が思っているほど、他人はあなたを気にしていないので素顔で問題ないですよ。
by バグ
9年前
フォーラム: C言語何でも質問掲示板
トピック: C#.netのフォームとコントロールの調整について
返信数: 10
閲覧数: 12736

Re: C#.netのフォームとコントロールの調整について

失礼、リサイズではなくて、スケーリングでしたね。先ほどの書き込みは忘れてください・・・。
by バグ
9年前
フォーラム: C言語何でも質問掲示板
トピック: C#.netのフォームとコントロールの調整について
返信数: 10
閲覧数: 12736

Re: C#.netのフォームとコントロールの調整について

フォームのサイズに合わせてコントロールの大きさを変えるだけならば、Anchorプロパティでいけると思いますが、残念ながらフォントサイズまで同時にリサイズはされません。

ですので、そういうコントロールクラスを自作するか、そういう処理を組み込むしかないかと思いますよ。
by バグ
9年前
フォーラム: C言語何でも質問掲示板
トピック: [c#]dxライブラリとwebbrowser
返信数: 9
閲覧数: 4150

Re: [c#]dxライブラリとwebbrowser

少し記事が古いですが、ここが参考になるかと思います。
by バグ
10年前
フォーラム: C言語何でも質問掲示板
トピック: いまさら WPF (Windows Presentation Foundation)
返信数: 3
閲覧数: 2079

Re: いまさら WPF (Windows Presentation Foundation)

VisualStudioという便利な開発環境がありますよ。
by バグ
10年前
フォーラム: C言語何でも質問掲示板
トピック: クラス先からDataGridViewに書き込みたい C#
返信数: 1
閲覧数: 2908

Re: クラス先からDataGridViewに書き込みたい C#

dataGridView_ComicDataはForm1クラスに貼り付けているのでしょうか? もし、そうだとしたら、Form1クラスとclsReadクラスは別のクラスですから直接・・・というのはできないですね。 1:clsReadクラスに、読みこんだデータを保持する為のプロパティを追加する。そこから読みこんだデータを取り出す。 2:comicDataReadメソッドの引数にList<string>みたいな感じで保持用の引数を追加する。そのListから読みこんだデータを取り出す。 3:comicDataReadメソッドの引数にDataGridViewを追加する。 4:もういっそのこと、Form1...
by バグ
10年前
フォーラム: C言語何でも質問掲示板
トピック: ジェネリックスの制約条件について
返信数: 6
閲覧数: 2914

Re: ジェネリックスの制約条件について

私も似たような事で不便を感じて色々検索したことがありました。
おそらく、こんな事をしたいんじゃないかなぁ・・・というのを紹介しているとこがありましたので紹介しておきます。

http://ufcpp.net/study/csharp/sm_genericop.html
http://ap.atmarkit.co.jp/bbs/core/fdotnet/25496?page=1

正直、C++と比較するとかなり面倒くさく感じますが、言語仕様なので仕方ないのかな・・・(^_^;)
by バグ
10年前
フォーラム: C言語何でも質問掲示板
トピック: かわりにプログラミングしてください。
返信数: 5
閲覧数: 2826

Re: かわりにプログラミングしてください。

まぁ、少なくとも去年の学生さんは4610さんよりも、「自分で調べて解決する能力」には長けていたんでしょうね。
それは、プログラムを勉強する上で非常に大切な能力だとは思いますけどね・・・。

他力本願にしたり、他人のせいにしたりしているうちは、根本的な解決はしないし、進歩もありませんよ。
by バグ
10年前
フォーラム: C言語何でも質問掲示板
トピック: 自機と敵機の角度を取得するには
返信数: 3
閲覧数: 2687

Re: 自機と敵機の角度を取得するには

こちらが参考になるかもしれません。

http://otsuiti2.web.fc2.com/menu/sn/sankaku.htm
by バグ
10年前
フォーラム: C言語何でも質問掲示板
トピック: c#フォームの移動
返信数: 2
閲覧数: 3341

Re: c#フォームの移動

http://www.atmarkit.co.jp/fdotnet/dotne ... trols.html

ここも参考になりそうなので追加しておきます。
by バグ
10年前
フォーラム: C言語何でも質問掲示板
トピック: c#フォームの移動
返信数: 2
閲覧数: 3341

Re: c#フォームの移動

http://d.hatena.ne.jp/among_ev/20101023/1287829524

同じサイトかな?ここに書かれている方法でいけると思います。
ただ、フォーム上のコントロールが多数だとちょっと面倒かも・・・。
by バグ
10年前
フォーラム: C言語何でも質問掲示板
トピック: MFC CStringの中身をファイルに書き出したいのですが。
返信数: 5
閲覧数: 11292

Re: MFC CStringの中身をファイルに書き出したいのですが。

解決はしているようなので、あくまで個人的な趣味の話ですが・・・。
数値→文字列変換はCStringクラスのメンバであるFormat関数を使うと非常に楽です。
by バグ
10年前
フォーラム: C言語何でも質問掲示板
トピック: [C#]コントロール間の連携
返信数: 4
閲覧数: 5173

Re: [C#]コントロール間の連携

>>1.ツリービューにコンストラクタを持たせ、そのコンストラクタに
タブコントロールを渡し、いじくる
>>2.イベントを実装する(まったく分からない)

基本は2ですね。
というか、個人的には1は論外です。

一番分かりやすいのは、「TreeViewでダブルクリックイベント発生→Formにてイベントを検知→FormからTabControlの処理を行う」という流れかと思います。


イベントの実装が分からないということですが、ボタンクリックイベントとかの実装をしたことはありますか?
by バグ
10年前
フォーラム: C言語何でも質問掲示板
トピック: なぜか自作プログラムの画面が真っ白になりました。
返信数: 5
閲覧数: 2768

Re: なぜか自作プログラムの画面が真っ白になりました。

"test.txt"というファイルが使いまわされているのが原因ではないでしょうか?

CマインスイーパーDocクラスのLoadSettingという関数で、設定を読み出していますが、同クラスのSaveRecordという関数内で全く関係なさそうな値を、"text.txt"ファイルへ書き出しています。
そして、次の起動時にLoadSettingが呼び出された際に読み出しに失敗して、変数の初期化に失敗しています。
by バグ
10年前
フォーラム: C言語何でも質問掲示板
トピック: テトリスのブロックロックまでのスライドや落下
返信数: 32
閲覧数: 11311

Re: テトリスのブロックロックまでのスライドや落下

強制着地というのは下キーを押したままでの着地ですよね?

下キーが押されて1段落下移動したその次のフレーム(おそらく約1/60秒後)で実行されたKeyInput関数で下が押されたままで実行されてLockActiveBlock関数が実行されたのでしょう。

つまり、約1/60秒だけ下キーを押して1段落下させた直後にキーを離せばスライドできる状態になるはずです。

おそらく・・・ですが、このプログラムだと左右移動も結構な速さで動くのではないでしょうか?
by バグ
10年前
フォーラム: C言語何でも質問掲示板
トピック: テトリスのブロックロックまでのスライドや落下
返信数: 32
閲覧数: 11311

Re: テトリスのブロックロックまでのスライドや落下

それはMoveActiveBlock関数が呼び出されるタイミングを確認してみてください。 KeyInput関数の中以外に、TimeFunc関数の中でも呼ばれていますよね? TimeFuncの中では、一定時間が経過した際に自動的に落下させるようになっています。 メリモさんの言われる着地した状態というのは、実際にはまだ着地していないのです。一見着地した状態に見えますが、その状況から更に1段落下しようとする(TimerFuncによる動作)際にブロックが重なっていれば移動不可能と判断している訳です。 そこで、メリモさんの言われるスライドさせる(一見着地したように見える状況からでの横移動と解釈しています...
by バグ
10年前
フォーラム: C言語何でも質問掲示板
トピック: テトリスのブロックロックまでのスライドや落下
返信数: 32
閲覧数: 11311

Re: テトリスのブロックロックまでのスライドや落下

合っているかどうかは私には分かりません。
分からないと書かれていたので、試しに動かしてみて、どうしてそうなるのかを確かめてみればどうでしょうか?という返事でした。
トライ&エラーはデバッグの基本です。
by バグ
10年前
フォーラム: C言語何でも質問掲示板
トピック: テトリスのブロックロックまでのスライドや落下
返信数: 32
閲覧数: 11311

Re: テトリスのブロックロックまでのスライドや落下

MoveX(横方向の移動量)が0ではない。
NewX(仮移動させたX座標)が0以上である。
NewXがWORLD_WIDTH(右端)より小さい。

これらの条件を全て満たしていた場合に、CheckHitActiveBlock関数による当たり判定を行い、戻り値が-1の場合にのみ固定です。

デバッガで停止させてみてください。
なんらかの条件を満たしていないはずです。
by バグ
10年前
フォーラム: C言語何でも質問掲示板
トピック: テトリスのブロックロックまでのスライドや落下
返信数: 32
閲覧数: 11311

Re: テトリスのブロックロックまでのスライドや落下

どうやって制御するんですか? コード眺めてても分りません。 http://homepage2.nifty.com/natupaji/DxLib/dxprogram.html#N10 の落ちものゲームです。 着地してもブロックがしばらくスライドできるブロックがもう動かせない→ブロック削除処理→新しいブロック落とす。 それにスライドした結果落ちた時などもあり、複雑でこの制御が分りません。 このコードにはそれがあるんですが、どれに当たりますか? っていうかんじなんですけど、この動かせない判定が分りません。 かなり細かくコード内に日本語で説明が書かれてありますよ? 「動かせない判定」ではなく、「落下...
by バグ
10年前
フォーラム: C言語何でも質問掲示板
トピック: [C#] タブコンテナの無効化
返信数: 1
閲覧数: 1850

Re: [C#] タブコンテナの無効化

テキストボックスの親をアクティブなタブが変更されるたびに毎回切り替えるという方法はいかがでしょうか?(実験していないので意図した通りに動くかどうかは不明で申し訳ないですが・・・)

参考URL
by バグ
10年前
フォーラム: C言語何でも質問掲示板
トピック: C言語でテトリスを作っています。
返信数: 11
閲覧数: 8035

Re: C言語でテトリスを作っています。

C言語の標準ライブラリ以外で使用してもいいものはありますか?
コンソールアプリで作るとしても、ゲームとして形にしたいのであれば・・・

1:任意の位置へ文字を表示する為にカーソル制御が必要ですが、そういう処理はどうする予定ですか?
2:外部からの入力(キーボードかな?)の受け取りはどうする予定ですか?

おそらく、この辺りがハッキリしないと難しいんじゃないかなぁ・・・と。
Windows.hとかconio.hが使用できるなら助言できるんですけど、おそらく使えないでしょうし・・・。
by バグ
10年前
フォーラム: C言語何でも質問掲示板
トピック: C言語でテトリスを作っています。
返信数: 11
閲覧数: 8035

Re: C言語でテトリスを作っています。

non さんが書きました:いたるところに文法エラーがあります。

それはおいといて、Cygwin上で作らなければいけないのですか?
Cygwinを動かしていると言うことは、Windowsなんでしょ?DxLibを使ってはいけないのですか?
開発環境については別に何を使おうが自由なのでは?
コンソールアプリでも全然問題ないと思いますが・・・。
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: C#とDXLibでLoadDivGraph関数を使用して分割読み込みできない
返信数: 4
閲覧数: 3683

Re: C#とDXLibでLoadDivGraph関数を使用して分割読み込みできない

今、環境が手元にないので、ざっと見て気になった個所を・・・

コード:

if (GNum < 11 & loopcnt % 40 == 39)
{
	GNum++; //画像ナンバーを変更
}
ここの判定文あってますか?

コード:

if (GNum < 11 && loopcnt % 40 == 39)
{
	GNum++; //画像ナンバーを変更
}
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: [C#] リストボックスの項目編集
返信数: 3
閲覧数: 9950

Re: [C#] リストボックスの項目編集

そんなにまどろっこしいかな?
私がオカピーαさんの質問を誤読していなければ、下記の3行でいけると思います(^-^)

コード:

// 選択項目のインデックスを取得する
int id = listBox1.SelectedIndex;

// 何も選択されてない場合は何もしない
if (id == -1) return;

// 選択項目のアイテムを新しい文字列に変更する
listBox1.Items[id] = string.Format("Test {0}", id); // 変更したい文字列をここに書く
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: MFCアプリケーションについて
返信数: 3
閲覧数: 1600

Re: MFCアプリケーションについて

ダイアログベースのアプリならば、リソースエディタで編集できませんか? 設定が変更されていなければ、「ソリューションエクスプローラ」に「ソースファイル」、「ヘッダーファイル」、「リソースファイル」、「外部依存関係」・・・などのフォルダが並んでいると思います。その中の「リソースファイル」というフォルダを開くと、更にその中に「****.rc」(****の部分はプロジェクト名だと思われます)というファイルがあるはずなので、それをダブルクリックしてください。 そうすると、「リソースビュー」というのが表示されると思います。更にその中に「Dialog」というフォルダがあるので、その中の編集したダイアログをダ...
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】プログラミングについて 皆さんに訊いてみたかったことなのですが・・・・
返信数: 18
閲覧数: 9309

Re: 【雑談】プログラミングについて 皆さんに訊いてみたかったことなのですが・・・・

1、プログラミングに興味を持ったのはいつであるか、また勉強し始めたのはいつか? 中学生時代に学校に置いてあった(本当に置いてあっただけで、授業では全く使われなかったので先生に頼み込んで土曜日の午後に遊ばせてもらってましたw)、FM-TOWNSというPCで遊びたいがために、書店で購入した「マイコンBASICマガジン」を見たときですかね。F-BASICで書かれたソースを本を見ながら打ち込んだのが最初だったと思います。 勉強し始めたのは・・・高校に入った時に授業用にVX-4というCASIOのポケコンを全員が購入しなければいけなくて、その時にそのポケコンでBASIC言語でゲームを作ることができることを...
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 汎用なコードが書きたい
返信数: 33
閲覧数: 10193

Re: 汎用なコードが書きたい

結局のところ、「どの書籍がオススメですか?」と聞かれたら、「あなたは何をしたいのですか?それによって返答は変わります」としか答えようがないのが皆さんの本音だと思います。 例えば、「○○みたいなゲームをC++で作りたいのですが、オススメの書籍やサイトはありますか?」という質問でしたら、質問者の意図が分かりやすいので答える側からしても返事がしやすいのです。(正直、これでもまで漠然とした質問だとは思いますが・・・) もっと単純にプログラムの入門書というのであれば、下記辺りかなぁ・・・好みはあるでしょうけど。 ビジュアルラーニングC言語入門 ビジュアルラーニング C++入門 C++言語クイック入門&リ...
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 【C#】 コントロールの継承
返信数: 7
閲覧数: 5990

Re: 【C#】 コントロールの継承

開発環境が分からないので、今手元にあるVS2008で説明すると・・・。 プロジェクト(P)  ↓ コンポーネントの追加(N)  ↓ 任意のファイル名を入力(今回だとFileListView.csとかでOK)  ↓ 追加をクリック  ↓ ソースコードを表示させる  ↓ 継承元クラスをComponentからListViewへ変更する(下記参照) public partial class FileListView : Component ⇒ public partial class FileListView : System.Windows.Forms.ListView  ↓ コーディング&ビルドす...
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 初心者です.
返信数: 11
閲覧数: 4318

Re: 初心者です.

うーん・・・いまいち何をしたいのかよくわからないけど、こういうことかな? #include <stdio.h> #include <string.h> #include <ctype.h> void printReverseNumber(char* str, int len) { if (--len >= 0) { char c = *(str + len); if (isdigit(c)) putchar(c); printReverseNumber(str, len); return; } putchar('\n'); } int main(void) { char str[80]; //...
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 自動生成
返信数: 5
閲覧数: 2866

Re: 自動生成

昔作ったCUI版テトリスでよければどうぞ。

http://park.geocities.jp/bugbugbugbug2001/
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 曜日の入力データからその月日をすべて表示するプログラム
返信数: 3
閲覧数: 1608

Re: 曜日の入力データからその月日をすべて表示するプログラム

ほぼ同じ質問が別のサイトにありました。日付は2年ほど前になってますが・・・

http://detail.chiebukuro.yahoo.co.jp/qa ... 1352165553
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: [C#]コードを短くしたい
返信数: 15
閲覧数: 4286

Re: [C#]コードを短くしたい

ピクチャボックスへ表示されてあるイメージは、ファイルから読み込んだ時点の状態のものですので、再度読み込んでやることで解決できそうな気がします。 下記ソースは例外処理などを省いてますので、必要に応じて追加してください。 private void Form1_MouseDoubleClick(object sender, MouseEventArgs e) { // フォームへ貼り付けてあるピクチャボックスで初期化してください PictureBox[] pict = { pictureBox1, pictureBox2, pictureBox3, pictureBox4, pictureBox5 ...
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: [C#]コードを短くしたい
返信数: 15
閲覧数: 4286

Re: [C#]コードを短くしたい

>>もう1点質問というのは、「フォルダの画像が変更されたらダブルクリックで反映できるようにしたい。」
というところです。
単純にFormのダブルクリックイベントに「Refresh」を書けば良いと思っていましたが、
それでは更新されないのでしょうか。

「フォルダの画像が変更されたら」というのは、(ペイントソフトのような)別のアプリで編集をして更新されたらという意味ですか?


>>あと更新しても初期化はされないで、変更した部分だけ画像が変わるようにするには
どのようにすると出来るのでしょうか。

初期化とは具体的にどのような状況を指しますか?
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: [C#]コードを短くしたい
返信数: 15
閲覧数: 4286

Re: [C#]コードを短くしたい

最初に紹介した方法とは違いますが、こんな方法はいかがでしょうか? まず、下記のようなクラスを作成します。 using System; using System.Windows.Forms; public class ImageLocationSelector { /// <summary> /// 画像ファイル1のパス /// </summary> public string ImageLocation1 { get; set; } /// <summary> /// 画像ファイル2のパス /// </summary> public string ImageLocation2 { get; s...
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: [C#]コードを短くしたい
返信数: 15
閲覧数: 4286

Re: [C#]コードを短くしたい

とりあえず、現状のソースコードを掲載することは可能でしょうか?
そうすることで、pieceさんのやりたいことがわかりやすいと思いますので、よろしくお願いします。
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: [C#]コードを短くしたい
返信数: 15
閲覧数: 4286

Re: [C#]コードを短くしたい

どのPictureBoxも同じ動きをするのならば、PictureBoxを継承した独自のクラスを作成するってのはいかがでしょうか?

追加する機能としては・・・

1:2枚の画像をプロパティで設定できるようにする
2:クリックされたら表示されてある画像を切り替える

の2つでいいんですよね?
これが完成したら、表示したいフォームにペタペタ貼り付けて、画像を登録してやるだけでいいはずです。
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体に関して
返信数: 3
閲覧数: 1702

Re: 構造体に関して

考え方を逆転させたほうがすっきりしそうな気がします。

PLAYERという構造体(もしくはクラス)に必要なメンバを持たせて、メンバにはPLAYER型のmとeからアクセスするという形にした方がベターなのではないかと思います。
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: プログラミング作成の所要時間等について。
返信数: 10
閲覧数: 4157

Re: プログラミング作成の所要時間等について。

詳細仕様が決まっていて、なおかつ画像を用意してくれていて、更にC#.NETを使っていいなら、ちょっと余裕を見ても2日でいけそうな気がします。
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: C#+XNAのマップチッププログラム
返信数: 3
閲覧数: 2948

Re: C#+XNAのマップチッププログラム

おっと、書き込みしている間に解決したようですね(^_^;)
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: C#+XNAのマップチッププログラム
返信数: 3
閲覧数: 2948

Re: C#+XNAのマップチッププログラム

XNAを使ったことがないので検討違いな回答だったら申し訳ないのですが・・・ Drawメソッドの中のaとbという変数は何に使っていますか? int a = mapData[y, x] % mapData.GetLength(0);// 横列 int b = mapData[y, x] / mapData.GetLength(1);// 縦列 なんとなく描画先座標のように見えますが、本当に意図した値が代入されていますか? ※蛇足ですが、stringクラスを使用できるのであれば、ファイル読み込みの箇所はもう少し短くできそうです。下記のソースは例外処理などを省いてますので必要に応じて追加してください。...
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 東方文花帖みたいなタイトル画面の作りかた
返信数: 5
閲覧数: 1871

Re: タイトル

これはプログラムの書き方の質問?それとも画像の描き方の質問?
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: OCRの作り方について
返信数: 2
閲覧数: 3183

Re: OCRの作り方について

一般的なOCRでしたら、パターンマッチング処理をあらかじめ登録されてあるフォントデータ全種類に対して行い、一致率の高い順番に2個取り出します。次に一致率がしきい値(たとえば100点満点で80点と以上ならOKみたいなユーザーが設定した値)が超えているかどうかを判別します。この時点で検出結果が1個になった場合はそれを採用、0個になった場合は未検出NGとします。もし、2個のままであれば、その2個の一致率の差分(安定度)を求めて、設定値以上の開きがあれば最も一致率の高い結果を採用して、そうでない場合はNGとします。 今回のようにあらかじめ比較する文字列が分かっているのであれば、OCVツールの方が高速だ...
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: C4669Warningを黙らせたい
返信数: 3
閲覧数: 2328

Re: C4669Warningを黙らせたい

解決したようですが、黙らせるだけなら下記を追記するのも・・・。

#pragma warning (disable:4996)
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 日付の文字列から数値を抜き出す【C言語】
返信数: 2
閲覧数: 3279

Re: 日付の文字列から数値を抜き出す【C言語】

まず、TimeBuf配列に格納されている値を列挙してみます。 TimeBuf[0] = '2' TimeBuf[1] = '0' TimeBuf[2] = '1' TimeBuf[3] = '2' TimeBuf[4] = '/' TimeBuf[5] = '0' TimeBuf[6] = '5' TimeBuf[7] = '/' TimeBuf[8] = '0' TimeBuf[9] = '7' (以下略) 次に_tcsncpy関数を実行している箇所を見直してみましょう。 _tcsncpy(MadeBuf,&TimeBuf[4],(size_t)2); TimeBuf[4]から2文字分コピー...
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題が分かりません。
返信数: 4
閲覧数: 2065

Re: 学校の課題が分かりません。

えっと、まずは、そのプログラムが何をしているのかを説明していただけますか?
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: c# 動的に作成したピクチャーボックスをドラッグして移動する
返信数: 11
閲覧数: 9439

Re: c# 動的に作成したピクチャーボックスをドラッグして移動する

>>他にはどのような方法があるのでしょうか?

PictureBoxそのものではなく、表示してある画像の表示位置を動かすのでは駄目なのですか?
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: C#でのシューティングゲームの作り方
返信数: 2
閲覧数: 3381

Re: C#でのシューティングゲームの作り方

C#ゲームプログラミング

この書籍なんてどうでしょうか?落ち物パズルとシューティングの作り方が紹介されています。

最新の版は分かりませんけど、私の持っているものではVS2005を使用していて少し情報が古いかもしれませんが、基本的な考え方は同じですので、参考になると思いますよ。
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神プログラミングの館10章で躓きました。
返信数: 5
閲覧数: 2717

Re: 龍神プログラミングの館10章で躓きました。

HI魔人 さんが書きました:まさか3分で返信していただけるとは・・・。
文読んだら「ああそっか」ってなりました。
しかし平日によくぞまあ・・・。
学生の方ですかねぇ。
仮に年下で学生だったとしても、その相手は、あなたが分からない事を無償で教えてくれた人です。
憎まれ口をたたく前にお礼を述べて、このスレを解決済みにしましょう。
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: バグの原因は・・・
返信数: 23
閲覧数: 7141

Re: バグの原因は・・・

>>icon01さん あぁ・・・すみません。まだやらかしてましたか(^_^;) とりあえず動きを見る為のサンプルなので、あんまりデバッグ作業を詰めてないです。(ProcessMessageを書き忘れているほどなのでw) 落ち物パズルゲームは割りと敷居は低い方だと思います。 ちなみに、私がプログラムを勉強しはじめて最初に作ったのはコラムスと呼ばれる落ち物パズルゲームでした。 http://dixq.net/sm/ ここに載せてもらっている「ぷよぷよもどき」や「ColorDrop」なんかは(今見ると赤面もののソースコードなのであまり紹介はしたくないのですがw)勉強を始めた初期のころの作品です。よけ...
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: バグの原因は・・・
返信数: 23
閲覧数: 7141

Re: バグの原因は・・・

>>softyaさん
あぁ、やらかしてた・・・失礼しました・・・orz
ただ、こちらのexeが普通に動いてるのも本当なんですよ。
うーむ・・・どうしてなんでしょうね・・・?

まぁ、なんにしても、動いているのが「たまたま」なのは間違いないでしょうけど・・・(苦笑)

という訳で、修正版を再添付します。m(_ _)m
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: バグの原因は・・・
返信数: 23
閲覧数: 7141

Re: バグの原因は・・・

>>softyaさん
あら?こちらの環境では普通に動いているんですが・・・?
うーん、原因がよく分からないので、ソースコード載っけますね。

こちらの環境は、XP、VS2008、DxLib_Ver3.07a・・・です。

※ソースコードのDLは最新のレスからお願いします。
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: バグの原因は・・・
返信数: 23
閲覧数: 7141

Re: バグの原因は・・・

icon01 さんが書きました: g_DeletePanelWとg_DeletePanelHは縦と横を別々に判定して4つ塊があれば勝手に消えるのを防ぐためにしているつもりだったのですが・・・1つで事足りるのでしょうか?

これは以前のスレで私が確認したことですね。
何か必要があって、縦方向と横方向の両方のフラグを持っているのかということですね。
消える場所かそうでないかの管理だけであれば1つでいいのでは?という意味です。

バグ さんが書きました: 横方向に並んで消える、縦方向に並んで消えるという情報は必要なのでしょうか?
それとも消えるか消えないかの情報だけでも構わないのでしょうか?
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: バグの原因は・・・
返信数: 23
閲覧数: 7141

Re: バグの原因は・・・

私なりの解釈でサンプルを作成してみたのですが、最終的に目指している動きはこんな感じ(添付exeファイル参照)でしょうか?

※ソースコードを提示することは可能ですが、かなりの部分を私の都合の良いように改造してしまっているのであまり参考にならないかもしれません。

※不具合がありましたので、サンプルのDLは最新のレスからお願いします。
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 4つそろったら消えるプログラム(再)
返信数: 25
閲覧数: 6325

Re: 4つそろったら消えるプログラム(再)

>>そもそも、ClearDrawScreen() == 0をwhileループの条件に入れる意味はないように思えるのですが・・・。

こちらのプロジェクトでは重ならずに普通に描画されていますが・・・?

>>相変わらず鉄のブロックは出現した後初期化しても消えてくれません。
>>それと、鉄のブロックはBlock[9]ではなくBlock[7]ですね、今気づきました。

すみませんが、どう動いて、どう描画されたら正しいのかをもう一度、細かく、具体的に書いていただけませんか?

icon01さんの頭の中の完成図は私には見えませんので・・・
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 4つそろったら消えるプログラム(再)
返信数: 25
閲覧数: 6325

Re: 4つそろったら消えるプログラム(再)

WinMain関数のwhileループの条件を while (ProcessMessage() == 0 && g_flag == 0 && ClearDrawScreen() == 0) としてみてください。 あと、DrawStage関数のループ内も下記でいいと思います。 if (g_DeletePanelW[h][w] == 0 && g_DeletePanelH[h][w] == 0) { SetDrawBlendMode(DX_BLENDMODE_ALPHA, 224); DrawGraph(w * 32, h * 32, g_Block[g_Panel[h][w]], TRUE); S...
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 4つそろったら消えるプログラム(再)
返信数: 25
閲覧数: 6325

Re: 4つそろったら消えるプログラム(再)

1:4つ以上同じブロックが並んでいる箇所を見つける ・・・ おそらく出来ているだろう。

2:1で検出された箇所へ、「空白のブロック」を描画する(ようするに今描画されているブロックを消してください) ・・・ 出来ていますか?

3:1で検出された箇所へ、「新しいブロック(今回だと★?)」を描画する ・・・ 出来ていますか?


全体の流れを追いかけるほどは読み込んでいないので、なんとなくで書いてますが、重ねて描画されるとしたら、2が抜けてるような気がします。


※パネポンみたいなゲームを目指しているのでしょうか?
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 4つそろったら消えるプログラム(再)
返信数: 25
閲覧数: 6325

Re: 4つそろったら消えるプログラム(再)

縦もしくは横に4つ並んだ箇所にチェックを入れる関数のサンプルです。 SearchDeleteBlock関数を呼び出してやることで、g_Vanish配列の消去箇所に対応する箇所が0から1に変化します。あとは、1になった箇所に対して消去処理をおこなってやればOKのはずです。 //============================================================================================== // 定数 //===========================================================...
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 4つそろったら消えるプログラム(再)
返信数: 25
閲覧数: 6325

Re: 4つそろったら消えるプログラム(再)

横方向に並んで消える、縦方向に並んで消えるという情報は必要なのでしょうか?
それとも消えるか消えないかの情報だけでも構わないのでしょうか?
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: C#でForm1からForm2を開き・・・
返信数: 4
閲覧数: 3264

Re: C#でForm1からForm2を開き・・・

とりあえず・・・ですが、こんな感じですかね。 // Form1 public string TEXT; private void button1_Click(object sender, EventArgs e) { using (Form2 f2 = new Forms2()) { f2.TEXT = TEXT; // ※Form1のTEXTの値でForm2のTEXTを初期化したい場合にはこの行を追加すること f2.ShowDialog(); TEXT = f2.TEXT; } } // Form2 public string TEXT { get { return textBox1.Tex...
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: ダイアログベース ピクチャーボックスのサイズについて。
返信数: 9
閲覧数: 6231

Re: ダイアログベース ピクチャーボックスのサイズについて。

あぁ・・・みんな思うことは同じなんですねぇ・・・。 私も昔「GetClientRectはあるのに、SetClientRectがないのはどういう了見だ!!」とか思ったことありますw そんなこんなで、作ったのが下記のような関数。 OnInitDialog辺りで設定したいコントロールクラスに対して使うと幸せになれるかもしれません。 VOID SetClientRect(CWnd& wnd, CSize size) { CRect window; wnd.GetWindowRect(window); CRect client; wnd.GetClientRect(client); size.cx = ...
by バグ
11年前
フォーラム: マイコン/FPGA電子工作部
トピック: マイコン色々ご相談所。
返信数: 27
閲覧数: 18364

Re: マイコン色々ご相談所。

ありがとうございました。
とりあえず、全バージョン試してみることにします(^_^;)
動作を確認してみて、それっぽいものを現行バージョンとすることにします(苦笑)
by バグ
11年前
フォーラム: マイコン/FPGA電子工作部
トピック: マイコン色々ご相談所。
返信数: 27
閲覧数: 18364

Re: マイコン色々ご相談所。

コンパイラはgccで、書き込みにはH8Writeという基板についてきたCDに収録されていたツールを使用しています。
by バグ
11年前
フォーラム: マイコン/FPGA電子工作部
トピック: マイコン色々ご相談所。
返信数: 27
閲覧数: 18364

Re: マイコン色々ご相談所。

おぉ・・・HEWにはそんな便利な機能があるのですか・・・
HEWを使ったことがないので、知りませんでした。
HEW無しでは難しいのでしょうか?
by バグ
11年前
フォーラム: マイコン/FPGA電子工作部
トピック: マイコン色々ご相談所。
返信数: 27
閲覧数: 18364

Re: マイコン色々ご相談所。

可能か不可能かも分からないのですが・・・。
今現在H8マイコンに書き込まれてあるバイナリと、PC内にある書き込み前のバイナリを比較することって可能なのでしょうか?
とある案件を引き継いだものの、ソースコードにバージョンがいくつもありまして、今どれが動いているのやら・・・という状態なのです・・・書いた本人には訳あって連絡が取れません(^_^;)

FPGAなんかだとコンペアできすよね?
H8マイコンでもあんな感じで比較できないかなぁ・・・と思って質問させてもらいました。

あ、H8-3069Fという基板を使ってます。
よろしくお願いしますm(_ _)m
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: [C#]配列にデータを入れる方法
返信数: 6
閲覧数: 3456

Re: [C#]配列にデータを入れる方法

こういうことかな? とりあえず、情報がなくて不明な箇所は勝手な解釈で補完して書いてみました。 namespace game { class Program { // 仮に全3ステージ、ステージの広さを10*10とする const int STAGE_MAX = 3; const int STAGE_WIDTH = 10; const int STAGE_HEIGHT = 10; enum Map { NOTHING, STONE, GOAL } class Field { public Map[,] map = new Map[STAGE_WIDTH, STAGE_HEIGHT]; } sta...
by バグ
11年前
フォーラム: C言語何でも質問掲示板
トピック: 2次元配列のランダマイズについて
返信数: 4
閲覧数: 3452

Re: 2次元配列のランダマイズについて

std::pairを使ってはいかがでしょうか? #include <vector> #include <iostream> #include <algorithm> #include <ctime> int main(void) { // 乱数シードの準備 srand((unsigned)time(NULL)); // 最初のシャッフル std::vector<std::pair<int, int>> vec1 = std::vector<std::pair<int, int>>(10); for (int i = 0; i < 10; ++i) { vec1[i] = std::pair<i...
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C#でDXLib使用についてです。
返信数: 4
閲覧数: 3117

Re: C#でDXLib使用についてです。

ん?DxLibを使ってるのにフォームアプリでいいの?
まぁ、問題はないんだけど・・・意図的にやっているのかが、ちょっと気になりますな。
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 知恵をお貸しくださいm(_ _)m
返信数: 4
閲覧数: 1671

Re: 知恵をお貸しくださいm(_ _)m

趣味の問題かもしんないけど、main関数に全部突っ込むと、あとで不具合があったり、改造したいときがきて見直す時に困ったことになりやすいので、細かく関数化しておいたほうが後で楽できるかもしれません・・・ #include <stdio.h> #include <stdlib.h> int setName (char* name) { // 名前入力 printf ("名前を入力してください⇒"); scanf (" %s", name); // コマンド入力 int cmd = 0; printf ("それでいいですか?Yes:1 No:2⇒"); scanf (" %d", &cmd); //...
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: お願いします
返信数: 9
閲覧数: 3033

Re: お願いします

>>【補足の補足】
と見直したら、バグさんのプログラムでxとyが入れ替わっているのと480までのガードが入って無かったですね。C.Cさんが直して見下さい。


あ・・・普通にやっちまってた(笑)
補足ありがとうございましたm(_ _)m
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: お願いします
返信数: 9
閲覧数: 3033

Re: お願いします

こんな感じかな?コンパイルしてないので、ひょっとしたらエラーが出るかもしれませんがご勘弁を・・・ ただ、個人的にはこういう場合にLoadGraphScreen関数を使用して毎回ファイルから画像をロードするのは、処理は重くなるし、ハードディスクへの負担も大きいしで、あまり良い事はないと思います。 なので、本来であれば、LoadGraph関数を使用してメモリに展開しておいた方がいいかなぁ・・・と思います。 #include "DxLib.h" int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLin...
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: わからない問題
返信数: 7
閲覧数: 3487

Re: わからない問題

とりあえず1だけ・・・

コード:

static void Main(string[] args)
{
    foreach (int i in Enumerable.Range(0, 10000).Where(n => n == Math.Pow(n / 100 + n % 100, 2)))
        Console.WriteLine(i.ToString("0000"));
}
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: ビットでフラグ管理
返信数: 15
閲覧数: 6123

Re: ビットでフラグ管理

ビットフィールドを使用するのもいいかもしれませんね。 下記のソースは、unsigned charのサイズが8ビットである環境なら動くと思います。 #include <stdio.h> union BIT8 { unsigned char BYTE; struct { unsigned char B0 : 1; unsigned char B1 : 1; unsigned char B2 : 1; unsigned char B3 : 1; unsigned char B4 : 1; unsigned char B5 : 1; unsigned char B6 : 1; unsigned cha...
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: クリックできない。。。
返信数: 3
閲覧数: 1834

Re: クリックできない。。。

解決はしてるみたいだけど、本当に大丈夫?
今のままだと、このイベントハンドラが呼び出されるたびにFormOptionが増えていくよ?
それが意図した動きであるのならば、問題ないだろうけど・・・
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C# ファイルの保存のやりかた
返信数: 3
閲覧数: 3849

Re: C# ファイルの保存のやりかた

OpenFileDialogはあくまでもファイルの保存先パスを設定&取得するためのものであり、保存処理自体は自分で実装しなくてはいけません。ですので、保存先のパスが事前に分かっている場合には、stringクラスへ直接パスを格納してファイルをオープンすればいいだけですので、OpenFileDialogを使用する必要はありません。
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 乱数をもちいた確率問題
返信数: 6
閲覧数: 3477

Re: 乱数をもちいた確率問題

>>「1等、2等、3等と書いているボールがそれぞ3個あります。これらから無作為に2個とりだし、2個とも1等である確率を求める。」 1等、1等、1等、2等、2等、2等、3等、3等、3等 最初の状態は、上記のような状態で9個のボールがあるわけですね。 まず、ここから無作為に1個取り出した時に1等が出る確率は3/9、つまり1/3です。 1等、1等、2等、2等、2等、3等、3等、3等 残りはこの8個のボールです。 ここから同じように無作為に1個取り出した時に1等が出る確率は2/8、つまり1/4です。 ですから、2個とも1等が出る確率は、1/3 × 1/4 = 1/12となります。 これをプログラムで表...
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C言語の出力について
返信数: 20
閲覧数: 5731

Re: C言語の出力について

今の質問文だけでは、答えようがないと思いますよ。
利用規約をよく読んでいただいて、それに沿ってもう少し具体的に質問をしていただければ答えてくれる人がいるかもしれません。
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: データグリッドビューとSQL Server
返信数: 1
閲覧数: 1310

Re: データグリッドビューとSQL Server

私自身はデータベースとの連携の経験に乏しいのですが、以前購入した本に分かりやすく解説されていたのを思い出しましたので、こちらをオススメします。

購入されてみてはいかがでしょうか?

Visual C# 2005 [実践]プログラミングテクニック 谷尻豊寿【監修】 谷尻かおり【著】
http://www.hmv.co.jp/product/detail/3244993
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 方向を示す画面
返信数: 27
閲覧数: 8403

Re: 方向を示す画面

>>正直私の感覚ではひずみゲージからの値は取得できていないという状況で正しいと思います. 問題を整理して落ち着いて考えましょう。 ではどうやったら取得できるのですか? まず一番に必要になるのは、値の取得方法じゃないのですか? 現状はどういう方法でパソコンにデータを送信していますか? なんかしらのケーブルでつながっていると思われますが、そういう情報は出せませんか? ひずみゲージを出力する機械は既製品でしょうか?それとも完全なる自作品でしょうか? もし、既製品だったら、メーカーと型番が分かればそこから情報を引っ張り出せると思いますし、場合によっては、メーカーのサポートセンターに電話してみるのもいい...
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: C++の問題
返信数: 9
閲覧数: 3266

Re: C++の問題

のはっぴー さんが書きました:先ほど先生に見せに行きましたが、間違っていると言われました。
どこが間違っているかは教えてもらえず、自分でやれと言われました。

もうパニックです。質問でも言いましたが、省略はなしでお願いします。

何を書かれても、ここの掲示板では丸投げに対する回答は禁止されていますので、まずは自分で書いてとりあえず完成したというプログラムコードを載せましょう。

そうでないなら、玉川大学の先生に食いついてでも教えてもらいましょう。
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 席替えのプログラム
返信数: 9
閲覧数: 6060

Re: 席替えのプログラム

さっき、私が質問したことを考慮しない場合はこんな感じかな? ランダムで入れ替えるだけの運任せなアルゴリズムなので、お手本にはならないでしょうけどwww とりあえず、四面楚歌にならないように席替えしてくれますよ。 #include <time.h> #include <stdio.h> #include <stdlib.h> #define YOKO 6 #define TATE 7 #define DANSHI 19 #define JYOSHI 18 #define NINZU 37 // 男女をランダムにシャッフル void danjyo_shuffle(int* pseki) { for...
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 席替えのプログラム
返信数: 9
閲覧数: 6060

Re: 席替えのプログラム

男性と女性の人数は固定?可変?
それから四面楚歌の定義は前後左右に異性しかいない状態ということでよろしいですか?


あと、端っこの四面楚歌はどう考えたらいいですか?

男女男
男男男
こういう状況は女の子にとっては四面楚歌ですか?



男女
女女
こういう状況は男の子にとっては四面楚歌ですか?
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを使用した文字反転処理
返信数: 3
閲覧数: 1952

Re: ポインタを使用した文字反転処理

穴埋め問題なので、埋めてしまうと答えそのまんまになりますので、ちょっと形を変えてみました。 コメントを入れてありますので、順番に処理を追いかけていってみてください。 #include <stdio.h> #include <string.h> #define MAX_WARD 256 // 文字列の反転処理 void reverse(char* pStrIn, char* pStrOut, int nStrLen) { pStrIn += (nStrLen - 1); *(pStrOut + nStrLen) = '\0'; for (int i = 0; i < nStrLen; ++i) ...
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: クラスの使い方について
返信数: 6
閲覧数: 2527

Re: クラスの使い方について

そうなると・・・

1:objを素直にグローバルにする
2:MyClassをシングルトンにしてしまう
3:設計を見直す

のいずれかでしょうか?
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: ガウスの消去法no
返信数: 2
閲覧数: 1949

Re: ガウスの消去法no

こちらのサイトは参考になりませんか?

http://pc-physics.com/gauss1.html
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: クラスの使い方について
返信数: 6
閲覧数: 2527

Re: クラスの使い方について

こういうことでしょうか?

コード:

void callback(MyClass& obj)
{
	// ここでobjを利用したい
	// 例えば
	obj.m_func();  // 
}
 
int main(void)
{
	Init();  // MyClassのコンストラクタ内の処理はこの後に来る必要がある。
	MyClass obj(arg1, art2, ...);  // コンストラクタは引数を取る
	callback(obj);
}
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 教えてください
返信数: 5
閲覧数: 2431

Re: 教えてください

こんな感じかな? 例外処理とか一切入れてませんので、必要に応じて追加してみてください。 Sub Main() Console.Write("aとbの値を入力せよ⇒") Dim str() As String = Console.ReadLine().Split() Dim a As Integer = Int32.Parse(str(0)) Dim b As Integer = Int32.Parse(str(1)) Dim i As Integer = 0 For i = a To b Step IIf(a < b, 1, -1) Console.Write("{0} ", i) Next ...
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の文字列を1つの配列に格納するプログラム
返信数: 12
閲覧数: 13625

Re: 複数の文字列を1つの配列に格納するプログラム

改行文字を無視する必要がないのであれば、fgetsで読み取った文字列をstrcatを使用して連結していけばいいと思いますよ。 #include <stdio.h> #include <string.h> #define STR_LEN 85 // 1行の最大文字数 #define BUF_SIZE 4096 // ファイル全体の最大文字数 int main(void) { FILE* fp; // ファイルポインタ const char* name = "test_r.txt"; // 読み取りファイル名 int i = 0; // 繰り返し用 char line[STR_LEN] = {0,...
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 複数の文字列を1つの配列に格納するプログラム
返信数: 12
閲覧数: 13625

Re: 複数の文字列を1つの配列に格納するプログラム

jayさんの書き込みに更にプラスということになりますが・・・ fgets関数は改行文字まで読み込んでしまいますので、そのまま連続して表示しようとしても改行されて表示されてしまいます。 ですので、fgetcとかで1文字ずつ読み込んでいき、改行文字だったら何もしない・・・みたいな方法のほうが楽なのではないかなぁ・・・と思うのですがいかがでしょうか? #include<stdio.h> #include <string.h> #define BUFFER_SIZE 4096 // ファイルの最大文字数 int main(void) { FILE* fp; // ファイルポインタ const char...
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 画像を2値化する
返信数: 8
閲覧数: 6549

Re: 画像を2値化する

初心者だというのは免罪符ではありません。
書店に出向き、実際に手にとって、自分にとって分かりやすい書籍を自腹で購入して、必死に勉強することをオススメします。


というか、「画像処理」をキーワードにググるだけでも結構な数がヒットしますけどね。
分かりやすそうなところを紹介しときます。

サイト
http://homepage2.nifty.com/tsugu/sotuke ... ec3-2.html
http://msdn.microsoft.com/ja-jp/academic/cc998604
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 特定のキーが押されるまで待つ
返信数: 5
閲覧数: 8976

Re: 特定のキーが押されるまで待つ

>>ISLeさん
>>WaitKey関数を実行中にアプリが終了する可能性を考慮しないと無限ループに陥ることはありそうですけど。

そうですね、たしかに今回はそこまで考慮しておりません。
ただ、今回の質問に対しての回答という意味では問題ないかと・・・(別に意地悪で書いている訳ではありませんよ(汗))
もし、そこまで必要だというのであれば、a5uaさんの提案されている状態遷移を取り入れるのがベターでしょう。
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 特定のキーが押されるまで待つ
返信数: 5
閲覧数: 8976

Re: 特定のキーが押されるまで待つ

待機するだけでしたら、下記のようにWaitKey関数を使えばいいのではないでしょうか?
WaitKey関数でしたら、待機中もProcessMessage関数が実行されていますから、固まってしまうことはないと思います。

コード:

for (; ;)
{
	int key = WaitKey();
	if (key == KEY_INPUT_RETURN || key == KEY_INPUT_SPACE)
	{
		break;
	}
}
by バグ
12年前
フォーラム: マイコン/FPGA電子工作部
トピック: マイコン色々ご相談所。
返信数: 27
閲覧数: 18364

Re: マイコン色々ご相談所。

8bitタイマー疑惑がビンゴでした。
timer1_registの第2引数を0xFFにして、ハンドラの中で12回に一度カウントアップしてやると、ほぼ正確に1秒ごとに処理をされているようです。
助かりました、ありがとうございました(^-^)
by バグ
12年前
フォーラム: マイコン/FPGA電子工作部
トピック: マイコン色々ご相談所。
返信数: 27
閲覧数: 18364

Re: マイコン色々ご相談所。

ボードの仕様を見てみると、16bitタイマが3チャンネル、8bitタイマが4チャンネルという仕様になっていますね。 確かに、「0番はユーザーの使用を禁止する」と書かれていたので、全部で4チャンネルないとおかしい・・・ってことは8bitっぽいですね。 8bitということは、0x00~0xFFまでしかカウンタが有効ではないということですね。 となると、MAXでも、0.32768×255=83.5584ミリ秒しか計測できないということですか・・・ ということは、割り込み周期をMAXにして1秒を計測するとなると、1000÷83.5584=11.9676・・・約12回に一度カウントアップしてやれば1秒に...
by バグ
12年前
フォーラム: マイコン/FPGA電子工作部
トピック: マイコン色々ご相談所。
返信数: 27
閲覧数: 18364

Re: マイコン色々ご相談所。

リファレンスを見る限りでは、16bitタイマーの設定用関数のようですので、16bitだと思われます。
by バグ
12年前
フォーラム: マイコン/FPGA電子工作部
トピック: マイコン色々ご相談所。
返信数: 27
閲覧数: 18364

Re: マイコン色々ご相談所。

タイマーは1番を使用しています。 不要な部分をざっくりと削ったソースを載せておきますね。 #include <h8/syscall.h> #include <h8/reg3067.h> void timer_proc(void) { P1DR = (P1DR == 0x00) ? 0x0F : 0x00; } void main(void) { // 出力ポートの初期化 P1DDR =0x0F; P1DR = 0x0F; // 割り込み開始(理論上は1秒毎に発生するはず?) timer1_regist(timer_proc, 3051); // 本来は制御処理をおこなう無限ループ while ...
by バグ
12年前
フォーラム: マイコン/FPGA電子工作部
トピック: マイコン色々ご相談所。
返信数: 27
閲覧数: 18364

Re: マイコン色々ご相談所。

今回は質問させてください。 まず、AKI-H8/3069Fというマイコンボードキットを使用しています。 開発はC言語で、付属のCD-ROMに入っていたcygwinとGCCでコンパイルして、H8WriteTurboで書き込みしています。 やりたいことは、ある入力ポートの信号が有効になったら、ある出力ポートを決められた時間(10秒ほど)だけ有効にしたいというものです。ただ、その信号を出している間も別の処理をしたいため、システムコールのsleepのように処理を占有してしまうようなのは困るのです。 そこで、付属のリファレンスに記載されていたシステムコールのtimer?_registerを使ってみました...
by バグ
12年前
フォーラム: マイコン/FPGA電子工作部
トピック: マイコン色々ご相談所。
返信数: 27
閲覧数: 18364

Re: マイコン色々ご相談所。

HEWの評価版の60日縛りは、RunAsDateでゴニョゴニョすればいけそうな気もしますが・・・w

ちなみに前任者はずっとコマンドラインでやってきたみたいなので、黄色いマニュアルに載っているやり方しか知らないみたいです。
とりあえず、今回のお仕事は簡単な内容らしいし、コマンドラインでガリガリやるとして、今後があるのならばHEWの導入を検討しようかな?見た目がVisualStudio6.0っぽくて、個人的には非常に馴染みやすそうなんですよね。
by バグ
12年前
フォーラム: マイコン/FPGA電子工作部
トピック: マイコン色々ご相談所。
返信数: 27
閲覧数: 18364

Re: マイコン色々ご相談所。

今度、仕事でH8マイコン(H8/3069F)のプログラムを書くことになりそうです。
一応、付属していたCDにコンパイラはついているようですが、コマンドラインで色々とやらないといけなくて面倒だなぁ・・・と。
それで、何かいいものが落ちてないかな?とネットをウロウロしていたら、H8マイコン用のIDEって色々あるんですねぇ・・・。
そんな訳で質問なのですが、皆さんは何を使用していますか?オススメの環境とかありますか?
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: 【至急】RLC並列回路のプログラム教えてください.
返信数: 2
閲覧数: 1471

Re: 【至急】RLC並列回路のプログラム教えてください.

プログラムにする前の段階として、自分で計算する際にはどのように計算するかを考えてみてください。
要はそれと同じに動くようにプログラムを書けばいいだけなのです。
ですので、まずは計算の手順を詳細にここに書きだしてみてください。そのうえでプログラムへ変換するのに分からない箇所を質問すればこたえてくれる人が出てくるかもしれません。もし、それがわからないというのであれば、先生、上司、書籍、ネット検索、などを駆使してご自身で調べましょう。話はそれからです。
by バグ
12年前
フォーラム: C言語何でも質問掲示板
トピック: フォーマットを指定して、10進数を16進数に変換したい
返信数: 13
閲覧数: 4703

Re: フォーマットを指定して、10進数を16進数に変換したい

こんなのはどうでしょう?
unsigned charが1Byte、intが4ByteのVC++6.0の環境では動きました。

コード:

#include <stdio.h>

int main(void)
{
  int i = 0;
  int d = 5000;

  for (i = 0; i < sizeof(int) / sizeof(unsigned char); ++i)
    printf("0x%02x\n", ((unsigned char*)&d)[i]);

  return 0;
}
出力結果
0x88
0x13
0x00
0x00

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