14/01/07 21:15:46.23
>>1 リンク先間違えていました。ごめんなさい。
C言語なら俺に聞け(入門編)Part 123
スレリンク(tech板)
3:デフォルトの名無しさん
14/01/07 21:51:15.40
過去スレなんて見るやついないから別にいいよ
4:デフォルトの名無しさん
14/01/07 22:35:42.63
time()でプログラムの一定範囲の実行時間を調べたい場合、
time()自身の時間も加算してるんですか?
5:デフォルトの名無しさん
14/01/07 22:47:14.67
>>4
秒単位だしtime()自身の実行時間は気にしなくていいのでは
6:片山博文MZコスモ ◆T6xkBnTXz7B0
14/01/07 22:48:07.37
time()やclock()は精度低い
Winならパフォーマンスカウンタ、Linuxならgetrusage()使え
7:デフォルトの名無しさん
14/01/07 23:21:07.95
このスレ親切すぎワロタwww
8:デフォルトの名無しさん
14/01/07 23:24:00.34
>>6
ありがとう!使ってみるわ
9:デフォルトの名無しさん
14/01/08 14:34:19.18
ビットマップ画像のピクセルごとのRGBの値を抜き出すプログラムを作りたいのですが、どうにも上手くできません。参考になるサイトがあったら教えてください。ちなみに使ってるのはLinuxです
10:デフォルトの名無しさん
14/01/08 14:39:23.31
libjpeg のソースの中に居たような...
11:デフォルトの名無しさん
14/01/08 15:05:48.62
結局前回の最後で示した構造体で、バ片山はどうやってセットオプションを実現するつもりだろうな。
int printsetoption( int head , int shirt , int arm , int pants , int boots , int armor , int belt , int shoulder )
{
return 0;
}
こうやって装備を渡したらどのセットオプションが発動するかどうか判定して
printfで表示するだけのコードでいいから書いてみて欲しい。
12:デフォルトの名無しさん
14/01/08 15:20:37.10
ファイルを開くときにダイアログが非常に重いのは理由がありますか?
C言語のソースコードを上書き保存するときはショートカットで済みますが
新規で保存する場合、ダイアログが開くのが非常に遅いです。
何とかなりませんかね?使ってるエディタはメモ帳、tredpadです。
13:デフォルトの名無しさん
14/01/08 15:45:18.33
>>9
スレリンク(tech板:35番)
14:デフォルトの名無しさん
14/01/08 15:48:57.73
>>12
1)保存先ディレクトリにファイルが超多い
2)保存先にリンク先のないショートカットとか変なファイルがある
3)HDDがへたってきてアクセスが遅い
4)保存先がリムーバブルメディアまたはネット
5)保存ダイアログの不要なエディタ使う。viとか
15:デフォルトの名無しさん
14/01/08 15:52:15.97
>>11
配列か構造体にしてアドレス渡せよw
16:デフォルトの名無しさん
14/01/08 16:08:02.51
>>14
いや一般的に遅いのは何故かなと、タブを切り替えるくらい早く
ならないのは何故でしょうか?
17:デフォルトの名無しさん
14/01/08 16:11:40.21
>>15
そうしたらまた配列か構造体を宣言しなきゃならないだろ
装備の配列or構造体も影響する話じゃないの?
18:デフォルトの名無しさん
14/01/08 16:17:52.51
装備よりダメ計算のほうが気になる
RPGのダメってだいたいブレるけど、あれってどうやって実装してんの?
攻撃力と防御力で算出されたダメの±10%とか?
19:デフォルトの名無しさん
14/01/08 16:45:15.71
>>13
ありがとうございます!
……でも、画像をそのまま変換したいんじゃなくて、抜き出したRとGを計算したいんですよね……
20:デフォルトの名無しさん
14/01/08 17:20:08.10
ビットマップの仕様なんて検索すればいくらでも出てくるだろ
俺がDDSからBMPに変換するライブラリ作ったときは誰にも質問しなかったぞ
21:デフォルトの名無しさん
14/01/08 17:33:36.62
>>20
いや、俺はあなたじゃないんでそんなこと言われても困ります
22:デフォルトの名無しさん
14/01/08 17:35:57.19
まじめにやると
色空間と トップダウン/ボトムアップ配置と 圧縮(ランレングス) への対応
後者側ほど省略(条件を限定しちゃう)されることが多いな
23:デフォルトの名無しさん
14/01/08 17:38:42.97
画像のフォーマットくらい自分で調べてるだろうよ。
C言語も使える、画像のフォーマットも分かる、これでできないということはまさに「馬鹿には無理」
諦めろ。
24:デフォルトの名無しさん
14/01/08 17:52:10.86
>>18
どうせ運ステータスとかあるでしょ
運ステータス使えば?
25:デフォルトの名無しさん
14/01/08 18:29:24.12
プログラム組んでるとパソコンのファンの音がうるさくなります。
またプログラムの実行時間が遅いんですが、ビデオカード入れたら早くなりますか?
後、ビデオカード、アクセラレータ、グラフィックボードの違いが分かりません。
26:片山博文MZコスモ ◆T6xkBnTXz7B0
14/01/08 19:05:19.43
>>18
「正規分布 C言語」で検索
27:デフォルトの名無しさん
14/01/08 19:18:15.06
if(x=100)
{
処理
}
一番単純でxに100という値を代入した時だけ処理をする
認証式プログラムを作りたいのですが、これだと総当たりで
アクセスされてしまう可能性があるからこういう方法を考えました
「この問題を解け、りんごみかんが合計で5個ある、1個の値段は
りんご100円、みかん5円である。5個の値段が310円のとき、りんご
みかんは何個あるか」
この問題が解けた時だけ処理を行うプログラムにしたいです。
こうすれば良いと思うのですが具体的な実装方法が分かりません。
何かアイディアありますか?
28:デフォルトの名無しさん
14/01/08 19:21:04.84
>>26
テメーはセットオプションのサンプルコードでも書いてろ
29:デフォルトの名無しさん
14/01/08 19:21:34.60
スワヒリ語でおk
30:デフォルトの名無しさん
14/01/08 19:22:53.88
問題を解かせてその解をパスワードにするってことですよ。
そういうプログラムってあるんですか?
31:片山博文MZコスモ ◆T6xkBnTXz7B0
14/01/08 19:26:39.47
方程式の自動作成だな
{ax+by==c,
{x+y==z
(a,b,c,x,y,zはすべて正の整数)
32:片山博文MZコスモ ◆T6xkBnTXz7B0
14/01/08 19:34:18.62
ディオファントス方程式でぐぐれ
x+y<=10
a!=b
33:30
14/01/08 19:37:50.46
あプログラムもその問題を解くって事ですね。
だからプログラムが正しい答えを導かないとダメで、連立方程式とかだと
問題が簡単なので、つまり難易度の高い問題を公開でって事ですかね。
34:30
14/01/08 19:42:48.27
あ公開したら解かれますね…
35:片山博文MZコスモ ◆T6xkBnTXz7B0
14/01/08 19:44:12.11
8種類くらい用意してランダムで出すといいだろう
小学生でも解ける問題にしないとユーザがあきらめる可能性大
36:デフォルトの名無しさん
14/01/08 19:53:49.02
>>28
そんな検索にもかからない俺様マイナーワード振り回されても困ります!!
37:片山博文MZコスモ ◆T6xkBnTXz7B0
14/01/08 20:00:58.93
「セットオプション」をキーワード検索でトップ10に入ったら認めてやる
38:デフォルトの名無しさん
14/01/08 20:06:55.92
ラングレンス符号化について質問です。
あれって未だに使われてるんですか?圧縮率ってかなり悪いと思いますが
どうなんでしょう?AAAABBBBCCC A4B4C3ってやつです。
39:デフォルトの名無しさん
14/01/08 20:09:45.75
バ片山が変な条件出して逃げたwwwwwwww
40:片山博文MZコスモ ◆T6xkBnTXz7B0
14/01/08 20:10:49.18
ReactOSでRLEビットマップを見た。
同じ色が連続するイラストで圧縮率が高い
41:デフォルトの名無しさん
14/01/08 20:13:45.46
片山が逃げたというよりCが欠陥言語だから実装が難しいだけ
42:デフォルトの名無しさん
14/01/08 20:19:03.88
セットオプションってFF4か何かで共鳴って名前ついてなかったっけ?
43:片山博文MZコスモ ◆T6xkBnTXz7B0
14/01/08 20:20:59.82
>>11
ビットフラグ使えば簡単だって知ってるでしょ? からかわないで
44:デフォルトの名無しさん
14/01/08 20:29:05.13
片山博文MZは眠れないから一日中2chに書き込みを入れる
眠れない原因?
それはドーパミンが過剰分泌されているからです。
どういう症状かわかったならいますぐ医者で抑制剤をもらってきましょう。
45:デフォルトの名無しさん
14/01/08 20:33:34.38
片山にできないことがお前らにできるわけないだろボケ。
46:片山博文MZコスモ ◆T6xkBnTXz7B0
14/01/08 20:35:45.50
int printsetoption(ITEM items[NUM_SOUBI])
{ int i;unsigned long attr_flags;
attr_flags=(items[0].flags&ATTR_MASK);
for(i=1;i<NUM_SOUBI;i++)
{
attr_flags&=(items[i].flags&ATTR_MASK);
}
if(attr_flags){...}
return 0;
}
47:デフォルトの名無しさん
14/01/08 20:56:52.32
>>45
いくら努力しても糖質には成れないな。
48:デフォルトの名無しさん
14/01/08 21:06:05.96
ここでやるなってんだろバカども
49:デフォルトの名無しさん
14/01/08 21:09:07.72
日本語でおk
50:デフォルトの名無しさん
14/01/08 23:05:11.29
こっちにおいでおいで
ゲームプログラムなら俺に聞け30
スレリンク(tech板)
51:デフォルトの名無しさん
14/01/08 23:20:08.89
×こっちに
○こっちへ
52:デフォルトの名無しさん
14/01/09 15:23:59.45
19%の確率で1が出て、37%の確率で2が出るような玩具のコードは一般化した場合どう書けばいいでしょうか?
それぞれの試行は独立してなくて、例えば上記の場合だと、100回やればだいたい19回1が出て、37回2が出るような感じです
一般化というのは、これを19%と37%の固定ではなく、任意の確率と任意の個数指定できるようにしたいのです
例えば、8%、11%、3%、16%、20%のように好きな数だけ好きな確率を指定したいです
53:デフォルトの名無しさん
14/01/09 15:25:29.25
つ 乱数
54:デフォルトの名無しさん
14/01/09 15:46:49.34
double p = drand48();
double prob[5]={0.08, 0.11, 0.03, 0.16, 0.20};
for(i=1; i<5; i++) prob[i] += prob[i-1];
for(i=0; i<5; i++){
if (p < prob[i]) break;
}
result = i;
55:デフォルトの名無しさん
14/01/09 15:49:57.27
probの合計を1になるようにせねばいかんよ
56:デフォルトの名無しさん
14/01/09 15:54:40.99
>1になるように
「1以下になるように」ではなくて?
57:デフォルトの名無しさん
14/01/09 15:56:42.08
確率が整数までで良いのなら
出目の型(int) の大きさ100の配列(array)を用意して、頭から出目を並べる。
int array[100]
<<19個>><<37個>>
111...1111222....222
出目の範囲が 1~3 だとすると入力は
出目1の確率
出目2の確率
とし、3で埋めたあとに、1, 2 を 並べたほうがよさそう
(入力確率の総和が 100% にならないといけないから)
実際に振った結果は 0 ~ 99 の乱数でえられた値を i とすると array[i] で得る
58:デフォルトの名無しさん
14/01/09 16:01:54.68
わざわざ劣化版の回答を後出ししなくても…
59:デフォルトの名無しさん
14/01/09 16:02:11.97
>>56
> 0.08 / 1.00
=> 0.08
> 0.08 / 0.58
=> 0.13793103448275865
60:デフォルトの名無しさん
14/01/09 16:04:47.56
好きな数だけ好きな確率を指定した結果
総和で 100% になってない場合はどうしたいの?
総和で 100% を超える場合はどうしたいの?
61:デフォルトの名無しさん
14/01/09 16:04:48.56
O(1)なのに劣化版
62:デフォルトの名無しさん
14/01/09 16:05:47.78
>>60
総和が1にならないものは確率なのか
63:デフォルトの名無しさん
14/01/09 16:07:15.23
>例えば、8%、11%、3%、16%、20% のように好きな数だけ好きな確率を指定したいです
これだけ読むと そういう疑問が出てきたわけで
64:デフォルトの名無しさん
14/01/09 16:07:21.07
>>54のは線形探索だから2分探索で高速化出来るね
65:デフォルトの名無しさん
14/01/09 16:09:00.77
>>64
最初に累積値を超えたところが結果になるから二部探索にはできないはず
66:デフォルトの名無しさん
14/01/09 16:10:20.14
>>65
出来るでしょ。
67:デフォルトの名無しさん
14/01/09 16:11:47.08
>>66
じゃ、書いて
68:デフォルトの名無しさん
14/01/09 16:29:21.29
2分探索だと2回ずつ比較してくことになって、数にもよるけど高速化にはならないんじゃ
69:デフォルトの名無しさん
14/01/09 16:59:44.77
>>54
ありがとうございます!
それを参考になんとか完成しました!
struct itemdb{
char name[32];
};
struct dropitem{
int itemid,percent;
};
struct monster{
dropitem ditem[4];
int ditemnum;
};
int main(){
int i,p;
itemdb item[] = {
"アルティメットソード","回復薬","魔法の鍵","ダイヤモンドシールド","何も落とさなかった"
};
monster mob = {
0,2 , 1,4 , 2,8 , 3,16 ,4
};
for(i=1; i<mob.ditemnum; i++) mob.ditem[i].percent += mob.ditem[i-1].percent;
srand((unsigned)time(NULL));
p = rand()%100;
for(i=0; i<mob.ditemnum; i++){
if (p < mob.ditem[i].percent) break;
}
printf( "モンスターは %s を落としました\n" , item[i].name );
return 0;
}
70:デフォルトの名無しさん
14/01/09 17:12:30.22
>>65,>>68
何を言ってるんだ?
x[0]~x[15]に確立を入れてfor(i=1; i<16; i++) x[i] += x[i-1];
そしてy = rand()%100;
最初にif (y<x[7])で比較して、
真なら if (y<x[3])
偽なら if (y<x[11])
で比較、とやっていけばいいだろう
71:デフォルトの名無しさん
14/01/09 17:17:31.16
>>70
パイプラインハザードって聞いたことないの?
というか、実際に動くコードかけよ
72:デフォルトの名無しさん
14/01/09 17:21:34.30
書くまでもないだろうよ…w
73:デフォルトの名無しさん
14/01/09 17:22:15.68
>>69
お前のコードなんかおかしくね?
ダイヤモンドシールドが思ったより出まくるうえに、200回くらいやってもアルティメットソードが1本も出ない。
それってダイヤモンドシールド16%でアルティメットソード2%ってこどたよね?
74:デフォルトの名無しさん
14/01/09 17:23:20.32
誘導
ゲームプログラムなら俺に聞け30
スレリンク(tech板)
75:デフォルトの名無しさん
14/01/09 17:23:52.65
>>72
俺はこう思う!だけでコードの書けない人ですね。わかります
76:デフォルトの名無しさん
14/01/09 17:24:05.66
>>74
アルゴリズムの疑問なのにそんな糞スレに誘導しても放置されるだけ
77:デフォルトの名無しさん
14/01/09 17:25:15.93
>>71
ベンチ測るほど大量のアイテムデータ考えるのダルいだろ
78:デフォルトの名無しさん
14/01/09 17:25:59.37
言い訳一級建築士( ´,_ゝ`)プッ
79:デフォルトの名無しさん
14/01/09 17:27:03.46
>>77
スクリプト組んで適当なゲームの攻略ページから武器一覧取得すれば済む話。
80:デフォルトの名無しさん
14/01/09 17:29:14.57
>>73
rand(笑)がネック
81:デフォルトの名無しさん
14/01/09 17:32:25.28
linear search と binary search
の worst case を考えてみよう
要素3つでいいよ
書くまでもない常識だろうに。
82:デフォルトの名無しさん
14/01/09 17:33:59.44
教えて君 「書けないんだろ」
ホモ 「インポじゃないの」
ババア 「いくじなし」
83:デフォルトの名無しさん
14/01/09 17:34:40.64
>>81
お兄ちゃん、見苦しいからヤメて
84:デフォルトの名無しさん
14/01/09 17:50:56.86
そもそもそれを高速化することに何の意味があるのか
85:デフォルトの名無しさん
14/01/09 17:52:33.95
メリットすら分からず劣化版だのとチャチャ入れるお馬鹿ちゃんがいるから
86:デフォルトの名無しさん
14/01/09 17:57:49.57
劣化版って書いた人と線形探索版を書いた人は別の人だよ
というか、>>69の用途なら累積分布を求める必要ないんじゃないの
87:デフォルトの名無しさん
14/01/09 17:59:50.96
>>86
>劣化版って書いた人と線形探索版を書いた人は別の人だよ
分かるけど100%じゃないよね
アナタがそのどちらかで無い限りw
88:デフォルトの名無しさん
14/01/09 18:00:49.13
>>87
線形探索かいたひとだもの
89:デフォルトの名無しさん
14/01/09 18:05:46.94
だったら自分の事を
線形探索版を書いた人
とか言うなよ
気持ちわりい
90:デフォルトの名無しさん
14/01/09 18:08:30.44
二部探索の実装まだー
91:デフォルトの名無しさん
14/01/09 18:11:24.09
確率が整数でいいのなら
>>57の方法が一番現実的だと思う
一度表さえ作ってしまえばO(1)で実行出来る
92:デフォルトの名無しさん
14/01/09 18:18:23.37
>>89
何でテメーが気持ちよくなるレスしなきゃならねーんだ
個人的な感想はブログに書いてろ気持ちわりい
93:デフォルトの名無しさん
14/01/09 18:35:24.84
>>91
洗練されてない上、非現実的だってば
確率0.01を表すのにどうする?配列を10000個にするんだよ?
そんな馬鹿な方法とる人はいない
94:デフォルトの名無しさん
14/01/09 18:36:58.13
0.01%を表す
なんて誰がいっているのだろうか。
95:デフォルトの名無しさん
14/01/09 18:43:27.17
x11.s11.xrea.com/ff5_algorithms
こういうの参考にしたら?
96:デフォルトの名無しさん
14/01/09 18:45:59.19
> 例えば、8%、11%、3%、16%、20%のように好きな数だけ好きな確率を指定したいです
この文章を読んで
・整数しか選ぶつもりがないのでのみを整数を例示した
・特に深い考えはなくたまたま思いついた例が整数だけだったので整数のみ例示した
どちらの解釈を選ぶかって話。
業務のヒアリングなら間違いなく後者の解釈で対応するけど2chの会話ならどっちでもいいんじゃない。
97:デフォルトの名無しさん
14/01/09 18:46:35.15
>>91
空間計算量とりすぎ
98:デフォルトの名無しさん
14/01/09 18:51:28.20
>52
#define PRC (1000)
typedef struct {unsigned per,val;}prm_t;
typedef struct {unsigned spn;prm_t*prm}sed_t;
unsigned xrnd(sed_t*a) {
if (a->prm);else return rnd()%a->spn;
if (a->prm->per&&rnd()%PRC<(unsigned)((double)a->prm->per/a->spn*PRC)) return --a->spn,--a->prm->per,a->prm->val;
unsigned r,t=(a->prm++)->val; while ((r=xrnd(a))==t){} return --a->spn,--a->prm,r; }
#define SPN (1000)
prm_t prm[]={{SPN*0.19,1},{SPN*0.37,2}},*pprm[]={&prm[0],&prm[1],NULL}; sed_t sed={SPN,pprm};
...
if (sed.spn);else sed.spn=SPN,prm[0].per=SPN*0.19,prm[1].per=SPN*0.37;
x=xrnd(&sed);
99:デフォルトの名無しさん
14/01/09 19:00:03.86
>>69
それアホほど偏るんだけど?
関数化してsrandの前にSleep(1);入れて1000回ずつやったけど結果はめちゃくちゃ
Sleep(1);入れないと偏りはもっとひどかったけどな
とにかくゲームとして成立しない
高速化よりこっちのほうが重要だろうがゴミ
C:\Users\美奈子\プログラム\テスト>itemdroptest
アイテム[アルティメットソード] => 0 個
アイテム[回復薬] => 0 個
アイテム[魔法の鍵] => 0 個
アイテム[ダイヤモンドシールド] => 0 個
アイテム[何も落とさなかった] => 1000 個
C:\Users\美奈子\プログラム\テスト>itemdroptest
アイテム[アルティメットソード] => 0 個
アイテム[回復薬] => 586 個
アイテム[魔法の鍵] => 0 個
アイテム[ダイヤモンドシールド] => 414 個
アイテム[何も落とさなかった] => 0 個
C:\Users\美奈子\プログラム\テスト>itemdroptest
アイテム[アルティメットソード] => 855 個
アイテム[回復薬] => 0 個
アイテム[魔法の鍵] => 0 個
アイテム[ダイヤモンドシールド] => 145 個
アイテム[何も落とさなかった] => 0 個
100:デフォルトの名無しさん
14/01/09 19:07:53.43
毎回 srand する奴はこちらへ
ゲームプログラムなら俺に聞け30
スレリンク(tech板)
101:デフォルトの名無しさん
14/01/09 19:11:57.42
srandにtime入れればそうなるわな。
windows.hオンクルードしてtimeGetTimeにすれば。
102:デフォルトの名無しさん
14/01/09 19:13:10.73
シードを毎回与える必要は無い
103:デフォルトの名無しさん
14/01/09 19:14:56.68
>>93
そういうことはモンスターが落とすアイテムの確率が1%未満のゲームを見つけてから言え
104:デフォルトの名無しさん
14/01/09 19:16:05.73
1%ってかなり高い
105:デフォルトの名無しさん
14/01/09 19:16:30.70
シードを毎回与えなければ同じ値が出る
たかたがゲームなんだからその必要がないと言われればそれまでなんだけどね
106:デフォルトの名無しさん
14/01/09 19:20:22.76
えっ
107:デフォルトの名無しさん
14/01/09 19:31:29.87
>>98
a->spnがゴリゴリ減るな
108:デフォルトの名無しさん
14/01/09 19:51:02.20
>>97
ならダブルテーブルを使えよ
一つ目は必要な乱数の種類分をかっ詰めた(packした)ビット配列
二つ目はその得られたビットから目的の値を得るテーブル
109:デフォルトの名無しさん
14/01/09 19:51:46.27
C言語はビット演算子があるんだからこういう時に活用しないとな
110:デフォルトの名無しさん
14/01/09 20:32:39.23
また造語野郎が出てきた
こいつは頭悪いのを自覚して無いからタチが悪い
111:デフォルトの名無しさん
14/01/09 20:44:14.95
この再帰関数使ったプログラムを実行して放置したらos壊れますか?
#include<stdio.h>
void yobidasudake(void)
{
yobidasudake();
}
int main(void)
{
yobidasudake();
}
112:デフォルトの名無しさん
14/01/09 20:45:58.65
>>111
OSとコンパイラによる
113:デフォルトの名無しさん
14/01/09 20:48:23.24
>>112
windows8
gcc
です。
どうなりますか?無限に関数が呼び出されてフリーズするような気が
するんですが。
114:デフォルトの名無しさん
14/01/09 20:50:54.40
スタックがオーバーフローしてプログラムが固まるだけだと思う
OSは平気だろ
115:デフォルトの名無しさん
14/01/09 20:53:30.15
>>114
メモリが破壊(物理的にダメになる、取り替えなきゃならない)
って事にはなりませんか?メモリが潰れるようなプログラムは
OSがメモリを管理してるから平気なんでしょうか?
116:デフォルトの名無しさん
14/01/09 20:58:07.97
>>110
人を「頭悪い」呼ばわりした所でお前の頭が良くなるわけでもないのにな
117:デフォルトの名無しさん
14/01/09 20:59:56.04
だな、ただ造語野郎は害悪だから黙ることを覚えるべきだと思うね
118:デフォルトの名無しさん
14/01/09 21:01:00.29
>>117
造語だと?ダブルハッシュとでも言えと?
119:デフォルトの名無しさん
14/01/09 21:01:48.20
>>115
100%ならない
120:デフォルトの名無しさん
14/01/09 21:03:31.64
>>119
安心していいんですね、メモリを一瞬で壊すって物理的な方法以外では
無理なんですかね、摩耗以外で。
121:デフォルトの名無しさん
14/01/09 21:04:29.56
古い本だけど「エキスパートCプログラミング」に当時の古いモニタの垂直同期信号を止めると
モニタから火を噴くってのがあって、「これぞ未定義動作だ!」とか書いてあったのを思い出した
122:デフォルトの名無しさん
14/01/09 21:22:21.19
>>90
CSTLのlower_boundってのがまさにそれだね
普通に実装するとそうなるだろうから探せば沢山あると思うよ
123:デフォルトの名無しさん
14/01/09 21:24:19.52
>>121
IBM PCのモニタですね
フライバックトランスの設計ミス?とかで
124:デフォルトの名無しさん
14/01/09 21:28:45.32
>>123
そそ
だから基本的に未定義動作は危険だと自分に言い聞かせている
今のPCのOSとハードウェアではまず滅多な事はないけど
だいたいダイアログ出るかコアダンプ吐いて落ちる
125:デフォルトの名無しさん
14/01/09 21:52:29.68
その本の受け売りで実体験は無いから笑って読めるけど
もしそれが留守中の出来事だったらと思うと・・・人生落ちますわぁ
126:デフォルトの名無しさん
14/01/09 21:55:24.62
モニタは通路に置いてあったって事でおk
127:デフォルトの名無しさん
14/01/09 22:43:51.07
>>118
二次元配列は「二重配列」とは言わない
128:デフォルトの名無しさん
14/01/09 22:48:13.67
「2つの配列」でOK
129:デフォルトの名無しさん
14/01/09 22:54:04.67
>>127
2次元配列じゃないんですけど・・・
130:デフォルトの名無しさん
14/01/09 22:54:55.50
新しい造語をやたらと使うのは「言語新作症」と言って統合失調症の症状だな
131:デフォルトの名無しさん
14/01/09 22:55:29.63
結局ゲームで使う確率はランダムな数値の入った配列を使うんでしょ?
132:デフォルトの名無しさん
14/01/10 00:08:35.67
またゲームかよ
133:デフォルトの名無しさん
14/01/10 01:01:21.51
>>131
確率用のテーブルが云々ってきいたことあるだろ。
普通のゲームは最初にrandみたいなやつを一度呼び出して、その後はそのrandで得た値を次のシードにも使う。
つまり最初のrandの値が出た時点で後のrandの値は決まったも同然。
だけどプレイヤーから見れば完全なランダムに見える。
134:デフォルトの名無しさん
14/01/10 06:31:31.52
x = x*a + b
135:デフォルトの名無しさん
14/01/10 10:37:14.19
フローチャートって何か作るとき、毎回作成するの?
136:デフォルトの名無しさん
14/01/10 11:47:54.48
>>135
作るゲームのボリュームにもよる
137:デフォルトの名無しさん
14/01/10 12:17:23.38
そういう時は頭を指さして「フローチャートはもう出来ている… オレの頭の中に」というのさ
138:デフォルトの名無しさん
14/01/10 13:59:16.00
>>135
UML、デザパタ、BDD,分散VCSの使い方覚えろ
139:デフォルトの名無しさん
14/01/10 14:43:17.46
cでゲーム作るような入門者は、殆どの場合がQML以外触らない方が幸せ
140:デフォルトの名無しさん
14/01/10 17:04:17.15
CでGUIを備えたゲーム作ろうと思ったら、CからWindowsアプリケーションの開発までの間が高すぎる。
できるようになれば当たり前で何ともないけど、初心者だとウィンドウ出すだけでも大変だろ。
それに加えてウィンドウプロシージャでのメッセージ処理とかいきなり入ってくるし、かなりきつい。
141:デフォルトの名無しさん
14/01/10 17:49:46.29
じゃ何なら低いんだよw
ICたたくプログラムをROM焼きならWindowsは出てこないが
142:デフォルトの名無しさん
14/01/10 18:01:10.34
GUIを備えてないゲームを作ればいんじゃね?
143:デフォルトの名無しさん
14/01/10 18:02:54.12
Windowsならc#だけ触ってりゃ良いでしょ
cで玩具作るならunixの方が遥かに楽。
仕事になると途端にハードルが高くなり大量のPHPerが生まれる
144:デフォルトの名無しさん
14/01/10 18:13:06.03
Windows上でcを使うならサクラエディタや
テラパッドの劣化版ぐらいが最初に目指すとこじゃね?
145:デフォルトの名無しさん
14/01/10 18:24:20.89
エディタを甘く見すぎ
CでWindowsゲームプログラム初心者なら箱入り娘でもつくっとけ
146:デフォルトの名無しさん
14/01/10 18:33:22.65
簡単なゲームならLinux上でSDL+OpenGLが一番に楽。
何かの役に立つか立たないかでいえば、多分、別の選択肢がずっと良い
c++でwxWidgetsかQtぐらいしかなくって、商業的に成功してるように見えるのがqt
で、そこらのボンクラがc++で開発できるようになるか?
ウェブ開発にでも行った方が幸せなので、QMLで遊んで機会を伺うというのが良いと思うの
147:デフォルトの名無しさん
14/01/10 18:34:50.45
C言語関係ない部分が多くなるんだから
ゲームの話はよそでやれ
ゲームプログラムなら俺に聞け30
スレリンク(tech板)
148:デフォルトの名無しさん
14/01/10 18:43:26.73
ゲームを作りたいという人間は、まず本当にcで作る必要があるか
自分自身を疑った方が良いよ
149:デフォルトの名無しさん
14/01/10 18:51:37.22
OpenGLってCGやCADのような高価なアプリに使われてるというので、
DirectXより高級なものだと思っていた。
実際に使ってみると低級だった。
150:デフォルトの名無しさん
14/01/10 19:02:06.21
頭が定休?
151:デフォルトの名無しさん
14/01/10 19:02:55.72
ちょっとアセンブラちっくだよね
152:デフォルトの名無しさん
14/01/10 19:10:39.32
glBegin() glEnd() の入れ子内で glVertex??() を積み上げるんだけど
glEnd が漏れると面倒なことがおきる
んで、C言語だと入れ子を保障する機構をつくるのが難しいからいやん
153:デフォルトの名無しさん
14/01/10 19:23:37.41
>>148
動作が速いってのがポイントだと思う
ゲームなんて大抵の言語で作れるけど、実行速度はどこかで頭打ちになる
頭打ちになってから実行速度の速い言語を学習しなおすのも面倒だし
だったら最初からCでやったほうがいい
アセンブラのほうが速いけどアセンブラは面倒くさすぎる
154:デフォルトの名無しさん
14/01/10 19:26:01.37
>>133
釣りだろ、と思って100万回やってみたら意外に確率通りに分布してくれた
本当なのか?
155:デフォルトの名無しさん
14/01/10 19:38:10.06
質問です。
所持できるアイテムの上限を99個とするとき、アイテ
ムを入手するたびにリアロックでアイテムを記憶する
メモリを拡張していったほうがいいのでしょうか?
それとも最初のマロックで99個分確保してしまったほ
うがいいのでしょうか?
156:デフォルトの名無しさん
14/01/10 19:45:38.07
マロックってww mallocか
getsをゲッツと読むような感覚
157:デフォルトの名無しさん
14/01/10 19:46:34.80
意地でもここでやりたいがために
C言語をからめようとしてるのがうざい
移動しろ
ゲームプログラムなら俺に聞け30
スレリンク(tech板)
158:デフォルトの名無しさん
14/01/10 19:48:21.43
昔気になってYoutubeで見たけど
ネイティブな外人さんもマロックって言うんだよな
159:デフォルトの名無しさん
14/01/10 19:48:45.07
>>157
だからそこは放置されるって
160:デフォルトの名無しさん
14/01/10 19:50:05.03
>>159
盛り上げればいいんじゃん
ジャパンエキスポに 寄生する朝鮮人じゃないんだから
161:デフォルトの名無しさん
14/01/10 19:53:30.29
上限近くまで使われるのが普通なら最初に全部マロックしてしまうし、
数個程度しか使われないのが普通なら毎回リアロックするし、
間とをって、例えば4の倍数個ずつマロックするとか、そんな感じ。
162:デフォルトの名無しさん
14/01/10 19:58:44.73
>>159
だからスレチを見逃せってか
「人の嫌がることをすすんでやります」
の解釈が日本と異なる文化圏の人か
163:デフォルトの名無しさん
14/01/10 20:01:21.93
>>158
そうなのか
じゃあゲッツも許されるよな
freopenはフリオープンと読んでいるしgetcはゲッチと読んでいる
charはキャラと呼ばずにチャーと読んでる
164:デフォルトの名無しさん
14/01/10 20:05:15.67
getch()もゲッチと読むのか?w
まあこれは環境依存の関数だけど
165:デフォルトの名無しさん
14/01/10 20:09:15.86
getch() → ゲッチ
getc() → ゲック
ゲッチは環境依存というよりカーシスの関数だな
166:デフォルトの名無しさん
14/01/10 20:13:51.01
>>162
そこまで言うならここでは言語仕様の話は今後一切するなよ。
「〇〇を実現するためのコード」は一切アウトってことでいいな。
167:デフォルトの名無しさん
14/01/10 20:14:18.26
いんくるーどすたじおえっち
168:デフォルトの名無しさん
14/01/10 20:16:03.75
>>166
こっちはこっちでやるから気にしなくていいよ
169:デフォルトの名無しさん
14/01/10 20:17:51.65
>>166
延々続けてただろ
どこのマヌケだ
170:デフォルトの名無しさん
14/01/10 20:20:39.55
>延々
こういう曖昧な表現でしかモノを言えないのが自治のためだけに住み着いてる基地害w
171:デフォルトの名無しさん
14/01/10 20:23:19.23
荒らしのためだけに住み着くよりはマシだな
172:デフォルトの名無しさん
14/01/10 20:23:27.69
>>165
ゲックか
これからよう呼ばせてもらうかw
「あのーこのエフゲックなんですけど~」とか社内で大声出したらどうなるかやってみるかw
Linuxでもあるねゲッチ
173:デフォルトの名無しさん
14/01/10 20:24:49.93
甘いな
fgetcは「フゲック」だ
fgri()なんて関数があったら「ふぐり」と呼べるんだが
174: ◆QZaw55cn4c
14/01/10 20:26:43.79
>>154
線形合同法だね
175:デフォルトの名無しさん
14/01/10 20:28:21.09
>>161
難しいですね・・・。
開発者である自分自身のテストプレイでは平均40個く
らいまでですが、普通の人がどのくらい持つか分から
ないですし・・・。
176:デフォルトの名無しさん
14/01/10 20:34:15.17
リアロックって車の後部ドアをロックするようにも聞こえる
そう言えばC++ではnewでrealloc()に相当するような関数はないが(Cのように使えばあるが)、
メモリブロックの調整で済むかコピーするかは実行時に判断出来ないので削ってしまったんだな
コンテナ使えば関係ないし
コピーコンストラクタと代入演算子の多重定義で相性が悪かったのかもしれんし
ってここはC++のスレではなかった
これこそスレ違い
177:デフォルトの名無しさん
14/01/10 20:34:15.48
ゲープロスレ立てたのってここの自治ゴミだろ
テンプレも前スレもいい加減
スレの一つも満足に立ててから言えよゴミが
178:デフォルトの名無しさん
14/01/10 20:34:50.90
>>177
だから●持ってるんだけど知っての通り今はスレ立てに使えないだろうが
どれだけ不便してるか
179:デフォルトの名無しさん
14/01/10 20:37:52.82
荒らしはいつも偉そうだな
まあ謙虚な荒らしなんていないがwww
180:デフォルトの名無しさん
14/01/10 20:41:09.86
だよな
気に入らないってだけで荒らし認定する糖質と同じくらい偉そうだよなwww
181:デフォルトの名無しさん
14/01/10 20:43:29.20
>>152
Cならさらっと書いてやるからどんな状況か詳しく
182:デフォルトの名無しさん
14/01/10 20:46:14.82
OpenGL使ってるのか
確かにCだと面倒だな
183:デフォルトの名無しさん
14/01/10 20:50:49.36
C言語でオシャレにラブレターみたいなの書けるの?
184:デフォルトの名無しさん
14/01/10 21:03:12.45
>>165
ゲットキャラ
ゲットシー
185:デフォルトの名無しさん
14/01/10 21:04:42.22
>>183
int main()
{
while(1){ printf("好きだ。愛してる。"); }
return 0;
}
186:デフォルトの名無しさん
14/01/10 21:07:05.91
>>183
IOCCCで、おしゃれなラブレターを見た記憶がある
187:デフォルトの名無しさん
14/01/10 21:10:37.89
>>181
C++ なら コンストラクタで glBegin デストラクタで glEnd ってやるクラス用意しといて
そのオブジェクトを作れば glBegin ~ glEnd の入れ子の保障が文法の力で楽できるでしょ
(new ~ delete は考えないw)
Cでそういう楽できるしくみって無理じゃない? 書く人の注意力に任すしか方法がないという感じなんだけど
188:187
14/01/10 21:18:45.54
{ と } の数あわせろ ってのと同じ次元かも
glBegin() が { に相当
glEnd() が } に相当
インデントするなりして間違いなく開いたら閉じろ ってね
189:デフォルトの名無しさん
14/01/10 21:19:18.70
>>187
どこのサンプルみても同じスコープ内でBeginとEndを対にしてるわけだが
190:デフォルトの名無しさん
14/01/10 21:20:34.45
>>189
んとね 自分で書いてるときに glEnd を書き漏らした場合にわからない
それを書き漏らさないように工夫できないか? そういう話
191:デフォルトの名無しさん
14/01/10 21:32:31.98
>>190
コンストラクタ、デストラクタに分けて書く方が、
begin,endの対を何処に書いたかわからなくなるだろ
fopen,fcloseの対も、glBegin,glEndも、
可能な限り同じスコープに書くもんじゃねーの?
192:デフォルトの名無しさん
14/01/10 21:44:43.57
ふむん 俺が特異ということか
同じスコープだよ
Begin
数行
(End ここで閉じ忘れ)
Begin
数行
End
Begin
数行
End
Begin
数行
End
うまく描画できてなくて 閉じ忘れを見つけるのに苦労したもんでね。。。
193:デフォルトの名無しさん
14/01/10 21:45:23.49
>>184
FFにケット・シーとかいうのがいたような記憶が
関係ないけど
194:デフォルトの名無しさん
14/01/10 21:46:06.55
OpenGL使ってるとメモリリークの原因探るのに苦労する事ないか?
195:デフォルトの名無しさん
14/01/10 21:55:20.70
X11の時点でリークしてるからプロファイラ使ってるわw
196:デフォルトの名無しさん
14/01/10 21:57:05.66
>>188
myBegin()とmyEnd()とmyAllEnd()作って、
myBegin()ではglBegin()すると同時にカウンタを増やす。
myEnd()ではglEnd()すると同時にカウンタを増やす。
最後にmyAllEnd()を必ず1回呼び出すが、ここではカウンタの残り値の数だけglEnd()を呼び出す。
美しい、なんて美しい仕組みなんだ。
例えmyAllEnd()を2回呼んでもバグにならない至高の仕組み。
197:デフォルトの名無しさん
14/01/10 22:05:15.86
>>196
違うだろ
>>192のトラブルを解決するにはBeginのラッパー作ってBeginラッパー内ではまずbeginフラグをチェックして、trueならまずEndしてからBeginしてbeginフラグを立てればよい
EndラッパーではEndすると同時にbeginにfalseをセットすればよい
198:デフォルトの名無しさん
14/01/10 22:05:28.80
perlかgrepつかって数えろ
199:デフォルトの名無しさん
14/01/10 22:07:39.80
>>196
循環しなければね、循環参照ならそうはいかないが、そのときはどうする?
200:デフォルトの名無しさん
14/01/10 22:08:47.20
>>197
ネストができないbegin~endとか誰得?
201:デフォルトの名無しさん
14/01/10 22:09:36.72
文字列がただのファイル名かフルパスかを判定する方法を教えてってください
202:デフォルトの名無しさん
14/01/10 22:19:39.86
lintでOK
203:デフォルトの名無しさん
14/01/10 22:21:40.56
>>201
/ だの x: ならフルパス
204:デフォルトの名無しさん
14/01/10 22:24:26.19
[ readlink -f $file = $file ]
205:デフォルトの名無しさん
14/01/10 22:26:51.76
それは相対パスであることが条件だな
206:デフォルトの名無しさん
14/01/10 23:07:31.72
つうか、glBegin/End とかやるのはもう古いよね。
207:デフォルトの名無しさん
14/01/10 23:16:38.00
reallocするはずのところをmallocしてたせいで
メモリ上のデータが一部消える不可解なバグに3時間悩まされた
死ねよ
208:デフォルトの名無しさん
14/01/10 23:21:24.36
リンクが切れただけで消えてはいないんじゃない?
209:デフォルトの名無しさん
14/01/10 23:23:09.91
>>201
GetFullPathName
210:デフォルトの名無しさん
14/01/10 23:23:35.48
うるさいハゲ
それくらい知ってるわ
211:デフォルトの名無しさん
14/01/10 23:56:38.77
それがどうしたチビデブ
212:デフォルトの名無しさん
14/01/11 00:40:50.47
>>207
自前でデバッグ用アロケータを作るがよい
213:201
14/01/11 00:45:48.88
ありがとうございます
>>203さんのを参考に
filename[1]==':'のときにフルパスだと判定することで目的が達成できました
これでマップとモンスターのデータが管理しやすくなります
214:デフォルトの名無しさん
14/01/11 00:49:05.66
お前らC言語でコーディングするときに聴いてる音楽教えろ
215:デフォルトの名無しさん
14/01/11 00:55:18.88
フィオナアップル
216:デフォルトの名無しさん
14/01/11 00:56:57.31
>>214
恋愛サーキュレーション
217:デフォルトの名無しさん
14/01/11 01:00:55.01
プリキュア連続再生
218:デフォルトの名無しさん
14/01/11 01:07:10.17
:>>200
DirectXしか使ったことないんだけど、DirectXのBegin~Endはネストしないぞ
OpenGLはネストするの?
219:デフォルトの名無しさん
14/01/11 01:40:01.05
お前ら未だにrand()使ってんのかよ。
学会によっては禁止されてるほどアレな関数だぞ。
220:デフォルトの名無しさん
14/01/11 01:43:50.75
そうかそうか
221:デフォルトの名無しさん
14/01/11 01:44:33.67
学会によらず禁止されたら取り込まれるさ
222:デフォルトの名無しさん
14/01/11 02:15:25.81
>学会によっては禁止
馬鹿はどうしようもないな。
用途によって禁止されるところがあるのはおかしなことではない。
むしろ標準化されることの重要性や
用途によって要求される乱数性の度合いを度外視して
「俺のすげーライブラリ」を進めてくる奴は迷惑千万
223:デフォルトの名無しさん
14/01/11 05:10:30.25
randをお使わなかったらどうしんだよ
ミリ秒を割った」余りにでもするkっか?
224:デフォルトの名無しさん
14/01/11 08:03:47.01
禁句: てりやきツイスター
225:デフォルトの名無しさん
14/01/11 08:21:23.58
>>213
>>203は嘘つきなので信じないで下さい
226:デフォルトの名無しさん
14/01/11 09:15:39.56
読み難いC言語ソースコードコンテストの優勝者発表
URLリンク(news.mynavi.jp)
227:デフォルトの名無しさん
14/01/11 10:55:07.29
擬似乱数で周期が短いんだっけ?
boostにあるmtなんとか推奨されてたな
228:デフォルトの名無しさん
14/01/11 11:09:54.87
ゲームプログラミングやってたら乱数ならメルセンヌツイスタとみみにたこができるくらい聞かされるだろ
いつまですれ違いを続けてるんだ
229:デフォルトの名無しさん
14/01/11 11:18:28.72
ゲームの乱数なんて男女のテーブルで十分
能力的に無理だからそれ以上考えるな
いい加減すれ違いやめれ
230:デフォルトの名無しさん
14/01/11 11:34:06.44
xorshiftがお手軽でいい
231:デフォルトの名無しさん
14/01/11 11:37:46.67
最大最小を求めるやつです
ctrl+zで終了したいのですがctrl+z入力すると改行されて入力待ち、もう一回入れると終了します。
文字列に突っ込んでるからまずいのでしょうか?
どうなってる%
232:デフォルトの名無しさん
14/01/11 11:40:46.13
すいませんm(_ _)m
最大最小を求めるやつです
ctrl+zで終了したいのですがctrl+z入力すると改行されて入力待ち、もう一回入れると終了してくれます。
文字列に突っ込んでるからまずいのでしょうか?
どうなってるのか教えてください
void pr7(void)
{ int f=0;double max=0,min=0,c=1;char d="1";
char* a=&d;
char* enda;
printf("数字入れて:");
rewind(stdin);
while(scanf("%s",a)!=EOF)
{ c=strtod(a,&enda);
if (f==0){max=c;min=c;f++;}
else if (c>=max) {max=c;printf("max");}
else if(c<=min){min=c;}
printf("%.2f",c);
printf("\n数字入れて:");
rewind(stdin);}
printf("max=%.2f,min=%.2f\n",max,min);
}
233:デフォルトの名無しさん
14/01/11 12:09:33.05
UnixかWindowsのキー入力とかシグナルハンドラについて書かれた鈍器でも調べなさい
234:デフォルトの名無しさん
14/01/11 15:03:28.44
C言語を使ってエクセルのファイルを読み込む時に
都道府県名とかの漢字を表示せるやり方教えてくださいな
ぐぐってもビットがちがうとかいまいちよくわからんかった
ちなみにウインドウズ
235:デフォルトの名無しさん
14/01/11 15:05:12.89
何を言ってるか全く分からんがもしかしてバイナリデータを単純にテキストで読もうとしてるのだろうか
236:デフォルトの名無しさん
14/01/11 15:09:38.11
printf
237:デフォルトの名無しさん
14/01/11 15:11:05.83
さすがにCSVにしてるかパース用ライブラリ使ってるだろw
238:デフォルトの名無しさん
14/01/11 15:12:14.89
エクセルのデータを読み込んでコマンドプロンプトの実行画面で表示したいんだが、
漢字のところが記号とかになったりして困ってる
うーん伝わるかな?
239:デフォルトの名無しさん
14/01/11 15:13:54.34
コンシューマーゲームってC言語で作られてるの?
240:デフォルトの名無しさん
14/01/11 15:16:03.81
ファイル閉じてからprintfで出力のとこは大丈夫だと思う
char使ってやるのはあってますか?
241:デフォルトの名無しさん
14/01/11 15:19:43.37
アイテム画面でアイテムが画面に入りきらないときに
カーソルが画面の一番下にきて、さらに下を押すとアイテム画面がスクロールするじゃん?
あれってどうやんの?
242:デフォルトの名無しさん
14/01/11 15:22:11.65
>>240
カーソルの位置は変えずにアイテムの表示だけを変える。
243:234
14/01/11 15:30:19.23
csvにしていなかったようだ
解決、ありがとう
244:デフォルトの名無しさん
14/01/11 15:54:25.52
>>242
やってみたけどアイテムと表示がずれるようになった
アイテム一覧はスクロールするけど
どれ選んでもスクロール前の一番下にあったアイテムになる
245:デフォルトの名無しさん
14/01/11 16:05:30.63
ゲーム制作スレ行くかソース貼りなさいよ
246:デフォルトの名無しさん
14/01/11 16:12:05.86
お前らカウンタ(cnt>=0)が0のときに処理を抜けるときどう書く?
if (cnt==0)break;
って書く?
俺はカウンタの数値そのものをミスってマイナスになってたら怖いから
どうしても
if (cnt<=0)break;
って書いてしまうんだが
247:デフォルトの名無しさん
14/01/11 16:14:25.91
それはバグの発見を遅らせる拙い手だ
248:片山博文MZコスモ ◆T6xkBnTXz7B0
14/01/11 16:33:42.45
>>244
スクロール位置とカーソル位置を保持する
貴殿に差し上げる担々麺は御座いません
249:デフォルトの名無しさん
14/01/11 16:39:34.04
そんな丁寧に言われても
250:デフォルトの名無しさん
14/01/11 17:51:48.00
情報が古いかも知れないけどエクセルのファイルフォーマットって
IStorageインターフェースを使うとファイル内ファイルシステムみたいに
読み込めるんじゃなかったっけ?
OLEは言語非依存だからC言語からでも普通に操作できるよ
と言うより、プリミティブな操作は大抵C言語で解説されてる
251:デフォルトの名無しさん
14/01/11 17:52:48.71
>>247
サンクス
ではお前らにもう一つ質問だ
不定回数(不定であって無限ではない)のループ処理でwhileを使う場合、無限ループ対策はしてる?
例えば理論上最大でも1000回でbreakするwhileループの場合、
何かの加減で無限ループになったら怖いから1ループごとに本来の処理目的とは関係ない変数cntをインクリメントして、
それが理論上の最大回数を超えた場合でもbreakするようにしたりしてる
cnt=0;
while(1){
//本来の処理
//本来の処理、何らかの条件でbreak
//本来の処理
//本来の処理
cnt++;
if (cnt>=1000)break;
}
本来の処理でメモリ操作ミスってcntがやられたとき(cntが永遠に1000を越えないようなバグ)の対策もしといたほうがいいかな
252:デフォルトの名無しさん
14/01/11 18:10:16.00
cnt=0;
while (1) {
if (cnt == 1000) {
break;
// 処理1
// 処理2
// …
}
}
ifの位置が違って気持ち悪い
普通ならこう書くけど
ループってのは、最初に条件分岐するってわかってる??
253:デフォルトの名無しさん
14/01/11 18:13:52.73
まあ無限ループ対策が有効な場合はあるけど
メモリ操作云々まで気にするならもはやCなんか窓から投げ捨てろ
254:デフォルトの名無しさん
14/01/11 18:19:41.13
スマホで書いたらえらい間違ってるな
cnt=0;
while (1) {
if (cnt == 1000) {
break;
}
// 処理1
// 処理2
// …
cnt++;
}
255:デフォルトの名無しさん
14/01/11 18:22:34.31
このスレ見てるとものすごい勢いでゲーム量産されてるな
256:デフォルトの名無しさん
14/01/11 18:25:27.84
>>251
>何かの加減で無限ループになったら
こういうのを対処療法的に解決するのは間違い
無限ループになる原因を取り除かなくては駄目
257:デフォルトの名無しさん
14/01/11 18:25:36.61
while (cnt < 1000)にしろよ
258:デフォルトの名無しさん
14/01/11 18:44:47.29
if(1000 == cnt){}
って、定数を前に置けってバッちゃがいってた
259:デフォルトの名無しさん
14/01/11 18:49:09.23
>>255
そして、就活時にDirectXやUnityで作られたゲームを見て絶望する大量の情報システム科
260:デフォルトの名無しさん
14/01/11 19:10:41.53
電検三種を持って、制御理論の研究室へ行くの技術者っぽい仕事が出来て、
それ以外は、多分、ぺちぱーになるんだ。
261:デフォルトの名無しさん
14/01/11 19:21:22.53
GUIプログラミングに沢山の選択肢があるけど、
swingが一番に枯れてて、多くのツールキットに影響を与えているんだ
今日日、cでゲーム作るってすごい情弱。陸の孤島にでも住んでるの?
262:デフォルトの名無しさん
14/01/11 19:33:08.24
既存のフレームワークがないと何もできない情弱が何か言ってるぞw
もし世界にフレームワークが1つもなかったらこいつはどうするつもりだろうなw
263:デフォルトの名無しさん
14/01/11 19:55:30.49
ありえない仮定に意味は無い
264:デフォルトの名無しさん
14/01/11 19:58:13.27
いや俺が気持ちよくなる という重大な意味がある
265:デフォルトの名無しさん
14/01/11 20:47:26.73
既存のフレワは汎用性が高い代わりに重い。
まぁ重いと感じるところまでいかないゲームしか作れない奴には
縁のない話かもしれないが。
266:デフォルトの名無しさん
14/01/11 20:53:08.57
C言語でアイテムエディタの作り方教えてくれ
コンソールアプリでも構わん
267:デフォルトの名無しさん
14/01/11 20:58:30.23
だがアイテムデータのフォーマットはまだ決まっていない(キリッ
268:デフォルトの名無しさん
14/01/11 21:01:20.70
フレワwww
バね!
269:デフォルトの名無しさん
14/01/11 21:03:57.88
フォーマットは決まってないっつーか決めてない、汎用のだよ
ジャンルも自分で剣とか槍とか好きなのを追加して、さらにそれぞれのジャンルに攻撃力とか命中率とか好きなパラメーターを追加して
アイテムを登録するときはそれぞれの項目の入力を求められたり、登録したら勝手にユニークなIDを割り振ってくれたりするやつ
270:片山博文MZコスモ ◆T6xkBnTXz7B0
14/01/11 21:04:27.51
>>266
MySQLとかSQLiteとか使えば色々便利
271:デフォルトの名無しさん
14/01/11 21:09:47.93
どんなゲームのアイテムか知らんけどMMORPGでもない限りデータベース使うのは面倒だろ。
272:デフォルトの名無しさん
14/01/11 21:16:51.71
>>269
構造体のポインタの配列でいいだろ。
なにがわからんの?
273:片山博文MZコスモ ◆T6xkBnTXz7B0
14/01/11 21:18:18.67
昔とは違って最近のデータベースは当たり前にGUIが付いてくる。
ユニークID付けるのは自動ででできるし、大規模な設計変更にも対応できる。
SQL勉強したての馬鹿でも使えるよ。使わないのは馬鹿
274:デフォルトの名無しさん
14/01/11 21:22:16.10
>>273
はぁ?
いちいちitemid INTEGER UNIQUEとかやんのかよめんどくせー
275:デフォルトの名無しさん
14/01/11 21:23:11.75
楽できるようなもん作れとかいってるのかな
276:デフォルトの名無しさん
14/01/11 21:23:43.53
>>272
画像、音楽、モーション、AI、セリフ諸々のリソース管理したいって事じゃない?
277:片山博文MZコスモ ◆T6xkBnTXz7B0
14/01/11 21:36:36.86
uniqueにするのも、チェックボックスにチェック入れてボタンを押すだけでできる。
それに多人数での開発でも使える。メリットがこんなにあるのに使わない理由はない
278:デフォルトの名無しさん
14/01/11 21:47:11.30
何でアイテムにセリフが出てくるんだよw
279:片山博文MZコスモ ◆T6xkBnTXz7B0
14/01/11 21:48:39.93
おカネに余裕あるならMicrosoft Accessでも使えば? 入力補完まで付いてくるよ
280:デフォルトの名無しさん
14/01/11 22:08:00.96
アクセスなんて使うかよ
無能の象徴じゃん
281:デフォルトの名無しさん
14/01/11 22:10:08.88
アクセスはブビ厨御用達の低脳向けツール
282:デフォルトの名無しさん
14/01/11 22:18:23.21
LibreOffice Base
283:デフォルトの名無しさん
14/01/11 22:47:32.32
>>282
それ評判悪いから止めた方がいいよ
URLリンク(portable.blog.ocn.ne.jp)
284:デフォルトの名無しさん
14/01/11 23:09:11.37
filemaker
285:デフォルトの名無しさん
14/01/11 23:17:05.43
おいこんな宗教があるらしいぞ
URLリンク(gigazine.net)
俺たちも何か宗教作ろうぜ!
「free必須教」とか
286:デフォルトの名無しさん
14/01/11 23:20:54.14
すでにGPLという教義にしたがうFSFという新興宗教があってだな
287:デフォルトの名無しさん
14/01/11 23:23:04.14
phpmyadmin
288:デフォルトの名無しさん
14/01/11 23:32:24.51
>>285
free不要なwindowsは邪神かw
289:デフォルトの名無しさん
14/01/11 23:34:39.57
>>287
マルチメディアに未対応
290:デフォルトの名無しさん
14/01/11 23:46:55.27
やっぱりアクセス最強
291:デフォルトの名無しさん
14/01/12 00:03:08.37
free教:
飼い犬の鎖をはずし
ブラのホックをはずし
この世のすべてを解放・無料化する
292:デフォルトの名無しさん
14/01/12 00:27:17.10
たましいを肉体から解放
293:デフォルトの名無しさん
14/01/12 02:17:24.45
このプログラムのおかしいところを教えてください
関数形式マクロでint型とdouble型の差を求めるやつなのですが
コンパイルできません・・・
#include <stdio.h>
#define diff(x,y) ((x>y) ? (x-y) : (y-x))
{
int nx,ny;
double dx,dy;
puts("二つの整数を入力してください。");
printf("整数A:"); scanf("%d",&nx);
printf("整数B:"); scanf("%d",&ny);
printf("その差は%dです。\n",diff(nx,ny));
puts("二つの実数を入力してください。");
printf("整数A:"); scanf("%lf",&dx);
printf("整数B:"); scanf("%lf",&dy);
printf("その差は%fです。\n",diff(dx,dy));
return 0;
}
294:デフォルトの名無しさん
14/01/12 02:20:29.17
0以上の整数を引数として受けとる自作関数を呼び出すときに、引数(変数)の値チェックはどこでやる?
俺は心配性だから呼び出す前と呼び出した後の2回やってるんだが
if (test<0) return -1;
if (TestFunc(test)!=0) return -1;
int TestFunc(int x)
{
if (x<0) return -1;
//処理
return 0;
}
295:デフォルトの名無しさん
14/01/12 02:33:56.32
>>293
#define diff(x,y) ((x>y) ? (x-y) : (y-x))
int main(void)// <- これ
{
296:片山博文MZコスモ ◆T6xkBnTXz7B0
14/01/12 02:34:55.77
>>293
エラーメッセージを貼れ
>>294
問題なし
297:デフォルトの名無しさん
14/01/12 02:40:28.17
>>295
うわぁ・・・関数形式マクロの練習だったからそればっかりに気を取られてて完全に忘れてました・・・
恥ずかしい・・・
ありがとうございます、無事コンパイルできました
298:デフォルトの名無しさん
14/01/12 02:49:21.98
cなんて使うことないからSQLとPHPでも齧ってろ
299:デフォルトの名無しさん
14/01/12 02:54:28.93
なんかしらんけど
ピェッチピピェッチピ
とダイナマイト四国風に脳内再生された
300:デフォルトの名無しさん
14/01/12 03:00:24.67
cでプログラムを書くぐらい無駄な時間ないぞ
gtkみたいなミドルウェア書けるレベルまで習熟するか、
言語処理系のコミッタになるか、BSDのコードと寝食を共にするかぐらい
Javaかc#かPHPが妥当な選択肢で、Windowsから離れないでc#が最小努力
301:デフォルトの名無しさん
14/01/12 03:09:39.32
>>293
マクロは副作用があるので_Genericを使え。
100歩譲って
#define diff(x,y) (((x)>(y)) ? ((x)-(y)) : ((y)-(x)))
302:デフォルトの名無しさん
14/01/12 03:11:00.72
大抵の言語の実装なんてCで書いてあるんだし
まともにプログラム勉強してる人間でC不要なんて言う奴はあり得ない
実務で使うとかは関係ない
結局どの言語を学ぶにしても、奥深いところではC言語の知識が必要になる
に決まってる
303:デフォルトの名無しさん
14/01/12 03:17:34.75
老人の妄想もここまで来ると哀れだな。
自分たちが世間から要らないゴミと認識されている事実を
どうしても認められないらしい。
304:デフォルトの名無しさん
14/01/12 03:32:11.29
>>303
代替え言語はあるの?
それを提示してくれないことには
どっかの国の大統領と同じだぞ
てか、スレタイ見えてる?
気味悪いよ
305:デフォルトの名無しさん
14/01/12 03:45:55.18
時間が時間だしな
C#の亡霊か何かだろw
306:デフォルトの名無しさん
14/01/12 04:09:33.07
夜な夜な現れてはC言語ユーザーの生き血を求めてさ迷い歩くC#の怨霊。
C言語ユーザーを見つけると
「C#を使え~」
と呪文を唱えてくる。
捕まるとC#厨にされてしまう。
307:デフォルトの名無しさん
14/01/12 05:17:39.86
という夢を毎晩見るのですが、
どうすればいいのでしょうか?
私は正常です。
308:デフォルトの名無しさん
14/01/12 08:08:24.17
>>306
ひえー…
309:デフォルトの名無しさん
14/01/12 10:49:34.40
>>291
> ブラのホックをはずし
kwsk
310:デフォルトの名無しさん
14/01/12 11:01:28.06
ブラのホックを外したら自動でツイートされるやつあったな
311:デフォルトの名無しさん
14/01/12 11:21:54.41
ブラ: ブラケット {}
ホック: hook
312:デフォルトの名無しさん
14/01/12 13:06:24.94
ダメージ計算の方法を教えてください
ダメージ = ( 攻撃力 - 防御力 ) * 弱点属性倍率
にしようかと思ったのですが、攻撃力と防御力が近いとほとんどダメージ出なかったり
防御力のほうが高いとマイナスダメージになります
また、最後のほうになるとHPも高くなってきて、ダメージも相対的に高くしないとなかなか死なないのですが
攻撃力も防御力も上がる現状だとダメージがほとんど上がりません
313:デフォルトの名無しさん
14/01/12 13:34:09.07
ダメ = 攻撃 * ( 攻撃 / ( 攻撃 + 防御 ) )
314:片山博文MZコスモ ◆T6xkBnTXz7B0
14/01/12 13:47:41.87
方眼用紙でダメージのグラフを書いてみたら?
float k,m;//係数
int ダメージ計算(int 攻撃力, int 防御力, float 弱点属性倍率) {
int n = (攻撃力-(1.0-弱点属性倍率)*防御力*m)*k;
if (n<0)n=0;
return n
}
315:デフォルトの名無しさん
14/01/12 14:14:38.55
>>304
c#がcの代わりにならないのと同様に、cはc#の代わりになりえない
cが重要だなんていうのは亡霊たちの妄言
cで何かをしたところで幸せにはなれない
316:デフォルトの名無しさん
14/01/12 14:20:39.67
重要かどうかなんてのは俺は知らんが
C#でCの代わりにならないんだから
Cでやるべきところがあるわけだろ
317:デフォルトの名無しさん
14/01/12 14:26:46.60
案件次第だし、ほとんどはc#で済むし、c#の方が幸せになれる
私を信じない人間はプログラミング地獄に堕ちるだけ
318:デフォルトの名無しさん
14/01/12 14:31:32.62
C#で済ませられる案件は全体のほんの一部なのに
それしか出来ない人なんですね?
319:デフォルトの名無しさん
14/01/12 14:33:56.29
釣りだろ?
『まともにプログラム勉強してる人間でC不要なんて言う奴は あ り 得 な い』
『奥深いところではC言語の知識が必要になるに 決 ま っ て る』
常識的な思考を持った人間の発言じゃない。
320:デフォルトの名無しさん
14/01/12 14:36:22.32
この世は
C#で作ったほうが幸せなシステムと
Cでないと作れないシステムと
その2つの区別つかない阿呆とが共存する
そういう世界である
321:デフォルトの名無しさん
14/01/12 14:59:29.97
>>320
システムと人とで分けた方が良いかと
322:デフォルトの名無しさん
14/01/12 15:07:33.40
>>319
自分にcが必要なのかc#が必要なのかすら分かってないんじゃない?
323:デフォルトの名無しさん
14/01/12 15:08:57.96
Cをアセンブラに置き換えてみよう!
『まともにプログラム勉強してる人間でアセンブラ不要なんて言う奴は あ り 得 な い』
『奥深いところではアセンブラの知識が必要になるに 決 ま っ て る』
加齢臭がぷんぷんですね。困ったものです。
324:デフォルトの名無しさん
14/01/12 16:45:40.23
C#使う人って、ハード寄りのことは全然知らない、分からない人なの?
325:デフォルトの名無しさん
14/01/12 17:10:04.90
C#遅いじゃん
まぁそれが遅いと感じない程度の規模のものしか作れない奴には縁のない話か
326:デフォルトの名無しさん
14/01/12 18:42:32.46
そこに規模は関係ないでしょ
327:デフォルトの名無しさん
14/01/12 19:17:15.32
>>314
何でエクセルじゃなくて方眼紙?
328:デフォルトの名無しさん
14/01/12 19:27:32.42
>>323
煽ってるつもりか知らんが、あまりにもみっともないぞ
加齢臭より小便臭さを気にしたほうがいい
329:デフォルトの名無しさん
14/01/12 19:27:36.14
>>323はなぜか突然アセンブラに置き換える話を始めたアスペ
いきなりアセンブラに置き換えて加齢臭が云々とかき違い臭がする
330:片山博文MZコスモ ◆T6xkBnTXz7B0
14/01/12 19:28:56.78
数学がよくわからないならエクセルもよくわからないと思った。
アナログ的なのがいいかなと
331:デフォルトの名無しさん
14/01/12 19:29:41.19
>>330
煽りに構うなボケ
332:デフォルトの名無しさん
14/01/12 19:30:00.67
>>323はネタで言ってんのに何マジになってんだ。
みんなで色んなものに置き換えてみよう。
『まともにプログラム勉強してる人間で生駒里奈不要なんて言う奴は あ り 得 な い』
『奥深いところでは生駒里奈の知識が必要になるに 決 ま っ て る』
333:デフォルトの名無しさん
14/01/12 19:41:26.43
小学四年生でゲーム作ってるってスゴくない? えっへん!
みたいな
334:デフォルトの名無しさん
14/01/12 19:50:09.10
C/C++で作られたOSの上で
C/C++で作られたデバイスドライバを使ってマウスやキーボードを接続し
C/C++で作られたIDEを使って
C/C++で作られた処理系とライブラリを使って
そこまで揃って初めてC#のコードを書いて動かせるわけだ。
335:デフォルトの名無しさん
14/01/12 19:55:48.41
>>323
お前のIPは52.175.3.142だな
今からハッキングする
336:デフォルトの名無しさん
14/01/12 20:01:11.57
半導体から作れやボケ!
337:デフォルトの名無しさん
14/01/12 20:16:30.74
>>335
127.0.0.1だけど?
338:デフォルトの名無しさん
14/01/12 20:18:37.41
最近、気付いた。プログラミングを勉強するヤツはアホだ
339:デフォルトの名無しさん
14/01/12 20:29:49.24
マジスレすると小学生からプログラミングして中学でアプリ売ってる奴見ると
そいつに対する悪口って「プログラミングよりもっと他の事あるだろ人生もっと
他に目を向けろ」なんだよな、どう考えたって中学でプログラミングできる奴は
得してるわけで、辛うじてネガティブ意見と相殺して目立たなくなってるけど
内心悔しくて仕方ない、何故、俺は中学高校とインターネットしてたくせにプロ
グラミングをしなかったのだと!後悔!!
340:デフォルトの名無しさん
14/01/12 20:31:54.61
グーグル、アップル、フェイスブックの本社勤務プログラマの平均年収は日本円換算で1200~1300円
使い捨ての日本プログラマと比べて圧倒的な差がある
企業全体の平均年収じゃないからな、プログラマの平均年収だからな
つまりCEOや凄腕営業マンの年収は含まずにこれだけの年収を叩き出す
まぁそういうところで働いてる奴らは罵声の飛び交う匿名掲示板になんか出入りしてないだろうよw
341:デフォルトの名無しさん
14/01/12 20:32:06.38
勉強するアホとしないアホがいる
好きなほうを選べ
342:デフォルトの名無しさん
14/01/12 20:33:43.99
平均年収は日本円換算で1200~1300円
343:デフォルトの名無しさん
14/01/12 20:34:21.21
>>340
とにかく戻れるなら中学生に戻りたい、野球部なんて入らずに
コン部入ってBASICいじればよかった、で高校でアプリ作って年収500万で
大学も行かなかったろうな
344:デフォルトの名無しさん
14/01/12 20:34:23.83
>>340
日本の方がマシに見える
345:デフォルトの名無しさん
14/01/12 20:34:50.35
>>339
このスレにいてこんなこというのはあれだけど
小学校からプログラミングするよりは真面目に勉強していい大学に入るほうがいいよね
まあ一般論だけどさ
346:デフォルトの名無しさん
14/01/12 20:35:08.07
すまん、万が抜けた
1200~1300万円
347:デフォルトの名無しさん
14/01/12 20:37:03.24
>>345
プログラマーになるつもりないし、IT企業の営業が一番やりたいことだけど
趣味で大学時代にアプリで稼げるなら、そんな実りある学生時代は無かったよ
大学入って3年、4年になってようやくプログラミングするとか俺人生設計
読めなさすぎなんだよなー、馬鹿だろ?
348:デフォルトの名無しさん
14/01/12 20:37:14.88
>>345
小学生からプログラミングを初めてE欄kkdrぐらいが良いんじゃね?
大学からプログラミング初めても本格的なコードなんて読めねぇよ
349:デフォルトの名無しさん
14/01/12 20:39:54.33
>>348
コードは読めないがアプリは作れるじゃん、1000行ものソースコードを
分析とか全く興味無いけど、アプリ作れるじゃん、凄い事じゃない?
350:デフォルトの名無しさん
14/01/12 20:41:32.28
どちらかと言えばの話だけど、アプリで年500万稼いでる奴より
株で年1000万稼いでる奴のほうが魅力的に見える
351:デフォルトの名無しさん
14/01/12 20:42:05.92
>>349
1000行って何かの冗談?
プログラミングなんて、はじめない方がマシってレベル
352:デフォルトの名無しさん
14/01/12 20:49:40.91
>>350
そういう人ってさ、論理的思考よりも直感とか嗅覚がすごいんじゃない?
353:デフォルトの名無しさん
14/01/12 20:50:46.91
>>349
担当していたプログラム、各ソースが1万行あった
354:デフォルトの名無しさん
14/01/12 20:54:44.71
FOSSのコードを眺めたこともないアホがIT業界へ入る恐ろしさ
355:デフォルトの名無しさん
14/01/12 20:55:20.49
関数型(笑)金融工学(笑)
356:デフォルトの名無しさん
14/01/12 20:58:11.75
>>355
どう考えてみてもcやJavaのコードを書くより
RとかExcel、Accessを扱う方が明らかに楽
357:デフォルトの名無しさん
14/01/12 21:09:30.35
>>355
ファイナンスの分野で関数型が使われてるのは確実でないの?
派生製品の計算が面倒だとか、JaneStreetのOcamlのステマでやってたよ
c/c++、Java、c#やPHPのコードをゴリゴリ書くより楽しそうだし給料よさそう
関数型言語と最適化数学だけ齧って商社マンにでもなる方が、ずっと幸せな人生だと思う
時間を割いてcを学んだり、アンドロイドアプリ作るとか情弱のやることじゃない?
358:デフォルトの名無しさん
14/01/12 21:12:45.16
c言語入門なんて、ダメ絶対
359:デフォルトの名無しさん
14/01/12 21:13:32.61
眺めるだけならいけぬまでもうましかでもできる
360:デフォルトの名無しさん
14/01/12 21:14:50.56
大学からプログラミング初めて本格的なコードが読めないのは、単にそいつがアホだからだろ
361:デフォルトの名無しさん
14/01/12 21:16:42.39
>>359
眺めたことないうましかがIT業界へ参入って、眺めただけのうましかより危険でしょ?
眺めたことないうましかが書くコードの変数名なんて、ちょっと考えたくない
362:デフォルトの名無しさん
14/01/12 21:17:59.20
>>360
その本格的なコードって、何さ?何読むべきなの?
363:デフォルトの名無しさん
14/01/12 21:45:42.43
プログラミング言語ツクール作ろうぜ
364:デフォルトの名無しさん
14/01/12 21:56:35.29
>>362
GNU textutils
Linux
Inkscape
GIMP
Emacs
365:デフォルトの名無しさん
14/01/12 21:58:07.85
俺が考えてるのはブラウザーの中で動く
もう一つのウインドウマネージャー
JavaScriptのコードからvar w = CreateWindow()
見たいにして使える奴
HTML5互換で、独自のJavaScriptパーサー持ってて
UI拡張できる
最初は無料で配ってシェア拡大したらGoogleかMSに
売っぱらう
どう考えてもあいつらより俺たちの方が頭は上だろ
366:デフォルトの名無しさん
14/01/12 21:58:34.63
>>364
んなもん全部ながめたわ
コミットするレベルで理解できなきゃ意味ねーだろ
おまえ、ホントにそれ全部、読んだの?
367:デフォルトの名無しさん
14/01/12 22:00:07.56
>>365
ナニソレ?Dojo toolkit?
368:デフォルトの名無しさん
14/01/12 22:10:51.22
>>365
俺たちってお前と一緒にされても困る。
お前は上かもしれないが俺は知らん。
どちらにしても行動力のある奴が勝つ。
369:デフォルトの名無しさん
14/01/12 22:11:50.97
>>364
初心者にはデカくて、まともに読みきれるサイズじゃないだろ
GNUStepのサイトにおいてあるトイプログラムの方が小粒だし必要な処理かかれてる
今ならgtkみたいに将来さわる可能性があるかないか分からないソースよりは、
Swing製の小さいソフトウェアをしっかり読み込むけど
370:デフォルトの名無しさん
14/01/12 22:38:16.76
関数型言語に最適化数学。c/c++なんて、ダメ絶対。
cでアルゴリズムをガリガリ書いたり、FOSSのコードを読むってのが
無意味かつ虚しい努力だって悟りの体験をしたよ
371:デフォルトの名無しさん
14/01/12 23:02:49.50
じゃあなにをやれっていうのさ
372:デフォルトの名無しさん
14/01/12 23:36:16.80
すいません、二段ジャンプってどうやって実装するんですか?
ジャンプ中にジャンプボタンが効くようにしたら無限段ジャンプできるようになってしまいました。
373:デフォルトの名無しさん
14/01/12 23:37:22.22
フラグ立てればいいんじゃないの
374:デフォルトの名無しさん
14/01/13 00:57:07.47
>>369
で、読み込んだらJNIてっるとかよくあるパターンだよね
真面目な話
Java屋のおばちゃんやらスクリプタのお兄ちゃんでも
Cが書けない人ってまずいないよ
375:デフォルトの名無しさん
14/01/13 01:19:23.46
質問です、ハード屋さん多いから聞いていいですかね
3Dアクセラレーター(グラフィックボード)とGPU(CPUじゃない)の違いって何ですか?
どっちもCPUでは不可能な演算できるって事は分かるんですが、何か細かな違いありますか?
376:デフォルトの名無しさん
14/01/13 01:35:33.69
まず
>3Dアクセラレーター(グラフィックボード)とGPU(CPU
この対比が意味不明でスレ違い
377:デフォルトの名無しさん
14/01/13 01:51:43.39
>>361
いや同じだよ
内容に踏み込んだかどうかが肝心だ
変数名なんか案件ごとに決まりがあるし、
クセを自己主張に使う変なやつは公害でしかない
378:デフォルトの名無しさん
14/01/13 01:53:12.22
サヨクじみてきましたw
自動車も禁止にしたほうがいいね
379:デフォルトの名無しさん
14/01/13 05:22:30.40
>>373
二段階目かどうかのフラグを新たに用意しました。
結構原始的な感じの解決方法しかないのですね。
380:デフォルトの名無しさん
14/01/13 07:02:58.48
原始的な方法すら自分で思いつけなかったことを恥ずかしく思えよw
381:デフォルトの名無しさん
14/01/13 07:43:12.58
オブジェクト指向言語だったら、Stateパターンを使ってフラグとか条件分岐無しでスマートに書けるぞ。
382:デフォルトの名無しさん
14/01/13 07:57:27.33
ゲームなんか作ってどうするのよ
周りのみんなは受験勉強やら自己啓発で資格取得やら親しい友人と親睦深めたりしてるのに
ゲームプログラミングなんかしてても受験、就職、出世、何の評価にも繋がらないぞ
しかも10年も経てば今やってることなんざ時代遅れの何の役にも立たない糞知識と化すの分かってるのに
時間とエネルギーの無駄TOEICの勉強でもしてた方がなんぼかマシ
履歴書に特技ゲームプログラミングとか書くのか世間はキモオタとしか見ないよ残念
383:デフォルトの名無しさん
14/01/13 08:17:56.93
自分ができなかったからって他人の足を引っ張ることに一生懸命にならなくてもいいのにw
384:デフォルトの名無しさん
14/01/13 10:15:59.07
コピペをわざわざ保存してかまって厨アピールご苦労さまです
385:デフォルトの名無しさん
14/01/13 11:01:00.58
>>382
自動化する側と自動化される側のどちらになりたい?
386:デフォルトの名無しさん
14/01/13 11:06:29.42
ソルジャーに自動小銃を付きつけられている士業者
387:デフォルトの名無しさん
14/01/13 11:37:59.60
>>371
swing製の2dCAD最強
388:デフォルトの名無しさん
14/01/13 12:33:23.72
>>387
スレ違い
389:デフォルトの名無しさん
14/01/13 12:53:32.45
コンパイラについて質問です。
forxという変数名があった場合、繰り返しのforとかぶって
エラーが出ると思うのですが、コンパイラはエラーを出さないのは
何故ですか?どういう仕組みなんでしょうか?
コンパイラの作り方が紹介されてるページが殆ど無いため自分ではわかりません。
390:デフォルトの名無しさん
14/01/13 13:01:48.80
単語単位で拾ってるから
ある程度の先読みをしないと複数の候補からひとつを選べないというのは多々ある
それ以上調べる気があるなら 構文解析でぐぐれ
本気でコンパイラ作る気ならドラゴンブック読め
391:デフォルトの名無しさん
14/01/13 13:10:40.65
構文解析って難しいですか?理解に何日かかります?
392:デフォルトの名無しさん
14/01/13 13:19:03.63
ゲーム用の3Dモデラー作ってるんだけど、小数の値がたまにずれる
2進数で管理してるから仕方ないことかもしれないけど何とかずれない方法ない?
393:デフォルトの名無しさん
14/01/13 13:32:01.58
ずれるというのはどういうことだろ?
まさかだけど==で比較して合わないとか?
普通合わないよ。
394:デフォルトの名無しさん
14/01/13 13:38:35.84
>>391
早い人はパラパラめくるだけで全部把握するみたいだよ。
俺はドラゴンブック上巻は三回買ったよ。
何回読んだかわからないくらい読んだよ。
実際に一通り実装して初めてなぜそうしてあるのかわかった感じだったよ。
だから個人差が大きいんじゃない?
二チャンネル平均だと2~3時間くらいじゃないかな。
俺はその100倍かかった。
スクリプトスレ行くと優秀な人が多いよ。
395:デフォルトの名無しさん
14/01/13 13:45:31.23
>>394
ありがとうございます、200時間ですか.....
俺もっとかかりそうです
396:395
14/01/13 13:51:11.41
>>394
後、シンプルな題名でコンパイラって本があるんですが
コンパイラ(湯浅太一著)、これ知ってますか?
397:デフォルトの名無しさん
14/01/13 13:57:21.90
その本は持ってないです。
俺が持っているのはこれです。
URLリンク(www.amazon.co.jp)
URLリンク(www.amazon.co.jp)
398:デフォルトの名無しさん
14/01/13 14:00:11.91
>>397
あー欲しいなー
何でネットはコンパイラの情報が無いんだろう、金無いw
誰か譲ってくれませんか?
399:デフォルトの名無しさん
14/01/13 14:02:14.33
図書館はどうでしょうか。
400:デフォルトの名無しさん
14/01/13 14:04:59.99
>>399
グッドアイディア!!!
401:デフォルトの名無しさん
14/01/13 14:33:52.52
英語でc言語って何て言うんですか?コンピューターランゲージシーとかですか?
402:デフォルトの名無しさん
14/01/13 14:40:24.14
アプリ開発の超初心者の質問です。
アップルアプリを作ろうと思ってます。
Macが無いのでWindowsで作りたいのですがハードル高いですか?
初心者は素直にMac買っといた方がいいですかね?
Macが高いので買うのを渋っています。
よろしくお願いします。
403:デフォルトの名無しさん
14/01/13 16:40:03.85
Androidの方が将来性がある
404:デフォルトの名無しさん
14/01/13 18:06:42.52
ふつうのコンパイラをつくろう、と
オライリーから出てる構文解析の本の方が入門に向いてんじゃね?
405:デフォルトの名無しさん
14/01/13 18:08:29.52
>>403
iPhoneもAndroidも市場が飽和しているんじゃ?
Windows Phoneって市場の方が競合すくないと思うんだけど
406:デフォルトの名無しさん
14/01/13 18:44:03.89
>>401
C
407:デフォルトの名無しさん
14/01/13 19:00:38.42
>>405
iphoneを捨ててまでWindowsPhoneに乗り換える理由が今ひとつ‥‥
408:デフォルトの名無しさん
14/01/13 22:13:59.45
この世の中で最も勝ち組の人間=高等専門学校情報学科卒
異論は認めない
409:デフォルトの名無しさん
14/01/13 22:17:06.33
だけど、二次元のおっぱいを描いてる人たちの方がもっと幸せそうだよね
410:デフォルトの名無しさん
14/01/13 22:17:44.52
配列ってどれくらいまでなら動的にメモリ呼び出さなくてもいいですか?
str[10000]くらいですか?
411:デフォルトの名無しさん
14/01/13 22:25:44.23
コンパイルオプションでスタックサイズをいくつに指定したかによる
412:デフォルトの名無しさん
14/01/13 23:16:47.63
static な配列ならスタックサイズは関係ないのでは?
413:デフォルトの名無しさん
14/01/14 00:00:08.99
>>402
WindowsでiPhoneやMacのアプリは開発できません
>>407
先行者利益
もちろん博打
>>408
男しかいない。はい、論破
414:デフォルトの名無しさん
14/01/14 00:01:57.03
>>410
個人的には255まで
それ以上を静的に確保する奴は童貞
そもそも実行環境のほうで縛りがあるだろ
415:デフォルトの名無しさん
14/01/14 00:06:05.44
static double data[44100]; とかやっちゃ駄目なんですか。
416:デフォルトの名無しさん
14/01/14 00:20:31.39
あきまへん!!!!あきまへん!!!!!!!!
あ き ま へ ん ! ! !
417:デフォルトの名無しさん
14/01/14 00:33:04.28
>>414
256でしょ
その間違いはちと有り得ない
418:デフォルトの名無しさん
14/01/14 00:41:44.02
>>415
問題がなければ(←ここ最重要)自由です
419:デフォルトの名無しさん
14/01/14 00:49:44.68
関数ポインタって何に使うんですか?
int ( *pf )( int );
pf = func;
( *pf )( 5 );
みたいにするなら最初からfunc( 5 );でいいじゃないですか
420:デフォルトの名無しさん
14/01/14 00:52:16.79
>>419
sortの比較関数とか想像すればすぐに理解できるんじゃないかな
421:デフォルトの名無しさん
14/01/14 00:54:22.74
>>419
signalのハンドラ関数とか想像すればすぐに理解できるんじゃないかな
422:デフォルトの名無しさん
14/01/14 00:59:55.80
>>419
関数の配列は作れないけど、関数ポインタの配列なら作れる。
状態遷移テーブル作るとか、色々面白い使い方が出来る。
423:デフォルトの名無しさん
14/01/14 02:05:11.24
>>419
( ・´ー・`)どや
424:デフォルトの名無しさん
14/01/14 02:09:11.13
>>419
ゲーム作るときに使う
ゲームは戦闘中でもマップでも秒間何十回と描画してるんだけど、その度に
if (戦闘のとき){
Battle();
}else if (マップのとき){
Map();
}else if (タイトル画面){
Title();
}
とか条件分岐やってたら無駄だろ?
だからマップとか戦闘とか切り替わったときに
Runに各関数のアドレスを入れて、毎フレーム条件分岐なしで(*Run)()を呼び出すだけにするんだよ
425:デフォルトの名無しさん
14/01/14 02:13:07.76
今時、ゲームをcで書く人たちいたの?
c++でリファレンス使った方が速そう
c#でUnityさわった方が早そう
426:デフォルトの名無しさん
14/01/14 03:01:33.94
あーそーかい
そもそもゲームを「書く」ということが
どれほど特殊なことか知らない
おめでたいやつだな
427:デフォルトの名無しさん
14/01/14 03:59:54.62
>>425
CAPCOMのMT Framework2.0が何言語で書かれてるか知ってて言ってる?
428:デフォルトの名無しさん
14/01/14 08:48:58.46
C言語で素数判定のプログラムを組んでいますが、上手くいきません
ご教授おねがいします
google検索ではint main(void)という関数を良く見るのですが、main()以外の関数をまだ使ったことがないのでこちらで教えて頂けると助かります
429:デフォルトの名無しさん
14/01/14 09:00:45.48
素数判定に使う関数なんて結果表示用のprintfくらいだろ
あと演算子と、素数がどういった数かを調べれば分かる
430:デフォルトの名無しさん
14/01/14 10:33:19.76
>>429
アスペはお帰り
431:デフォルトの名無しさん
14/01/14 10:34:21.54
>>427
そういうマイナーかつレガシーな場面でしか使われてないってことですね
432:デフォルトの名無しさん
14/01/14 10:53:04.13
>>431
何でも好きなの使えばいいよ
問題は 出来 だ
433:デフォルトの名無しさん
14/01/14 11:02:55.67
>>428
関数の作り方じゃろ
そもそも素数判定が目的じゃなくて関数を作るのが目的の課題なんじゃないか
434:デフォルトの名無しさん
14/01/14 11:30:09.56
>>428
素数判定の関数なんてないよ
まず素数が何かを調べたほうが早いんじゃね
435:デフォルトの名無しさん
14/01/14 12:45:23.44
素数は、わたしに勇気を与えてくれる
436:デフォルトの名無しさん
14/01/14 12:55:41.08
○○の風景の絵を描いてみましょうといわれて
必死に写真を探して提出しようとする姿を妄想
437:デフォルトの名無しさん
14/01/14 13:28:04.95
>>427
URLリンク(game.watch.impress.co.jp)
c++じゃないの?
438:デフォルトの名無しさん
14/01/14 14:27:34.86
カプコンが何を使おうと俺が最強になることとは何の関係もないからどうでもいい
439:デフォルトの名無しさん
14/01/14 17:37:00.27
前も書き込みした記憶あるけどvisual studioってタダで使えて凄い助かるんだけど
企業にとってメリットってあるのかな?開発環境を提供→プログラム開発が盛んになり
ライバル増える事にならない?
440:デフォルトの名無しさん
14/01/14 17:39:21.31
学生さんに自分とこの製品で勉強して貰えることに大きなメリットがある
学生さんに限らず、転職を考えている人もそう
本職で他社製品を使っている人に、鞍替えをそそのかすこともできるし
441:デフォルトの名無しさん
14/01/14 17:47:23.07
>>439
コンパイラもIDEもタダで手に入る時代だから、
評価版ぐらいタダで配らないと誰も使わない
442:デフォルトの名無しさん
14/01/14 17:59:58.38
開発ツールのベンダにとって有名になることは死活問題だからな
勢力分布には正のフィードバックがかかるから、些細なことが命運を分けるほどの問題になる
443:デフォルトの名無しさん
14/01/14 18:08:16.10
visual studio, delphi, eclipse, netbeans, InteliJ
ぐらいしか選択肢ないだろ.
444:デフォルトの名無しさん
14/01/14 18:16:12.95
>>442
些細な事って何?
445:デフォルトの名無しさん
14/01/14 19:52:57.46
>>444
おまえさ、ぼけるなら自分も何か投下しろよな
色んなことのタイミングや、規格対応のうち無くても別に困らない機能だとか、色々あるやん
446:デフォルトの名無しさん
14/01/14 19:58:27.53
>>445
お前のレスが一番抽象的でわけがわからん
447:デフォルトの名無しさん
14/01/14 20:10:45.09
,.,.,.,.,.,.,.,.,__
,,;f::::::::::::::::::::::ヽ
i::::::::/'" ̄ ̄ヾi
|:::::::| ,,,,,_ ,,,,,,|
|r-==( 。);( 。)
( ヽ :::__)..:: }
,____/ヽ ー== ; ほほう それでそれで?
r'"ヽ t、 \___ !
/ 、、i ヽ__,,/
/ ヽノ j , j |ヽ
|⌒`'、__ / / /r |
{  ̄''ー-、,,_,ヘ^ |
ゝ-,,,_____)--、j
/ \__ /
| "'ー‐‐---''
448:デフォルトの名無しさん
14/01/14 20:35:30.31
ベンダにとっちゃ有名になっちゃダメってこと?
開発ツールを広めたいけど、広めすぎてもダメってことか?
よくわからん
449:デフォルトの名無しさん
14/01/14 21:34:36.11
MSはOS売ってるんだから、OSを使って貰うには沢山ソフトが出ている必要が有るからね。
開発ツールを提供せず、自前のソフトしか無いOSなんて誰も使わないし、
逆に使いやすい開発ツールを提供して沢山作って貰えば、それだけOSも売れるし、
自前のソフトもその分売れるから。
450:デフォルトの名無しさん
14/01/14 21:41:05.82
#include <stdio.h> /* >>419 two3.c */
typedef int (*INT_FUNCTION)(int, int);
int x_function(int a, int b){
int x = a * b;
return x;
}
int sum_function(int a, int b){
int sum = a + b;
return sum;
}
void two_three(INT_FUNCTION p){
printf("answer = %d\n", p(2, 3) );
}
int main(int argc, char *argv[]){
INT_FUNCTION p;
if(argc == 2 && *argv[1] == 'x') {
p = x_function;
} else {
p = sum_function;
}
two_three(p);
return 0;
}
/*
C:\work>two3
answer = 5
C:\work>two3 x
answer = 6
*/
451:デフォルトの名無しさん
14/01/14 21:44:30.37
>>450
それで説明したつもりか
コンパイル時には未定で実行時に決められる
と言いたかったのだろうが
ヒントにもならなかっただろうなごくろう
452:デフォルトの名無しさん
14/01/14 22:57:30.98
C言語でフレームワークを作ろう!
453:デフォルトの名無しさん
14/01/14 23:12:41.11
>>452 何の?
454:デフォルトの名無しさん
14/01/14 23:29:35.07
railsみたいなWebフレームワーク
455:デフォルトの名無しさん
14/01/14 23:31:43.50
webtoolkit2ch.js
456:デフォルトの名無しさん
14/01/14 23:32:09.42
>>454 無理。絶対Ruby,js,C++に勝てない
457:デフォルトの名無しさん
14/01/14 23:32:20.59
>>456
意味不明
458:デフォルトの名無しさん
14/01/14 23:33:52.65
Cで書いてもあんまり良い事はないんじゃないの?
rubyのサブセットを再実装するような作業だと思うよ。
459:デフォルトの名無しさん
14/01/14 23:34:50.74
>>456
railsがWebアプリケーションに必要な要素を洗い出したんだから、
俺以外の誰かが本気だせばRailsライクなc製のWebフレームワークぐらい出てきそう
460:デフォルトの名無しさん
14/01/14 23:36:12.10
>>458
どこが?
Cの膨大なライブラリを使い放題だから意味あるだろーが
それにCしか使えない場所でも使える。AndroidはJavaかCで開発できる
Rubyは使えない
461:デフォルトの名無しさん
14/01/14 23:36:56.53
>>458
文法が簡潔。そして、速い。
PHPを使わなくて済む。
組込み技術者をWebに使える。
462:デフォルトの名無しさん
14/01/14 23:44:05.98
>>460
>Cの膨大なライブラリ
体系的にまとまったものでもあるのですかね?
463:デフォルトの名無しさん
14/01/14 23:44:20.03
解放が自動化できない、コンパイルが必要な点で負け戦
464:デフォルトの名無しさん
14/01/14 23:45:52.46
>>461
どうでもいいmalloc()/free()に気をとられてしまうCで文字列操作とか、何かの罰ゲームですか?
465:デフォルトの名無しさん
14/01/14 23:47:22.13
「ガベコレがない言語なんてヤダ!」
もはやWebフレームワークとまったく無関係なゆとり自慢になってワロタ
466:デフォルトの名無しさん
14/01/14 23:48:26.45
>>463
スマートポインタかGCみたいな仕組みをフレームワークに導入したら良い
修正は一部のファイルだけだから、そんなに時間かからないと嬉しいな
467:デフォルトの名無しさん
14/01/14 23:53:57.02
>>466
何でC++やDを使わないのか
468:デフォルトの名無しさん
14/01/14 23:54:50.54
そこで Boehm GCですよ、と
469:デフォルトの名無しさん
14/01/14 23:55:29.13
>>467
複雑だし、ちょくちょく変更される
470:デフォルトの名無しさん
14/01/14 23:56:17.68
何言ってるんだこの人
471:デフォルトの名無しさん
14/01/14 23:58:14.42
>>467
CでできることをあえてC++/Dでやる必要がない
472:デフォルトの名無しさん
14/01/14 23:58:30.02
Perlで、Rubyで、Pythonで、PHPで、
こう書けなんていったベストプラクティスからの開放運動
473:デフォルトの名無しさん
14/01/15 00:14:39.01
>>443
Delphiが自ら脱落したからVSとEclipse系しかない
結局、この2社が四半世紀以上に渡って業界を支配してるんだよな
Googleもがんばってるけど、決定打がでない
474:デフォルトの名無しさん
14/01/15 00:16:57.02
>>449
Officeで稼いだ金でVSを強化
VSの強みでOSを普及
OSの普及度でOfficeを拡販
無限ループって怖いよね
475:デフォルトの名無しさん
14/01/15 00:19:49.53
>>458
apacheとrailsが一体となった新世代の特化型サーバだよ
Cの速度とrailsの利便性が1つになって
速度と開発効率の両方で競争力を持つ
いつまでもapacheの支配下に甘んじている必要があるだろうか?
476:デフォルトの名無しさん
14/01/15 00:26:43.94
railsの利便性ってのはrubyみたいな動的な言語によるところが多いと思うんだけど、
それをCで再現しようとすれば、結局rubyがやってるような事をやる必要があって、
ガチガチに書いた融通の利かないものと比べたら速度はずっと落ちるんではないのかしら。
477:デフォルトの名無しさん
14/01/15 00:27:13.39
まず書いて晒せば
478:デフォルトの名無しさん
14/01/15 00:27:33.64
>>471
C++ でできることを C で書くとか、やっぱりなんかの罰ゲームに違いない‥
479:デフォルトの名無しさん
14/01/15 01:12:48.73
あぁこれは需要がないなっての決め打ちで好き勝手やればいいけど
おっなかなかいいんじゃない?となればCで書くよね
で、他の言語でラップする
これはCも例外ではなくお好きなように各種ラッパーが書こうとするだろうけど
いかんせん言語仕様上の制限がありマクロベースで臭くなる
480:デフォルトの名無しさん
14/01/15 01:45:31.03
ネットワークプログラミングでゲームをつくろうとしています
ソケットに色々なデータを詰め込んだ構造体をそのまま渡したいのですがどうすればいいのでしょうか
481:デフォルトの名無しさん
14/01/15 01:47:28.13
>>479
>おっなかなかいいんじゃない?となればCで書くよね
いいんじゃない?て思えばC++でかくね
482:デフォルトの名無しさん
14/01/15 01:48:33.81
>>480
つURLリンク(codepad.org)
483:デフォルトの名無しさん
14/01/15 01:48:36.69
シリアライズすればいい
484:デフォルトの名無しさん
14/01/15 01:49:51.24
>>481
extern "C"
だろどうせ
485:デフォルトの名無しさん
14/01/15 01:50:35.99
>>482
URLリンク(atamoco.boy.jp)
ここを参考にしているのですが、文字列はうまくいくのですが
どうも同じ要領で構造体等を入れるとエラーが発生するのです
486:デフォルトの名無しさん
14/01/15 01:57:27.88
アライメントにビット環境やエンディアンなんかの問題もあるでしょうね
そこでシリアライズです
487:デフォルトの名無しさん
14/01/15 01:58:19.45
>>484
いやいや new(nothrow) なんだ、例外の実装をいまいち理解していないからね、setjmp/longjmp らしいんだけど
488:デフォルトの名無しさん
14/01/15 01:59:02.98
エラーが発生するのです!(ババーン)
489:デフォルトの名無しさん
14/01/15 01:59:32.04
>>486
ありがとうございます。調べてみます。
490:デフォルトの名無しさん
14/01/15 02:04:05.32
>>487
はなしにならん
491:デフォルトの名無しさん
14/01/15 02:44:16.40
ゲームつっても色々あるだろ
例えばコンソールの数当てゲームをCではなくC++で書くメリットあんの?
492:デフォルトの名無しさん
14/01/15 03:45:53.52
C++でクラスとして作成すれば、数当てゲームをオブジェクトとして扱うことができるようになる。
これにより、何かのときに再利用(RPG中のミニゲームに使う等)することが可能となる。
493:デフォルトの名無しさん
14/01/15 03:49:27.08
後からGUIにしたくなった時とか?あと他言語での再利用性
494:デフォルトの名無しさん
14/01/15 03:54:33.96
クラスにしなくても専用の構造体と関数をライブラリにすればすむだろ池沼
495:デフォルトの名無しさん
14/01/15 06:42:36.23
>>490
URLリンク(www.textdrop.net)
>C++の例外を使ってはいけません。
496:デフォルトの名無しさん
14/01/15 08:12:57.85
>>495
> もしクラス型のスタティック変数やグローバル変数が必要であれば、main() 関数か
> pthread_once() 関数で(決して free されない)ポインタを初期化することを検討してください。
free必須教の信者はgoogle使わないように