1 :
松田 ◆cobo4pcvHY :
03/02/06 21:28 ID:+Sp/g0d7 全然言語の知識とかないけれど、 言語の難しさから逃げていては駄目だ!お前はゲームを作りたいのだろ!? という悟りを開き、今日からプログラム言語を覚え、そして プログラムツールで作ります!今持ってるものは・・・。 6才年下の弟の持ってる技術(厨2)の教科書。 アクティブベーシック。(vectorより入手) ・・・作れるのだろうか!?もちろん古本屋で買いあさってくるが (作れ次第、いずれうpします・・・。いつまでかか(ry))
終了
くさっ!
>>1 熱意は買うねんけど、ネタじゃないことを祈る。
アクティブベーシックかぁ、どんなんやろ。
自分の都合でスレ建てるような馬鹿にゲーム作りは無理
416たん(;´Д`)ハァハァ
7 :
名前は開発中のものです。 :03/02/06 23:09 ID:8qDmaxLQ
__(^^) <ペイピッポォ /__ \ | | | | (_) (__)
ここはプログラム言語をゼロから勉強してガティンコ風に進めるスレですか? もしそうなら一期生にしてください。 現在あるものは小遣いはたいて買ったVC++6.0とやさしいC++って本です 買ってしまえば止められないだろうと頑張って月2000円の小遣いをためて買いますた。
10 :
名前は開発中のものです。 :03/02/06 23:34 ID:DdmJNZBt
いったいどうなってしまうのか!?
11 :
3 :03/02/06 23:35 ID:ocytRY+n
>>1 さっきは、くさっ!っていってごめん
怒らないで出てきてください。
>>9 漏れも同じ路線なんでがんがりましょう
とりあえずコテハンなど付けて見るのがいいと思う
>>1
14 :
名前は開発中のものです。 :03/02/06 23:43 ID:pjoIkZid
15 :
松田 ◆cobo4pcvHY :03/02/06 23:50 ID:+Sp/g0d7
はあ・・まずちょっと弟の教科書にあるBASIC言語の数当てゲームをまず 作ってみています・・。がなかなかうまくいきません・・・。
起きません
>>16 なんや、一期生は2人だけかいな。しけとんのぅ。
・・・ってそんな乗りで進めたら、あんなことやこんなことまで起こるんかいな。
それはとりあえずおいといて。
数当てゲームは素材としてはなかなかよさげ。発展させると潜水艦ゲームにな
るし。方向性間違うとマジックナンバー7になるけどなー。
数当てゲームの部品は
・初期設定・・・乱数をつくる
・入力処理・・・数字を入力
・判定処理・・・用意した数と入力された数を比べる
・出力処理・・・正解・大きい・小さいの結果発表
と、シンプルながらゲーム(プログラム)の基本は兼ね備えてるわけで。
19 :
3 :03/02/07 00:37 ID:AD2VRflb
数あて、入門本に載ってるみたいなんで作ってみるよ。 でも、今日はもう寝るね。 おやすみ(・∀・)!
全員挫折するに100000ペリカ
int main() { int a; for(a=0;a<100;a++){ printf("ハァハァ\n"); } return 0; } 今日は寝る。
塾長 「おい、
>>22 、そのプログラムは一体なんだ?」
22 「見ればわかるだろ!100回ハァハァを表示するプログラムじゃねーか!」
塾長 「ああん?そんなプログラムじゃ、画面が流れちまって
ほんとに 100回か分かんねぇじゃねぇか!
そもそも『ハァハァ』じゃなくて『(;´Д`)ハァハァ 』だろーが!」
開始早々、塾長の指摘(言い掛かりだろ)を受けていきり立つ生徒!
果たして一体どうなってしまうのかー!
int main() { for(int a=0;a<100;++a){ printf("(;´Д`)ハァハァ %d\n". a); } return 0; }
塾長 「
>>24 よ、やればできるじゃねーか」
24 「…」
塾長 「インクリメントを ++a って書いてるあたり、見込みあるな。
printf の書式も覚えてやがる。
お前、どっかのジムで鍛えてたのか?」
24 「ああ、ちょっとな」
実はプログラミング経験者だった 24!
しかし、その後塾長から意外な言葉が!!!!
┌──────────────────────―─―┐ │ | │ | │ | │ | │ ∧_∧ | │ ( ・∀・) | │ ( ) | │ | | | | │ (__)_) | | 2ちゃんねる | │ | │ スレッドを終了しています… | │ | │ | | | | | └───────────────────────――┘
私もやってみよカナー… ノベルゲーム作りたいんだよね。 でもそれなら確かもっと簡単に作れるソフトあったよーな…窓で。 マカーって時点で間違ってる気もするがな>私
>>24 どうしてコンパイルできねーのか真剣に悩んじまったじゃねーか( ゚Д゚)ゴルァ
29 :
24 :03/02/07 09:45 ID:ArP0zNDF
30 :
名前は開発中のものです。 :03/02/07 13:25 ID:gL0OKbdB
λ ( ・∋・) 彡、 ) |_ |_ __< `Д´> クケー! /__ \ | | | | (_) (__)
31 :
名前は開発中のものです。 :03/02/07 14:24 ID:7Fqhc8N7
ガチンコはやらせだろ!
32 :
名前は開発中のものです。 :03/02/07 14:44 ID:jkBCot7B
33 :
名前は開発中のものです。 :03/02/07 16:19 ID:uRN3ycYE
なんで、++a だと見込みあるのだ? a++ じゃダメなのか?
35 :
名前は開発中のものです。 :03/02/07 18:22 ID:yPoqinR/
オレも参加するよ。 今VC++で作ろうとしてる。 まだスクリーンを開くとこだけど。
37 :
3 :03/02/07 19:19 ID:AD2VRflb
39 :
名前は開発中のものです。 :03/02/07 20:42 ID:LkBArSTW
>>38 34じゃないがあそこはa++でも++aでも同じだが
40 :
塾長 :03/02/07 20:47 ID:FsHT1GQ2
>>37 初心者が最初に書いたプログラムとしては上出来だな。
だがな、この言葉を心に刻んでおけ!!!!
エ ラ ー チ ェ ッ ク は 忘 れ る な !
「0 から 99 までの数を入れろ」と言ってるんだから、
それ以外の値が入力されたら「ゴルァ」くらい表示させんか!!!
あと、数字じゃなくてアルファベットとかを入力したら動作がおかしくだろ!
ちょっと初心者には酷かもしれんが、
cin >> myAns;
の後に
if (myAns < 0 || myAns > 99 || cin.fail()) {
cout << "0-99 の数字を入れろっつってんだろーが!" << endl;
cin.clear();
cin.ignore(INT_MAX,'\n');
continue;
}
って書いておけ!
何?INT_MAX が無いって言われる?
んなもんは #include<limits.h> を書いときゃいいんだ!
…とりあえず次も頑張れ
>>37
41 :
名前は開発中のものです。 :03/02/07 20:56 ID:209GsLY7
>>37 に初心者にしてはよくできてますよ。
最後は舐めてましたけど...
言葉をいろいろ変えてみては?
42 :
塾長 :03/02/07 20:57 ID:FsHT1GQ2
>>34 >>39 ああ、確かにこの場合は a++ でも問題ない。
むしろ、こういう風に書くことが多いだろう。
しかし!
もし a が C++ のオブジェクトなら a++ と書くことで
一時オブジェクトが呼ばれてしまって遅くなるんじゃー!
(たぶん、
>>34 >>39 も知ってるんだろうけど…)
だから、普段からインクリメントは後置にする癖をつけて
おくのは悪くはない!
知らなかった奴は "More Effective C++" を 10 冊背負って
「Meyers先生マンセー」と叫びながら 10 km ランニングしてこい!
(インクリメントネタはちょっと不適切だった。スマソ)
10冊も買うのか・・・
44 :
塾長 :03/02/07 21:00 ID:FsHT1GQ2
お前ら、訂正だ!
>>42 「普段からインクリメントは後置にする」
ではなく、
「普段からインクリメントは前置にする」
だ。
俺もランニングしてくるぜ!
//答えを述べよ #include <iostream> int main() { int a = 10; a += (a++)+a+(++a); std::cout << a << std::endl; return 0; }
46 :
3 :03/02/07 21:10 ID:AD2VRflb
>>40 ,41
(・∀・)サンクス!!
すぐに手なおしします。
47 :
塾長 :03/02/07 21:15 ID:FsHT1GQ2
>>45 実験しないで、適当に答えるぜ!
(入門生の諸君はきちんとコンパイルするように)
式の評価順序はC標準で規定されてないから
a の値は不定(コンパイラ依存)だ、たぶん。
間違ってても俺は気にしないぞ(藁
さて、数当てゲームが作れるならドラクエの戦闘風の
プログラムも作れるな?
コマンドを入力してください
1:たたかう
2:じゅもん
3:ぼうぎょ
4:にげる
で、コマンドを入力させる。
「たたかう」を選んだなら、敵のヒットポイントを乱数で適当に減らす。
ひろゆきはモンスターに 5 のダメージ!
とか、そんな感じで作ってみな!
グハァ塾長がいきなり答えを・・・
超低レベルなスレ
千里の道も一歩から
塾長! じゅもんやぼうぎょやにげる等は完全無視してOKですか!
52 :
塾長 :03/02/08 00:56 ID:CNLu0jZT
>>51 とりあえず最初は無視でいいぞ!
原則としては
最 初 か ら 大 規 模 な プ ロ グ ラ ム を 書 こ う と す る な
本来なら拡張性とかを考慮してコードを書かないといけないんだが
今からそんなことを気にしてても仕方がねえ!
ボクシングジムに入る前に減量とかしても意味がねえのと一緒だ!
とりあえず動くものを作れ!
>>52 了解です塾長!
とりあえず反抗する気なんてさらさらありませんが
反抗したほうがガティムコっぽいでしょうか?
いや、関係ありませんけどね、ゼンゼン。
54 :
塾長 :03/02/08 01:22 ID:CNLu0jZT
塾長「どうしますか?ディレクターさん」
ディレクター「うーん、そのほうが盛り上がるかなぁ?」
53「とりあえず、私は一期生で一番血の気が多い奴って感じでいこうかと」
ディレクター「最初は生徒が反抗できずに塾長さんにボコボコにされる
っていう展開を考えてたんですけどねえ」
53「それなら、とりあえず反抗してみて、もし都合が悪い展開になったら
編集でなんとか誤魔化す風にしたほうがいいかもしれませんね」
塾長「ええ、それでいきましょう」
ディレクター「はい、最近、編集局長からもマンネリだねと言われてますから
ここでちょっと方針転換ということで」
AD「はい、本番いきまーす」
塾長「ああん?
>>53 、てめえが俺に反抗するだなんて十年早いんだよ!」
乱数を発生させて変数から引いていき、0以下になればループを終わらせて 終了させるんだなんて十年早いんだよ!
(⊃д`)猫でものC言語編からっていうからがんがってやってるのに、C++じゃん。 それでもがんがるから一期生にしてくださいm( )m
∧ ∧ ┌────────── ( ´ー`) < このスレ終了しますた。 \ < └───/|─────── \.\______// \ / ∪∪ ̄∪∪ (( ((
せっかくなんで塾長さんがこいつらを プロテストに合格させるっていう企画じゃどうですか?
60 :
名前は開発中のものです。 :03/02/08 10:47 ID:gz+mqWK1
cout << と printfの違いってなんですか? 現在C言語しかやってないのでprintfしか使えません。
61 :
名前は開発中のものです。 :03/02/08 10:55 ID:/qoQVOaU
ActiveBasicはなかなかいいですよ
62 :
名前は開発中のものです。 :03/02/08 12:10 ID:LMmnaQoD
63 :
塾長 :03/02/08 16:01 ID:CNLu0jZT
>>56 ごちゃごちゃ言ってねえで手を動かせ!
>>57 CでもC++でもJavaでも歓迎だ!
ただし、口だけの奴は来なくていいぞ!
>>59 プロテストについてはディレクターと相談の上で決める。
>>60 cout ってのはC++の標準出力ストリームって奴で、
簡単にいうと C の printf と一緒だ。
C で書いてるなら printf を使え!
64 :
60 :03/02/08 17:17 ID:gz+mqWK1
>>63 将来的にはどっちが有効ですか?
若いうちに矯正しようかと思ってます。
65 :
塾長 :03/02/08 21:27 ID:OKJ+TaT6
>>64 若いうちに矯正だと!?
お前は上野クリニックの回し者か!?
包茎を直せば、女にモテモテだとか思ってないか!?
…まあ、いい。
C で書いてるなら、必然的に文字出力には printf を使うことになる。
もし C++ で書いてるなら、printf も cin も使える。
cin などの標準入出力ストリームは、後々便利だったりするが、
将来的にも printf と cin の両方を使うから、書式ぐらいは覚えておけ!
ボクシングで言えば、トランクスは赤色がいいのか、それとも青色がいいのか
といった程度の話だから、赤色のトランクスも青色のトランクスも両方穿ける
ようにしておけ!
「僕は包茎だから、ビガーパンツを穿いて試合に出たいです」
なんてことを言う奴は帰れ!
66 :
塾長 :03/02/08 21:33 ID:OKJ+TaT6
>>65 畜生、また訂正だ!
C の標準出力は printf を使え!
C++ の標準出力は printf または cout を使え(cin じゃねえ)!
入力に何を使うかは、人それぞれだが
C : fgets, gets, getchar, scanf
C++ : cin 及び上記の Cライブラリ関数
といったところだ。
それぞれ一長一短があるが、それについてはそのうち覚えるはずだから
あまり気にするな。
67 :
64 :03/02/08 21:57 ID:gz+mqWK1
68 :
64 :03/02/08 22:31 ID:gz+mqWK1
70 :
塾長 :03/02/08 23:07 ID:OKJ+TaT6
>>67 よし、基本はできてる!いいぞ!
あとは
>>40 でもちょっと書いたが、0-99 以外の数が入力されたら
警告文を出すようにしてみろ!
>>68 数当てゲームを応用すれば、こういうのが作れることがわかったな!
上と同様に 1と2 以外の数が入力されたら「違います」と表示させるように。
それから、他人のソースを参考にするのは全く問題ない。
俺だって最初はネット上のサンプルプログラムを見たりする。
やり方を覚えて、自分でゼロから同じようなプログラムを書けるようになればいい。
参考までに
・main() は void main() ではなく、int main() にして最後に return 0; を入れておけ!
これについて語り出すとスレ一個消費してしまうから詳しい説明はしないが
おまじないみたいなもんだ。
・scanf() は世間では結構嫌われている関数だ。
gets() または fgets() と atoi() を使ったほうがいいが、
その前に「配列」っていう奴を覚えないとならないから、今はそれでいい。
71 :
塾長 :03/02/08 23:25 ID:B2NmrZjg
連続投稿規制がきついぜ、畜生!
>>69 やるじゃねえか、このひよこ野郎!
関数を呼び出したり、配列を使ったり、おまけに構造体も使ってやがる!
かなりいいぞ、この調子で根性入れて進んでいけ!
ただ、俺が口を酸っぱくして言ってる通り、1 と 2 以外の数字が入力された
時の処理が入ってないな。
あと、関数の引数は小文字にしたほうがいいぞ。
大文字にするのはマクロ (#define で定義する奴)だという C プログラマの
暗黙の了解があるからな。
細かいことになるが、インデント(改行位置や段差)が統一されてないために
ちょっとソースが読みにくい。入門書などのソースの書き方を極力真似する
ようにしてみてくれ。
それから、質問はいくらでもオッケーだが、その前にこれだけはやれ!
・C/C++ の入門書の目次・索引などで調べる
・猫でもわかるプログラミング (
http://www.kumei.ne.jp/c_lang/ ) を見てみる
・Google で検索してみる
以上、解散!
69のソースを見て思ったんだけど他ファイルからの敵データを読み込むときどうするの? 例えばこんなとき enemy.txtに スライム HP10 at3 df3
73 :
塾長 :03/02/09 00:37 ID:x7u9JGmV
>>72 すまん、ちょっと質問の意味がわからん。
>>69 は get_enemydata() で fopen() に敵データが格納された
ファイル名を与えて、fscanf() で一行ずつ読み込んでるんだが…。
あと訂正だが
>>69 はきちんと範囲外の数値のチェックしてたな。
「よそ見をしている」を見落としてた、悪かった。
74 :
3 :03/02/09 00:40 ID:jw4JsFpz
75 :
72 :03/02/09 00:46 ID:0hPTzrmS
塾長お疲れ様です。 えっと、敵のデータを他ファイルに格納しているときに どうやって敵のステータスを取得するのかなって思ったんです。 例えばファイルに 名前:スライム HP:10 攻撃力:1 防御:3 名前:からす HP:11 攻撃力:4 防御:3 というように敵データが格納されているとき データを取得するときはどうのようにすればいいのかなっておもったんです。 ところで今夜は宿題は無しですか?
76 :
75 :03/02/09 00:55 ID:0hPTzrmS
ごめんなさい。 ひよこ氏のソースを見て理解できました。 しかし、ひよこ氏はすごいな。 ソースを研究させてもらいます。
77 :
塾長 :03/02/09 01:00 ID:EKddfl4f
>>75 C言語でのファイル入出力は「猫でも〜」のC言語編の18〜20章に
書いてあるから、参考にしてみてくれ。
C++だとC++編の26章だ。
>>69 のソースを自分でいじって実験してみるのもいい。
さすがに手取り足取りという訳にもいかないので、これくらいで勘弁な。
>>74 おう、いいじゃねえか。
「じゅもん」とか「ぼうぎょ」とかも入れてみな。
あと、この調子だと while ループの中がどんどん大きくなってくるから
関数呼び出しを使ってみろ!
switch (comand ){
case 'a':
attack(); // 「たたかう」関数
break;
case 'b':
escape(); // 「逃げる」関数
break;
default:
other(); // それ以外
break;
}
今夜の宿題は無しだが余力があれば、ダメージを乱数じゃなくて
攻撃力と防御力を考慮した結果の値にする、とかも試してみろ。
>>69 が結構いいコードを書いてるから、やり方を盗んだりとかな。
あとは、「猫でも〜」とか入門書で自習!
78 :
3 :03/02/09 01:10 ID:jw4JsFpz
>>塾長 ありがとうございます。 さっそく手直しして、自習に入りまつ。
>>79 ソース見せてくれないとちゃんとアドバイスできない。
でも、実行したかんじでは問題なし。
塾長のカキコ参考にしていろいろと改良して見れ。
塾長、ええキャラやな。C言語詳しそうやし、がんがれー。応援してるで。
構造体と関数呼び出しがなかなかできない・・・
の知識しかないんですが俺にも基礎からやればちゃんとゲーム作れますか?本当に0からのスタートなんです。よろしければ2期生に加えてもらいたいです。
>>85 ありがとうございます!けどマジでなんもわからないんで
何からやっていいかもわからないんです(^_^;)
1って現在20歳くらい?
89 :
塾長 :03/02/09 15:50 ID:IctyHR1A
>>79 ソースも出せないチキン野郎め!
俺は実行ファイルだけのものは見ないぞ!
理由は
>>80 が書いている通りだ!
>>86 Visual C++ .Net Standard と C言語の入門書を買って来い。
一万円くらい必要だが、厨房・工房ならお年玉で、大学生ならバイトして買え!
実は Borland C++ Builder とか gcc なら無料なんだが、
なんだかんだ言って VC++ のほうが参考資料が多いからな。
それに、自分で金出したほうがやる気になるだろ?
その後は入門書を読んで、
>>87 の「猫でも〜」も見て、数当てゲームを作れ!
90 :
塾長 :03/02/09 16:02 ID:IctyHR1A
>>83 構造体ってのは、変数を一つのグループにまとめただけだ!
ソースの先頭のほうで構造体を定義して、
struct player {
int hp;
int mp;
};
あとは main() なり、関数の中で
struct player oresama;
oresama.hp = 10;
oresama.mp = 5;
って感じで使えばいい。
関数については、よく使う機能を一つにまとめたものでしかない!
難しく考えるな!他人の書いたソースをいじれ!
構造体や関数はドラクエ3で言えばカンダタ程度の中ボスだ!
もっと先には「ポインタ」っていうバラモス級の恐ろしい奴がいる!
お前らの伝説はまだまだ始まってねえぞ!
∧∧ ミ _ ドスッ ( ,,)┌─┴┴─┐ / つ. 終 了 │ 〜′ /´ └─┬┬─┘ ∪ ∪ ││ _ε3 ゛゛'゛'゛
結局、ActiveBasicは使わないんですか? フリーの開発言語にしてはすばらしいと思うんですが…
94 :
83 :03/02/09 17:54 ID:0hPTzrmS
構造体と関数の利点がようやくわかってきました。
今ひろゆき戦を再作成してます。
>>84 なんとかなるさ。
>>89 んだとコラ!
ソース晒せだと!?
成る程。全てまとめて圧縮しまつ。
予期せぬEOFが検出されたとかでコンパイルできない… 何故だ…
>>84 そういえば昔同じような事を言った学生がいたな……
プログラムはアートではない。確かに一部センスや才能が関わる部分もあるが、
基本的には勉強すれば誰でも出来ることだ。
誰だって、私だって0からスタートしたよ。
いいかね。自分の力を疑ったら何も出来ないぞ。
正しい知識を一つ一つ積み重ね、学ぶべきことを学んでいけば、
誰だって確実にプログラムを組めるようになる。
断言できる。
学ぶ気持ちさえあれば絶対に成せるものだ。
>>90 >「ポインタ」っていうバラモス級の恐ろしい奴がいる!
でも一度飼いならすと、もうそれ無しでは生きて行けないくらいのモノよね(笑
98 :
塾長 :03/02/09 19:38 ID:IctyHR1A
>>93 それは単に俺が ActiveBasic を知らんからだ!
>>95 ああん?なんだその態度は!
「私の恥ずかしいソースを見てください、塾長様」
くらい言えねーのか?!
ActiveBasicなどという珍妙な代物を推すのは一体何故?
100 :
93 :03/02/09 20:18 ID:ddmMntQH
>>98 塾長、こちらでございます。
http://www2s.biglobe.ne.jp/~yamadai/ >>99 @Basicだと文法がわかりやすいので
AActiveBasic(以下AB)にはフリーソフトなのにRADツールが付いていて簡単にWindowsプログラムが作れるから。
B(私の場合)Windowsプログラムの簡単な構造が理解できるから?
C構造体やプロシージャが使え、N88Basicに比べCなど他の言語に移行しやすいから。
D簡単なプログラムの場合、Cなどを使うより圧倒的に早く、簡単に作れるから。
私の場合はこういう理由です。
ついでに100ゲト。
101 :
塾長 :03/02/09 20:30 ID:IctyHR1A
>>100 ActiveBasic の優位点はわかった。
しかーし、それは「少林寺拳法はボクシングより強い」って
言ってるのと何一つ変わらん!
実際、書いてみれば言語の違いなんてどうってことはねえ。
だからプロも使っていて、参考資料も多い VC++ でやろう
ってのが俺の考えだ。
もちろん、初心者に ActiveBasic なり VB なり HSP を教えてやる
って奴がいたら大歓迎だ!
102 :
94 :03/02/09 20:32 ID:0hPTzrmS
∧ _|::::|__ /::|::::| \ / |:::| :\ / || :ヽ ┌|(⌒ヽ :|| ..:⌒: |┐ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |::|::ヽ.__:):||(___ノ ::|::| │ いつもゲーム製作技術板を応援してくれてありがとう。 |:|: .. :|| .. |:| │ このスレは急に終了することになった。 :|: .. || ..|| < いつまたみんなの前に姿を見せる事ができるようになるのか、 :\ [_ ̄] /::| │ 私にもわからない…… :: |\|_|_|_|_/:::| \____________ __| | / / :|___ \ _| \ /........ノ~ -r \ \....|:::\:\丿 /, /,/.../._ \ /....\.レ... /\..| / / / ̄ `\ レ.........|/..../ R‐\′
>>101 同意。
ただし、「少林寺拳法はボクシングより強い」ではなくて
「少林寺拳法の通信講座はボクシングより楽」じゃないか?
>>塾長
アドバイスありがとうございます。
精進いたします。
私も訂正しました。「たたかう」と「にげる」しかできません。
http://forgamedev.zombie.jp/uploader/up1/img/082.lzh できるかぎりインデントに気をつけてみました。
マクロを大文字、変数を小文字に統一してみました。
ファイルを分割しました。(main.cが本体です。)
今後もこのファイルを更新して完成させつつ、課題をこなしたいと思います。
>>同士のみんな
供にがんばろう、リングの上では独りでも練習の場ではみんながいるさ。
切磋琢磨しようぜ。
みんなのプログラムも今日見せてもらいました。どうもです。
ってこんな馴れ合いっぽくしたらプロデューサに怒られそうだな(w
一応
>>102 です。
みんなのソースを見たんですが、スゴイですな。
とくにひよこさん。貴方のソースでこれからも勉強させてもらいます。
107 :
スパルタ :03/02/10 15:03 ID:TRo9ucMD
>>106 スゴイですなだぁ?勉強させてもらいますだぁ?
ホ ー ム ラ ン 級 の バ カ か 貴 様
貴様は何故ココにいるんだ。(竹刀であご先グリグリ)
ボサっと突っ立ってんじゃねー。トットと参加しろ!
それが嫌ならウチに帰ってママのおっぱいでもしゃぶってろ!
108 :
スパルタ :03/02/10 16:24 ID:TRo9ucMD
んご。よく読んだら94=KKKKKだったのか。 スパルタを空振っちまった。スマンの。 >ひよこ >81.lzh >KKKKK >82.lzh 余裕があるなら、 メニュー項目、敵・味方の数が動的に変化する場合に 対応することを考えた場合に、今のコーディングスタイルでは どんな問題が予想できるか、その考えを述べよ。
109 :
塾長 :03/02/10 20:56 ID:pyEAMejp
お前ら凄いぜ!
俺は(素で)感動してる!
>>102 よし、構造体も関数もばっちりだな!
今度は、「関数に引数を渡す」って奴に挑戦してみな!
あと、攻撃力 100 防御力 -90 だと一応合計 10 に収まることになるが
それでいいのか? もしよくないなら、直せ!
>>105 馴れ合いしてんじゃねーぞ、オラ!
ここは 2ch で一番殺伐とした板なんだからな!
(ちょっと笑えないか…)
まあ、ともかくだ。かなりゲームらしくなってきたな
>>105 インデントもそこそこ揃ってる。
なぜインデントを揃えなきゃならないのかというと、
{ と } などの対応関係がわからなくなると、} の閉じ忘れをして
>>96 みたいに 「予期せぬ EOF (End of File) が発生しました」
ってなることがあるからだ!
ひよこ野郎の課題は
>>108 が書いてることを考えてみること!
他の奴らも答えを考えたり、各自の続きをやれ!
質問はいくらでも構わん!
ただし質問の前に
>>71 で書いたことを実践してからな!
さらに、生徒・教師ともに募集中だ!
110 :
けう :03/02/10 21:54 ID:dIIaGrcu
111 :
塾長 :03/02/10 22:25 ID:pyEAMejp
>>110 短いながらも構造体、関数、おまけにポインタも使ってるな!
基本的なプログラムのフロー(流れ)はいいぜ!
ただし!
Judge() の switch 文に default がないぞ!
無くても一緒じゃん、なんて言うなよ!
あと、Judge() の最後で必ず値を返せよ!
ちなみに VC++ だと「値を返さないパスがあります」って警告が出るな。
cin のエラーチェックについては
>>40 で書いた通り、
入力直後に cin.fail() でエラーチェックし(エラー発生なら true を返す)
エラーが起きたら cin.clear() と cin.ignore() を呼んでエラーをクリアだ!
直すべき点はいろいろあるが、プログラムの設計は十分合格点だ!
「じゅもん」とか「ぼうぎょ」とかいろいろ機能を加えてみな!
112 :
106 :03/02/10 23:27 ID:BBp2SEGo
今後名乗るならどれがいいと思いますか? ・レス番 ・KKKKK ・今のIDからSEGO
ペイピッポォファンクラブ会長と名乗れ
>>スパルタさん >ひよこ >81.lzh とは??何を意味してるのでしょうか。 課題:問題ありすぎで、なにから言ったらいいのやら。 1.戦闘処理がうまくいかなくなる。 2.生存確認があいまいになる。 3.っていうかほとんど全部だめっすよ。etc... 解決策というか次回提出分にはパラメタ(characterの構造体)に battle_type //攻撃タイプ(どのコマンドが使えるキャラか) magic_type //魔法タイプ(どの魔法が使えるキャラか) heart //敵か見方か act_select //選ばれたコマンド maind //状態 などを持たせて各処理に混乱が起こらないようにする。 ゲーム開始時に主人公たちのデータをファイルから読んでくる。 ゲーム開始時に主人公たちのデータをプレイ中の能力値として上記とは別に格納する。 ゲーム開始時に主人公から順に味方にはb_ent_numエントリナンバーを配布 戦闘開始時にモンスターに順につづきのb_ent_numエントリナンバーを配布 現在戦闘に参加しているキャラの総合を確保しといて、動的に操作する。
あとはb_ent_numとheartとbattle_typeに従ってそれぞれコマンドを入力(攻撃対象なども選択) 選んだコマンドはact_selectに格納。 speedパラメタに従って順番を決める。早いもの順にact_selectにしたがって行動を行う。 逃げるコマンドは例外で、攻撃タイプがゆうしゃまたは、モンスターの逃げるタイプ のもののみが使える。ゆうしゃは逃げるに成功したら戦闘終了。モンスターは逃げれ たら攻撃を受ける対象から除外(体力を−1にする)。 体力が0は死亡。−1は逃亡。戦闘終了確認をエントリしてるすべてのキャラのうち 体力が0以下の者は次以降攻撃対象にならない&コマンド入力等行わない。 味方か敵のすべてのキャラのHPが0以下であれば戦闘終了。 味方勝利の場合は経験値とお金を受け取る。 とまぁ色々いってますが、わからないとおもうので、プログラムにして近いうちに 提出いたします。
>>塾長 WindowsXPの環境だとコマンドプロンプトしかなくて?MS-DOSのグラフィック操作 (色やカーソル操作や消去)が使えないんですが、どうしたらいいですか? 現在それらはマクロで定義して#ifdefで環境によってマクロの定義内容を変えてます。 どうしようもないんですかね?
NTコンソールはMS-DOSじゃないので、エスケープシーケンス等は動かないと思われ。
>>117 さん
なるほど、ありがとうございますm( )m
で、1はどうした?
ポインタを勉強してるんですけど利点が分かりません。 アドレスが分かると良いことあるんですか?
>>120 良いことなんてありません。
馬鹿な大人が僕らを騙してるだけです。
コーヒーをブラックで飲んでいるようなものです。
今日も「猫でも」をやってたらコンソールアプリなるものがでてきました。 これでまたグラフィック操作ができるようになりました。よかった。
>>121 そうそう。
すべては固定長の配列で事足りるんだよね。
メモリだってcharの1次元配列だし。
>>120 >>121 >>123 愚か者共め。
貴様らのような奴を見ると技を教える気も失せたわ。
というか基本もなってないような奴等に教えても分からんだろうがな……
塾長に教えを請いて、間違った知識を捨てて文字通り一から学べ! 未熟者共めが。
125 :
121 :03/02/12 10:46 ID:z/Jc/Eja
>>124 お願いです。教えて下さいよ。
このままじゃ帰れへんのですよ。
126 :
名前は開発中のものです。 :03/02/12 11:02 ID:q8qyCfs/
>>125 御輿やないねんから、ってか?
実際、市販のゲームは殆どポインタ使ってないですよ。
素人さんが悩むのを笑いたいだけなんですよ。
ジオングの足のようなもの。
>>127 ははは(笑
死ね糞プランナーめが
プログラマだったら今すぐ首吊れ
つまらない言語論争はやめれ。
130 :
名前は開発中のものです。 :03/02/12 15:34 ID:tIdmLT/F
言語論争とかそう言うレヴェルじゃないだろ ポインタ使わずにまともなげーむができてしまってたとしたら それはそれですごいな
o. /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ / / このスレは無様に . / / 終了いたしました / / ありがとうございました / / / / モララーより / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/ ∧_∧ / /∧_∧ ( ・∀・) / /(・∀・ ) ( )つ ⊂( ) | | | | | | (__)_) (_(__)
初心者の皆さん、>130のような輩に騙されないでください。 何故ならほら、誰もポインタの有用性を語らないではありませんか。 これはポインタが不要であることの証明です。
133 :
◆zRDVDemY/c :03/02/12 19:11 ID:KqfQp2k0
ポインタを使えば、ソースが見難くなるだけですよ。 よく、入門書などに、ポインタを使えば処理が高速になると書いてあるが、 それは昔の話で、今のコンパイラは最適化などの機能があるし、 昔のCPUよりも高速なので、早くなったとしても0.01秒ぐらいしか変わりません。
134 :
◆zRDVDemY/c :03/02/12 19:13 ID:KqfQp2k0
それより、ゲーム作るんだったらコンソールアプリなんかやってないで、DirectXやれよ。
135 :
塾長 :03/02/12 19:22 ID:5dJn5jf0
おお!荒れてるのか?盛り上がってるのか? まあ、とにかく ガ チ ン コ っ ぽ く な っ て き た じ ゃ ね え か! ポインタ(というよりも malloc 等を使った動的メモリ取得)の利点 の一つとして、実行時に、使うメモリの量を指定できるってのがある。 配列の場合は、コンパイル時に大きさを指定しないといけない っていう制限があるからな。 だったら、最初から大きいサイズの配列を確保しておけばいいだと? んなことしたら、スタックオーバーフローが起きてプログラムが異常終了 するじゃねーか!(static 等で静的領域に確保するという案は却下だ!) 第一、1万円足りないときに100万円借金するバカがどこにいる? 後は、関数に渡す引数としてポインタ使うことがある。 void swap(int *a, int *b); 普通、関数ってのは渡された引数の中身を変更できないんだが、 ポインタを使うとそれが可能になるんだな。 つーか、お前ら fopen() でファイルを開くときに FILE *fp っていう ポインタを既に使ってるじゃねーか!
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□ □□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□ □□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□ □■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□ □□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□ □□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□ □□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□ □□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□ □■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□ □□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□ □□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□ □□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□ □■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□ □■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□ □□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□ □□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
時と場合によって使い分ける」これが高度なプログラミングですよ
138 :
塾長 :03/02/12 20:06 ID:5dJn5jf0
>>137 まあ、正論なんだがな。
メモリが限られたマシンで組むなら、最初から全部固定領域にするってのもある。
いずれにしても、ポインタを使えるようにしないとCで組むのは厳しいだろう。
C++でも全部参照にできるわけでもねーしな。
139 :
けう :03/02/12 21:36 ID:R0r8JsA9
おまいらマ板逝け
塾長!2期生に入れてください!! 明日C++と入門書を買ってきます。
142 :
名前は開発中のものです。 :03/02/13 07:22 ID:cyzJv249
ポインタは必須だよ。 だって、ライブラリが要求するもんw フレームバッファをはじめ、殆どのリソースは ヒープから構築しないと、まずメモリ足りないし。CSは。
ポインタに限らずC/C++で利用できるものは全て覚えておいた方がいいと思う。 必要ですって言われた時に分かりませんとなるとそこで作業が中断してしまうから。
1期生と2期生の境はいつなんだろう?
145 :
名前は開発中のものです。 :03/02/13 09:46 ID:65ia+93o
ポインタを必要とするライブラリなどクズです。 「ライブラリの90%はクズである──ただし、あらゆるものの90%はクズである」 ────スタージョンの法則。 つうかポインタ不要論をネタ以外で本気で思ってる奴なんていないって。 釣られすぎ。
ポインタで嫌な事あったのかな・・・
ポインタについて知っていても使いこなせない奴がいる。 知っているだけで使いこなせてる気になってる奴がいる。 そう、 お 前 の こ と だ よ
149 :
名前は開発中のものです。 :03/02/13 17:06 ID:kfSWQoqv
ところでジャヴァってマジでポインタないの?
150 :
名前は開発中のものです。 :03/02/13 17:22 ID:gzoLxbSN
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□ □□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□ □□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□ □■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□ □□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□ □□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□ □□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□ □□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□ □■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□ □□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□ □□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□ □□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□ □■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□ □■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□ □□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□ □□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
>>153 いや146に向けて言ったつもりだが…
ポインタで嫌な思いなんてしたことないけどなぁ。
>>149 ほとんどポインタだよ
JAVAは楽だからいいけど、融通きかんのがむかつくわな。
155 :
塾長 :03/02/13 20:35 ID:BTCKm/e4
>>139 C++ のクラスを使ってやがる。
とりあえず、文句無しだ!続きをやれ!
>>149 Java に無いのは「ポインタ操作」だ!
Java のポインタは C++ で言うところのスマートポインタだ!
>>152 おー、きちんとしたプログラムだ!
ただ、tatakau()に hp とか mp とかをいちいち渡すのがめんどくさくないか?
構造体のポインタを渡せば一発だぜ!
int tatakau(struct player* pl);
あと、画面用のマクロは Windows2000/XP で動かなかったりするから
そのへんを考慮してくれるとちょっと嬉しいぜ。
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□ □□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□ □□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□ □■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□ □□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□ □□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□ □□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□ □□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□ □■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□ □□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□ □□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□ □□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□ □■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□ □■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□ □□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□ □□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
塾長激しく(・∀・)イイ!! がんばってください〜
ポインタの中の人も大変だな
人の中にポインタなどいない!!
∧∧ ミ _ ドスッ ( ,,)┌─┴┴─┐ / つ. 終 了 │ 〜′ /´ └─┬┬─┘ ∪ ∪ ││ _ε3 ゛゛'゛'゛
162 :
けう :03/02/14 21:49 ID:HCz/ELVQ
163 :
名前は開発中のものです。 :03/02/14 23:19 ID:57Uzh517
★あなたのお悩み解決致します!!
●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
●ストーカー対策
社会問題ともなっているストーカーを撃退致します!!
その他人生相談からどんなお悩みでも解決いたします!!
24時間受付 090−8505−3086
URL
http://www.h5.dion.ne.jp/~grobal/ メール
[email protected] グローバル探偵事務局
165 :
名前は開発中のものです。 :03/02/15 00:30 ID:Z2WECn+l
ごめんね、基本的なことを聞いていい? Visual C++ .Net って初心者には難しいんでないの? 他スレで「初心者がVisual C++ .Netを買って学習するのは無謀?」と聞いたら 「無謀」と言われたよ。 それと、Visual C++ .NetにはCとC++が入っているの? CとC++の違いは? Cはポインター(最大の壁・越えられる人はわずか)を使わなくても問題ないの?
Cのポインターってそんなに難しいのか? お馬鹿な俺でもすぐに超えられたし・・・ C,C++ほぼマスターしてるけど 未だにjavaの方が覚えられんほどのお馬鹿ですよ、マジで(w つーかjavaの方が難しくないかなぁ〜 >Visual C++ .Net って初心者には難しいんでないの? 難しいけど俺はVC++6.0で"hello, world!"から始めたから大丈夫 用はやる気しだいだよ
Visual C++.net は、総合開発環境のことで コンパイラー、デバッガー、テキストエディターが含まれてる。 使用するコンパイラーは、C++。 C++は、C言語の上位互換 言語なんで C++コンパイラーで C言語の書き方でプログラムしても 動作する。 でも その逆はできないよ。 初心者がVisual C++ .Netを買って学習するのは無謀っていうことは ないんだけど いきなり使用するってのはおすすめできない。 機能が豊富すぎて逆に使いづらいとおもうよ。それに プログラムが 動く仕組み、 実行ファイルが 作られるまでの過程ってのがわかりずいから 学習目的で いきなり使用するのはあんまりお勧めできないね。 おすすめは DOS窓で(コンソール)でコンパイルするもの。 勉強の仕方でも これが 一番基本。 "GCC" ”LSI-C”っていうフリーなコンパイラーがあるからしらべてみて。 ポインタは最初は 無理して使う必要は まったく無し。 勉強していくうちに 必要になってくるよ。アルゴリズムや最適化を 考える用になったころに おのずとね。 変数に代入した値が メモリ上でどうなってるかについて考えると理解するのは簡単だよ。
168 :
名前は開発中のものです。 :03/02/15 01:24 ID:2CJAwmu6
VC持ってるなら、DirectX使えよ。 フリーだし、簡単にスーファミ時代程度のゲームは作れるぞ。 ちょっと勉強すれば、 初代バーチャファイター程度のゲームも楽勝で作れるよ。
>>168 煽りじゃなくて、マジで初代バーチャファイターもどき作ってほしいです。
この板から良作ゲームが発表されれば板の雰囲気もよくなりそうだし。
170 :
塾長 :03/02/15 01:39 ID:3AyV2nZz
>>161 初心者が作ったとは思えないほど綺麗なプログラムだな。
コメントは無い、マジで。
>>162 プログラムの入門書を書くってのは結構大変なんじゃ、ゴルァ!
>>165 「初心者が(誰の助けも無しに)VisualC++で(GUI の)プログラムを作る」
のは、ちょっと辛いかもしれん!
ウィンドウを表示させるのに結構苦労するからな。
C/C++ を全く知らん奴が、いきなりウィンドウを表示させて
GUI アプリを作ろうとするのは正直無謀だ。
が、コンソールアプリを何の苦も無く組めるようになっていれば
GUI アプリを書くのはそれほど大変でも無い、と俺は信じている。
後は Windows のライブラリの使い方を覚えるだけだからな。
VisualC++.Net には C と C++ の両方のコンパイラが入っている。
C++ は C の拡張版で、いろいろと便利になってる程度だと思っておけ!
ポインタについては、一期生たちはそれなりに使えているようだから
俺は大して心配してない。車の運転で言えば、縦列駐車レベルだ。
(ちなみに、少林拳法を極めると縦列駐車が楽にできるようになるらしい)
もし俺が、ポインタを全く使わずに C でプログラムを書けと言われたら発狂するぜ!
あと、一期生で暇を持て余してる奴は配列を使わずに malloc() で
メモリを確保してプログラムを書いてみろ!
171 :
塾長 :03/02/15 01:51 ID:3AyV2nZz
>>167 模範解答だ、素晴らしい。
ところで、Windows の場合 gcc は Cygwin 上で使うんだったか?
もしそうなら、UNIX のコマンドを覚えないといけないから
俺は初心者には薦めてないんだよな…
まあ、金が無い奴が最初に勉強するのなら悪くはないんだが。
>>168 あー、ちょっと待ってろ!
その前に Window アプリの作り方とかビットマップの表示とか
いろいろやるべきことがあるからな!
まあ、こいつらのペースを見る限り Direct3D でポリゴン表示くらいは
あっという間に出来そうだが。
172 :
168 :03/02/15 01:59 ID:2CJAwmu6
感覚の違いかも知れんが、 フルスクリーンで普通作らない? 開発中のデバッグ時は、ウィンドウモードだけど。 これなら、その辺のサンプルをパクッてコピペで意識せず Windowでいけるよ、以降はメッセージ処理やなんかも意識しないし。 なんかゲームって言うと、Windowsちっくなダイアログボックスやなんかは、 もう拒否反応って言うか、画面にWindowsを意識させる物は出さないです。 そんなにWinAPIは使わないよ、DirectXの方が良く使うっていうか それで作るし。
173 :
168 :03/02/15 02:03 ID:2CJAwmu6
ちなみに、もうGDI、WinGは使えない体になっています。 簡単だから、全部DirectXで済ましてます。
174 :
塾長 :03/02/15 02:13 ID:3AyV2nZz
雑談モードで申し訳ない。
>>172 俺も普段はそういう組み方をしてる。
そもそもゲームの処理は別スレッドでやってて、メインスレッドは
DirectX の初期化、WM_DESTROY の受け取りと後始末くらいだな。
キーボード、パッドの入力も当然 DirectX で。
でも、さすがに基本的な Windows アプリの挙動を知らないってのは
まずいような気がしててな。だから最初は GDI でやろうかと思ってる。
2D なら DIBSection でも十分実用に耐えるしな。
いずれにしてもアドバイスはありがたいので、今後もヨロシクだ!
o. /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ / / このスレは無様に . / / 終了いたしました / / ありがとうございました / / / / モララーより / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/ ∧_∧ / /∧_∧ ( ・∀・) / /(・∀・ ) ( )つ ⊂( ) | | | | | | (__)_) (_(__)
176 :
名前は開発中のものです。 :03/02/15 04:07 ID:Z2WECn+l
塾長への宿題 →初心者が最初にぶつかる壁、言語の選択への克服
Visual Basic6・Visual Basic .NET・Visual C# .NET・Visual C++ .NET
それぞれの言語の特徴をまとめてください。
1、出来ないこと(他言語では、スムーズにいけるがこの言語ではものすごく遠回り・・等)
2、得意なこと(これをやるにはこの言語が一番簡単に出来る・・等)
3、DirectX・sound 等の親和性
4、サーバーとの接続性
5、高級言語への移行性
6、処理速度・難易度
7、学習法(演算・条件文・配列・等々を個別に簡単に学習してからサンプルで勉強?等)
塾長の書きこみとこのスレを順次HPにまとめこの板の共通財産にしていきましょう。
http://www1.free-city.net/home/p-school/
∧ ∧ / ・ / ';, / '; / '; / ;______/ ; / \ / / \ \ /´ ( ) |____| ( ) | | ///// ( | :| ) ///// | | ( ) :| | ( ( | | ) ( | | ) ) | | ( ) '; / ( ( / \ ) ( \/ ) ) ../ ヽ ........:::::::< いいスレだったモナー 〜 お し ま い 〜
> ちなみに、少林拳法を極めると縦列駐車が楽にできるようになるらしい
塾長、少林サッカー見たな(・∀・)ニヤニヤ
>>176 >>101 > 実際、書いてみれば言語の違いなんてどうってことはねえ。
> だからプロも使っていて、参考資料も多い VC++ でやろう
てか、Microsoftの処理系以外に選択肢はないのかと。
179 :
烏 :03/02/15 07:56 ID:G/S0hXOe
> 初代バーチャファイター程度のゲームも楽勝で作れるよ。 初心者の方々、うのみにしてはいけません。 作ることができるのは見た目ぐらいです。 ゲームは見た目だけじゃないので、そういうことは軽々しくいえないはずなのだが・・・ わかってていってるのだろうけど、ここのスレで言うときはもう少し言葉を選んでほしい。
181 :
烏 :03/02/15 08:16 ID:G/S0hXOe
しまったΣ(゚□゚; Lvインクリメントしわすれますた(ノ-; 後は頼んだ3期生(マテ
>>172 なんだDirectXが無いとゲーム作れません、とでも言うつもりか?
いや、それでもいいけどね。
ファミコン時代くらいのゲームならJavaで作ったほうが、
楽だし、Webに置くなりすればユーザーも手をつけやすいだろうし、いいんじゃないかと思うな。
DirectXでグラフィカルなゲームを作れる事は、確かに辿り着かなきゃならないスタートラインだけど、
それ以前に"ゲーム"という物の作り方を覚えることは重要だ。
まずは見栄えやボリュームに依らないゲームを作ろう。
塾長さん、どうですかね?
とりあえず目標はWindowsのプログラム->アクセサリ->ゲームの中に入るような
お手軽ゲーム系を完成させるというのは?
183 :
172 :03/02/15 09:51 ID:2CJAwmu6
プログラム言語やらゲームの作り方なんて 大して問題じゃないかと。 漏れは、3Dゲーム大好きッ子(作るのがね)なので DirectXってだけで、OpenGLでも作れるし 遅くても良いならGDIとかで、擬似3Dも作れるよ。 問題は、数学的処理や理解だからね。 円柱を定義して動かして、 他の動いている円柱と当り判定。 こんなのプログラムじゃ大したコードじゃないけど 処理理論で数学的理解が無いと組めないし。 数学は、例えば配列の有る部分だけ処理を施したいって時など ループで条件判定つけて回すのにも 数列とかで考えると、等差数列のこの式になるから この二重ループと、条件判定でいけるとか、基本的に応用できるよ。 数学もやっておいて損は無い。
184 :
182 :03/02/15 11:09 ID:IQxlefuQ
>>172 でたーーー!
俺はお前みたいな奴が(同じ業界の奴なら)大っ嫌いだ!!
そんな事言う奴はデモでも作ってやがれ!!
無論、それぐらい知らんとプログラマとは言えんわな。
でもそんなこと言ってる時点で君は普通〜ダメの間のゲームプログラマなんだろうね。
そんな初歩を得意げに話しなさんな。
まぁせいぜい二流に留まってろや。
……………………なんて煽ってみたりするテスト
冗談ですよ。反骨精神旺盛なら本気にしてもらっても可。
でもこれからの人に対してそんな無粋な話をしなさんな。
そういう発想だと潰れる奴が増えるぞ。
"ソフトウェア"ではなく"ゲーム"作りを身に付けていかないと、
頭カチカチの奴が出来上がる。それが良いか悪いか別としてね……。
まさかミスリード狙い?w
私は初心者には知識や技術は後でなんとかなるから、
先に遊びを表現するとはどういうことなのかを学んでもらいたい。
そういう意味でこのスレは良い伸び方をしてると私は思うよ。
長文コピペでした
∧ _|::::|__ /::|::::| \ / |:::| :\ / || :ヽ ┌|(⌒ヽ :|| ..:⌒: |┐ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |::|::ヽ.__:):||(___ノ ::|::| │ いつもゲーム製作技術板を応援してくれてありがとう。 |:|: .. :|| .. |:| │ このスレは急に終了することになった。 :|: .. || ..|| < いつまたみんなの前に姿を見せる事ができるようになるのか、 :\ [_ ̄] /::| │ 私にもわからない…… :: |\|_|_|_|_/:::| \____________ __| | / / :|___ \ _| \ /........ノ~ -r \ \....|:::\:\丿 /, /,/.../._ \ /....\.レ... /\..| / / / ̄ `\ レ.........|/..../ R‐\′
塾長、コンソールのRPGつくればいいの? なんか課題だしてくれよ
188 :
けう :03/02/15 15:53 ID:JFdH4zwH
190 :
182 :03/02/15 20:34 ID:IQxlefuQ
>>185 なんだそれで釣ったつもりか?
どうせだったら俺の文をコピペして単語書き直して送信しりゃ良かったんじゃねぇの?
そんなことやってるからいつまでも弱者のままなんだよ?
なんだ正論が耳に痛いのか?
ちゃんと正面から反撃してみな!
………………と言ってやっぱり釣られてみるテストw
つーかこれ三回目だから最後の書き込みか……。
>>189 文字でマップでも作ってみたらどう? そして敵に接触したら戦闘が始まるとか。
10*10くらいのマップを表示して、キャラクタに見立てたAとかBを動かしてみる。
そんでイベントに触れたら、指定された処理(この場合戦闘)を実行して、
マップに戻ってループなんての作ってみるといいんじゃない?
主人公は@で。
>配列を使わずに malloc() で >メモリを確保してプログラムを書いてみろ! 塾長の指示に従って書いて動いたけど・・・ いまいち理解しづらい。 mallocによる構造体の追加って・・・ 追加する度に前構造体のアドレスを保管するメンバを作り、 全構造体を見るときは、後ろから芋づる式にデータを見る! (前構造体のアドレスをたどる) でいいの?
>>190 テキストRPGの完成が最終目標じゃないんで・・・(たぶん)
ルール(動作等)は、ここで一服するつもりです。
表面上の動作はこのままで、内部動作をいぢって勉強しようと思います。
195 :
172 :03/02/15 23:50 ID:2CJAwmu6
もうさ、PC88やらファミコンやらの時代の感覚で、ゲーム作りは成り立たないと思うのです。 ハードの性能が飛躍的に上がり続ける時代に、昔の感覚でゲームプログラムやっていると マジである程度のプログラマにしか為れないかと… 面白いゲームなんて当り前で、自分のレベルで出来る面白いゲームとは意味が違うと思うんだよね。 プログラミングの学習ならともかく、マジでコンソールのゲームが面白いと思う? 出来る環境や出来るレベル内で面白いってのと、本当に目指す面白いって別だよ。 何度も言うが、数学や物理はやっとくべき、それもプログラムの初期から絡めてやっていけば プログラムのレベル上達と共に、数学物理のレベルもあがるよ。 そうじゃないと、プログラムレベルが上がった時に、自分で作りたいゲームの作業で 数学的理解が必要な処理とかで詰まるんじゃないかな? 因みにDirectX9では、シェーダーの自由度が大幅に上がった。 之はこれからの流れ、つまりはゲームプログラマもシェーダープログラムを書くようになってくる。 つまり、ハリウッド映画のCG技術なみのリアルタイム処理が当然になっていく時代に 技術や知識は後付けなんて、そっちの方が潰れる奴が出てくるかと。 …と、老婆心ながら思うわけですよ。お耳汚し、流してくれて結構ですが…
過去があり、今があり、未来があるのだ! 俺はレトロチックなゲームも好きだぜ 3DなDQは好きになれないですが
面白い「ゲーム」を作りたければ、海外のボードゲームを 色々遊んでおけ。ゲームデザインやテーマのモデル化について 沢山学べるぞ。
198 :
172 :03/02/16 01:32 ID:8zpaisS3
まあ、能書きたれた所で不毛なので、お役にたたないとね。 mallocの質問があったみたいなので、概念的解説を、 (数学もそうだが、イメージ的理解って欠けてると思うので) まず、変数や構造体って、宣言するとメモリのどこぞにOSさんが確保してくれるわけだ。 で、スコープって物があって、グローバルだと関数をこえて参照できるが、 ローカルだと関数内のみで有効って感じなのよ。 そしてグローバルだと、プログラムが終わるまで、そのメモリ領域は確保されてるし、 ローカルだと、関数実行時のみ有効で確保されるのです。 これを、グローバルやローカル関係なく、メモリ領域確保、開放を プログラマの任意でやろうってのがmallocとfreeです。 つまり、プログラマの意志で、使う時にメモリを確保、使わないから開放ってのが基本の使い方です。 ベタなやり方として、ポインタ型でポインタを宣言します。 どのポイント型かは、自由です。byte型でもint型でも自宣言の構造体方でも。 byte *pByte; int *pInt; struct MYSTRUCT *pStruct;って感じです。 これは、コンパイラがメモリ処理をする時に、どう言ったメモリsizeで見てくれるかって事です。 int型のポインタなら、4byte単位で見てくれるって感じです。 で、いよいよmallocです。先ほど宣言したポインタにsizeを指定して渡します。 pInt = malloc(sizeof(int) * 8);って具合です。 これの意味は、int型のsize(4byte)を8つ分って感じです。 つまり、int arg[8];とpIntは同じ意味となったのです。 余談ですが、C++だとpInt = (int*)malloc(sizeof(int) * 8);って明示的な型キャストが必要です。 (普通は、new使えって為りますが) これでもうpIntは、pInt[0]やpInt[1]って使えます。ポインタ演算でもO.K *(pInt + 0)や*(pInt + 1)ね。 最後に必ず忘れていけないのが、freeです。メモリ領域が必要なくなったら free(pInt);って感じでメモリ領域を開放してあげましょう。
199 :
172 :03/02/16 01:41 ID:8zpaisS3
読み返してみて、勘違いし易い所があったので追記。 >これを、グローバルやローカル関係なく、メモリ領域確保、開放を >プログラマの任意でやろうってのがmallocとfreeです。 関係なくってのは、グローバルでもローカルでも出来るって意味で malloc使うと、グローバル、ローカルが関係なくなる物ではありません。 グローバルかローカルかは、プログラマの任意です。
200 :
塾長 :03/02/16 01:41 ID:ksbuV01S
そろそろ GUI アプリが組めるかな?組めないかな?
あと、落ちこぼれそうになってる奴はさっさと名乗り出ろよ!
当面の課題はコンソールアプリを書くことによって C/C++
プログラミングの基礎を覚えることなんだが、余裕がある奴は
「猫でも〜」を見てウィンドウの表示とかに手をつけてもいいぞ。
>>192 おう、そういうことだ。
世間ではそれをリンクリストと呼ぶ。
struct foo {
struct foo *prev; // 前へのポインタ
struct foo *next; // 後へのポインタ
int member; // メンバ変数
};
こんな感じで、要素を追加するときは malloc で一個分の
メモリを確保して、prev や next を設定していく。
将来的には C++ で書くときは標準テンプレートライブラリ(STL)の
コンテナって奴を使って楽をすることができたりもするが、それはそのうち。
>>195 俺は大リーグの松井の専属コーチじゃなくて、
中学校の野球部の顧問程度でしかねえ!
あんたみたいに頭のいい奴(煽りじゃないぞ)は海外の論文読んだり
シェーダ書いたりして自分で勉強すればいい。
もしあんたが kano 氏みたいな奴なら、釈迦に説法だろうがな…
つーか、こいつらまだプログラミング始めて 10 日くらいしか経ってないんだぜ!
その辺を理解してくれると嬉しいな。
えっと、質問があるんですが。 ゲームで敵キャラに属性ってものがありますよね。火とか風とか。 あれって一般的にはどういう風に定義するんですか? struct param { char name[20]; int life; int str; int con; int gurd; int element_fire; int element_wind; }; こんな風に書いて火属性だったら値が1でそうでなかったら0にするとか そんな感じになるのでしょうか?
203 :
3 :03/02/16 17:01 ID:tLsIZ4yC
>>202 一般的なことはしらへんけど、炎レジスト50%ならfloat fresi 0.5;とかにしといて、
相手の属性攻撃力にかけるんとちゃう?
0と1だけならboolean使ったほうが見やすい思うよ。
205 :
204 :03/02/16 17:07 ID:av5tj9W9
>>204 あ、ごめん、Cか。それなら無理してboolean使うこともないですわ。
typedef bool boolean;
207 :
3期生 :03/02/16 17:44 ID:PrgmfMKR
208 :
名前は開発中のものです。 :03/02/16 18:38 ID:g/3X4ENo
>>203 bitsetとかenumを使え!
属性が互いに素であるならenum。重複するならbitset。
209 :
208 :03/02/16 18:39 ID:g/3X4ENo
あぼーん
211 :
3期生 :03/02/17 00:40 ID:jbUdHMJo
なにをつくるんですか?
/ /ー-, ー────-, / / /ヽ、/ __/ `y' /ヽ、 | ∠_、 / ヽ | | `ヽ、 | ,/ | ヽ | | `ヽ、 、|
216 :
3 :03/02/17 19:23 ID:kl6kvKcr
ごめんなさい解決しますた。
218 :
名前は開発中のものです。 :03/02/18 13:01 ID:s55YfvlV
視聴率悪いから打ち切りですか?
あぼーん
塾長が逮捕されましたので終了
221 :
名前は開発中のものです。 :03/02/19 06:43 ID:zEpYF/2s
期待age
222 :
名前は開発中のものです。 :03/02/19 06:54 ID:/XKL+ulB
塾長はいったいどこへ逝ってしまったのか? そんな不安な空気が塾生たちを包む。 そしてこの後、このスレがとんでもない修羅場に!
あぼーん
225 :
182 :03/02/19 15:58 ID:aOoxMIQq
レスすると荒れそうなんで辞めてたけど、人すいてきたみたいだから(笑) >面白いゲームなんて当り前で、自分のレベルで出来る面白いゲームとは意味が違うと思うんだよね。 >プログラミングの学習ならともかく、マジでコンソールのゲームが面白いと思う? >出来る環境や出来るレベル内で面白いってのと、本当に目指す面白いって別だよ。 どうやら君は本当に頭カチカチ人間なのね……。 私はあなたの知り合いじゃないだろうから本当の事は教えないけど、一つだけ教えてあげる。 その考えは間違いだよ。視野が狭いなぁ〜…。自分の頭を基準にしてゲーム作ってどうすんの。 >技術や知識は後付けなんて、そっちの方が潰れる奴が出てくるかと。 今までの技術の進歩の流れを見てきたのかな? 私は人の後ろを付いて歩くのは悪いことだとは思わないよ。 シェーダー? 皆が皆シェーダー書いてたら面白い光景が見れるわね(笑) いまさらシェーダーなんて言ってるのはぶっちゃけ遅いの。 ここの人たちが一人前になる頃には、時代はもっと先に進んでいる。 その時どうなってるか君には見えてないんだろう……。 私はきれいな葉っぱより、丈夫な根を持てと、初心者の人に言いたい。 時代が変わった時、消えていくのは君みたいな事言ってる人じゃないかと思う。 ま、これは時が来ないと答えが出ないから、何とも言えんけどね。
本当に申し訳ないんだけど。 > 私はあなたの知り合いじゃないだろうから本当の事は教えないけど、一つだけ教えてあげる。 > その考えは間違いだよ。視野が狭いなぁ〜…。自分の頭を基準にしてゲーム作ってどうすんの。 これって要するに「知っているけど教えません」という意味ですよね。 こういう自己顕示欲を満足させるだけの書き込みは第三者にとってなんら情報価値を持ちません。 君が勝ち誇ろうと正直どうでもいいのですが、 こういうノイズを増やすような書き込みは今後少し謹んでくれませんかね? ただでさえノイズだらけなんだから(笑)。
225の言葉にいきり立つ226。 その時! 228の口から思いも寄らない言葉が! 一体何が起こったというのか!
お前等に課題を出そう。 コンソ−ルでもWindowでも問わん。 AAだろうがグラフィックだろうが2Dだろうが3Dだろうが構わん。 自信のある奴は凝った物を作れば良い。無い奴は20年前のベ−マガに 載ってたようなレベルでも構わん。 とにかくミサイルコマンダ−作ってみろ。
ジュクチョーさんよぉ!! 俺は言語に依存したプログラミング作法の勉強より ゲームプログラミングのアルゴリズムを学びてぇんだよ(´ ゚Д゚`)ゴァ!! なめんなよ!!
>>228 ミサイルコマンダーって知らんが上等だコノヤロウ?
「ふざけるな、冗談じゃねえ、俺はミサイルコマンダーを作りに来てるんじゃない、アルゴリズムを学びてぇんだ」 229が詰め寄る。 その時、231の口から意外な言葉が! この一言でこのスレはとんでもない修羅場に! 一体何が起こったというのか!
232 :
231 :03/02/19 18:48 ID:YhpDP/H1
231って俺じゃん……逝ってきます……
233 :
塾長 :03/02/19 19:12 ID:EqBSqjaj
おっす!
悪い、ちょっとここしばらく忙しいんだ。
>>228 がミサイルコマンダーって書いてるが、
単純なシューティングっぽいのを作るってのはいい課題かもしれんな。
俺は、モグラ叩きあたりがいいんじゃねえかと思っていた。
ちなみに俺はベーマガじゃなくてMSX-FANに世話になったな。
>>229 上でも書いたが、シューティングなりモグラ叩きなりに挑戦してみるか?
キャラの移動、衝突判定、アニメーション(状態遷移)とかの基本が覚えられるはずだ。
つーか、3D ならともかく、ゲームのアルゴリズムなんて大したことねえんだよ!
企画書に書かれた挙動をいかにスマートに実装するかのほうが重要なんだな。
んで、その実装方法ってのも実は情報科学の教科書に載ってるような
アルゴリズムの変形に過ぎねえ!
アルゴリズムに興味があるなら辞書がわりにこの本を手元に置いておけ!
"C言語による最新アルゴリズム事典" (技術評論社、奥村晴彦)
あと、Windows の場合、画像の表示はちょっと苦労するかもしれないな。
VC++ ならビットマップリソースとして持っておくのが最初は楽かもしれん。
表示の仕方は「猫でも〜」に書いてある。
その他、アップされてるソースについては暇を見てチェックしてみるが
あまり期待しないでくれ…すまん。
235 :
∞ ◆TPeOraQid2 :03/02/19 19:28 ID:zEpYF/2s
塾長キタ━━━━━━(゚∀゚)━━━━━━ !!!!! シューティング作ってみるか
>>226 ネット上でなければって事よ。2ch上に技術やネタを晒せるほどまだ人間できてないんよ。
ちなみに私は冗談の中に本音を隠して書くのが癖でね。分かる人は冗談の部分を抜かして伝わるんじゃないかと思って書いてるけど…
まぁ早い話、伝える気が無いんですが。
人間てのは人に言われるより、自分で気付かなきゃ道理を理解できない生き物なんですよ。
(俺は教育者にはなれんな……ならんでよかったw)
237 :
∞ ◆TPeOraQid2 :03/02/19 20:40 ID:zEpYF/2s
とりあえず、自機キャラを動かせるようになった 描画はGDIとDIBでやってる
DQNの法則。 1、自分語りを始める。
>>182 宣言出来る、
時代が変わった時についていけないプログラマになるのは、
御託を並べて、基礎学力を持たない奴等だね。
ゲームプログラマなら、面白いゲームやプログラミング以前に基礎学力が必要不可欠。
自前の3Dエンジン程度は、数学的理解を含めて組める奴じゃないと、
ゲームプログラムなんて組めないレベルになって行くよ。
之は、数学が出来る出来ないの事だけじゃない。
数学程度を理解して使えないレベルの奴が、論的にプログラミング出来るのだろうか?
数学は理解出来ないレベルだが、複雑なプログラムが理解出来るなんてありえない。
そもそも、思想や理念でプログラムなんて組むものじゃ無い。
仕様書と、それを実現する自身の技術力で組むのです。
之を、持たない奴は落ちていくのは当然。
目に浮かぶ様だよ、プログラム組む前から仕様にケチつけて自分の面白いを語ってる182の姿が。
因みにシェーダーを分っているのかな。 シェーディングプログラムは、これからの重要技術。 時代は、リアルタイムでラジオシティ並みのレンダリングが出来る時代になってきているのに シェーダーが遅いって? DirextX9ですら、これからシェーダープログラム重視に移行するのに もしかして、DirectXのバーテックス、ピクセルシェーダーの事を指してしるのかな? これからは、プログラマがグラボのシェーディングアルゴリズムを組む様になって来る ハード機能のシェーダー云々じゃ無いのにな。 シェーダーの先を行ってる182は何を見ているのでしょうか。 ムービーなのか?
242 :
名前は開発中のものです。 :03/02/20 00:56 ID:MX9nksgu
プログラマは何はともあれまず OO を学んどけ(java, C#, Ruby とか使ってリャ自動的に学べるが)
あぼーん
1週間前からCを始めてウィザードリィを作ってます。 アルゴリズム的にはそう難しくなさそうなので、根気が続けば完成できるかな。
>>244 志が高くていいと思う。
オレも何か作成したいんだけど時間が取れない。
早く試験終わって欲しい。
246 :
∞ ◆TPeOraQid2 :03/02/20 14:55 ID:Zz03jDek
このスレでいまなんか作ってるやつってどれぐらいいるんだ? 俺はとりあえずシューティング作ってるけど
247 :
名前は開発中のものです。 :03/02/20 15:25 ID:GWOlne03
漏れはこの板でシューティング作れるようになった。へぼいけど「フリーでおもしろいゲーム」のサイトに載ってたみたいだからいいかな…
249 :
∞ ◆TPeOraQid2 :03/02/20 15:36 ID:Zz03jDek
>>248 OBキタ━━━━━━(゚∀゚)━━━━━━ !!!!!
先輩としてなにかアドバイスを
豆乳のかたでsk
俺も自機を画面範囲内でグリグリ動かせるところまで行ったけど 自機弾生成や敵&敵弾生成の仕方の理解がまだ足りないので勉強中
>>251 俺もだ。
昔HSPでがんばってたころは配列で適当に確保して使ってたけど
C++でつくるんならvectorとか使ったほうがいいのかな
豆乳ってベクターで公開されているアレだよね? ちょっとやってみたけどわけわからんかったなぁ あれでゲームつくるならHSPやった方が遥かにいいよ
何をつかって作るにしても完成まで気力もたせるのが大変なんでしょ。 挫折せずに完成させた人はそれだけでスゴイとおもうがな。
あぼーん
256 :
名前は開発中のものです。 :03/02/20 19:18 ID:ySQbVXzg
257 :
ヴォル :03/02/20 20:52 ID:JRc72wUJ
塾長!途中参加はかまいませんか? つい最近VBC++を買ったわけですが、何からはじめたら良いのかさっぱり分かりません! まずはどんなことをすれば良いですか? ちなみに工房ですw
test
259 :
ヴォル :03/02/20 20:56 ID:JRc72wUJ
ちなみに何にも知識のないうちからC++やるのって無謀ですか? まずはC言語からですか!?塾長さんおしえてください!
塾長は昨夜お亡くなりになりました。 終了
261 :
塾長 :03/02/20 21:19 ID:DLvedidj
>>251 自機、弾、敵を一つの構造体(もしくはクラス)で表せ!
ボタンが押されたら、弾をアクティブ(表示中)にする。
弾がアクティブなら、座標を移動させる。
弾が画面からはみ出た、もしくは敵にあたったら非アクティブにする。
自機、弾、敵に共通する処理は一つの関数にまとめて
引数として構造体のポインタを渡せ!
これを発展させていくと
>>242 の言う、OO(オブジェクト指向)のプログラムになる!
>>252 別に配列でいいんじゃねーのか?
STL の vector を使うのは、以下の場合だ。
・初期化時に要素の数が決まっているが、実行時に増えるかもしれない
・検索速度が重要
>>256 短いわりにきちんと動くみたいだな。
どうでもいいが cout と printf の混在って俺は嫌いだ。
>>259 こ の ス レ を 最 初 か ら 読 み な お せ !
>>260 勝 手 に 殺 す な !
262 :
名前は開発中のものです。 :03/02/20 21:29 ID:cTE87XjF
263 :
名前は開発中のものです。 :03/02/20 21:38 ID:8Rl7Dki/
数学がさっぱりわからん漏れでもプログラムはできますか?
264 :
塾長 :03/02/20 21:50 ID:DLvedidj
>>263 数学ができなくてもプログラムはできる。
安心してプログラムを勉強しろ!
しかし 3D をやりはじめた途端に挫折しそうだな。
英語の文献も読めないと将来つらいよな。
日本語がおかしかったらコミュニケーションも取れないよな。
だから、
学 校 の 勉 強 は し っ か り や っ て お け !
数学だけじゃねえ、英語も国語も理科も社会もだ!
親の言うこともきちんと聞いて規則正しい生活をしろ!
厨房・工房なら部活に入って汗を流し、
集団の中で生きるってのはどういうことなのか知っておけ!
なんか説教臭くなってしまったが、当たり前のことだぜ?
ゲーム作る/作らないに関係なく、な。
参考にしたいので、塾長のつくったゲームをみたいです。
266 :
名前は開発中のものです。 :03/02/20 22:03 ID:kYlhJp4b
小学生がCをやるためにはどうしたらいい? 俺の知能は消防以下。最低限学ぶべきことはなに? 「初めてのC」とか見ながらなら何とか理解出来るけど。。。
267 :
けう :03/02/20 22:05 ID:C2pwHdhT
塾長がイイ人すぎてプログラミング以前の人が来てる 気がするんですが気のせいですか? 十分agaってるのに、さらにageようとする人がいるのは 気のせいですか? 一度 「〜なんですけどプログラミングできますか?」 「、、できない」 と言われたら、どう反応するかもみてみたいですな それと、ちょくちょくゲー作板のロゴを某スレでupしてるんで だれか覗きにでも来てくださいな、、では
書き込めるかな?
>>268 ん? もしかしてアホーBBの方か?
今アホーBBではゲーム系板書き込めなくなってるね
ここがのびているのをみると ゲ製作に必要なものは馴れ合いと、 低年令のものがなじめる幼稚さなのだな。
そ、アホBB使ってる。 安いから親父がこれにしろ、ってさ。 まじムカつくよ。 荒してた香具師のことが。逮捕されてくれればめでたいのだがな。
>>270 板の性質上、厨が多いのはしょうがないんだろうけどな。
本職はム板行くだろうし。厨なら厨であきまさくらい行動力の
ある奴がいれば好感もてるんだけど。
つか、スレ違いスマソ
↓ここでいつものナレ−ション
274 :
名前は開発中のものです。 :03/02/21 00:27 ID:uH0OnVDN
凄いこのスレに居たAA房がいなくなった(w 2ch運営人がやっているのかと思ってたよ
マニュアル読むのが苦手な漏れでもプログラムは出来まつか? 出来るならば3期生に加えてくだちぃ。
あぼーん
>>42 やっと走り終わったよ・・・
2週間もかかっち舞った・・・
やっと課題をこなした277 しかし彼にはさらなる試練が!
別に3D以外でも数学は必要だろ? 数学使わないで出来るゲームなんて、シミュレーションゲームか。 2Dシューティングなら、敵機や敵弾の軌道なんて数式で実装だろ。 高校生でもsin、cos程度知ってるよ。 3次関数やスプライン関数で曲線を指定。 微分を二回して(一回目で接線が求まるのは分るだろ)、 速度ベクトルを求め、それを敵座標に加算とかさ。
それに知識ってのは、自分や他人の身を守るもので、決して武器じゃない。
知識を武器とするのは間違ってると思うぞ。
しらなかったら、教えてあげればいい。
わからなかったら、聞けばいい。
たしかにそうだ。でもそれは、ただ単に「教わった」「聞いた」ってだけで、「知識」とは違うぞ。
「知識」ってのは、実際に誰かの役に立てたり、自分の役に立てたり、とにかく役立てるものだ。
イギリスの政治家、フランシス・ベーコンがこう言ってる。俺の好きな言葉だけどな。
「反論し論破するために読むな、信じて丸呑みにするためにも読むな。
話題や論題を見つけるためにも読むな。しかし、熟考し熟慮するために読むがよい。」
知識=本とした上での話だ。
知識ってのは、知識量の多さを競うものじゃない。
その知識を持ってない人をあざ笑うためのものでもない。
自分の生活に、また、周りの生活に活用できるように考えるものだ。
自己顕示欲の満足のための知識は、単なる机上の空論に過ぎない。
実践し、身に付けてこそ、本当の知識だと思うぞ。
だから
>>527 よ、バカはほっとけw
オマエが本当に識者になったとき、そんなバカはコメ粒くらいちっちゃくみえるようになるぞ。きっと。
何事もな、腕力でも知識でも、他人よりも多くのものをもってるヤツは謙虚でなくちゃならねえ。
謙虚さが、腕力や知識を、もっと強くさせるんだ。いろいろな付加価値がついてな。
そういうのをこれ見よがしに見せ付けてるヤツらは、まだまだキンタマのちっちぇえヤツらだな!
>280 527?
282 :
名前は開発中のものです。 :03/02/21 15:15 ID:/NflKt7s
>280 縦読み?
284 :
名前は開発中のものです。 :03/02/21 15:46 ID:/NflKt7s
あぼーん
287 :
256 :03/02/21 17:59 ID:MNmlz7sl
>当ホーム・ページの一部または全部を無断で複写、複製、転載あるいは >コンピュータ等のファイルに保存することを禁じます。 コンピュータ等のファイルに保存することを禁じますか。そうですか。 凄まじい勢いの電波サイトですね。
あぼーん
塾長、自販機つくろう、自販機。
291 :
∞ ◆TPeOraQid2 :03/02/21 21:28 ID:/NflKt7s
(´-`).。oO(俺は何期生なんだろ)
このスレはパート1ですからあなたも1期生ですよ。
本日未明塾長が餓死しているのを発見されました。 終了
塾長はデスマ中。
最近姿を見せないやつがいるな
296 :
塾長 :03/02/22 00:03 ID:VLJRzj+o
>>270 嫌々ながら同意。
>>277 "Modern C++ Design" を 20 冊背負って 20km マラソンして来い!
>>287 コンストラクタとデストラクタが無いクラスって俺は嫌いだ。
>>290 自販機と言えば状態遷移の基本だな。
入力はお金とボタン、出力は商品とお釣り。
そういえば、最近コンドームの自販機を見ないな。
>>293 勝 手 に 殺 す な !
>>294 決算期直前にデスマーチか、おめでてーな。
プログラマ通の俺から言わせてもらえば、
今の最新流行はやっぱり、致命的バグ有りのまま出荷、これだね。
しかしこれをやると次からユーザと株主にマークされるという
危険も伴う諸刃の剣。素人にはお薦め出来ない。
まあお前らド素人は、ソニーチェックでマスター差し戻し喰らってろってなこった。
297 :
名前は開発中のものです。 :03/02/22 00:17 ID:Yzil6WXL
★あなたのお悩み解決致します!!
●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
●ストーカー対策
社会問題ともなっているストーカーを撃退致します!!
その他人生相談からどんなお悩みでも解決いたします!!
直通 090−8505−3086
URL
http://www.h5.dion.ne.jp/~grobal/ メール
[email protected] グローバル探偵事務局
>291 一号生です
数学やれよ、数学。 簡単講座その1。速度ベクトル。*は重要ポイント。 2Dシューティングの場合、描画座標として自期、敵機、弾などにxとyのデータがある筈です。 その座標をフレーム毎に、移動処理→描画って繰り返すと動いて見えるのです。 自機の場合は、入力処理→移動処理→描画処理となるだけです。 ここで、入力処理の無い敵機や弾の場合、 計算によって求めた変化量をxとyに加算する事で実装しようと言うのです。 概念は簡単です。*距離を時間で割ると速度が出るのは分りますね。中学数学です。 この速度と言う物を、フレーム事に変化するxとyの値の数値とするのです。 じゃ、いきなりホーミング弾のやり方。ある程度の事前処理はある前提で行くけど。 まず、適当で良いから弾を発射した敵機の座標が要りますね。 この発射された時、弾をアクティブ(有効)にして弾初期座標を、敵機の座標とする。 続いて同じフレーム内で、自機の座標が必要です。 自機の座標から、弾の座標を引き算すます。自機x - 弾x、自機y - 弾yです。 具体的には、自機が(320, 450)、弾が(160, 20)だったら(320-160, 450-20) = (160, 430) *この160と430は座標じゃないぞ、ベクトルなんだ。 でだ、ココでそのベクトルを単位化してやるのだ。 *単位化とは、ベクトルの大きさが1ベクトルの事。(ベクトルの大きさ程度は、自分で調べてくれ) *やり方は簡単、ベクトルの大きさで各x、yを割り算するだけ。 *大きさの出し方は、sqrt(x*x + y*y);だ!各二乗の足し算を√にかけるだけだ。 之で、自機の方向へ向かう、大きさ1の変化量(x, y)が求まった訳だ。 之に、自分で設定した弾速度を掛け算してやるなり何なりで、変化量を増減させるのだ! 因みにベクトルと数値(スカラー)の掛け算は、各x、yを数値倍するだけだ。 つまり、アクティブ化した弾は、フレーム毎に、 自機と弾のベクトルを計算、単位化、速度定数倍する、それを前座標に加算、 と言う処理をして自機の方向へと移動するのだ! しかし、この処理だけでは罠が…(連続書き込みできたら直レスします)
301 :
∞ ◆TPeOraQid2 :03/02/22 03:27 ID:Yzil6WXL
逃げられないね
で続き。 この処理だと、必ず自機に弾が命中してしまうのです!なんてこった! (例外もある、速度ベクトルつまり変化量が自機の当り判定sizeより大きい場合は、通り抜けますね) ここで数学を離れた、処理を考えましょう。 一つ例を。自機と弾の距離が、ある一定値内になったら 自機、弾間のベクトル算出処理を止めて、その止める直前の 速度ベクトルを非アクティブ(画面外にでる、何かに当たった)になるまで加算するように変える。 つまり、直進する弾に変える訳だ。之なら、動いている自機なら当たらないよな。 他にも上手い処理を考えて見れ。 まとめ。 二次元での方向ベクトルの出し方。 (x1, y1) - (x2, y2) = (x1-x2, y1-y2) ベクトルの大きさの出し方。 sqrt(x1*x1 + y1*y1); ベクトルの単位化のやり方。 size = sqrt(x1*x1 + y1*y1); (x, y)を単位化→(x/size, y/size) ベクトルの実数倍 a * (x, y) = (a*x, a*y) マスターして、色々発展させるのだ。
>>300 =302
おお、勉強になるなぁ・・・
そういう初歩レベルの数学を使用した
ゲームプログラムを解説している本ってなかなかいいのないんですよねぇ・・・
ほとんど数学を使わないゲームプログラム作成本ばかり・・・
(坂本千尋のゲーム本なんかいい例)
で、数学の知識を求められるゲーム作成本は 今は3Dのものばっかりですぐにめまいがしてくる・・・ 2Dゲーで求められる数学ですらロクに分からんからなぁ、俺・・・
プログラム組んで3年が過ぎようとしているのに。。。 そもそもsqrtが平方根を求める関数なんて今まで知らんかったし sinやらcosやら浮動小数点関数なんて今までほとんど使ったことない(爆
あぼーん
308 :
∞ ◆TPeOraQid2 :03/02/22 10:22 ID:Yzil6WXL
>>301 >この処理だと、必ず自機に弾が命中してしまうのです!なんてこった!
オレの書いた処理なんか、自機が自機に衝突しちゃったYO!
>>306 そのサイトの内容ならなんとか理解できそうです
サンクス!
311 :
名前は開発中のものです。 :03/02/22 14:59 ID:HpBy6GmK
プレステとかのソフトのデータを変えたりできるようになるには どういった事から手をつければいいのでしょうか? (抽象的でごめんなさい(^_^;) C言語やCPUのしくみとかは必須かと勝手に思ったのですが、 とりあえず本屋で売ってるこういう本を読み漁ったら インターネットしかしたことない厨房でも努力次第でできるようになるって いう本を紹介していただけないでしょうか?
痴漢の罪で逃走中の塾長でしたが 先ほど無事警察に射殺されました 終了
313 :
けう :03/02/22 16:18 ID:5+KGPlWB
平然とグローバル変数を使いまくる
>>313 。
そのあまりにもふざけた行動に
ついに塾長の怒りが頂点に!
あぼーん
>>311 まずは「調べる努力」をするのだ!(もうしてるかもしれないけど)
検索エンジンという強力な術があるのだからそれを利用しない手はない
こんなところから詰まってたらこの先もきっと苦労するぞ
がんばれ!
317 :
ヴォル :03/02/23 01:21 ID:1NFGJS3o
猫でも分かるプログラミングのC++の「デフォルト引数」と「関数のオーバーロード」 が理解できません。どなたか分かりやすく教えてください!
317は猫以下。
319 :
塾長 :03/02/23 02:55 ID:QQJXKdky
ああ、飲みすぎで頭痛ぇ…
>>300 お疲れ様!
時間があったら、すり抜けしないような判定(線分の交差判定)
についても書いてくれ!(他人任せ)
>>308 ああ、GDI はいいな…若い頃を思い出すぜ…
DIB の応用については「創作プログラミングの街」っていうページに
詳しく書いてあるから、ちょっと目を通してみてくれ。
>>311 激しく板違い・スレ違い。 本屋に行ってゲームラボ買ってこい!
>>312 勝 手 に 殺 す な!
>>313 お前の財布には 10 円硬貨しか入ってないのか!
この程度の短いプログラムでグローバル変数を使うのは別に構わねえ。
関数ポインタを使うってのは、悪くないアイディアだな。
こういう場合、拡張していくと鬼のような switch 文になるからな。
>>317 デフォルト引数ってのは、毎回毎回全部の引数を指定しなくてもいい
っていう機能だ。俺はあまり使わない。
関数のオーバーロードは、同じ名前の関数でも引数が違えば
別物として扱うことができるというだけだ。
しかし、この時点で躓いてるようだと後でつらいぞ。
自分でプログラムを書いて、改造して理解しろ!
あぼーん
塾長!入学キボンソです! 会社でVS.NETを手に入れてこれでゲームを作って行きたいとおもっとります! 最終目標はリネージュみたいなMMO作りたいです! 戦闘等はなくただ会話ができればいいでつ ただいまのスキルはWEBの言語のみです・・・・ アフォカと言わないで・・・
会社の製品を私用に使わないように。 卑しくもソフトウェア製作に携わるつもりならライセンス関係はしっかりね。
そのうちここもYBB規制されるのかな・・・
テラパッドとC++ビルダーで開発中 例によって "halo world"完成 現在関数と変数、if文勉強中
激しく初心者だがDelphiで練習中 練習程度に記号当てを制作 次なる目標は簡単なRPGの制作 取りあえずバトル(1戦のみ)だけでも作ってみます 塾長!いつも楽しみにしております!
#include <stdio.h> int main() { printf("オマエモナー\n ∧_∧\n( ´∀`)\n"); return 0; } ふ・・・また一歩ゲイツに近づいたな・・・・
C++ビルダーってhelpがついていなかったような。 helpのあるのって無い?
数学やれよ。数学。 簡単講座その1。理解、応用編。 ホーミングは出来たかい?ベクトルの考えを取り入れるだけで、色々出来そうだろ。 因みに、自機の座標や敵機の座標といった物は、位置ベクトルと考えられるのだ。 原点からの座標までのベクトルって意味。 で、その座標を引き算するってのは、引いた座標から、引かれた座標までのベクトルって意味。 (ベクトルは向きがあるので、引く方、引かれる方の意味は重要) sqrt(x*x + y*y);コイツは、三平方の定理、ピタゴラスの定理なんだな。 イメージしてくれ、原点から、自機、敵機に向かう二本ベクトルと 自機もしくは敵機から、もう片方に伸びるベクトルで形成される三角形を! A*A = B*B + C*C って奴だ。(スマン指数表記じゃなくて) 之のAを求める式が、sqrt(B*B + C*C);なのだ! 最後に応用だ。実装すれば分ると思うが、味気ないだろ。 自機に向かって直進している様に見えないか? そりゃそうだ、毎フレーム、方向計算してるんだからな。 でだ、擬似慣性と言うか、(まだ、物理シュミは早いからね) 今、弾が進んでる方向に直進する(自機が動いても、弾自身が今進んでいる方向)動きを実装しようか。 まず例によって、例を一つ。 カウンタを付けて、フレーム毎にカウントを取る。そして、一定フレームおきにしか、方向を算出しない。 それ以外のフレームは、最後に算出した速度ベクトルを足すだけ。 つまり、最初の”最後に自機に近付いたら、別の直進処理に切り替える”って奴を、初めからやって行くのです。 fps(秒間フレーム数)とかの処理も、まだ早いので カウンタを取る数(方向を算出する間隔)を、実行しながら調節するといいでしょう。 更なる、お題。 敵機から扇状にばら撒かれた弾が、少し進むとホーミング弾に変わる。どう?思いつくかい。 不定期だけど、次は角度編(扇状とか説明するよ)予定。と、思っていたが当り判定の提案が…どうしようか…
僕もこのスレみてやりたくなったんですけど、参加していいですか? ちなみにまったくなんお知識もないド素人ですけど。みなさんすごいですね VisualBasic6ならあるんですけど、コレでゲーム作れますか? 無理ならなんかお勧めソフトがあれば教えてください、お願いします
>>330 VBで何も問題ない。
DirectXが楽に使えるしな。
>>331 ほんとですか〜。ありがとう。
でも何から手をつけていいのやら・・本とか買ってきたほうがいいんでしょうか?
ありがとう。 DirectX8 3Dの基礎とゲームの作り方―Visual Basicで「DirectX Graphics」「DirectInput」を使う I/O別冊 ってやつですね? 明日本屋行ってきます。 うおー、燃えてきた〜〜
GDIとDIBでがんばってるけどやっぱDirectXつかったほうがいいのかな?
さっそく質問ですが 座標X(100, 100)から座標Y(200, 250)の線を引いたとき その線の上の点ですけどどうやって求めますか? たとえば座標Z(150, p)の時pはいくつなのかと・・・ またそのときにできる三角形の角度ってどうやって求めればいいんですかね 直線はy = ax + bだったはずだから 100 = 100a + b 250 = 200a + b から 150 = 100aで a = 1.5, b = -50 になるから p = 1.5 * 150 - 50 p = 175 であってますよね? でもこれをそのままCでやると負担かなりかかりそうで・・・ こういうのって公式でありましたっけ? もっとパッパとできるもの ちなみに角度はどうやって求めるのか分かりません sin, cosあたり使うとは思っていますが・・・
>>335 好みの問題だ。どっちでも好きに選んでいい。
一つ云える事は、昔はGDIとDIB(あるいはWinGと呼ばれたもの)
以外に選択肢が無かったから、みんなそれを使っていた。
今は他に選択肢(DirectX)があるというだけの話だ。
>>336 ブレゼンハム で検索すると、答えが見つかるとおもう。
>>336 そんなに計算負荷ないと思うが・・・
それと三角形ってどこの三角形だ?
ZはXY上の点なんだからXYZは三角形にならないよ
>>336 負荷がかかりそう?本当かそれは。計測したか?
つーか、そういうこだわりは後回しにしたほうが良さそうな
雰囲気出してるぞ。完成に向けて次の作業にパッパと
取り掛からないと、そのうち飽きてやめちゃうんじゃないか?
角度が知りたいのか。googleで検索したか?atanだぞ。
まず調べろ。
>>336 いいね、大概の奴は数学的処理ってだけで、考える事から逃げてばかりで真っ向から取り組む奴は少ないからね。
まず、直線の傾きは、変化の割合で示せます。
つまり、xが100〜200まで変化する間に、yが100〜150まで変化したんなら
(250 - 100) / (200 - 100) = 150/100 = 1.5です。で、定数の方は求まった傾きと式から導きます。
で、CPU処理的には、全然軽いです。気にする処理では無いよ。
角度は、角度編で説明しようと思ったけど…軽くな。
まず、度で考えるのは止めよう。プログラマならラジアンで考える方が、楽だよ。
ラジアンとは?って、それは角度の考え方の一つで、円の方程式にπって出るだろ。あれの事だ。
π = 180度、2π = 360度。これだけ。
でだ、角度を求める方法だが、本格的にやると、ベクトルと内積の考えを使わないといけないんだが…
2Dの場合は、もっと楽な標準関数があるんだな、これが!
atan2って奴だ。アークタンジェントを求める式だ。
(atanもあるが、atan2の方が使い勝手が良い)
簡単な説明をするとだね、三角比でtanθってあったろ?
このtanθからθ(ラジアン)を求める物です。
double atan2(y, x);
戻り値が、ダブル型のラジアンを返す。
座標に相当するyとxを引数に取ります。
そして、x軸と、原点からその点への直線でなす角度をラジアンで返します。
最後に、数学処理とプログラム処理では、Y軸が逆に取ってある場合が殆どです。
画面だと、原点左上で、yが増加すると画面下方に増えますよね。
でも数学は、原点左下で、yが増加すると上方に増えますよね。
例えば、最初の直線の方程式の質問で、右下がりな直線は、数学だとマイナスの傾きになる筈です。
しかし、プラスの傾きでしたよね?これは、y軸が逆転している為です。
ここは、注意が必要です。
このスレ(゚∀゚)eeE!
343 :
名前は開発中のものです。 :03/02/24 15:09 ID:XrXPuQvt
「数学は文書で理解する物ではない、イメージだデザインだ」 by 湯川秀樹
あぼーん
11
あぼーん
>>341 xが100〜200まで変化する間に、yが100〜150まで変化したんなら
(150-100)/(200-100)=0.5じゃないのか?と言ってみるテスト
塾長さん、今日このスレを始めて読みました。 ぼくも今日から始めます。 よろしくお願いします
349 :
塾長 :03/02/24 22:12 ID:zeW+Q+KN
>>343 湯川先生みたいな天才の言うことはよくわからん。
>>347 突っ込み(void氏並に)が細かいな。
言うまでも無いが、
>>341 は「y が 100 〜 250」が正しい。
>>348 何を始めるんだ?
それだと、ボクシンググローブと縄跳びを買ってきて
「俺もこれでボクサーの第一歩」とか思ってるのと一緒だぞ!
とりあえず、なんでもいいからプログラムを書け!
最近、お前らプログラムをアップロードしてないぞ!
俺が見るかどうかはともかくとして、人前に自分のコードを晒せ!
プログラムを書くツールでお勧めはどれでしょうか? できれば解りやすいのがいいです よろしくおねがいします
>>350 今日から必死で1から全て学んでゲーム作成するんじゃないのか。
必死で調べろよ。メモ帳でもTeraPadでもSakuraEditorでもVisual Studioの
統合環境でも何でもいいから、とっと使ってとっととコード書き始めて
とっとと先に進むが吉だと思うぞ。
だいれくとXつかってバリバリの3DRST作りたいのですが HSP勉強してたらワンスキンボーンモデルをコンバートできないようなので できる簡単なやつ教えてください
355 :
塾長 :03/02/25 00:04 ID:1nCULmR/
>>353 俺もお前の質問の意味がよくわからんが、
ワンスキンメッシュはめんどくせえぞ!
DirectX9 なら D3DX のアニメーション関数があって簡単になってるけどな!
(初心者なら、単純にボーンの入ってないメッシュの線形補完のアニメーションで
十分じゃねーかと思ってるが、まあ向上心は大事だわな、うん)
とりあえず、質問の要点をまとめて、初心者スレなり、3D の質問スレなりで
聞きやがれ!
あぼーん
ホームページビルターみたいに(例えが悪いかな・・・) 自分で文章をタイピングしたり指示とかするだけでプログラムが組めるソフトってあります?
>自分で文章をタイピングしたり指示とかする それがプログラムってもんだろ
あぼーん
>>358 ツクールとかFlashMXみたいなオーサリングツールを買ってみ。
つーか、初心者スレをもっと活用してほしい。
本気でゲームを一つ作ってみようかと思っている者です。 当スレの雰囲気がとてもよいので、興味津々です。 for文の構文とかも理解していないようなヘッポコな上に、 本等を購入する余裕が無いので、教えて君全開になりそうなのですが、 入塾させて頂いてもよろしいいでしょうか?
ありがd ガチンコ見た事無いのでスレのノリに合わせられるかわからないけど、 必死で1から全て学んでがんがってみます。
おい、おまえら! 漏れが今から、【電波少年的ゲーム製作】〜課題をこなせなかったら即自殺〜 を始めるから、ホームラン級のホームページを教えろ! リファレンス?みたいな関数辞典みたいなページご存知でしたらお願いします。 対応するインクルードするべきヘッダファイルの一覧みたいなのがほしいのです。 stdio.hがどうとか、そういうのがわからないのでどうかお願いします。
数学やれよ。数学。 簡単講座その2 の準備。 まずは、先日の誤記の突っ込みありがとう。で入るか… でだ、今回は、角度やら、それに関係して軽く当り判定とかをやりたいんだが、その前に準備だ。 復習を兼ねて、ベクトルの話だ。なにが準備かと言うと、 これから(x, y)は、ベクトル扱いで説明して行かないと、膨大な説明と書き込みになるのでベクトルの基本を少し。 基本だが、ベクトルを表すのに構造体なりクラスなりを定義してると楽なのは分るよね。 struct VECTOR { float x, y; }; こんな感じだ。クラスなら、メンバ関数で、大きさを返す物や単位化する物を定義したり 演算子のオーバーロードで計算処理も定義できるし便利だよね。 で、肝心のベクトルの扱いなんだが、基本は位置ベクトルだ。基本の位置から、どこぞを指し示すと考えてもらって結構。 つまり、座標と考えても差し支え無い。原点(基本位置)から、座標(x, y)までのベクトルって感じだ。 さらに考えを柔軟にすると、基本の位置を原点以外でも考える。ホーミングの時の、敵機から自機へのベクトルって奴だ。 これらのベクトルは、始点を考えるベクトルな。 で次の考えは、少し複雑だ。方向ベクトルって言って、向きだけを考えるんだ。 大きさや始点は、基本的に考えないベクトルだ。 具体的に言うと、真上を向くベクトルは、大きさが1だろうが10だろうが、真上って向きだし 原点だろうと、(10, 10)の座標からだろうと、真上って方向だろ? この二つの考えで説明して行くから、調べるなりして身に付けるべし。 そして最後に、ラジアン処理だ。之は前にも書いたが、角度の表現方法の一つだ。 π = 180度 = 3.1415926535897932…って奴だ。 具体的な使い方は、 #define PI 3.1415926535897932 って感じでデファインしておいて使うのだ。90度を表す時は、PI/2.0 (180/2)って感じで使うのだ。
数学やれよ。数学。 簡単講座その2。角度編。 先ずは、角度って言っても基準となる0度の場所を決めて置かないといけないな。 これは、ゲーム毎に処理やなんかも違うし、自分で決めておいて、 計算時に、数学処理や標準関数とのオフセット(一定の差の修正)を取れば良いと思う。 今回は、X軸、つまり”y = 0”の直線が0度の角度で行こうと思います。 なぜなら、atan2での基準でもあるので、戻り値がそのまま使えるからです。 いきなり本題。原点から”大きさR”の”円上”の座標の式は? x = R * cos(θ); y = R * sin(θ); *sin() cos()は標準関数。 が答えです。θとはシータと読みます。ギリシャ文字で数学だと計算時の角度を表す場合が多い。(高校数学教科書でも載ってるよ) 角度は、X軸からの角度で、例えば、45度つまりy = xの直線上の座標(マイナス座標はおいておく)なら x = R * cos(PI / 4.0); y = R * sin(PI / 4.0); です。45 = 180/4 = PI/4.0ですね。 atan2で言うと PI/4.0 = atan2(10.0, 10.0);//y = xの式で考えるので、引数yと引数xを同じ数値にしただけ。 解説をすると、先ず単位円(半径が1の円)で考えましょう。つまりR = 1となって x = cos(θ); y = sin(θ); って簡単になります。そしてsinとcosとは、xとyが円を描く時の軌跡を表す物と考えると良いでしょう。 cos(0.0) = 1.0 sin(0.0) = 0.0 です。いきなり、”です”じゃ分りませんね?之は"大きさ1"の円の0度の座標を表します。 大きさ1の円で、基準はX軸でしたね。つまり0度なら(1, 0)が円上の座標です。上の式通りでしょ? atan2だと 0.0 = atan2(0.0, 1.0);//引数に注意、atan2はy, xの順です。
次は90度の座標で考えましょう。90度ならx = 0つまりY軸上の事です。 cos(PI / 2.0) = 0.0 sin(PI / 2.0) = 1.0 です。もう分りますね。(0, 1)の座標が90度の時の円上の座標です。atan2では PI/2.0 = atan2(1.0, 0.0); 何を言いたいのか?それは、sinとcosを使えば、角度から座標が得られるのです。 そして、アーク系の標準関数を使えば、座標から角度が得られるのです。 例えば、10度づつに180度まで、角度を刻みたいって処理をするなら float angle = 0.0f; struct VECTOR vec; vec.x = 0.0f; vec.y = 0.0f; while(angle <= PI) { vec.x = cos(angle); vec.y = sin(angle); //ここでxとyを使った処理、描画でも何でも良い angle += PI / 18.0;//10度 = 180/18 } ってやれば良いのです。 …すまん、もう眠い、限界だ、続きは近いうちに。
>>368-370 こんな時間にお疲れ様です
・・・今回の内容はちょっと難しそうだなぁ
昼起きてからじっくり読ませてもらいます
私もそろそろ寝よ・・・
あぼーん
Delphi使いの三期生〜〜〜 俺もやっと追いついたんだが、continueとかしらないぞ! おかげで悩んでた問題が解決しますたが、一からプログラム してないよね?経験者だよね? かなり、自分の力量のなさに泣きそうなんですが。 返事モトム
皆の開発環境はなんでつか? 漏れは今のところLSIC86試食版でやってるんだけど、 グラフィックが使えないようだからBorland C++に乗り換えようと思ってるんだけど。
>>375 俺はVC++5
ところどころムカツクところはあるが・・・
>>374 即スレサンキウ。
よかった。∞さんが、まったくの初心者だったら、
俺才能ないなと、泣いているところだった。(あきらめはしないが)
>>375 漏れはDelphi。
初めて書いてみました。HSPです。まだ間違いだらけのところがあると思いますが・・・ RPGの戦闘画面です #ひろゆきとの戦い:バージョン01 cls0 mes"ひろゆきが現れた!" stop *hiroyuki butoon"たたかう"*comand0 butoon"にげる"*comand2 stop *comand0 mes"これでいい?" butoon"OK"*comand1 butoon"キャンセル"*hiroyuki *comand1 dame-ji=dame-ji+1 : goto *comand0 stop *comand2 if kai> 0 : goto *owari mes"ひろゆき「あなたは2ちゃんねるアク禁ですよん」" stop *finish cls mes"ひろゆきに"+dame-ji+"のダメージを与えた" : goto *owari stop *owari mes"戦いは終わった" stop
>>378 せめて自分で動かしてみて動くコードをだせよ。
実行ファイルだけupしてる奴って何が目的なんだ? それはただのオナニーだろ、他でやれ。 ソースだけのupは容量軽減と解釈すればなんとか理解出来るが。 ソースだけのupの人も、環境を持っていない人の事を考えてexeも入れてあげるといいと思われ C++もdelもHSPもフリーなんだから、exe触って憧れて真似して覚えるってのもあろうから。
>>382 ありがとうございますです。
やっぱちょっと変でしたね「*owari」に行かない。
もうちょっと手直ししてみます
>>382 これに
*comand3
mes"まだ攻撃しますか?"
button"YES",*hiroyuki
button"NO",*finish
stop
というやつをつけて前のラベルをちょいと改造して完成したか?とおもったら今度は動かなくなった・・・
http://forgamedev.zombie.jp/uploader/up5/img/092.txt 課題1、数当て。
電波少年的ゲーム製作、1日目でいきなり死にそうなんで堪り兼ね、恥を忍んで質問します。
rand、乱数、C++で検索すると、「rand() / 1000;」と、「rand() % 1000;」の両方がhitするのはなぜですか?
後者だと動きません。(これを信じてしまった為に数時間を無駄にしてしまいますた・・・)
srandについての質問です。
upしたものに、「srand(50);」を追加すると、動かなくなるのはどうしてですか?
//将来的には、「srand(現在の時刻);」を行う事によって乱数を作り出そうと思っています。
>>385 おいおい演算子くらいしっかり覚えとけよ。
/ は商を、 % は剰余を求める演算子だ。
rand() / 1000 は、rand()の値を1000で割った値になります。 具体的には10進数表記して下3桁を切り捨てた値になります。 rand()で返ってくる値はRAND_MAX以下の正の整数で、デフォルト値は処理系依存が、 32,767のことが多いです。 つまり、rand()/1000 は、0〜32 の値をとることになります。 rand() % 1000 は、rand()の値を1000で割ったときの余りになります。 つまり0〜999の値を取ることになります。 で、あなたのプログラムが rand()%1000 で動かなくなる理由ですが、
int型が少数を切り捨てることを考慮していないために発生していると思われます。 2つめ(b方式のwhileループ)の yyy=(za+((zb-za) /5)) あたりを例に考えてみてください。 たとえば xxx の値が6であると、za=4,zb=8 の時点で yyy = (za+((zb-za) /5)) = 4 となり、 永遠にza=に4を代入し続けることになります。 この問題から、あなたのプログラムには 「b方式では特定の数値を当てることが出来ない」という不具合があることを示しています。 rand()/1000でうまくいき、rand()%1000でうまくいかないのは、 偶然デフォルトの状態でrand()を呼び出すと発生するものだったというだけのことです。 srand()を行っていないため再現性があったのです。
389 :
塾長 :03/02/26 21:22 ID:9AhhBBa6
>>385 まず rand() って関数が返す値の範囲は 0 から RAND_MAX
(処理系依存だが 32767 以上) だろ?
仮に 100 っていう乱数が返ってきたとする。
100 / 1000 の値は、小数点切り捨てになるから 0 になっちまうんだ!
お前がやりたいのは 0 から 1000 の数の乱数を出すことだろ?
だったら rand() % 1000 が正解だ。
rand() % 1000 にしたり、srand() を追加すると動かないのは
お前のプログラムの b 方式のロジック自体が悪い。
変数名をわかりやすくしたり、while ループの中に printf
を入れてデバッグしたり、自分で原因究明しろ!
言っておくが、このスレのスレタイは
「今日から必死で1から全て学んでゲーム作成します」
だぞ!
「今日から必死で塾長が全てのプログラムをデバッグします」
じゃねえんだ!
390 :
塾長 :03/02/26 21:24 ID:9AhhBBa6
俺が書いてるうちに答えが出ちまった… ケコーン、って奴だな。
ごめん、日本語へろへろだ。 387訂正。 3行目: デフォルト値は処理系依存が、 → デフォルト値は処理系依存ですが、 388訂正。 6行目: za=に4を代入 → zaに4を代入 9行目: あることを示しています。 → あることが分かります。
___ /∧_∧ \ ./ ( ゚ ∀゚ )、 `、 / /\ \つ つ、ヽ | | ,\ \ ノ | | ヽヽ レ \ \) / / \ [書込み禁止]'/ ヽ、 ____,, / || || 〜終了〜
>>384 >mes"ひろゆきに"+dame-ji+"のダメージを与えた" : goto *owari
この行を
>mes"ひろゆきに"
>mes dame-ji
>mes "のダメージを与えた" : goto *owari
と三行に分けたら動くかも
>>393 たびたびありがとうございました。
何か、プログラム自体は問題無いと思うのですが、コンパイル+実行をすると
すでに名前が使用されているので変数にできませんと出てしまいました。
変数を別名に変えてみます。
>>378 このスクリプト、「たたかう」「キャンセル」を20回ぐらい繰り返すと、
オブジェクト数の上限64個を超えてしまうさかい、エラーになるで。
あと、変数「dame-ji」やけど、演算子「-」を使うてるさかい、
式「dame-ji=dame-ji+1」は「dame - ji = dame - ji + 1」に分解されてるで。
それにif文で変数「kai」が出てるけど(たぶん攻撃回数かなんかをカウントする
予定やったんやろ)、他で利用されてへんし。
最後に、ラベル「*finish」に移動する部分がないんやけど・・・。
397 :
けう :03/02/27 01:23 ID:eKR3sXOZ
399 :
塾長 :03/02/27 02:47 ID:XZhCrT/r
>>395 自販機のプログラムだが、switch 文を使ったほうが見やすいと思うぞ。
>>397 ちらつきをなくすには InvalidateRect の第 3 引数を FALSE にしろ!
なぜそうなるのかの理由についてはヘルプを読め!
もう Windows のプログラムは余裕で作れそうだな。
お前はそろそろ、このスレの卒業の時期かもしれん…
>>398 配列を使わず、「リンクリスト」で名簿管理プログラムを作れ。
または「クイックソート」を使ったプログラムを書け。
困ったら Google で調べろ!
俺は明日からしばらく留守だから、各自自習してろよ!
課題4っつめ、classの構文と構造を理解する終了。 イメージしていたものと全然違って、関数[]みたいな感じですね。 プライベート宣言したものは、外部からの閲覧すら出来ないようなので、 「int xxx」のように、ただの入れ物として使う為の物なんでしょう、おそらく。 コードは無いようなものなので5つめと一緒にあげます。upろだ無駄に流しても悪いですし。 >>塾長 リンクリストで検索したら糞HPしか見つからずに20分無駄にしてしまったので、 トーマスエンクイストについてのレポートをまとめるからそれで勘弁しろゴルァ!! >名簿管理プログラム どんなものかわかんねーよヴォケが リンクリストって、マルチ?擬似?タスク?とは違うんでしょうか? とりあえず、絞り込んだら1件hitとか、絞り込まなかったら 【お友達のホームページ】(リンクリスト)とかしかhitしないんで、時間的余裕無いので却下。 クイックソートならクイックソートでヒント出せよな。検索したらコピペで終わるだろ Googleで調べろって、ルーチンを丸写しじゃねえか。 もっとまともな課題出せねえのかよ!こいつはホームランだな! そういうのは課題って言わねえんだよ! >switch文 switch文の事をよく理解していない(エラーが40箇所以上出た)頃に書いたので、 最初は多用していたのですが、エラーの原因がわからず全部if文に置き換える形でエラーを潰した為、 あんなに膨らんでしまいました。break;がどういう働きをするか理解できたので、今なら多分なんとか出来ます・・・ >400 明日ゆっくりと見させていただきまつ・・・敵がわらわら出てくるとこ読みまくらせていただきます。 ありがとうございました。
あぼーん
404 :
名前は開発中のものです。 :03/02/27 10:01 ID:n/Xg/w0H
age
405 :
winmainを隠蔽してみた :03/02/27 11:25 ID:JfZFQlLW
mfcってためになるよなー
406 :
名前は開発中のものです。 :03/02/27 12:33 ID:xws/eYQX
>塾長 rand() % 1000 じゃまずいんじゃないの? rand() * max / 32767; ってやらない?
あぼーん
前菜代わりに、とクイックソートをやっていたら7時間経過してしまいました。ピンチであります。 基準を選んで、両端から調べ、見つかったら停止しておき、両方で見つかったらそれぞれを交換、 で、それを繰り替えす=クイックソートって認識だけで組んでおります。 あと4時間くらいで出来そうな気もするのですが、 いい加減時間も時間なので・・・質問です。 こういうものって、どこかからコードパクってきてそれを見て、 ルーチンワークとして単純にメモっておくなり覚えるなりした方がいいんですか? それとも、真面目に組んだ方がいいんですか? アルゴリズムを真面目に組むなんてただのヴォケですか? 超絶プログラマーの方、お答えキボンヌです。
>>408 あいにく俺は超絶プログラマでも何でもないが
自分に勉強が必要だと思うなら、そういうのはどんどん組んでいいと思うぞ。
データ構造やアルゴリズムの教科書を頑張って読みながらイチから組んでも
いいだろうし、あるいは何かサンプルソースが付属しているものがあるなら
それを参考にしながら組めば効率はあがるだろうし。まぁ勉強目的なら、
その辺は好みで。あとは時間との相談な。
時間がいっぱいある学生なら、苦労は買ってでもしたほうがいいと思うぞ。
働きながらだと、マジで勉強する時間は制限されるからな。
>>406 下のコードがなにやりたいんだかわからん
>>408 どうやったらそんなにかかるんだよ。
アルゴリズム理解してないんじゃねーの?
ああ、理解してない。理解していないさ。もちろん。 そろそろ12時間になるので諦めて他の課題行きます。 特定条件下でのみ動くものなら、7〜8個出来たんだけど、 (降順を昇順にとか、3142なら大丈夫だけど1342なら動かないやつとか) まあ無理でした。わかんねー。 基準値を取って、それ以下を左にそれ以上を右に、で左端と右端からやってって、 終わったら左辺と右辺で同じ事を繰り返して最終的にdiv 2 で1になるまで繰り返す。んだよな?っていうかもういいや。それどころじゃない。 if、for、whileだけで出来るよね?って言うかマジでわかんねー。放置、放置と。ソートなら出来るし。
>>414 いや、標準関数でも良くやった方さ。
まさか、コピペで動くから出来たって訳じゃないだろ?
数値比較を返す関数を用意する事を、理解する方が
クイックソートアルゴリズムより、難解のような。
それはそうと、再帰の話が出ないが、再帰なしでクイックやろうとしてるのか?
…まさかな。
>>414 >qsort( )
( ゜∀゜)アヒャヒャー
まぁ何だ。ちょっとしたゲームの中では多量の未整列データを溜め込んで
一気にソートせにゃならんような場面は、実はあんまないということに
気付いたりしたら、他のアルゴリズムにもチャレンジしてみてくれ。
実はまだクイックソートやっています。我がことながら、往生際が悪いったらありゃしない。
「時間を費やした=がんがった!」と勘違いしている受験生のような一日に終止符を打たねば・・・
>>415 コピペではありません。
片っ端からエラー出してエラー書き換えてってのを数十回繰り返して辿り着きました。
F1が使えないってのがいかんとも厳しい・・・
・・・再帰?
>>416 アヒャヒャヒャ。qsortを見つけたのは、以前当スレで紹介していただいたサイトの関数一覧を見ていると、
そのものずばりqsortなるものを発見してしまい・・・という次第です。
他アルゴリズムに挑戦はまた追々、少しアルゴリズムは忘れたいです。
このスレいいね。
安全地帯からの横レスで申し訳ないんだけど、 クイックソートのアルゴリズムがちょっと良くわからないっていうなら、 今更感が強いけどちょっと聞いていきなよ。 ―クイックソートの大体の考え方― クイックソートはまず、ある数の集合Aの中から一つの数aを任意に選んで、Aをa以下の数の集合sAと、a以上の数の集合lAに分けるのさ(sはsmall、lはlarge)。 すると、sAに含まれる数ってのは、全てa以下なわけで、lAに含まれる数っていうのは、全てa以上なわけだね。簡単に書いてみると (1)sA <= a <= lA っていう関係になるんだ。ここで、sAに対して、Aの時と同じ操作をすると… (2)ssA <= a' <= lsA (a'はsAに含まれる任意の数) っていう関係になるよね。(1)と(2)をあわせると、 ssA <= a' <= lsA <= a <= lA って言う風になるよね。 あとは、出現する集合が全て値を一つしか持たなくなるまで、同じ手順を繰り返すだけ。 以上、クイックソートの大体の考え方でした。
うそ!?再帰知らないでクイックですか?出来ない事も無いが、そりゃ12時間やっても出来ないかと… 再帰ってのは、自身を自身の中で呼び出す関数。googleで検索でもすると、サンプルは沢山出てくるよ。 因みに、420さんに便乗させてもらうけど、基準の値を軸に数値を分けるそして分けた片方に、また同じ処理をってので再帰を使う。 つまり、ソートする物が、基準値より小さい値の物ってだけで処理的な部分は使い回せるでしょ? イメージとしては 1 2 3 4 5 6 7 8 9 10 ↓再帰呼び出し(ソートじゃない、二分するだけのイメージ) 1 2 3 4 5 6 7 8 9 10 ↓再帰呼び出し 123 45 657 89 ↓再帰呼び出し 12 3 4 5 67 8 9 10 って具合だ。実際にはスタックに処理を積んでいるのだが、見た目には加速度的に、枝分かれするが如く数値が分けられていくだろ。
再帰はSLGとかで移動可能な場所を検索するときに使うけど あまりやりすぎるとスタック溢れ(?)してフリーズする およそ10歩ぐらいまでは軽い(2、3秒以内)んだけど 11歩、12歩になると突然のように激重(10秒以上)になる あんまり多いならばメモリ確保してそっちにデータ積んで ループしてやっていくほうがいいのかな・・・?
あぼーん
>>422 少し違う。
SLGやなんかだと、上右下左の四方向に移動力を消費しながら進んで
進んだ先で、まだ同じ処理ってやる訳だ。
スタック漏れじゃくて、再帰で掘り下げてく処理がクイックソートと逆の理論で
爆発的に増えて、returnしなくなっているんだよ。
#include <stdio.h> main() { printf("This is a test!"); } こういうプログラムを書いたのですがコンパイルできないです。どうすればよいのでしょうか。
全角スペースハリアー
>>420 自分で組んでた時に誤動作の原因としては、
「sA,sA,sA,」を昇順に並び替えようとして、sAと入れ替えるべきものが無い→投了。
とか・・・そういうのはいっぱい作りました。
クイックソート自体の理解が間違っていたかも。
集合sAの個数とlAの個数は=では無いのか・・・。
「sA,sA,sA」に操作を行うと、集合「 」と集合「sA,sA,sA」になるわけ・・・かな?
なんか今やれば、8時間くらいで組めそうな気がするけど(藁
>>421 再帰に関しては、聞いた事はあるけど実装を試みたり、必然に迫られて使用した経験はございません。
なんとなくイメージは掴めたような・・・
二分する(int 数値)
{
if(数値 != 1 )
{
二分する(数値 div 2);
}
}
これで、数値が1になるまで二分され続ける・・・のかな?
再帰ってアルゴリズム以前の基礎的なものっぽい。。。のかな?って言うか出直してきまつ
実は、今回答例を見てそのまま組んでみたんだけど、いろいろ意味不明な事が出てきたので、
おそらくあのまま120時間、1200時間続けていても解けなかったと思われ
>>420 さんの言っているのと全然違うのをイメージしてましたし。。。
http://forgamedev.zombie.jp/uploader/up5/img/100.txt一応 、申し訳程度にup。
forにbreakを使ってる?のとかfor(;;)とか、keytypeとか意味不明。
クイックソートには半月後くらい後にもしまだやっていたら挑戦してみようかと。。。
>>426 エラー内容をダブルクリックしたら当該箇所に飛べますよ。
BCC Developer使用ですが、多分VC++でも似たような事が出来ると思われ。
あと、エラーのある行番号が出たりもすると思う。
あぼーん
>>430 がんばれよ。
typedef とは、独自型の宣言で、コンパイラに覚えてもらう物です。
例えば、構造体を宣言した時、
struct _DWORD2
{
int Hi, Low;
};
って具合に宣言した時に、その型の変数を宣言する時に
struct _DWORD2 number;
って一々面倒だろ。
でだ、
typedef struct _DWORD2 tag_DWORD2
{
int Hi, Low;
}_DWORD2;
ってやると
_DWORD2 number;
って宣言できるんだよ。
ます、typedef指定子、次に正式な宣言、tag記述はあっても無くてもよい。
これはプログラマの為であって、コンパイラの為では無い。無くても問題無い。
最後にセミコロンで閉じる前に、独自型の名称。
つまり、typedef int keytype;とは、keytype型とはint型と見てくれよ。って意味。
次は、for、breakな。
for文の記述は for(初期化式; 条件式; 後処理式)です。 つまり、カラのfor文は、条件式が常に真。無限ループです。 break文は、そのbreak文から最も内側のループを抜けるって意味です。 sampleでは、forの無限ループですね。 私はやりませんが、スコープ('{'と'}'で括る事)を省略する人が、いますね。 sampleもそうですね。whileとifのスコープが無いですね。 スコープが無いと、次の式だけを評価します。 つまり while(1) i++; while(1) i++; は、 全て while(1) { i++; } と同じ意味です。注意したいのは、改行は関係無い所です。 どうです?分り辛いでしょ。まあ、人のコーディングスタイルにケチはつけられませんが…
436 :
ミ,,゚Д゚彡っ━~ヒマジソ ◆mL2ZRk1cK. :03/03/01 04:28 ID:SY0NWyRs
漏れも一から勉強するので参加させて下さいな。 受験一応終ったばっかりで暇なんですよ。後期は受かっても行かね。 急に勉強しなくなったら物足りなくて・・・暇を持て余してます とりあえず手元にある三冊の本仕上げます。 (JAVAの本、ゲームボーイソフトが作れるC、C++言語の本、ゲームのアルゴリズム本) JAVAは・・・あんま良くないっぽいけど携帯のゲーム作れる程度になれればいいや、 と思ってます。本買っちまったしね(その時は近くに居たお爺さんに熱く十分ぐらいPGについて語られたw) その後はC言語中心に逝こうと思ってます。 ・・・とりあえず寝ます。皆さん宜しくです
あぼーん
>>433 for文とkeytypeの解説どうもです。
そんなふうにfor文が使えるとは知りませんでした。ありがとうございました。
>>435 Del+DirectXだ・・・凄い。
昨晩はDirectXのヘルプを読んでるだけで夜が明けてしまい、慌てて寝ますた。
2D描写してから寝よう、と探し続けたんですが該当箇所すら見つけられない。
サンプルも全部3Dで、逃げ出したくなったのでありました。
DirectXで参考になるようなソースはどこかにありませんかね・・・
というか、導入すら出来ていない(藁
>>438 俺はDirectX7しか使ったことないから(しかもVBから)良く知らないんだけど、
確かDirectX8からそれ以降のヴァージョンには、2D描画専用の関数やらなんやらは無くなったはず。
だから、多分2D描画専用の奴を探しても、一生見つからないと思うよ……
DirectX7以前だったら問題ないけど…
.NET (C#やVB.NET) + DirectX9 の組み合わせなら、DirectDrawが使えるので 2Dをやりたいのなら、こっちも検討する価値はあるかと。
>>439 レスありがとうございます。
統合されたって事は知っていたんですが、
日本語のようなもので書かれたヘルプのなかに、
2D描写に該当する部分は無いのか?と血眼になって探しておりました。
まったく、無駄な努力を重ねる事にかけては右に出る者はいないと自負しております。。。
>>440 資金が不足しているのでちょっと厳しいです。(買おうと思えば買えるのですが)
とりあえず膨大なマニュアルの半分程度に目を通してわかったのは、
初期化というのが凄まじく大変であるという事と、
機能的にはなんでも出来るが、その分とてつもなく難解で、
Helpだけを読む事で扱えるような代物では無いという事。
また、マイクロソフト製品以外はサポートされておらず、ちょっとばかり大変である事。
DirectXの為に、とC++に来た身としては、ポカーンなのであります。
いろいろと、ただふわふわと無意味に彷徨っております・・・
平日ヒッキーなので土日は課題は無理です。今日は糞カキコだけでお許しを。
少しDirectXHelpと無駄なスパーリングをしてから寝まつ
DirectXは難しいのか・・・ でもカッコイイの作るならやっぱDirectXかなぁ・・・ 現在C言語習得進行中
あぼーん
実はRPG作ってるのですが DirectDraw使おうかPeekMessage内で描画しようか迷ってる DirectDrawってビデオカードによっては対して速度でないみたいだし PeekMessageで30-60fps出れば問題ないんだがどうしようかなぁ オフスクリーン領域は256*224*16bitか320*240*16bitにして 実際のスクリーンはStretchBltで2倍(512*448, 640*480)にすると・・・
DirectDrawとPeekMessageを同列で比較するのって、始めて見た。意味不明。 それに、わざわざStretchする理由は?
ん・・・ああ、DirectDrawで描画する時も 普通PeekMessage関数使うんだったね DirectDrawを使わずにPeekMessage内でBitBltするだけで速度出るなら わざわざ使う必要ないし。。。 Stretchして2倍にしないと画面小さ過ぎて見にくいと思う ツクール2000も320*240で実際の表示は640*480にしてるし
あぼーん
>>446 「DLLが見つからない」と出ちゃうんですけど。
MFCですか?いつになったら到達できるかなぁ…
俺のライブラリ、includeを含めて2行でwindowが表示できる。
>>446 もしmfc使って、そういうプログラム書くっていうことは、
windowsプログラムがわかってなくて、入門書のとおりに手探りに
やったって事かな?
452 :
425 :03/03/02 15:16 ID:53LJSqjr
あぼーん
>>449 Σ(´Д`ズガーン
MFC使うと別になにかないと実行できないんですか
VBみたいなものなのかな
もしかしてうぷしたファイルだけじゃコンパイルするのにもファイルが足りてない?(TT
>>451 全くそのとおりです
はじめて画面にドットがでて小踊りしている状態です
たぶんこの場所(onDraw)でループするのはまずいんじゃないかなぁ……と
思いましたが対処方法がわかりませんでした
タイマーかなにかで呼ぶべきかな、と想像したのですが
入門書には記載がなく、ググっても要領を得なかったので今回はあきらめました
まさに「今日から必死で1から」ですヽ(`Д´)ノ
>>454 キーワード
MFC
スタティックリンク
456 :
451 :03/03/02 19:45 ID:HnCtA+YU
タイマーよりOnIdle。
煮頃さんって、共通HN?一人じゃないですよね?
卑屈で自虐的な文章は読みたくないです。 ネガティブ思考がうつるから。 慰めて欲しいの?
要するに愚痴の吐き場所は別の所でって事です(´・ω・`)
>煮頃氏 どうして、QDでほぼなんでも作れそうな技術を持っているのに、 MFCなんか叩いてるんですか?しかもGBAとか・・・ あと、ソースにコメントが無いのは、up前にコメント削除しているからですか? それとも、無コメントスタイルなんでしょうか?
あぼーん
465 :
∞ ◆TPeOraQid2 :03/03/05 00:56 ID:tgjGyrtJ
最近活気がないぞ
あぼーん
467 :
凄いサイト :03/03/05 02:28 ID:d3OVeyHA
http://forgamedev.zombie.jp/uploader/up5/img/111.zip 概要:3Dゲームの作りかけです。物体が走ります。緑色のウンコではありませんw
付属のソースのままだとかいうなーヽ(`Д´)ノ ソノト-リダケドサ
操作:左右ZX(ボタン1,2)
動作環境:DirectX9.0 開発環境:Delphi6、QuadrupleD3.00、メタセコイアLE
メタセコイアを使ってみたのですが、すんげぇーおもしろいです
絵とか興味ない人間だったんですがはまりそう
苦労した点:ワールド座標とキャラクター、カメラの位置関係がややこしかった
カメラ座標はキャラクター座標系で、キャラクター座標はワールド座標系で計算すればうまくいきました
苦労した点2:QudrupleD3.00付属のX->SXコンバータを使うと上手くいかなかった
2.12付属のコンバータを使うとうまくいきました。まだダウンロードできるようです
2.12付属で変換するとヘッダがSimplified_X00で使用可
3.00付属で変換するとヘッダがSimplified_X01で使用不可
MLで配布されてたツールに付属のデータはSimplified_X02で使用可
デバッグログに「SXLib: 不正なSXファイルです」とでてました
まだ原因はよくわかっていません
>>463 >どうして、
MFCってあまり良いものではないのですか?
出鼻を挫かれてしまった気分ですΣ(´Д`
QDもサンプル触った程度でまだこれからといったところです
スプライトを出しただけで「なんでも」と言われても困ります(・∀・;)
(そういえばさっきポリゴンも出しました。手順は同じようなものですけれど)
GBAはゲーム機のゲームを開発するのに魅力を感じたからです
簡単で情報が豊富、コミュニティが活発なのも興味を惹きました
>コメント
目安として来週の自分に役立つように書いてます
ノーコメントはソース自体がコメントです(たまに読めない字で書いてありますけど)
>ノーコメントはソース自体がコメントです(たまに読めない字で書いてありますけど) 「コメントがなければ分からないような処理はなるべく書かない」ってのも重要だね。
あぼーん
Cはわかってきたので猫のSDK編を始めました。 ゲームまでの道は長そうだ。
別に煽るわけじゃないけど、コメントのないソースは読みたくない せめて変数の用途くらい書いて欲しい
>>468 >ノーコメントはソース自体がコメントです
甘い!!
あぼーん
∧_∧ ( ´∀`)< ぬるぽ
ノーコンソメはソース自体がコンソメです。 辛い?
ココデモカッ!
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
>>475 (_フ彡 /
でも、以前、1行ずつつべての行にコメントがついたソースを読まされたなぁ…。 あれはつらかった。
コメントは信じるな。 コードを信じろ。 前に酷い目にあった。 一見コメント通りなのだが、よく見ると全然違うコード書いてるの。 コメント読んじゃって処理の概念はあってるから コードも正しいって思い込んでたのよ。 だからコメントは、コーディングした人が 何を実装したがってるか?だけに留めて コード以外は、信じない事にしてます。 つまり、コメントが無くてもドキュメントがあれば問題なし。 自分でコード追うから。 でも、トリッキーなコードや処理(セオリー無視、自分方式)は 手がかり的な意味でコメントは必要か…
>>479 そういう時はコメント読むな!
コメントに気を取られてソースが読めなくなってるようじゃまだまだだぞ!
ノーコメントで後で困るか
コメント書き過ぎて見栄えが悪くなるか
どっちが良いかよく考えてみる事だな!
478です
あぼーん
483 :
煮頃 ◆mIGaChInq. :03/03/07 00:20 ID:aYIT+gH7
http://forgamedev.zombie.jp/uploader/up5/img/113.zip なんとなくレースゲーム気分
素材はDoga-L1に収録されていたものをコンバートして使っています
VCのほうやりたいんですがOnIdleで行き詰まってます
OnIdle自体はなんとなくわかってきたのですが
画面の描画をどうすればいいのかわからず挫折
CClientDC dc(this);
や
CDC* dc=GetDC();
〜処理〜
ReleaseDC(dc)
などとしてもダメ
クリックした時なんかはこれでいけるのになぁ……
OnDrawに描画処理を書いておいてOnIdle内から再描画させようという目論見も失敗
うーん、C〜AppとC〜Viewの間に越えられない壁を感じます
あぼーん
>>483 OnDrawの挙動はよく分からんけど
OnIdle内でメモリ領域に描画、
OnPaintでメモリ領域を転送するんでいいんじゃない?
あるいはOnPaintでは何もしないで
OnIdle内でメモリ領域に描画&転送すればいいのでは?
http://forgamedev.zombie.jp/uploader/up5/img/114.zip VC:ライフゲームもどき〜OnIdle編〜
というわけでついにやりました!!。・゚(´□`)゚・。
結局何が悪かったのかというと
誤
CClientDC dc(this);
正
CClientDC dc(m_pMainWnd);
ということでした
thisはどこから呼び出されたものかを表すものらしいので
マウスが押されたのをきっかけにした場合はうまくいったのにOnIdleだとうまくいかなかったのは
そのあたりに原因がありそうです
これでやっと次へ逝けます
苦節5日間、苦しいこともあったけど皆様方の応援のおかげであきらめずにできました
ありがとうっ!!
489 :
∞ ◆TPeOraQid2 :03/03/07 17:23 ID:0Il8k5Dw
どうでもいいですがOnDraw(CDC* pDC)のときは わざわざCClientDCを新しく作らなくてもpDCで描けるよ
あぼーん
>>486 どーでもいいが(よくないかな・・・
リリースモードでビルドしたもの公開しなさいって
どーでもいいが(全然よくない・・・
ゲームちゃうやろ
本当に簡単なものでいいから
『ゲーム』を公開しなさいって
評価も何も出来ないぞ、これでは・・・
それとコードも付属してることから コードも見てほしいのかもしれないので言わせてもらうと 空白、改行を有効に使いなさい 規模が極小だからこれでいいかもしれないけど 規模が大きくなったときこれでは苦労するよ(つーかパスタになる それとも今回だけたまたまなのか? そうであってほしいけど・・・・・
あぼーん
MSXのころは空白さえ削ったものだ…。 FORI=0TO10:PRINTI:NEXTI こんなん? そんなわけでC言語始めてからもしばらくきつきつに詰める癖が直らなかった。 もう10年以上前の話だ…。
塾長は逃亡しましたか? >494 ファミリーベーシックだと、コロンも削ったね。 改行も容量食うからなるべく一行にギュウギュウに詰めてた。 今考えると「1982Bytes Free」ってのは泣けてくる。
あぼーん
>>494 漏れFM-77AVだったからそんな気使わなかった
当時ではかなり多い128KBのメモリつんでたしな
でもROM-BASICとマシン語モニタの環境で慣れちゃって
コンパイラとリンカとエディタって環境になかなか馴染め
なかった記憶があんな
あぼーん
塾長は逃亡した模様。 熱しやすく冷めやすいのでしょう・・・。 1もどっかいったか?
>>499 真偽はどうであれ、もっと2ch(ネット)と現実に区別をつけたほうが良いと思われ。
俺は塾生の動向のほうが気になる。 がんばってますか!?
塾長のことはもう忘れよう・・・。
あぼーん
入塾希望です、とか中身の無い決意表明だけしておいて 全く参加していない者が数人いるようだな。進捗状況を報告せよ。 決意だけは一丁前で実行が伴わない典型的なカスにならぬように。 参加することに意義があるのだぞ。頑張れ。
>>499 塾長がひきこもりなら毎晩毎晩レスするだろうが、そういう人間ではなさそうだ。
多分忙しいんだろう。
あぼーん
ずっと前のほうでウィザードリィを作ってると言った者だけど ちゃんと作ってるよ。 城とダンジョン部分はだいたい出来て、今戦闘部分を作ってます。 最終的にはWinでグラフィックもカコヨクしたいんだけど、なにを勉強すれば Winのゲームを書けるようになるのかわからないです。 とりあえず猫と山本という人のVC++本を読んでるんだけど この方向でいいんでしょうか?
見てるだけで密かに作ってるものだがやっとキャラが出たところ
あぼーん
Windowsは詳しくないけど、俺に答えられる質問なら答えるよ。
DQのウィンドウの管理ってどうやってるの?
あぼーん
>511 ごめん。答えられないや。 なんつったりして。 DQはファミコンのしかわからないけど、ウィンドウ管理ってのは汎用的なものを作ろうとすると結構面倒。 DQ1くらいのなら、ウィンドウタイトルと項目を引数にして、選択が終了するまで帰ってこない(Windowsとかなら状態が遷移しない)関数に投げちゃえばいいっしょ。 ウィンドウ管理の何がわからない?
514 :
名前は開発中のものです。 :03/03/11 16:37 ID:8BpDXSR5
API MFC MSDN GDI SDL DLL DirectX Windowsプログラミング 単語を知れば知るほど、どれも似たようなものに思えてくる・・・ 検索してみても概略なんかが載ってるだけで、実際いじってみなきゃ身に付かないだろうし 前途多難だぜヽ(´ー`)ノ イエイ
あぼーん
中級者くらいからお奨めのC言語の本ってない?
あぼーん
518 :
塾長 :03/03/11 21:57 ID:AHrkl4Lu
久しぶりだな!お前ら!
適当にすっ飛ばしてレスするぞ!
>>505 本音としては、ひきこもりてぇぞ!
でも、残念ながらそんなに金持ちじゃねーんでな!
>>507 山本っつー奴は知らんが、「猫〜」を読んでりゃいいと思うぞ。
>>514 勉強ってのは、やればやるほど分からないことが増えいく
(ように思える)ものなんだよ!
まあ、とりあえず、自分で組んでみろ!
>>516 ・"プログラミング作法" (アスキー)
・"エキスパートCプログラミング" (アスキー)
の二冊を読め。
特に、前者は、俺の弟子の B. カーニハンが書いてるからお薦めだ。
塾長ハァハァ(;´Д`)
塾長だ〜。 まだ 急がしいいんだ。
あぼーん
塾長、外国にも弟子がいるんだ!カッケー!!
あぼーん
>>518 もしかしてケン・トンプソンやデニス・リッチーもお弟子さんなんでしょうか。
>>525 塾長じゃないけどレス。
かなりいいと思います。ただ……バグが一箇所あるぞゴルァ!!
0〜100の数字を入れろと出るのに、生成される乱数は0〜99じゃねぇか!!
そこさえ直せば問題はねぇ!
おまけのソースレビュー
・MAX_NUMBER を #define でなく、変数でとるのには意味があるのか?
・変数には用途をコメントでつけておくほうがいい。
DQがんがれよ!!
あぼーん
♪ チャチャチャ ♪ ∧∧ ∧∧ ∧∧ (゚ー゚ ) (゚ー゚ ) (゚ー゚ ) ((( ;;"~;;;"~゛;;) ((( ;;"~;;;"~゛;;) ((( ;;"~;;;"~゛;;) . ミ;,,_,ミ;,,_,,;ミ ミ;,,_,ミ;,,_,,;ミ ミ;,,_,ミ;,,_,,;ミ ♪ チャチャチャ ♪ .∧∧ ∧∧ ∧∧ ( ゚ー゚) ( ゚ー゚) ( ゚ー゚) (;;"~゛;;;~゛;; ))) (;;"~゛;;;~゛;; ))) (;;"~゛;;;~゛;; ))) . ミ;,,_,,;ミ,_,,;ミ .ミ;,,_,,;ミ,_,,;ミ .ミ;,,_,,;ミ,_,,;ミ ♪ うーっ ♪ ..∧∧ .∧∧ .∧∧ .(.゚ー゚.) (.゚ー゚.) (.゚ー゚.) ;;"~゛;;;"~゛;; ;;"~゛;;;"~゛;; ;;"~゛;;;"~゛;; ミ;,,_,,;ミ;,,_,,;ミ ミ;,,_,,;ミ;,,_,,;ミ ミ;,,_,,;ミ;,,_,,;ミ ♪ ファイト! ♪ ,, -,, ,, -,, ,, -,, ,, -,, ,, -,, ,, -,, ;;, ,,ミ∧∧ミ,, ,;; ;;, ,,ミ∧∧ミ,, ,;; ;;, ,,ミ∧∧ミ,, ,;; "(ヽ ゚ヮ゚ ノ)" "(ヽ ゚ヮ゚ ノ)" ."(ヽ ゚ヮ゚ ノ)" | | | | .| | ⊂__⊃ .⊂__⊃ ⊂__⊃ ) ) )
+ ヒギッ シィッ オミミ・・ヨ… + + ∴∧,:;∴ ∩,;*:; ∧∴ + ∧ ,,;:' ;:',.∧, ;:'';:;:∧;:'';:'.;;,. + (*;゚;o゚;::∴(゚;'O;。:'. (*'゚;:,-。;:∴つ + ⊂,;∴ζ:'.;;,ノ (:;;;ζ;' ⊂;: #ζ@;:;:,. |#( .ノ';:''ξ_ヽノ;:';:,;);:)''∴::;..;:'..;:';:,;*:;+;.∴ + ∪,''' ;:','''∪∵;: ∪ ∵(:;j : .; ∪;:'.;:,:. ∪;:;+;.;:',.: ∴∪;:. ∴ ∴ ∴∵ // // // // // // // // // // // // // // // // // // // // 从, ∧__∧゛_, ;:' ズドドドドドドドドドドドドドド!!! ( )/l ζ ( □/ ;:., l ○ l_」'' (_ノ 〜"::::::
あぼーん
532 :
名前は開発中のものです。 :03/03/14 03:05 ID:Y4/471OC
あぼーん
534 :
名前は開発中のものです。 :03/03/14 14:34 ID:onhKwFLl
535 :
534 :03/03/14 15:12 ID:onhKwFLl
おでも挑戦! #include <stdio.h> #include <stdlib.h> #include <time.h> void main(){int i = 0, n = 0, r;char b[99];srand((unsigned)time(NULL));r=rand() %100+1;while( n != r ){i++;do{printf("%d (0=end)>",i);n=atoi(gets(b));if(n<1){ printf("%d...\n",r);exit(0);}}while(n>100);if(n<r)puts("もっと上げ");else if(n> r)puts( "もっと下げ" );}puts("イイ!");gets(b);}
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
541 :
ハコ太郎 :03/03/15 01:55 ID:CMizuJ24
俺も参加したいです まずは数当て #include <stdio.h> #include <string.h> #include <stdlib.h> #include <time.h> void main(void) { int i,j; char str[10]={0}; srand((unsigned)time(NULL)); while(1){ i=rand()%100; j=rand()%100; printf("eで終了\n"); printf("%d + %d = ",i,j); scanf("%10s",str); if(strcmp(str,"e")==0){ break; } if(atoi(str)==i+j){ printf("正解 "); } else{ printf("不正解 "); } } }
542 :
ハコ太郎 :03/03/15 01:58 ID:CMizuJ24
あれ タブ消えちゃうんですか #include <stdio.h> #include <string.h> #include <stdlib.h> #include <time.h> void main(void) { int i,j; char str[10]={0}; srand((unsigned)time(NULL)); while(1){ i=rand()%100; j=rand()%100; printf("eで終了\n"); printf("%d + %d = ",i,j); scanf("%10s",str); if(strcmp(str,"e")==0){ break; } if(atoi(str)==i+j){ printf("正解 "); } else{ printf("不正解 "); } } }
543 :
ハコ太郎 :03/03/15 01:59 ID:CMizuJ24
すいません 上手くいかない・・・
544 :
ハコ太郎 :03/03/15 02:21 ID:m/K8OriD
訂正 scanf("%10s",str); ↓ scanf("%9s",str);
あぼーん
546 :
ハコ太郎 :03/03/15 16:57 ID:gtL6uDWh
547 :
ハコ太郎 :03/03/16 21:46 ID:qRch9aAJ
>ハコ太郎 コメントがねえぞ!!ヽ(`Д´)ノゴルァ!!
549 :
∞ ◆TPeOraQid2 :03/03/17 00:20 ID:/Jvv7VbW
>>547 関数ポインタを使ってるところみると上級者のヨカン
あぼーん
初級卒
あぼーん
554 :
ハコ太郎 :03/03/17 07:28 ID:GxngzZ3K
あぼーん
556 :
∞ ◆TPeOraQid2 :03/03/18 03:56 ID:Qk8sKOzI
あぼーん
>>556 これからC++で3Dプログラムやろうとしてる私でも理解できそうです
ありがd!
あぼーん
560 :
名前は開発中のものです。 :03/03/19 18:20 ID:/gYUan8E
みなさんの開発環境+ターゲットプラットフォームを教えて下さい。 プロアマ問わずで。
あぼーん
562 :
新羅 :03/03/19 20:32 ID:0QvlOGCq
VisualC++.net standardっていうのを買っちゃったんだけどいいのかな?
>>562 全然よくないな
.net Pro買い直しなさい、今後のことを考えて
もし学生なら迷わず.net Acaだ
564 :
新羅 :03/03/19 21:49 ID:zWFe07Wb
うそぉ〜・・・まじすか。有り金はたいて買ったのに・・・ 何か激しくやる気失せた・・・しかも俺のノートにはインストできないし。はぁ・・・
>>564 勉強と趣味でいじくる位なら、standerdでもOKでしょ。
でも、有り金はたいて買うぐらいなら、動作環境ぐらい事前に確認しようね。
566 :
525 :03/03/19 21:59 ID:d6VgzXvn
TextDQ作成中...なんでまだ出来てないんだろう(;´Д`)
別にStandardでも良いのでは?
と思って調べてみたら、Standardはいろいろと冷遇されてるのですね。
やっぱり今から買うなら .NET Academic でしょうか?(当方VC6Pro)
>>534 すみません、素人では無いかもしれませんが
素人に近い片足初心者なので許してくださいw
>>564 Standardでも十分実用に耐えますよ。
ただ、入門用ドキュメントが付いてないのがマイナスかな?
あぼーん
568 :
新羅 :03/03/19 22:25 ID:Hvk7bYEe
そうか・・・別にプロのプログラマになろうというわけではないから頑張ってこのままやってみますね。デスクではこれを使うとして性能の悪いノートでは何を使うべきかな?Cmachineってだめぽ?ヘッダ−ファイル少ないし・・・でも無料なんだよね
569 :
525 :03/03/19 22:57 ID:d6VgzXvn
>>526 指導ありがd。レス忘れてました。スミマセン。
MAX_NUMBER が #define じゃなくて変数なのは……
定数には const int を使えと Scott 先生に言われたんだよゴルァ!ヽ(`Д´)ノ
# なんて反抗してみるテスト
>>568 とりあえずBCC + BCC Developer はどうでしょう?
俺も今日から必死で勉強するぞ、ヨロシク 取りあえず今日はprintfの書式を完璧に暗記した。
あぼーん
572 :
塾長 :03/03/21 01:38 ID:SrsbNloo
最近、人が少ないような気がするな。
成長して自分ひとりでやれるようになったのかもしれんがな。
VS .Net 及び VC++ についてだが Standard でもいいんじゃねーか?
俺は Professional 使ってるから詳しいことは知らんが。
ちなみに Enterprise 版を使うのは違う業界の人たちだから
ゲーム作るのには必要ないだろう。
>>569 定数に const を使うのはいいが、大文字は反則気味だ。
塾長、DQの次の課題は何ですか?
スターフォックス作れ
575 :
塾長 :03/03/21 02:04 ID:SrsbNloo
>>573 ギャラクシアン…といいたいところだが、
最近の若い奴は知らんかもな。
PS のリッジレーサーの起動時に遊べる
スクロールしないシューティングって言えばわかるか?
他にはパックマンっつー案もあるけどな。
当面は画像が表示されるゲームを作るのが目標だな。
画像というのは文字ではなく絵が出る奴ですか?
577 :
塾長 :03/03/21 02:27 ID:SrsbNloo
>>576 そうだ、絵だ!ビットマップだ!
絵が表示できればゲームらしくなってくるぞ!
あぼーん
579 :
名無し :03/03/21 20:31 ID:gMPQ/Qd4
塾長! 初心者の入門書として「Cの絵本」というのはどうでしょう?
あぼーん
581 :
釈迦 :03/03/21 21:36 ID:Lfjzm5ww
int main() { for(int a=1;a<=100;a++){ printf("(;´Д`)ハァハァ %d回目\n". a); } return 0; } 前にあったやつを少しアレンジしてみた
あぼーん
正直このスレ大好きです。 漏れはデザイナーだからなんのこっちゃわからないけどみんながんがれ! そして素直でうぬぼれのないプログラマーになってくれ!
あぼーん
HSPでSRPG作り始めて1ヶ月
やっとキャラが動いたとこだす。
次はダメージ処理いきまーす。
>>583 おれも絵描きだがこのスレの生徒だ
算数できれば割とできるようだぞ入塾しなさい
│ .┌┐ │ ./ / |/ / i | i ●i |●i | | i i────────── /\_ヽ_,ゝ∧∧ / ( ゚Д゚) ∬ <そんなバナナやる気も失せたよ 終了するぞゴルァ / ⊃旦 (__) ∈このスレは終了いたしました∋
587 :
ハコ太郎 :03/04/05 19:10 ID:JmhjKh0i
jp.y42.briefcase.yahoo.co.jp/bc/hakotaroxbox/lst?.dir=/test&.view=l&.src=bc&.done=http%3a//jp.y42.briefcase.yahoo.co.jp/bc/hakotaroxbox/lst%3f.dir=/test%26.src=bc%26.view=l インベーダー出来ました
廃れてんじゃねー! SRPGのバトル部分のみ8割出来ました。。
>>585 >>588 厳しい事言うかもしれんが
オナニーレスは要らん。
そんなレスされても、あっそくらいにしか思わない。
出すもん出せ。ここはそういうスレだ。
591 :
588 :03/04/13 21:08 ID:H507M8NS
さんきゅー再来週ぐらいにはαバージョンできると思うから、そっちであげてみよ。
だがこのスレはやる気を支えるだけのオナニースレだとばかり思ってたーよ(わ
593 :
514 :03/04/18 23:16 ID:HSRIk/I3
全部区別ついた
594 :
堕天使 :03/04/20 21:05 ID:6wMaFugg
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□ □□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□ □□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□ □■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□ □□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□ □□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□ □□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□ □□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□ □■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□ □□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□ □□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□ □□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□ □■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□ □■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□ □□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□ □□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
>>596 まさしく今その状況
でもその2つのライブラリともあまり使い方がわからんかった(;´Д`)
elとかも触ってみたけど・・・理解不能
っていうかBCCなので設定すらよくわからん(DOSの知識0に等しい)
のでWin32API、DirectXの勉強してます
ほんとモチベーションってのは大事だなと痛感させられます
でも頑張ります
HSPとか豆乳とかPygameとかは? ライブラリならSDLも簡単でいいよ。
漏れもついこの前からVC++を挑戦してまっす。 とりあえず必死こきまっす。あ、中間テスト真っ盛りだったわ。
600Get!! (・∀・)イイ!!スレだね。塾長の包容力がステキだ コンパイラで迷ってる人たちへ。BCCがいいと思うよ。 検索は・・えーと、「BorlandC++Compiler」だっけ・・ そいつと秀丸orメモ帳+DOS窓でOK!! 慣れてきたらbcpadで検索Go!!
俺はBCC Developer使ってるYO
602 :
名前は開発中のものです。 :03/06/02 23:51 ID:szdP/wHr
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□ □□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□ □□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□ □■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□ □□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□ □□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□ □□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□ □□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□ □■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□ □□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□ □□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□ □□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□ □■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□ □■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□ □□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□ □□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
>>9 昔、俺もそう思って初っ端からC++を買ったけど3日で投げた。
今では、VBとDelphiしか・・・だけど、プロを目指しているわけではないから困らない。
DelphiもC++も奥深いところまでやらなければ、そんなに変わらなくない? VCのUIが難しいという話かな…?
とりあえずageとく
607 :
_ :03/06/04 09:09 ID:BTapcBlD
,,,,,,iiiilll!l″ ,,,,,,iiiil!!!llllll!゙° ,,,,,,iiill!!!゙゙゙`,,iill!l゙’ liill!!l゙゙゙’ .iiiiil!!゙゜ ` lllllll ,,iiil,,,,,,iiiillll゙′ lllllll ,illll!!l゙゙゙,ill!゙′ lllllll .,iilll",,,,,,,ill!!llliiiiilllll,,,,,,,,,,, .,,,,,lllll!″ ,,iill!゚,,ill!゙゙,,il!゙’.,,lill!!!!!!!!!!!!゙′ ゙!!゙゙゙″ ..,,iillllliiiill!゙liliiii,,.,,iill!lll,iiiiiiiiilト `゙”゙゙lllllliil!!゙゙゙゙lll!l゙’'゙゙゙゙゙,,,,,,,,,,,i、 .,iiill!!゙゙llllll.lllllli,、.,iiiillll!!!!!!!!!° ..゙',iiii"llllll ゙!!゙"  ̄ : ,lllll`.llllll ..l゙゙゙゜ .!!゙゙′
たぶん、いまならC++でもちゃんと勉強していけるだろうとは思ってるけど、Delphiで十分って感じになってしまった。 楽だし、プロ目指してるわけじゃないし。
610 :
モナー観光社員 :03/06/08 23:07 ID:bi/YSf/f
_∧_∧_∧_∧_∧_∧_∧_∧_ デケデケ | | ドコドコ < 塾生の作ったゲームまだぁぁぁぁー? > ☆ ドムドム |_ _ _ _ _ _ _ _ _ _| ☆ ダダダダ! ∨ ∨ ∨ ∨ ∨ ∨ ∨ ∨ ∨ ドシャーン! ヽ オラオラッ!! ♪ =≡= ∧_∧ ☆ ♪ / 〃(・∀・ #) / シャンシャン ♪ 〆 ┌\と\と.ヾ∈≡∋ゞ || γ ⌒ヽヽコ ノ || || ΣΣ .|:::|∪〓 || ♪ ./|\人 _.ノノ _||_. /|\ ドチドチ!
611 :
_ :03/06/08 23:08 ID:xwJ6lvXK
612 :
直リン :03/06/08 23:12 ID:QWEXfwhJ
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□ □□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□ □□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□ □■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□ □□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□ □□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□ □□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□ □□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□ □■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□ □□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□ □□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□ □□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□ □■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□ □■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□ □□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□ □□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□ □□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□ □□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□ □■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□ □□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□ □□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□ □□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□ □□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□ □■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□ □□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□ □□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□ □□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□ □■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□ □■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□ □□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□ □□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
age
616 :
名前は開発中のものです。 :03/06/27 14:37 ID:68w1ULdq
618 :
名前は開発中のものです。 :03/06/27 17:24 ID:RaOIxc5T
619 :
名前は開発中のものです。 :03/06/27 19:51 ID:mF7Mi2ED
今日からプログラムほぼ未経験のおれも参加しよう
このスレすでに死んでる?
622 :
名前は開発中のものです。 :03/06/30 16:46 ID:YUUiZZdE
いいえ死んでいません。 ゲームを作るという伝説は永久に不滅です!
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□ □□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□ □□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□ □■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□ □□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□ □□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□ □□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□ □□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□ □■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□ □□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□ □□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□ □□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□ □■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□ □■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□ □□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□ □□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
624 :
名前は開発中のものです。 :03/07/03 02:45 ID:/JFhrbZq
Cをまじめに覚えようとするなら、 CとC++どっちがいいですかね?
Cからがいいのでは。C++はCを文法的に拡張した物だから。 サイズが大きい物(ゲーム等)になると、C++の技法を使った方が楽に なるけど、始めは難しい。
626 :
名前は開発中のものです。 :03/07/03 15:06 ID:L5C8QnTe
ありがとうございます。Cに挑戦します。
627 :
こうんこせんたーw :03/07/03 15:20 ID:TOE+FiVO
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□ □□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□ □□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□ □■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□ □□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□ □□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□ □□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□ □□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□ □■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□ □□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□ □□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□ □□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□ □■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□ □■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□ □□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□ □□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
629 :
名前は開発中のものです。 :03/07/03 18:03 ID:WeWKFX6f
最近Cをはじめたばかりの初心者です ゲーム会社に入れるぐらいの 実力になるのはどれくらい掛かりますか?
>>629 ゲーム会社入ってからが地獄の始まりです。
633 :
名前は開発中のものです。 :03/07/03 22:34 ID:9etwXiSe
#include<stdio.h>void main(){for(;;)printf("終わりよければイッテヨシ");}
634 :
名前は開発中のものです。 :03/07/04 00:57 ID:GoSB8aUI
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
ネットで稼ぐならこれ。完全無料!!
リンクスタッフになれば小遣い稼ぎができます!!(左下に詳しい説明があります)
[報酬について]
クリック報酬・・・1クリックされる度に10円の報酬
バナー紹介料・・・リンクスタッフ登録の度に1000円の報酬
キャンペーン・・・今なら登録するだけで1000円プレゼント
間接報酬・・・紹介者が得た報酬を何割か加算いたします
ボーナス・・・優秀サイトには、報酬に応じてボーナス有り
単純に考えて1日100人クリックしたとすると、100人×10円×30日=30000円(一ヶ月)
そこらへんの掲示板に貼り付けていけば100クリックなんてスグです。
その他、自分の貼り付けた広告から誰かがスタッフになると1000円もらえるので
1日5人スタッフを紹介できたとして1000×5×30=150000円
30000+15000=180000!!間接報酬などもありますのでどんなに悪くても一ヶ月に10万円以上は稼げます!!
http://www.santa.ac/~comtec/linkstaff/cgi/click.cgi?id=3007 ぜひ一度覗いて見てはいかがでしょうか?
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★..
635 :
名前は開発中のものです。 :03/07/04 14:15 ID:lCZvyYz/
636 :
名前は開発中のものです。 :03/07/04 15:31 ID:Xwmtx/Re
637 :
名前は開発中のものです。 :03/07/23 09:38 ID:PQWs4VMD
ゲームで共用体って使う?
638 :
名前は開発中のものです。 :03/07/23 10:00 ID:70uZZfND
うにおんのことか? つかえるとおもったらつかえよ
639 :
名前は開発中のものです。 :03/07/23 10:01 ID:4MDmxwHq
>>637 使う可能性はあるけど使わんでも作れる。
640 :
名前は開発中のものです。 :03/07/23 12:59 ID:nJlUeBVF
業界bPスピード出会い!即日デート♪(*^-^)(^-^*)♪
日本初!携帯で顔写真付き男女会員リスト閲覧OK☆
結婚・恋愛・大人の交際・全対応!男女交際の決定版!
〜会員制男女交際クラブ〜
★GOOD SECOND★
http://golden-p.net/gs/
はじめまして。今日から僕も「吉里吉里2」という開発ツールでゲーム制作に参加したいと思います。 吉里吉里は「KAG」を使うことによってADVが作れますが、僕は吉里吉里のみを使って、様々なゲーム作りにチャレンジしたいのです。 なお、まずは練習として、どういったゲームを作れば良いのか、ご教授いただければ幸いです。 サバラ!
642 :
名前は開発中のものです。 :03/07/23 13:48 ID:gnFM7+br
KAG使わなくていいレベルならアドバイスも糞もないと思うのだがな。 とりあえず言うなら、あえてADV作れ。
643 :
名前は開発中のものです。 :03/07/23 21:40 ID:3jvcVEwr
クラスとウニオンとストラクトってどう違うんですか?
644 :
名前は開発中のものです。 :03/07/23 22:06 ID:XO+M5aov
645 :
名前は開発中のものです。 :03/07/23 22:08 ID:/wGtEC40
646 :
直リン :03/07/23 22:12 ID:Okibppcy
647 :
名前は開発中のものです。 :03/07/23 22:18 ID:q2qDxcAZ
クラスはメソッドを持ち、ウニオンは指定したメンバのメモリをシェアしストラクトはシェアしない
オブジェクト指向って簡単に言うと たくさん関数を作ってそれを組み合わせてプログラムするってことですか?
それは単なる構造化
ウニオンとストラクトってウニオンはメモリを大量に食わなくて済むってこと?
652 :
名前は開発中のものです。 :03/07/24 20:08 ID:0HzH48kE
ウニをンと腹いっぱい食えばおなかいっぱいになって体重計の目盛りもちと増えるカナ? ……ってここんとこのレスはネタですか? マジなんれすか? unionはメモリを共有するのよ。 struct VECTOR{ float x, y, z; }; union VECTOR{ float x, y, z; }; はまったく別ですわよ? 下の方はxに0.1fを入れたら、yもzも0.1になるのよね。同じメモリを使ってるから。 unionはエイリアスに使うかなぁ 例えばの話 struct QUATERNION{ float x, y, z; union { float w, s, r; }; }; とかね。人によっては食おー谷ヤンの実数の感覚が違ったりするからにょ こうしておけばw,s,rを混同してもいいってカンジ〜ぃ? このスレ読んだわけではないですが、手段もそこそこに「ゲーム作り」を学ぼう。 ガ ン バ レ 若 人 !
653 :
名前は開発中のものです。 :03/07/24 20:32 ID:RrGQU1cq
654 :
_ :03/07/24 20:38 ID:CZwww62+
初心者はBASICから。 最初からコンパイラを使うな。 インタプリタ環境のほうが初心者に優しい。 間違った箇所が判りやすいしハングしたりしないしな。
656 :
名前は開発中のものです。 :03/07/25 10:02 ID:Uu2H8DS/
中学生ならBASICから 高校生ならJAVA、C言語から 専門・大学生ならアセンブラから スタートの遅い奴は必死でやるべし
インタプリタ=計算機 と思って使ってる。俺は
658 :
名前は開発中のものです。 :03/07/25 15:36 ID:OCdlp9Hy
>>656 まぁたアセンブラオヤジがいるしぃー。
CPUがやっていることをだいたい理解してて、
コンパイラが出力するアセンブリコードをなんとなく読める程度でいい。
今月のCマガでも読んどけば十分ってこった。今はゼッパチの時代でわない。
660 :
656 :03/07/25 17:06 ID:Uu2H8DS/
>>659 20台前半だよバカ
俺は小坊の頃からMSXのBASICでゲーム組んでたけど、
アセンブラやって初めてプログラムってのを理解できたよ
確かに今はアホでも簡単にゲームっぽいの作れる環境あるけどさー
アマでいるなら確かにいらん知識だけどな
661 :
名前は開発中のものです。 :03/07/25 19:03 ID:BdMivjGI
コンシューマではアセンブラできないと話にならんよ。基本的に速度優先主義だからハードを直接叩けないのはかなり致命的。
いつの時代の話だyp それともシェーダ言語のことを言ってる?
663 :
名前は開発中のものです。 :03/07/25 23:58 ID:Lbt8MIhr
ウニオンとストラクトって自分で演習するとしたらどんな感じのプログラム作るといい?
664 :
名前は開発中のものです。 :03/07/26 00:05 ID:HHzmdOkN
665 :
無料動画直リン :03/07/26 00:12 ID:3SX/hLK4
667 :
名前は開発中のものです。 :03/07/26 01:07 ID:+70dkJWa
>>662 シェーダー言語?
ああ……まぁ、あれくらいのステップ数ならアセンブリで組めよって話だよなぁ。
正直言ってCgとかはまだいいでしょ。
容量がもっと増えたら話は別だけど。
肝心要の所をアセンブラ理解してないグラマさんにまかせてもいいってなら俺は別に言う事ないっす。
>>663 ごめん。俺がこのスレでうにおんとか言ったせいですか? 勘弁してぇ〜
プログラムってのは基本的に無駄を省く作業なのよね。
シンプルにすれば分かりやすいし早いってこと。
まずはなんでもかんでもストラァゥクトにしてみたら?
unionは、
>>652 でもちょっと書いたけど、まぁ自分なりの使い方が見つかるまで使わんでもいいと思うよ。
クラスはわかると楽しいよ。
自分の身の回りにあるものをクラス化してみるといい。
人間とか、例えば自分自身とか家、車とかクラス化してみるといいかもね。
unionとかstructとかclassとか、「こりは便利!」と思えるようになるまで使い続けるしかないかなぁ。
まぁ言語の知識なんてのはそこそこに。
一度何かのサンプルコードを書いてから、それをstructとか使って、簡潔に、見やすいコードにしていく作業をするといいかも。
コンピュータ言語を覚える時は、3歩進んで2歩下がる感じ。
まず先に進んでから、戻るように学習していくと良いよ。
それじゃがんばって
>>661 > 速度優先主義だからハードを直接叩けないのは
だからいつの時代の話をしている。
プロファイルも取らずにシコシコとクロック削りしたりしてねーだろーな。
アセンブラによるチューニングは非常に重要。 やったのとやらないのとでは阿呆みたいに差が出るよ。 家庭用ゲーム機に限って言えばだが。 PCではあまり必要ないかな?
家庭用ゲーム機にもいろいろあるわけだが、どれの話?
今一番普及してる奴だよ
このスレ蘇生?
673 :
名前は開発中のものです。 :03/07/26 21:16 ID:gqOicIVr
ageて見る。 良い先生きてくんないかな。
とある人にオブジェクト指向を覚えるならJAVAやってみなよ、と言われたのですが JAVAの知識をCに転用できますか?
675 :
名前は開発中のものです。 :03/07/26 23:31 ID:AVw8aBsI
できます。
JAVAは死にますが・・・
>>673 専門・大学などに行きましょう。
>>674 JAVAは頭の固い。公務員みたいだ……。
あのクソ律儀なスタイルに染まらなければOK。
オブジェクト指向をその身に叩き込むってなら、いい……のかなぁ?
個人的にはJAVAのあのコンポーネントのスタイルは嫌い。
PCでもアセンブラは便利だよ。 アルゴリズムやコードの最適化が済めば アセンブラやってみる価値はあるよ。 で、はまってアルゴリズムやデータをアセンブリ用に直したりと で、当社比140%ってなもんで処理が速くなると感動する。SSE愛してるよ! あとunionは、有名なのは(漏れだけ?)DirectXのMATRIX型 配列のメンバの奴と個々のメンバの奴が、同じ領域を指してる。 これでunionは覚えたんだけど。
>>674 よし、Javaのテキストを熟読して勉強します
>>670 初代PlayStationのことですかな?ならしょうがないね。
682 :
678 :03/07/27 01:27 ID:mNMJJSbU
なら仕方がないな。まあせいぜい今のうちに楽しんでろ。 シェーダとかいじくるならまだ分からんでもないが。
ところで
>>683 は何が言いたいの?
ゲー専でアセンブラ分かってればいいんでなーい?
シェーダーって言うけどさ、"シェーダとかいじくる"程度なら"まだ分かる"……のか?
>>678 >DirectXのMATRIX型
それでかよっ
685 :
678 :03/07/27 16:46 ID:mNMJJSbU
シェーダーはWEBサイトで仕入れたグレアーとか試しにやってますよ。 しかし学校でもやろうとしたら、なんとボードが死ぬ程安物で… こうして、Capsをつかい性能差のある環境での動作を学んでと勉強してますよ。 最適化も家の環境が良いもんで、バイナリを他に持って行って実行すると 処理落ちが発生するのでアセンブラとかも覚えました。 プログラム楽しいですよ。
所詮専門だな・・・
>>685 こう言う
>>686 みたいなのがいるけど、
やる気がある奴なら中卒でも見込みあると思うよ
>プログラム楽しいですよ。
本気でそう言えるのなら実力のばせー ガンバレよー
ただ一つだけ、学生時代の友人に君と同じ事言ってる奴がいたのを思い出した(笑
そうじゃなきゃいいけど、人やWeb、本で得た知識は所詮、その時点で二番煎じだって事。
受け売りだけでデキる気になってて、ヘコまされて人生失敗した奴を一人知ってる(w
>>670-671 最も普及しているったらGBしかねえな。
次点で、GBA。
確かにこの環境ならアセンブラは必須だな。
689 :
678 :03/07/28 01:45 ID:wmG+SNWL
>>687 ご心配無く。
一応、普遍の技術系(数学、物理)と流行の技術系(環境依存)と別けて勉強してますよ。
グレアなら、その原理と近似式を理解し
そしてそれを、シェーダー2.0で実装する事を別けて考えてます。
それなら、例え環境がnVIDIAのcgとかになってもcgを学べばグレアを実装できると、
そんな感じで勉強してます。
だから、アセンブラもSSEを気に入ってますがx86系しか通じないので
SIMDの理解の延長と位置付けてます。
家庭用は性能上がったといっても所詮安物だということを忘れては いけない。性能上がったら上がったで要求されるレベルも上がるから 「性能上がる→速度効率の悪い手法が許容される」ということには ならない。ゲームプログラマはいつの時代も性能の低いハードや少な いメモリ容量と格闘しギリギリの線で性能を引き出さなくてはいけない。 だから生産効率の悪い手法を余儀なくされ多忙なわけだが。
グラフィックを入れたいと思っているのですがBMP以外に使用しても大丈夫な画像形式ってありますか? BMPだとサイズが大きくなりすぎて・・
bmp以外でも解読して結局bmpにしないといけないから面倒
RPGのマップ移動を作ってみようと思うんだけど(大体こんな感じだろう、くらいのやつね) ここで晒していい? 明日の朝くらいに
696 :
名前は開発中のものです。 :03/07/30 11:52 ID:kLZyrsh2
初めて自分でウィンドウを作ったときってどんな感じだった? オレは「なんでこんなに面倒なんだ」って氏にかけた
Delphiだったから「なんてこんなに簡単なんだ?」って思った。
>>691 PS/SSあたりまでならともかく、PS2以降でそんなこと言ってるとアレだぞ。
クリティカルな部分は描画周りだけだ。
699 :
695 :03/07/30 15:59 ID:Itlns063
ど素人の身でCを始めました。 Cってグラフィック使えないんですか?
どっかにライブラリがあったぞ
DMCとか使えばDOS用のグラフィック使うプログラムも書けるよ。
703 :
名前は開発中のものです。 :03/08/02 20:02 ID:iv+RaiJ0
☆ ☆ ☆
http://www.gals-cafe.com ☆ ☆ ☆
りさちゃんですっ☆みんな元気ぃ?夏だねっ!
あたしね、今アメリカにいるんだけど、、、えへっ(*>▽<*)
アナタに逢いたくて、こんなバイト始めちゃったヨ♪
りさに逢いに来てくれたら、7日間も会費無料サービスしちゃうし、
さらにさらに10分間も無料なんだよ! Σ(@o@)!!
アナタにだけの特別大っサービス♪絶対来てね!
二人っきりでたっくさん楽しいことしようよ♪まってるよ(^.^)/
☆ ☆ ☆
http://www.gals-cafe.com ☆ ☆ ☆
704 :
名前は開発中のものです。 :03/08/02 20:08 ID:sMUYo584
705 :
名前は開発中のものです。 :03/08/02 20:22 ID:m8DPXko3
706 :
_ :03/08/02 20:57 ID:PTOIIO3x
707 :
直リン :03/08/02 21:12 ID:2a9WEOLS
俺も参加さしてくれ!運良く教科書があった。 ・・・・・・BASICを起動?・・どうやんの? スマソ、教えて厨でつ。 誰か助けてください。 って無理か・・・
とりあえずアクティブベーシック使って作ってみたんですが。 プロジェクトビューしても真っ白でなにも起きない。 入力が間違ってるの? 拡張子? とりあえず入力内容 10 REM 数あて 20 A=5 30 FOR K=1 TO 3 40 PRINT k;“回目” 50 PRINT “数は” 60 INPUT B 70 IF B=A THEN PRINT “正解”:GOTO 110 80 IF B<A THEN PRINT “もっと大きい” 90 IF B>A THEN PRINT “もっと小さい” 100 NEXT K 110 END
710 :
無料動画直リン :03/08/02 23:12 ID:2a9WEOLS
711 :
名前は開発中のものです。 :03/08/03 00:36 ID:9A+1R0GD
すいません 自分は小学3年の頃にPC6001でベーシックを使い ミニゲームなど作成していましたが 2ヶ月前時間の余裕ができパソコンを購入いたしました パソコンも便利になりましたねぇ・・・・ ところでベーシック打ち込むにはどうするのです?これ・・・
>>712 アクティブベーシックをダウンロードすればOK。
無料で窓の社とかで手に入るから
>>709 ActiveBasicでは#includeしないとN88言語は使えないよ。
方法はヘルプに書いてあるから。
そしてプロジェクトビューはabpやbas拡張子を作る時は意味がない。 リリースコンパイルをやれ。 っていうか本家HPに解説ページがあるわけだが。
716 :
名前は開発中のものです。 :03/08/03 12:36 ID:A14jwxE/
717 :
_ :03/08/03 13:13 ID:+uv398Jj
719 :
名前は開発中のものです。 :03/08/03 15:16 ID:A14jwxE/
あれれ?なんだかうまくいきませんでした。 #include "filepath" 10 REM 数あて 20 A=5 30 FOR K=1 TO 3 40 PRINT k;“回目” 50 PRINT “数は” 60 INPUT B 70 IF B=A THEN PRINT “正解”:GOTO 110 80 IF B<A THEN PRINT “もっと大きい” 90 IF B>A THEN PRINT “もっと小さい” 100 NEXT K 110 END ではいけないんでしょうか? ついでに拡張子がabpのファイルを開こうとしたらプロジェクトエディタOR.EXEが見つからないとまで表示されるようにまで・・・ うう、、助けてください。
720 :
名前は開発中のものです。 :03/08/03 15:18 ID:A14jwxE/
すいません。被ってしまいました。
>>719 は無視してください。
721 :
名前は開発中のものです。 :03/08/03 15:34 ID:A14jwxE/
むぅ・・・アドレス先の方法でなら数あてゲームは作れましたが上記の方法だと、鬼のようにエラー発生しまくり。 abpのファイルを開こうとしたらプロジェクトエディタOR.EXEが見つからないとか言われる始末、もしよろしければ対処法教えてください。
>>721 何をもとに作った方法なんだ?
漏れの弟の技術の教科書にはもっと文字数があったが。
見つからないってのは入れてるフォルダがおかしいんじゃない?
abpファイルをエディタと同じフォルダに置いてみれ、それで駄目なら再インストールして見ろ。
723 :
名前は開発中のものです。 :03/08/03 16:01 ID:A14jwxE/
>>722 同じフォルダには入っているんだが・・・
作成には少ししか支障をきたさないし、ま、いいか。
ん?もっと文字数ありますか?同じ教科書ならP217でいいんですよね?
724 :
名前は開発中のものです。 :03/08/03 16:02 ID:mX7izAfK
むぅ、誰かCゲンガ−はいないのですか?
どういうのを作っていくといいかな? 最初に数当て作って、DQ戦闘作って、その後は?
726 :
名前は開発中のものです。 :03/08/03 17:05 ID:KjmQRT+u
727 :
GET!DVD :03/08/03 17:21 ID:hgEDcEDo
728 :
名前は開発中のものです。 :03/08/03 17:23 ID:GBDhvRMV
#include <stdio.h> int main() { int Number=1+rand()%100; int Answer; for(int i=0; Answer != Number; i++) { if(i == 0) printf("数当てゲーム。1から100のどれかを入力しろ。=>"); else printf("ゴルァ!違う!もう一回だ!=>"); scanf("%d",&Answer); } printf("おー、すげーな。%d回目で正解するとは。\n",i); return 0; }
729 :
↑ :03/08/03 17:24 ID:BycttfKA
これってどこに入力すればいいの?
730 :
728 :03/08/03 17:42 ID:GBDhvRMV
>>729 ん?どこって?このプログラムを何に入力するのかってこと?
適当なテキストエディタに入力して拡張子を.cに変える。
で、コンパイルする。
もしかしてこのプログラムに間違ってるところある?
731 :
_ :03/08/03 18:10 ID:+uv398Jj
>>730 無限ループはちょっとなぁ・・・
>int Number=1+rand()%100;
これってCでできたっけ?C++じゃない?
>printf("おー、すげーな。%d回目で正解するとは。\n",i);
一発で正解したら「0回目」でいいのか?
愛が定義されてないきがする
734 :
名前は開発中のものです。 :03/08/03 19:17 ID:A14jwxE/
とりあえず、作りつづけてるんですが、 70 PRINT "アタリ!"じゃーね♪ 80 END という風にやると、すぐ画面が消えて、70の文字が見えないんですよね。 70の画面を何秒か残すにはどうしたらいいのでしょうか?
735 :
名前は開発中のものです。 :03/08/03 19:20 ID:pMamaAsd
入力待ちにしたら? INPUT A とかやって。
736 :
名前は開発中のものです。 :03/08/03 19:21 ID:pMamaAsd
オレのIDママだ
737 :
名前は開発中のものです。 :03/08/03 19:38 ID:A14jwxE/
3秒くらいにしようと思うんですけど、INPUT A の使い方、イマイチわからないです。
738 :
名前は開発中のものです。 :03/08/03 19:39 ID:A14jwxE/
70 PRINT "正解!じゃーね♪" 80 INPUT A 90 END じゃ、あきらかに無理でしょうし。
739 :
名前は開発中のものです。 :03/08/03 19:47 ID:pMamaAsd
C言語を少ししかわからなんだけど INPUT A ってAにキーボードから値を入力ってことじゃないの? だからキーを入力してリターンキーを入力するまで処理がとまるんじゃないの?
740 :
名前は開発中のものです。 :03/08/03 19:50 ID:A14jwxE/
C言語なんですか?BASIC言語使ってんですけど。
741 :
_ :03/08/03 19:59 ID:+uv398Jj
742 :
_ :03/08/03 20:37 ID:feHCXCJs
743 :
名前は開発中のものです。 :03/08/03 20:48 ID:KjmQRT+u
745 :
名前は開発中のものです。 :03/08/04 07:43 ID:+iE/9WGh
時間待ち、ちょっと調べてみたけどわかりませんでした。 数字当てゲーム、RPG風に作ってるんですが、特定の文字(5とか)を入力したときのみ、数を当てるのではなく画面が閉じるようにできますか?(つまり逃げる)
746 :
_ :03/08/04 08:08 ID:bvAiw/MJ
747 :
名前は開発中のものです。 :03/08/04 09:33 ID:yTB+9xKs
if文で”特定の文字”と”正解の数字”でループを抜けるようにすればいいのでは?
748 :
名前は開発中のものです。 :03/08/04 09:55 ID:+iE/9WGh
110 IF ANS>N THEN PRINT "もっと大きいよ":GOTO 900 みたいなやつですよね? その場合“ANS>N”は何に変更すればいいのでしょうか?
749 :
名前は開発中のものです。 :03/08/04 11:13 ID:poXUb0RX
Basicはよくわからないけど >110 IF ANS>N THEN PRINT "もっと大きいよ":GOTO 900 この前に IF ANS="ループ抜けの文字" THEN PRINT "終了します" GOTO 処理終了 を書けばいいんじゃないのかなぁ
うーん、、駄目でした。 #N88BASIC 0 DIM ANS,N 10 RANDOMIZE 20 ANS=Int(Rnd()*5+1) 30 PRINT "スライムが現れた。" 40 PRINT "呪文一覧" 50 PRINT "1、ファイヤー" 60 PRINT "2、サンダー" 70 PRINT "3、ブリザード" 80 PRINT "4、アース" 90 PRINT "5、ウォーター" 100 INPUT "使いたい呪文の番号を記入してください。->",N 110 IF ANS="6" THEN PRINT "終了します" GOTO 150 120 IF ANS<N THEN PRINT "まったく効果が無いようだ。":GOTO 900 130 IF ANS>N THEN PRINT "まったく効果が無いようだ。":GOTO 900 140 PRINT "スライムを倒した。" 150 END 160 PRINT "スライムの攻撃!1ダメージ" 170 PRINT "反撃チャンス!":GOTO 100 で、いいんですよね?ついでに1ダメージの1を乱数にしたいんですけど。 質問ばかりですみません。ある程度、調べたつもりなんですけど。
751 :
_ :03/08/04 11:31 ID:bvAiw/MJ
110 IF N="6" THEN PRINT "終了します" GOTO 150 じゃないですかね あとANS=Nの時の処理はどっかにあるんですかね 140に飛ぶにはどうなればいいのかも
駄目でした。。 >あとANS=Nの時の処理はどっかにあるんですかね >140に飛ぶにはどうなればいいのかも すいません。よくわかりません。
あ、間違えた スライムは1発で倒せるんですね あと120と130のGOTO 900は GOTO 160 じゃないですか それとも900に何かあるんですか
あ、GO TO 160にするべき部分はもともと、GO TO 900で。 番号が飛んどいた変更したりするのが楽なんで900とかにしといたんですけど、他の人は使わないかなぁ。 って思いまして。 ゲームの方はわりと完成しかけてる(つもり)なのですが、まだわからないことがありまして。 例えば・・・ 1、1ダメージを(ランダム)ダメージにするとか、 2、スライムの体力を設定するとか、主人公の体力も設定するとか。(何回ミスったらだめとか)
756 :
!728 :03/08/05 21:16 ID:TQS0v9ou
728を改変してクラス化してみたんだけど、わけがわからなくなってしまった。 オブジェクト指向の本とか読んでわかったつもりになってたけど、実践が疎かなのはやっぱり痛いなぁ。情けないぜ。 添削、アドバイス等、お願いします・・・。 // main.cpp #include "number.h" CNumber* CNum; int main() { CNum = new CNumber; CNum->Run( 9 ); delete CNum; return 0; } // number.h class CNumber { int m_iNumber; int m_iAnswer; int m_iCount; void InitRandomNumber( int max ); bool IsHit(); public: CNumber(); void Run( int num ); };
757 :
!728 :03/08/05 21:18 ID:TQS0v9ou
// number.cpp #include <stdio.h> #include <stdlib.h> #include <time.h> #include "number.h" void CNumber::InitRandomNumber( int max ) { srand( (unsigned)time( NULL ) ); m_iNumber = 1 + rand()%max; } bool CNumber::IsHit() { if( m_iNumber == m_iAnswer ) { printf( "おー、すげーな。%d回目で正解するとは。\n", m_iCount ); return 1; }else{ printf( "ゴルァ!違う!もう一回だ!=>" ); return 0; } }
CNumber::CNumber() : m_iCount( 0 ) {} void CNumber::Run( int num ) { InitRandomNumber( num ); printf( "数当てゲーム。1から%dのどれかを入力。0で終了。=>", num ); do { scanf( "%d", &m_iAnswer ); m_iCount++; if( m_iAnswer == 0 ) break; } while( !IsHit() ); } // このスレageても(・∀・)イイの?
>>755 これで1、と6を押すと終了する事と終了する時に
リターンを押すまでウィンドウが閉じないようにできますた
かなり適当だがまあ参考にでもしてくれ
2、はスライムの体力を変数に入れそれからダメージを引き
0になったら倒したと出力
主人公の体力も同様にしてランダムのダメージを引く
0になったらゲームオーバーってところでどう?
ソース載せるの忘れた・・・ #N88BASIC 0 DIM ANS,N,A 10 RANDOMIZE 20 ANS=Int(Rnd()*5+1) 30 PRINT "スライムが現れた。" 40 PRINT "呪文一覧" 50 PRINT "1、ファイヤー" 60 PRINT "2、サンダー" 70 PRINT "3、ブリザード" 80 PRINT "4、アース" 90 PRINT "5、ウォーター" 100 INPUT "使いたい呪文の番号を記入してください。->",N 110 IF N=6 THEN PRINT "終了します":GOTO 150 120 IF ANS<N THEN PRINT "まったく効果が無いようだ。":GOTO 160 130 IF ANS>N THEN PRINT "まったく効果が無いようだ。":GOTO 160 140 PRINT "スライムを倒した。" 150 INPUT "",A 155 END 160 A=Int(Rnd()*5+1) 165 PRINT "スライムの攻撃!"+Str$(A)+"ダメージ" 170 PRINT "反撃チャンス!":GOTO 100
>>760 凄い・・・、ありがとうございます。
165のダメージ変数はなんだか上手くいきませんでした、俺だけですかね?
2、なんとなくわかるような気がするんで、これからN88の場合の計算方法調べてきます!
なんだか、ググってもでてきませんな・・・ 検索の仕方が変かな?
漏れもゲーム作るためにがんがってプログラム勉強します! とりあえずDQ戦闘作るところから始めます。 でも今日は遅いのでとりあえず睡眠。
#N88BASIC 0 DIM ANS,N 10 RANDOMIZE 20 ANS=Int(Rnd()*6+1) 30 PRINT "スライムが現れた。" 40 PRINT "呪文一覧" 50 PRINT "1、ファイヤー" 60 PRINT "2、サンダー" 70 PRINT "3、ブリザード" 80 PRINT "4、ウォーター" 90 PRINT "5、アース" 100 PRINT "6、ストーン" 110 PRINT "7、逃げる。" 500 INPUT "使いたい呪文の番号を記入してください。->",N 510 IF N=11 THEN PRINT "逃げ出した!":GOTO 550 520 IF ANS<N THEN PRINT "まったく効果が無いようだ。":GOTO 800 530 IF ANS>N THEN PRINT "まったく効果が無いようだ。":GOTO 800 540 PRINT "スライムを倒した。" 550 END 790 A=Int(Rnd()*5+1) 800 PRINT "スライムの攻撃!"+Str$(A)+"ダメージ" 810 PRINT "反撃チャンス!":GOTO 500 やっぱ変わりませんねぇ・・・ って言うか、質問厨ですみません。(汗
>>765 Aが定義されてません
0 DIM ANS,N → 0 DIM ANS,N,A
>110 PRINT "7、逃げる。"
なんで7で逃げるなのに
>510 IF N=11 THEN PRINT "逃げ出した!":GOTO 550
11で逃げ出したを表示するんだ?
そうですね、ちょっと変かもしれません。 と、言う事で変更しました。 #N88BASIC 0 DIM ANS,N,A 10 RANDOMIZE 20 ANS=Int(Rnd()*7+1) 30 PRINT "スライムが現れた。" 40 PRINT "呪文一覧" 50 PRINT "1、ファイヤー" 60 PRINT "2、サンダー" 70 PRINT "3、ブリザード" 80 PRINT "4、ウォーター" 90 PRINT "6、アース" 100 PRINT "7、ストーン" 110 PRINT "8、逃げる。(終了)" 120 INPUT "使いたい呪文の番号を記入してください。->",N 130 IF N=8 THEN PRINT "終了します。":GOTO 160 140 IF ANS<N THEN PRINT "まったく効果が無いようだ。":GOTO 190 150 IF ANS>N THEN PRINT "まったく効果が無いようだ。":GOTO 190 160 PRINT "スライムを倒した。" 170 INPUT "",A 180 END 190 A=Int(Rnd()*10+1) 200 PRINT "スライムの攻撃!"+Str$(A)+"ダメージ" 210 PRINT "反撃チャンス!":GOTO 120 こんな感じかな?ちなみに140と150は GO TO 190 じゃないとダメージが0になるようです。
>こんな感じかな?ちなみに140と150は GO TO 190 じゃないとダメージが0になるようです。 そりゃそうですよ >190 A=Int(Rnd()*10+1) ここでAに1〜10までの数字を入れてるんですから >130 IF N=8 THEN PRINT "終了します。":GOTO 160 160にいったらスライム倒しちまうぞ 他に問題点はありますか?
>>768 そりゃそうなんですか・・・・
出直してきます。
ちなみに130は投稿後すぐ直しときましたんで、多分もう大丈夫だと思います。
ちょこっと改良したい所があるんで、終ったらまた、ソースの越したいと思います。
とりあえず、相手に与えるダメージを変数にしてみますた。 #N88BASIC 0 DIM ANS,N,A 10 RANDOMIZE 20 ANS=Int(Rnd()*7+1) 30 PRINT "スライムが現れた。" 40 PRINT "呪文一覧" 50 PRINT "1、ファイヤー" 60 PRINT "2、サンダー" 70 PRINT "3、ブリザード" 80 PRINT "4、ウォーター" 90 PRINT "6、アース" 100 PRINT "7、ストーン" 110 PRINT "8、逃げる。(終了)" 120 INPUT "使いたい呪文の番号を記入してください。->",N 130 IF N=8 THEN PRINT "終了します。":GOTO 170 135 A=Int(Rnd()*3+1) 140 IF ANS<N THEN PRINT "スライムに"+Str$(A)+"ダメージ!":GOTO 190 145 A=Int(Rnd()*3+1) 150 IF ANS>N THEN PRINT "スライムに"+Str$(A)+"ダメージ!":GOTO 190 155 A=Int(Rnd()*100+30) 160 IF ANS=N THEN PRINT "クリティカルヒット!スライムに"+Str$(A)+"ダメージ!" 165 PRINT "スライムを倒した。" 170 INPUT "",A 180 END 190 A=Int(Rnd()*5+1) 200 PRINT "スライムの攻撃!"+Str$(A)+"ダメージ" 210 PRINT "反撃チャンス!":GOTO 120 こんな、感じ。RPGの雰囲気は出てると思います。まあ、こんだけですが(汗 後少ししたら、相手と自分のHP作れそう。・・・・・あくまで勘ですが・・ ところでこのスレ、ageてもいいんですかね?
なかなかいいかと思う 特に関係ないが 5、 がないのが気になる 俺としてはageてもいいよ
772 :
名前は開発中のものです。 :03/08/06 22:52 ID:t1xYEgmx
晒しage
>>756 おれもCやってるんだけどまだオブジェクト指向の使い方が良く分からん。 ゆえに評価はできん。 なんとなくどんな概念かはわかったんだけどな
774 :
_ :03/08/06 23:26 ID:xkLXDOht
775 :
名前は開発中のものです。 :03/08/06 23:35 ID:wvG73zIT
776 :
_ :03/08/06 23:37 ID:xkLXDOht
777 :
名前は開発中のものです。 :03/08/07 01:14 ID:cFggxyoV
>>756 オブジェクト化するなら、ゲーム管理と数字管理は別にするべきなんだが、
このコードサイズでは、そこまでしなくてもいいだろう。
CNumberは、ある数値を保持し、外部から渡された数値がそれと一致するかどうかを
チェックできるオブジェクト、になるのかな?そうすると、CNumber::Run()は、main()に
直接配置するか、ゲーム管理オブジェクトが実装することになるか。
あと、CNumberは常に何らかの数値を持たなければならないのだから、
CNumber::InitRandomNumber()はコンストラクタでおこなうべきことでは?
この場合、引数なしのデフォルトコンストラクタは、ないほうがいいかもしれない。
778 :
名前は開発中のものです。 :03/08/07 01:21 ID:6f3EqmyZ
779 :
_ :03/08/07 03:05 ID:LvooB/gQ
780 :
_ :03/08/07 03:46 ID:S+ggGXg5
781 :
_ :03/08/07 04:29 ID:bLnqziTa
782 :
名前は開発中のものです。 :03/08/07 05:58 ID:TYLlWGia
783 :
名前は開発中のものです。 :03/08/07 07:15 ID:ci2OouMS
784 :
756 :03/08/08 01:11 ID:rkg+siml
>>777 アドバイスありがとうございます。
"ゲーム管理"がまだちょっと漠然とした状態ですが、次はもうちょっと
オブジェクト数の多いゲームを作ってみようと思っています。
#N88BASIC 0 DIM ANS,N,A,b 10 RANDOMIZE 20 ANS=Int(Rnd()*7+1) 30 PRINT "スライムが現れた。" 40 PRINT "呪文一覧" 50 PRINT "1、ファイヤー" 60 PRINT "2、サンダー" 70 PRINT "3、ブリザード" 80 PRINT "4、ウォーター" 85 PRINT "5、ライトニング" 90 PRINT "6、アース" 100 PRINT "7、ストーン" 110 PRINT "8、逃げる。(終了)" 120 INPUT "使いたい呪文の番号を記入してください。->",N 130 IF N=8 THEN PRINT "終了します。":GOTO 170 135 A=Int(Rnd()*3+1) 140 IF ANS<N THEN PRINT "スライムに"+Str$(A)+"ダメージ!":GOTO 190 145 A=Int(Rnd()*3+1) 150 IF ANS>N THEN PRINT "スライムに"+Str$(A)+"ダメージ!":GOTO 190 155 A=Int(Rnd()*50+30) 160 IF ANS=N THEN PRINT "クリティカルヒット!スライムに"+Str$(A)+"ダメージ!" 170 PRINT "スライムを倒した。" 175 INPUT "",A 180 END 190 A=Int(Rnd()*10+1) 195 b=10 200 PRINT "スライムの攻撃!"b-Str$(A)+"ダメージ" 205 if b=0 THEN PRINT "残り体力が減った。" 210 PRINT "反撃チャンス!":GOTO 120 とやったら主人公の体力らしきものが以上に高くなるんですがどうなんでしょうか?
>200 PRINT "スライムの攻撃!"b-Str$(A)+"ダメージ" これは書き方がおかしいので 200 PRINT "スライムの攻撃!"+Str$(b-A)+"ダメージ" こう書くか・・・ でも b がたぶん主人公の体力だと思われるので普通に 200 PRINT "スライムの攻撃!"+Str$(A)+"ダメージ" とやって次の >205 if b=0 THEN PRINT "残り体力が減った。" これを 202 b=b-A 205 PRINT "残り体力"+Str$(b)+"。" とやるか でも >195 b=10 これを最初の方に書かないと意味ないな
#N88BASIC 0 DIM ANS,N,A,b,c 5 b=10 10 c=30 15 RANDOMIZE 20 ANS=Int(Rnd()*7+1) 30 PRINT "スライムが現れた。" 40 PRINT "呪文一覧" 50 PRINT "1、ファイヤー" 60 PRINT "2、サンダー" 70 PRINT "3、ブリザード" 80 PRINT "4、ウォーター" 85 PRINT "5、ライトニング" 90 PRINT "6、アース" 100 PRINT "7、ストーン" 110 PRINT "8、逃げる。(終了)" 120 INPUT "使いたい呪文の番号を記入してください。->",N 130 IF N=8 THEN PRINT "終了します。":GOTO 170 145 A=Int(Rnd()*10+1) 150 PRINT "スライムに"+Str$(A)+"ダメージ!" 152 c=c-A 153 IF c=0 THEN PRINT "スライム倒した。":GOTO 180 154 PRINT "スライムの番":GOTO 190 155 A=Int(Rnd()*20+1) 160 IF ANS=N THEN PRINT "クリティカルヒット!スライムに"+Str$(A)+"ダメージ!" 162 c=c-A
170 IF c=0 THEN PRINT "スライム倒した。" 175 PRINT "スライムの番":GOTO 190 180 INPUT "",A 185 END 190 A=Int(Rnd()*3+1) 200 PRINT "スライムの攻撃!"+Str$(A)+"ダメージ" 202 b=b-A 205 PRINT "残り体力"+Str$(b)+"。" 210 IF b=0 THEN PRINT "GAME OVER":GOTO 180 220 PRINT "反撃チャンス!":GOTO 120 なんとか,ここまでやりとげる事が出来ました。 しかし、問題があり、ダメージが多すぎて0より低い数値になると、倒せなくなるんです。 バグとかありましたらご連絡を。
>しかし、問題があり、ダメージが多すぎて0より低い数値になると、倒せなくなるんです。 >IF c=0 THEN PRINT "スライム倒した。" IF c<=0 THEN PRINT "スライム倒した。" >IF b=0 THEN PRINT "GAME OVER":GOTO 180 IF b<=0 THEN PRINT "GAME OVER":GOTO 180 0以下でもIFが真になるようにする あとクリティカルヒットが出ませんよ
よくみりゃ、凄い数のバグ 60 PRINT "2、サンダー" 70 PRINT "3、ブリザード" 80 PRINT "4、ウォーター" 85 PRINT "5、ライトニング" 90 PRINT "6、アース" 100 PRINT "7、ストーン" 110 PRINT "8、逃げる。(終了)" 120 INPUT "使いたい呪文の番号を記入してください。->",N 130 IF N=8 THEN PRINT "終了します。":GOTO 180 145 A=Int(Rnd()*10+1) 150 IF ANS<N THEN PRINT "スライムに"+Str$(A)+"ダメージ!" 152 c=c-A 154 IF ANS>N THEN PRINT "スライムに"+Str$(A)+"ダメージ!" 155 c=c-A
すいません、途切れたので最初から。今度はバグはないと思います。 #N88BASIC 0 DIM ANS,N,A,b,c 5 b=100 10 c=50 15 RANDOMIZE 30 PRINT "スライムが現れた。" 40 PRINT "呪文一覧" 50 PRINT "1、ファイヤー" 60 PRINT "2、サンダー" 70 PRINT "3、ブリザード" 80 PRINT "4、ウォーター" 90 PRINT "5、ライトニング" 100 PRINT "6、逃げる。(終了)" 115 ANS=Int(Rnd()*5+1) 120 INPUT "使いたい呪文の番号を記入してください。->",N 125 IF N=1 THEN PRINT "ファイヤーを唱えた。":GOTO 145 126 IF N=2 THEN PRINT "サンダーを唱えた。":GOTO 145 127 IF N=3 THEN PRINT "ブリザードを唱えた。":GOTO 145 128 IF N=4 THEN PRINT "ウォーター":GOTO 145 129 IF N=5 THEN PRINT "ライトニングを唱えた。":GOTO 145 135 IF N=6 THEN PRINT "終了します。":GOTO 180 140 PRINT "関係無い文字を入力しないで下さい。":GOTO 120 145 A=Int(Rnd()*10+1) 150 IF ANS<N THEN PRINT "スライムに"+Str$(A)+"ダメージ!" 152 c=c-A 154 IF ANS>N THEN PRINT "スライムに"+Str$(A)+"ダメージ!" 155 c=c-A
157 A=Int(Rnd()*20+1) 160 IF ANS=N THEN PRINT "クリティカルヒット!スライムに"+Str$(A)+"ダメージ!" 162 c=c-A 170 IF c=0 THEN PRINT "スライム倒した。":GOTO 180 171 IF c<=0 THEN PRINT "スライム倒した。":GOTO 180 175 PRINT "スライムの番、残り体力"+Str$(c)+"":GOTO 190 180 INPUT "",A 185 END 190 A=Int(Rnd()*7+1) 200 PRINT "スライムの攻撃!"+Str$(A)+"ダメージ" 202 b=b-A 205 PRINT "残り体力"+Str$(b)+"。" 210 IF b=0 THEN PRINT "GAME OVER":GOTO 180 220 PRINT "反撃チャンス!":GOTO 115 以上です。しかし、表示されてるダメージよりスライムの体力が多く減るのは何故?
ついでに調べて欲しいのですが・・・ 1、クリティカルヒットする呪文が毎回変わってる。 2、呪文以外の番号を打つと、打ち直される。 3、ちゃんと逃げれる。 4、その他(ぉ
>表示されてるダメージよりスライムの体力が多く減るのは何故? 150 IF ANS<N THEN PRINT "スライムに"+Str$(A)+"ダメージ!" 152 c=c-A 154 IF ANS>N THEN PRINT "スライムに"+Str$(A)+"ダメージ!" 155 c=c-A この辺で GOTO 170 しなくちゃダメ 飛ばないと152と155と162で3回cを引くことになるから あとは 210 IF b=0 THEN PRINT "GAME OVER":GOTO 180 これも b<=0 にしないと0より小さくなるとGAMEOVERにならないぞ 他は170と171は171だけでいい
> 1、クリティカルヒットする呪文が毎回変わってる。 > 2、呪文以外の番号を打つと、打ち直される。 > 3、ちゃんと逃げれる。 これはできてると思う
バグさえなければ、これで完成です。 #N88BASIC 0 DIM ANS,N,A,b,c 5 b=100 10 c=50 15 RANDOMIZE 30 PRINT "スライムが現れた。" 40 PRINT "呪文一覧" 50 PRINT "1、ファイヤー" 60 PRINT "2、サンダー" 70 PRINT "3、ブリザード" 80 PRINT "4、ウォーター" 90 PRINT "5、ライトニング" 100 PRINT "6、逃げる。(終了)" 115 ANS=Int(Rnd()*5+1) 120 INPUT "使いたい呪文の番号を記入してください。->",N 125 IF N=1 THEN PRINT "ファイヤーを唱えた。":GOTO 145 126 IF N=2 THEN PRINT "サンダーを唱えた。":GOTO 145 127 IF N=3 THEN PRINT "ブリザードを唱えた。":GOTO 145 128 IF N=4 THEN PRINT "ウォーター":GOTO 145 129 IF N=5 THEN PRINT "ライトニングを唱えた。":GOTO 145 135 IF N=6 THEN PRINT "終了します。":GOTO 180 140 PRINT "関係無い文字を入力しないで下さい。":GOTO 120 145 A=Int(Rnd()*10+1)
150 IF ANS<N THEN PRINT "スライムに"+Str$(A)+"ダメージ!" 152 IF ANS<N THEN c=c-A :GOTO 170 154 IF ANS>N THEN PRINT "スライムに"+Str$(A)+"ダメージ!" 155 IF ANS>N THEN c=c-A :GOTO 170 157 A=Int(Rnd()*20+1) 160 IF ANS=N THEN PRINT "クリティカルヒット!スライムに"+Str$(A)+"ダメージ!" 162 IF ANS=N THEN c=c-A :GOTO 170 170 IF c<=0 THEN PRINT "スライム倒した。":GOTO 180 175 PRINT "スライムの番":GOTO 190 180 INPUT "",A 185 END 190 A=Int(Rnd()*7+1) 200 PRINT "スライムの攻撃!"+Str$(A)+"ダメージ" 202 b=b-A 205 PRINT "残り体力"+Str$(b)+"。" 210 IF b<=0 THEN PRINT "GAME OVER":GOTO 180 220 PRINT "反撃チャンス!":GOTO 115 こんな感じで。ほかに付け加えるべき所はありますか?
特に言うことはないな 完成か
801 :
名前は開発中のものです。 :03/08/09 13:25 ID:L0C8hnQ7
よかったぁ〜。(ホッ テストプレイしてくださったり、わからない事を教えてくださった皆様。 まことに感謝しております。 最初は聞いてばかりでしたが、完成が近づくにつれ、質問の数も減ったと思っています。(多分) 数あてゲームも既に完成しましたが、まだBASIC言語の勉強は続けるつもりです。 さて、次はどんなゲームを作ろうか、考えただけでワクワクです。 もしよろしければ、またここで、質問させていただけませんか?(まだ聞くつもりか!?)
802 :
名前は開発中のものです。 :03/08/09 16:48 ID:6cgblPMS
いいねぇ〜、活気がでてきたね。 >801 ソースの書き方を勉強してみる気はない?うまく書けば、短く簡潔にまとめられるよ。メンテもしやすくなったりするし。 例えば、 1・変数名をわかりやすくする。(bとかcじゃね) 2・配列を使う(125〜129行を1行にまとめちゃえ!) 3・コメントを入れる(処理のまとまりごとにコメントで区切れば見やすい!) やっぱ初心者にBASICはいいよなぁ。
804 :
名前は開発中のものです。 :03/08/10 10:50 ID:ckv5388J
あっ、それ興味あります。 とりあえず、m=魔法、p=プレイヤー、s=スライム、A=?、にしてみました。 配列?ってどうやるんでしょうか? 1,2,3 じゃ無理ですよね。
805 :
_ :03/08/10 10:56 ID:vxsyuW65
806 :
_ :03/08/10 11:36 ID:vxsyuW65
807 :
_ :03/08/10 13:14 ID:JuRMyw+G
808 :
_ :03/08/10 13:22 ID:o/11yaxt
809 :
_ :03/08/10 15:06 ID:5c73RWwu
810 :
_ :03/08/10 15:31 ID:5c73RWwu
あぼーん
自分の過去を見ているようで なんか無関係の俺まで感動・・・・
初心者用の教科書読んでるみたいだ A君と博士
814 :
名前は開発中のものです。 :03/08/13 10:47 ID:vZlpKLxq
C言語やろうと思ってるんですがVisualシリーズは何を買えばいいでしょうか? 学割がきくものを買いたいのですが
>>814 C言語なら一般的にはC++言語が標準的でVisualC++.NET アカデミックが最安6829円で買える。
どういうシリーズがあるか知らないみたいだから言うと、VBはBASIC言語、VC++はC/C++(つまりC言語もその発展型のC++も)言語、VC♯はC言語でネットワークプログラミング中心にできるのが特徴。
追記 名前に「.NET」って付いてるVisualシリーズは2000&XPじゃないと動かないから注意。 ちなみに.NETシリーズのアカデミック版は前バージョンのVC++Ver6.0アカデミックよりも2000円近く安い。
standard版しかないのでしょうか? PROのほうがイイと聞いたことがあるのですが
>>817 .NETは今の所スタンダードのみ…っていうか初心者はスタンダード買え。
初心者がプロ買っても宝の持ち腐れだから、普通はスタンダード買って本買って勉強して覚えてから買う物>プロ
はい、そうします・・・
死ね
いやいや、たいした値段の差はないと思うからpro版買っといた方がイイよ
いきなりパッケージ買わなくてもCは勉強できるぞ。 ボーランドのフリーコンパイラでも使ってみなさい。 無駄な出費になるやもしれんし。
漏れは初心者の癖に エンタープライズ版を買った。
引き返すことができなくなったろう?
826 :
山崎 渉 :03/08/15 07:58 ID:Q998ZG7G
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
数当てゲームやってみました。 C言語、ムズカシイです。 変なこといっぱいやってると思いますが、とりあえず動くんで、試してみてください。 ご指摘の方お待ちしております。
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> int main() { int random,answer; srand((unsigned int)time(NULL)); random=rand()%100; printf("数当てゲームを開始します。\n0〜99を入力してください。\n");
while(1){ scanf("%d",&answer); if(answer>=100||answer<0){ printf("0〜99の数字でお願いします。\n"); printf("Press any key\n"); getch(); exit(1); } while(1){ if(answer==random){ printf("正解です。\n"); printf("Press any key\n"); getch(); return 0; } else if(answer<random){ printf("答えはもう少し大きな値です。\n"); break; } else if(answer>random){ printf("答えはもう少し小さな値です\n"); break; } } } }
>>827 ちょっとコメントする時間がないんで、自分好みに書き換えてみた。
比べてみ。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
void main( void )
{
int random,answer;
srand((unsigned int)time(NULL));
random=rand()%100;
printf("数当てゲームを開始します。\n");
831 :
続き :03/08/19 02:57 ID:8T/5ayFD
while(1){ printf("0〜99を入力してください。\n"); scanf("%d",&answer); if(answer>=100||answer<0){ printf("0〜99の数字でお願いします。\n"); } else if(answer==random){ printf("正解です。\n"); printf("Press any key\n"); getch(); break; } else if(answer<random){ printf("答えはそれより大きな値です。\n"); } else if(answer>random){ printf("答えはそれより小さな値です。\n"); } } return 0; }
832 :
521 :03/08/19 10:42 ID:TxUwJEa1
>>830 なるほど、0〜99以外を入力されたときも続けろということですね。
しかしそのコードだと数字以外を入力されると無限ループに入りますよね?
いえ、当然私が書いたif(answer>=100||answer<0)の部分がいけないのですが…
実は最初は
>>830 さんが手直されたようなコードだったんです。
ですが数字以外が入力された場合の判定のやり方がよく分からなくて、無限ループしないよう、その場で終了させることにしたのですが…
純粋に0〜99だけを受け付けるようにする場合(その他のアルファベットや改行や記号などを省く場合)どのように書いたら良いでしょうか…
>>832 scanfの返り値について調べてみるなんてどうよ。
>>832 scanfの返り値について調べてみるなんてどうよ。
835 :
521 :03/08/20 06:53 ID:9SL4zmeG
>>833-834 …申し訳ありません。
未熟故、もう少し具体的にヒント頂けませんでしょうか。
scanf()は代入された入力項目の数を返すんですよね…
ん。わからないです…そもそも戻り値について調べるってどうやって…
もう一回同じ入門書読んで出直してきますです。
836 :
833 :03/08/20 12:21 ID:TWQmsxwQ
>>835 ごめんな、プロバイダがアクセス規制されちゃってて携帯からしか書き込めないのよ。
この場合、scanfが1以外を返してきたら入力は間違ってるってことね。その場合は入力ストリームstdinをクリアしてやればいい。
#include<iostream.h> #include<conio.h> class keisan { int a; int b; int ans; public: void input(); void tasu(); void hiku(); }; void keisan::input() { cout<<"a = "; cin>>a; cout<<"b = "; cin>>b; } void keisan::tasu() { ans = a + b; cout<<"a + b = "<<ans<<endl; }
void keisan::hiku() { ans = a - b; cout<<"a - b = "<<ans<<endl; } int main(void) { keisan cla; cla.input(); cla.tasu(); cla.hiku(); getch(); return 0; } こんな感じにクラスって奴を使うんですか? あと、オブジェクト指向になってますか?
クラスとして間違ってはいないが、良い使い方ではない。 とりあえず、クラスの設計で気がついた点を並べてみる。 ・コンストラクタが無い このせいで、メンバ変数a,b,ansの初期値が不定になる。 例えば、Keisan::input()を行わずにkeisan::tasu()やkeisan::hiku()を実行 すると、謎の数字が表示されてしまう。 ・デストラクタが無い 現状では無くても構わない。が、個人的には常に書くほうが良いと思う。 ・cin、coutはクラスの外に出したほうが良い 一概にはいえないが、「計算」と「出力」のような異なる処理は分離したほ うが柔軟なクラスになる。 ・メンバ変数ansは必要ない cout << "a + b = " << ( a + b) << endl; cout << "a - b = " << ( a - b) << endl; で十分だろうと。でもこれは、上の三つほどは重要じゃないな。
>>832 char s[ 256];
scanf("%s", s);
のように文字列で受け取って、strtol()関数などで数値に変換。
ところで、「特定のキーのみを受け付ける」のは、C/C++の標準関数では
無理なので、プラットフォーム固有の機能を使わなければならない。
windowsな人は、DirectXにたよっちゃうのが楽だと思う。
数当てゲーム作ってみました。 どうでしょ #include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) { int x,n,i; srand((unsigned)time(NULL)); x = rand() % 100; printf("数当てゲームです。1〜99までの数字を入力して下さい。\n"); for(i=1;i<1000;i++){ scanf("%d", &n); if(n>x) printf("%dよりは小さな数です\n",n); else if(n!=x) printf("%dよりは大きな数です\n",n); else { printf("大正解!!(%d回目)\n",i); break; } } return 0; }
>>841 前にも書いてあったと思うんだが、rand()%100だと0〜99にならないか?
iが1000になると何も言わずに終了してしまうのも気になる。
そんなにやるやつは滅多にいないと思うけど。
提案だが、途中でやめられるようにしたり、「もう一度やりますか?」とか出して、
何度でも挑戦できるようにしてみてはどうだろうか。
>>842 さんレスさんくすです!
アドバイスをもとに修正してみました。
よろしくお願いします。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void kazuate(void);
int main(void)
{
int l;
kazuate();
while(1){
printf("もう一度やり直す?\nはい >>> 1\tいいえ >>> 0\n");
scanf("%d",&l);
if(l==1){
printf("あなたも好きね♪ウフッ…\n");
kazuate();
}
else if(l==0){
printf("遊んでくれてありがとう\n");
break;
}
}
return 0;
}
void kazuate(void) { int x,n,i,m; srand((unsigned)time(NULL)); x = rand() % 100; printf("数当てゲームです。0〜99までの数字を入力して下さい。\n"); i = 100; while(1){ scanf("%d", &n); if(n>x) printf("%dよりは小さな数です\n",n); else if(n!=x) printf("%dよりは大きな数です\n",n); else { printf("大正解!!(%d/100pts)\n",i); break; } i-=5; if(i<0) i=0; printf("続けますか?\n続ける >>> 1\t止める >>> 0\n"); scanf("%d", &m); if(m==1) printf("0〜99までの数字を入力して下さい。\n"); else if(m==0) { printf("おつかれさまでした。答えは%dでした。\n",x); break; } } }
このスレなかなか勉強になりますね。 ところでもっとグラフィカルなこともやってみたいんですが、Cでもグラフィックとか出せるんでしょうか? 将来的にはwizみたいなゲームを作ってみたいのですが、、 あとC++の勉強もした方がいいですか?大学の授業ではCばかりやってます。
>>845 Cでグラフィックは……環境によって全然変わってくるから何とも言えないのよ。
OSは?コンパイラは?お金ある?なんて風に。
まあ、フリーのライブラリはいっぱいあるから、それで勉強するのがいいだろうね。
高機能かどうかよりも、使いやすさ(自分が簡単に使えるか)を意識して。
最初のうちは線が引けてBMPの絵を出せるだけでも十分でしょ?
俺も詳しくは無いんだけど、「DXライブラリ」ってのは簡単に使えたよ。VisualC++が必須だけど。
つくったよぃ!とかいう拡張子.cはどうやって実行させるの?
>>847 Cコンパイラってのを使うの。これってのは拡張子が .c のファイル(これをソースと言う。実際はただのテキストファイル)を .exe に変換するソフトなのよ。
.exe になったらあとはわかるでしょ?windowsならダブルクリックでOKだし、DOSならコマンド打ち込むだけ。
Cコンパイラってのは色々あって、有名どころだとマイクロソフトが売ってるVisualC++とか、BorlandってとこのC++Builderとか。
これらより機能は劣るけど無料のコンパイラってのもある。このスレでみんなが作ってるようなのは無料のやつでも十分動く。
無料で有名なのは同じくBorlandってとこの「Borland C++ Compiler」ってやつ。
ttp://www.borland.co.jp/cppbuilder/freecompiler/ ↑こっから落とせる。始めのうちはこれでもいいと思うよ。
使い方とかは最初のうちは戸惑うと思うけど、webをまわるなりして調べてくれ。
849 :
名前は開発中のものです。 :03/08/25 04:31 ID:JH0/FfS3
850 :
843 :03/08/25 13:46 ID:g/Eg7TgL
>>849 なるほど。レスありがとうございます。
来週中にでも
>>47 にあるようなプログラムをあぷしようと思います。
>>839 入出力をクラスの外にだすってどういうこと?
main関数でやるってこと?
852 :
名前は開発中のものです。 :03/08/25 20:31 ID:iHgnVhZb
>>845 グラフィックやるなら、まずウインドウ環境のプログラミングに慣れること。
グラフィックは、ウインドウ環境でやった方がやりやすいからね。
手軽にできて資料も多いのは、Windowsかな。
>>851 例えば電卓があるとして、入力装置、計算装置、表示装置を分けて作っておく。
そうすると、あとから表示装置だけ豪華にしたり、入力装置をペンタブレットに
かえたりするのが(比較的)簡単にできる。
cin、coutは単体で入力、表示装置とみなせるので、main()関数に移してもいいと思う。
次は、簡単な計算機クラスを作ってみてはいかがだろうか。
数値を1つだけ持ち、値をセット、+、−、×、÷、値をゲット、ができる。
#include<iostream.h> #include<conio.h> class keisan { tasu(),hiku(),kake(),waru(); public: int a,b,enzan,ans; keisan(),~keisan(),hantei(); }; keisan::keisan() { a = 0,b = 0,ans = 0,enzan = 0; } keisan::~keisan() { cout<<"デコンストラクタ発動"<<endl; }
keisan::hantei() { switch(enzan) { case 1: tasu(); break; case 2: hiku(); break; case 3: kake(); break; case 4: waru(); break; default: cout<<"計算できませんので答えの初期値を出力します"<<endl; break; } } keisan::tasu() { ans = a + b; } keisan::hiku() { ans = a - b; }
keisan::kake() { ans = a * b; } keisan::waru() { ans = a / b; } int main(void) { keisan cla; cout<<"a = "; cin>>cla.a; cout<<"b = "; cin>>cla.b; cout<<"演算子 1->(+) 2->(-) 3->(*) 4->(/)"<<endl; cin>>cla.enzan; cla.hantei(); cout<<cla.ans<<endl; getch(); return 0; }
857 :
851 :03/08/27 22:02 ID:1y6/R1hF
859 :
756 :03/08/28 00:21 ID:DtJAotY7
俺も作ってみた。四則演算はまだだけど。気付いたら何故か電卓クラスになってた・・・。 初めてテンプレート使ってみた。なんか楽しい。 // CCalculator.h template<class T> class CCalculator { T Value; public: CCalculator():Value(0){} // コンストラクタ ここは0を渡しておいていいのだろうか virtual ~CCalculator(){} // デストラクタ void SetValue(T); // 値を設定 T GetValue(); // 値を取得 };
860 :
756 :03/08/28 00:22 ID:DtJAotY7
// CCalculator.cpp #include "CCalculator.h" template<class T> void CCalculator<T>::SetValue(T Value) { this->Value = Value; } template<class T> T CCalculator<T>::GetValue() { return this->Value; } んだがコンパイルは通るがメイクができない・・・。 >CCalculator<int>::SetValue(int)' が未解決 >CCalculator<int>::GetValue()' が未解決 ってエラーが出るんだけど何故? 微妙にスレ違いすまん。
861 :
756 :03/08/28 00:25 ID:DtJAotY7
上のエラーはmain関数でCCalculator<int>でインスタンスを作ったときのです。
862 :
756 :03/08/28 00:38 ID:DtJAotY7
じゃなくてメンバ関数を呼び出すとエラーになるみたいだ。鬱。
863 :
名前は開発中のものです。 :03/08/28 02:42 ID:oWC8nT9z
<class T>じゃなくて<typename T>にしたらどう?
864 :
756 :03/08/29 00:24 ID:incoWiKK
>>863 typenameでもできなかったです。
ところでtypenameよりclassのほうが古かったんですね。
>>864 CCalculator.cppの内容を全てCCalculator.hに移し、CCalculator.cppは削除。
コンパイラ様は、main.cppからはテンプレートクラスの実装が見えないぞ、
とおっしゃっておられるようです。
>>85 計算クラスだけ作ってみた。
class keisan
{
int ans_;
public:
keisan():ans_(0){cout<<"keisan constructor"<<endl;} // デフォルトコンストラクタ。
keisan(keisan& k){ans_=k.get_ans();cout<<"keisan copy constructor"<<endl;} // コピーコンストラクタ。
~keisan(){cout<<"keisan destructor"<<endl;} // デストラクタ。
void tasu(int i){ ans_+=i;}
void hiku(int i){ ans_-=i;}
void kake(int i){ ans_*=i;}
void waru(int i){ if(0!=i)ans_/=i;else ans_=0;} // 0除算対策付き。
void set_ans(int i){ ans_=i;} // 入力。あとから値を変えたい時に。
int get_ans(){ return ans_;} // 出力。cout等にはこれを使う。
};
いまいちクラスのありがたみが無いなあ。
教科書的には複素数クラスや文字列クラスがあるけど、
ゲーム作成スレっぽいのがいいよね。
ちょっと規模をあげて、RPG用のプレイヤー・敵共通クラスとかどうよ。
867 :
756 :03/08/29 12:38 ID:rBGCE7rs
>>865 ビルドキターーーーーーーー
ありがとう!
テンプレートはあくまでテンプレートであって、定義はできないっちゅーことですね。
憂鬱本にも載ってたのに今の今まで気付かなかった。(゚∀゚)
>RPG用のプレイヤー・敵共通クラス
作りかけのドラクエ戦闘風ゲームを拡張してみるか。
そういえば、デフォルトコンストラクタって引数無しのものを言うんだっけ?
コンストラクタを明示しないときに自動的に呼ばれるものをそうだと思ってたけど。違ったかな・・・。
やべ、ネタ振り過ぎた・・・。
868 :
756 :03/08/29 12:41 ID:rBGCE7rs
最後の一文は投稿ミス。
869 :
名前は開発中のものです。 :03/08/30 23:11 ID:dndqKjoD
870 :
名前は開発中のものです。 :03/08/30 23:17 ID:0A8pNwEb
<血液型O型の一般的な特徴>( すべて許していると調子にのってつけこんでくるぞ!! ) ■その道の達人をコケにして安心しようとする。多数対少数のときだけやたら強気。才能ある人間を歪んだ目でしか見れない。 ■顔が見えない相手に対しては毒舌かつ強気。面と向かった相手にはやたら弱気で人が言ったことにする ( 俺が言ったんじゃないんだけど、Aさんがあなたをアホかとバカかと… ) ■場所が変わると手のひらを返すように態度が豹変する ( あの連中の中じゃヘコヘコさせられてきたが、うちに来たら見ていろ! 礼儀を教えてやるぜ。 ) ■カッコイイ人に注目したがるが自分を磨こうとしない。なぜか、カッコイイ人は自分にソックリだと信じ込む ■読みが浅い。粘着に睨まれる事を言っておきながら関係ない人に振り向けてごまかす ( どうせ>>1さんはヒッキーでしょ? / 大阪人だってジサクジエンしてるぜ ) ■早とちりが多く、誤爆と気付いても釈明できない。イイ人を装って忘れる ( そういう土地柄だったのさ ) ■話題と関係ない個人攻撃で場の空気を陰険にする。次第に耐え切れなくなりあきれかえる。( どうなってるんだ? 間違ってる! ) ■恩を貸してるように振舞うが、自分のためであるということを見抜かれる。それに気付いて恥ずかしさをごまかすために大袈裟にキレる。相手がキレると今度はビビる。 ■人の真似を勝手にしておいてケチだけつけ、批判される所には現れない。自分が観察される側になると極度に焦る ■自分が企んでいるのに相手を悪人に仕立て上げ、己の為に餌食にする。攻撃を誘って自分の憎悪に酔いしれる。人の裏切りを許せないわりに自分の裏切りは覚えていない鈍感さ。 ■世間に通用しないような事ばかり繰り返して自分に課した目標から逃げる。あげくに人のせいにして相手に伝わらない方法でキレる。 ■人生経験未熟なので集団的にばかり相手を気にする ( 君のような人はウチでは… / ○さんによく似てるから駄目だろうね… )
なんとなくC++のクラスの勉強。 ついでに、乱数の勉強なのだが。 -----mrand.h--------------------------------------------------- /************************************************ M系列の擬似乱数を発生させるクラスMrand ************************************************/ #ifndef __FILE_MRAND_H #define __FILE_MRAND_H #define MRAND_MAX 0x7fffffffUL class Mrand{ private: unsigned long number; public: unsigned long randomize(unsigned long seed=0); //乱数の初期値(seed)を与えなおす unsigned long rand(void); //乱数の生成 Mrand(); //~Mrand(); }; #endif
-----mrand.cpp-------------------------------------------------
#include <time.h>
#include "mrand.h"
unsigned long Mrand::randomize(unsigned long seed)
{
number=(seed)? seed:(unsigned long)time(NULL);
return (number & MRAND_MAX);
}
unsigned long Mrand::rand()
{
for(int i=0;i<31;i++) //前回の擬似乱数と同じ部分が出ないように、擬似乱数のビット数以上にする。
{
number <<= 1;
if((number
>>31 )^(number
>>6 )&1) number++;
//31ビット目と6ビット目の排他的論理和(xor)を1ビット目に付加。
//なお、「6ビット目」の6は3,7,13に変えてもよい(らしい)。
}
return (number & MRAND_MAX);
//31ビットの擬似乱数を生成。
}
Mrand::Mrand()
{
randomize();
}
ところで、質問なのですけど、このプログラムを別のプログラム (仮にmain.cppとします)で使うとき、BCCでは bcc32 main.cpp mrand.cpp としますよね?これを bcc32 main.cpp だけにすることはできますか? mrand.hを標準ヘッダファイルのように使えれば楽なんですが。
>>874 mrand.cppをmain.cppにインクルードする。
・・・ちょっとした冗談ですよ?
さて、標準ヘッダの関数は、libファイルになっているか、windows標準のdllに組み
込まれているので可能なのです。bcc32.cfgとかにlibファイルのパスが書いてある
と思います。
また、自分でlibファイルを作成しても、結局はファイルパスを書く必要があります
(標準libと同じディレクトリに放り込めば必要ありませんが)。
バッチファイルを作成するか、make.exeを使われてはどうでしょう。
>>877 おお、けっこう大作だ。
このあたりから、言語のさまざまな機能が役に立ちはじめるね。
とりあえず、プレイヤーとひろゆきの二人を構造体にしてみてはどうか。
おまけ。
void CLS(void){ puts("\x1b[2J");} // 画面クリア
void LOCATE(int x_,int y_){ printf("\x1b[%d;%dH",y_,x_);} // 指定した位置から書く
879 :
872 :03/09/02 00:19 ID:fjGFwd6p
左から右へしか演算できない計算機
http://forgamedev.zombie.jp/uploader/up5/img/225.txt >>875 make調べてみました。便利ですねこれ。
何度も同じコマンドを打つ必要が無いのが特に。
>>876 目に付いた点だけ。
・変数が外部から直接参照が可能なこと
これは絶対やめたほうがいい。
・switch文のdefaultについて
なるべく例外処理は起こらないようにした方がいいと思う。
これは「無視しろ」ということじゃなくて、switch文にかける前に
例外を弾けということ。defaultを使ったほうが楽で、処理に
問題が無いならいいかもしれないけれど。
>>877 GOOD JOB!
2つアドバイス。まずif 文の条件式はなるべく簡潔にしよう。
(後で見直した時に分かりやすくするために)
例)
if(command!=1&&command!=2&&command!=3&&command!=4)
↓
if(command<1||4<command)
もうひとつは、switch文でif 文の列挙(今回のなら、魔法の部分など)を
書き直すことができること。何度もif を書かなくてよくなる。
毎日コンソールをシコシコ作ってますが、そろそろもう一歩先走ってみたいです。 GUIってのはウインドウズのAPIを勉強すればいいんですかいのう?
>>880 APIじゃなくて、OSとしてwindowsの設計や手法を学ぶ方が作りやすいよ。
で、コーディング前に使いそうなAPIを調べる程度でいいと思うよ。
>>878 さん、
>>879 さん
レスありがとうございます。
構造体…ですか。cはまだポインタを少し理解した程度でして
まだまだ分からないことばかりです。もっと勉強しないといけないなぁ
>>881 なるほど。とりあえず本探してみるっす
>>882 構造体は最初は変数をフォルダにまとめたものみたいに思っとけば
別に使う分には困らない…と思う
struct hiroyuki{ //hiroyuki型の構造体のひな型を宣言
int hp; //ひろゆきのHP
int mp; //ひろゆきのMP
};
typedef struct hiroyuki HIROYUKI; //hiroyuki型の構造体HIROYUKIを宣言
初期化してHIROYUKI.hpとかして使ったり
ポインタも入れといて連結データにしたり
884 :
883 :03/09/03 01:02 ID:/uD1maj5
なんか書いてること変だ…恥ずかしい typedefは見なかったことにして下さい…
>>879 乗除算を優先させたいなら、スタックが有効ですね。
あと有限状態機械(FSM)も便利。
最初の値をスタックへ積み、1 初期数値状態から始める。
以後、入力をスタックへ積み、指示された状態に遷移すること。
スタックの解決は、入力を積む前に行うこと。
入力が完了したら、残ったスタックを全て解決すること。
1 初期数値状態: +-なら初期加減算状態へ、*/なら初期乗除算状態へ。
2 初期加減算状態: 数値入力で数値状態へ。
3 初期乗除算状態: 数値入力で直前のスタックを解決し、初期数値状態へ。
4 数値状態: +-なら加減算状態へ、*/なら乗除算状態へ。
5 加減算状態: 数値入力で直前のスタックを解決し、数値状態へ。
6 乗除算状態: 数値入力で数値状態2へ。
7 数値状態2: +-なら加減算状態へ、*/なら乗除算状態へ。
どちらの場合も直前のスタックを解決すること。
886 :
名前は開発中のものです。 :03/09/03 05:42 ID:AP+SF+8z
>>883 さん
私も初級者なので構造体を深くは理解してませんが、
typedef struct Character_tag{ /* struct Character型を宣言 */
int hp; /* ひろゆきのHP */
int mp; /* ひろゆきのMP */
} Character;
Character hiroyuki; /* ひろゆきのステータスを宣言 */
ってカンジじゃないかなぁ・・・
ageてしまいました スンマソン… インデントもグッチャグチャだしなにやってんだろ、オレ
いい感じでもりあがってきたな
構造体はいくつかの型をセットにして新しい型を作るんじゃないかな
890 :
お絵描きBBS :03/09/04 06:33 ID:zjKNf92y
, -‐- 、
/^8 / ヽ
. / ノ.//ノノ ))))〉 | ̄ ̄ ̄ ̄ ̄
'ノノ! ! |. ( | | || /同人をやっています!
`l |ゝ" lフ/リ < お絵描きBBSがたくさぁ〜ん、ありますよ!
iア-、 /^l水ト、 \
http://pink.sakura.ne.jp/~erotan/  ̄く `ヽ |l:|l、ヽ‐v'し'i |_____
` -ノニニト、ー┘ ´
// ! \
/ ヽ
. 〈 / ヽ i
ヽ/ i,ノ
` ァ‐ァr‐r ´
/、./ l .!
. l! l\ ll\!!
ヽ_)l__ノ
みんな勉強中・・・?
892 :
872 :03/09/09 19:53 ID:ko30Dv2i
ウィンドウ表示プログラムを書いたんだけど main関数がないって怒られた。 本にはmain関数がないけどどこに書けばいいの?
コンソールアプリではなくwin32プロジェクトで作る
895 :
893 :03/09/11 13:06 ID:a+7WXE9N
>894 できました。ありがとうございます。
ランダムアクセスするファイルって全部char型じゃないとダメなの?
ランダムアクセスっていったら 一定のレコード長で好きな項目に移動するやつか 構造体に纏めて読み込んでしまえ
サイズはsizeof(struct)みたいにする
899 :
七誌 :03/09/13 11:44 ID:UM3MkvMk
猫読んだけど、全然理解できない。 文章がすげー分かりつ゛らい。 他のCの入門サイトをかたっぱしから読み漁って、一通り内容は理解したけど、猫だけはもう勘弁してくれって感じです。 こんな私にもゲーム作れるかな? 猫読んで自信無くしました。 粂井康孝、逝ってよし。
変な人だね。 でもその程度でヒイヒイ言ってるようじゃ難しいと思うよ。
>>899 猫はあんましレベル高いことやってないぞ…
構文を一通り理解した上で、どうしてもゲームが作りたいなら
DirectXを使うライブラリとかでゲーム作ってみれば?
902 :
七誌 :03/09/13 13:31 ID:UM3MkvMk
>900 文章が分かりつ゛らいのよ。 内容じゃなくて。 あの文章読んでるとやる気が無くなる。 >901 わかりました。やってみます。猫以外で。
猫は基本じゃなくバリエーションばかりやってるからね 黙々と組んで最後のほうにはわかってきた感じ 体系的に学ぼうと思ったら他あたったほうがいい
904 :
名前は開発中のものです。 :03/09/13 14:12 ID:fkUwAbbl
もうすこしで1000ですね
905 :
名前は開発中のものです。 :03/09/13 14:58 ID:dlpiC1wr
まったくの素人がCからやるのか。難しくない?
俺はかえってベーシックとかのほうがまわりくどく感じたな Cは直感的でわかりやすかった
次スレどうする?
このスレタイのまま、パート2にしたら荒れるのは確かだな。 漏れは良スレだから残しておきたいと思う。 みんなでスレタイとテンプレ考えるのが良いかと…
909 :
名前は開発中のものです。 :03/09/14 10:23 ID:bDvjk7wc
>>899 じゃあ読まなくていいよ。誰も頼んでないから。教えを乞う立場の奴が何を偉そうに。
今は猫よりずっといい入門サイトや書籍は沢山ある。もう猫は時代に取り残されてるの。
>>907-908 初心者質問スレと化している現状では次スレなんて要らん。
どうしてもというのならそれなりの事をしてみせろっつの。
スレタイ変えたら確実に廃れる、とか考えられないのかねぇ。
表面を派手にに飾って中身は空っぽ。
良スレを潰すのはいつもおまえらみたいな奴なんだよ。
910 :
名前は開発中のものです。 :03/09/14 10:28 ID:bDvjk7wc
猫のC++講座はOOの概念についての説明がない。 OOありきのOOPLであるはずなのに、いきなりC++の文法を覚えたところで何ができるだろう。
そうは言っても、まずは文法知らんと読めないからなぁ。 文法の説明から入るのは仕方ないかと。 ただ、Cは文法を知るだけでそこそこ使えるが、 OOPをHPだけで勉強しようってのが難しい気がする。
912 :
名前は開発中のものです。 :03/09/14 12:47 ID:rgXEvgB+
>>910 そんなもの巷のC++入門書等の殆どが説明してないだろ。
別に猫に限ったことじゃない。もっと言えば専門書などはそんなもの。
ある程度読者の知識を前提にしているのが普通。全部1から説明して
たらやってられないからね。
913 :
名前は開発中のものです。 :03/09/14 13:00 ID:kAD3wed8
初心者がC++でOOPを勉強しようとする事自体間違いという話もあるが。 迷走するぞ。
914 :
名前は開発中のものです。 :03/09/14 17:34 ID:H4bqdPPs
>>909 > じゃあ読まなくていいよ。誰も頼んでないから。
本人じゃないならこの言い方はおかしい。
それにあなたの言い方も充分偉そうですよ。
他人を非難するぐらいなら案ぐらい出してみてはどうでしょうか。
キモイ
自分の意思ぐらい他人に伝えられるようになろうね。
実に女々しいやりとりではないか。 便所虫だけが生き生きと暮らしていける。そんな末期スレの 典型的状態を見て、なお次スレがどうのと叫ぶ必要がどこにある。 スレごときにこだわるなよ。
>>914 傍観者だったが言わせて貰う。
本人じゃなくても、無償で公開してるWEBの文句を
グダグタ言う奴には言えるセリフだと思うが。
猫なんて情報サイトの類は自分の力で必要な情報を取得すればいいのであって
自分の分かり易いようになって無いなんて文句言ってる時点で、
コイツが自分のプログラムオナニー勉強なんか誰も頼んで無いって為るでしょ。
猫の内容をどう思おうが勝手だが、ココに書き込むのなら話は別だろ。
ここは猫とソイツだけの掲示板じゃないだろ。
で更に、礼を欠く奴は偉そうに上から物を言われても仕方ないだろ。
最後に、誰もそんな奴になんかに案なんか出す訳無いでしょ。
899=七誌読んだけど、全然理解できない。 コイツの神経がすげー分かりつ゛らい。 2ちゃんをかたっぱしから読み漁って、一通りDQNは理解したけど、899=七誌だけはもう勘弁してくれって感じです。 こんな私は899=七誌よりマトモ? 899=七誌読んで自信つけました。 899=七誌、逝ってよし。
そんなに切れ出すってことは サイト管理してるんだな?
922 :
914 :03/09/15 08:29 ID:TSjXUayg
>>908 >>918-919 自覚が無いのかもしれませんが、言い方がかなり攻撃的です。
やり方が間違っていれば「正論を利用しているだけ」と解釈されます。
私は
>>899 を庇うつもりはありません。
>>909 >>918-919 の言い方に問題があると言ってるだけです。
目的を達成できないような手段は手段として間違ってます。
さて、914の主目的が単なる言葉遊びに過ぎないことが再確認されたわけだが。 チミらは便所の落書き2chにおいて、他人の態度がどうのとグチグチ揉めることが それほどに大切なのかね。女々しいことよ。
925 :
914 :03/09/15 11:51 ID:A/CnAnRL
1は離脱しちゃったのかねぇ。
名無しで潜伏してるとみた。(w
>>925 そんなに意地張るなって
自分から論理的なぞ言い出すと碌な結果にならない
スレの残りで滅茶苦茶にされて敗走するのがオチだ
荒れ続けるスレ… 929は…言った。 「こんな時、塾長がいれば…」
930 :
914 :03/09/15 15:24 ID:R1fOCiij
>>928 別に意地張ってませんが。。。
どこからその解釈が?
一度上げますか。
931 :
名前は開発中のものです。 :03/09/15 15:27 ID:R1fOCiij
意見出してみましょ。次スレの タイトル: テンプレ:
932 :
名前は開発中のものです。 :03/09/15 15:38 ID:R1fOCiij
933 :
名前は開発中のものです。 :03/09/15 15:40 ID:R1fOCiij
細かいツッコミとかもよろしく。
>>914 >言い方がかなり攻撃的です。
アホだろ。
コレもそうだが、攻撃してるんだよ。
DQN相手に紳士でいる義理も道理もない。
ましてマトモな奴にすらな2ちゃんでだ。
よくわかりません
937 :
914 :03/09/15 16:54 ID:R1fOCiij
>>934 自分が他人を攻撃してる自覚が無いまま、そうしている人もいます。
そういう人は指摘すれば大抵気づきます。
でももし指摘するときに相手の人格とかを攻撃してしまったら、
相手もつられて負の連鎖ができるでしょう。
そうなったらもうキリが無いですよ。
自分がしていることに気付く機会を奪わないように、
「やり方が」間違ってますよと指摘するのです。
で、テンプレ案もお願いします。
>>934
別にこんなスレなくなってもいいじゃん。 ゲームを作ると言う事は、プログラムは勿論 開発環境やゲームに使う物理、数学 グラフィックなりモデルのデータ構造やら沢山の覚える事がある筈。 ここって完全にプログラム初心者のみの内容になってたじゃん。 一応さ、初期の頃数学の講釈した事もあったけど全然食いつき無かったし。 このスレが無くても、プログラムの初心者スレは他に一杯あるし。
醜い
今こそ1の出番だろっ 出てこい松田!男を見せろ!
>>937 >>でももし指摘するときに相手の人格とかを攻撃してしまったら、
>>相手もつられて負の連鎖ができるでしょう。
>>そうなったらもうキリが無いですよ。
良い事言うね。
引き際が良ければもっと良かったけど。
>相手もつられて負の連鎖ができるでしょう。 で、937自身で負の連鎖を作ってんだから世話ないわな。 結局は言動不一致。良識派を装った粘着荒らしと紙一重だな。
943 :
914 :03/09/16 18:14 ID:Z/lnVnX0
次スレが必要だと思う人がいれば、
>>970-980 辺りまで意見を募った上で、
適当な方法で選んで次スレ立てて下さい。私は立てません。
ここまでの次スレテンプレ案(新しいのも随時募集)
レスナンバー票数
>>932 1
>>936 1
>>938 今見直しましたけど、
>>300 >>302 >>329 >>341 >>368-370 あたりですか?
需要が無いのではなく、
ただ単にこういう知識が必要な段階に届いている人が
まだあまりいないだけじゃないでしょうか。
そのうち必要になる人が出てくると思います。
この板で1,000に届くスレってそれだけで貴重だと思いませんか?
>>942 自分が見たものにどういう意味付けをするかは、
最終的には見た人自身が決めることだと思います。
944 :
名前は開発中のものです。 :03/09/16 21:19 ID:U16IAYq2
自治厨大暴れでスレが廃墟と化す
わっはっは、ほんと醜いね俺。
>>943 おおむjね同意.
最初のうちは,すぐに効果が確かめられる標準出力でお勉強しようって主旨なんだから
数当てゲームだったりコマンド入力だったりするわけで.
俺は932に1票かな.
自分は言語なんて全くできません。でもゲーム大好き野郎です。 テトリスはどういう風に作るんでしょうかね?こんな感じ? ◆基本 (1): 7種類のブロックを配列に(回転させる事も考えると x4かな?) (2): 0〜6の乱数を発生 (3): 決定したブロックを一定時間ごとに落下(Y座標を増加) (4): 下のラインに到達したら現在のフィールドを保存する (5): 横に揃ってるラインがあれば消滅・それより上のブロック群を落下(点数など増加) 2へループ ◆キー入力 (a): 左右キーが押されたらリアルタイムで移動(X座標を増減) (b): 回転キーが押されたら現在落下中のブロックを回転(shikaku[Z]:Zの値を増減) (c): 下キーが押されたら一定時間落下とは別に落下(Y座標を増加) ◆補足 ・フィールドの基本は横10マス縦20マス ・NEXTブロックが見れないと辛いので、それの処理も考えると上記の方法だけではダメポ ・現在落下中のブロック種類&向きによって移動可能なX座標を変化させる必要あり。
作ってみれば問題点が浮き上がるよ プログラムはミスがそのまま反映されるからな
言語は最初覚えるのが辛くても覚えてしまえばどうということは無いんだから 全く出来ないといわずに早く覚えるのがいいと思うよ そうすると上のようなアルゴリズムを考える楽しみに浸れる
950 :
名前は開発中のものです。 :03/09/18 20:12 ID:jwRG7Ye8
0からはじめようと思ってるんですが htmlは覚えたほうがいいのでしょうか?
そんなもんはイラン! さっさと猫を読め!
952 :
名前は開発中のものです。 :03/09/18 21:23 ID:piC/wgl/
>>950 ネタなのか本気なのか…
一応マジレスすると、いきなり普通にCから入っても何も問題ない。
どうしても何か読んでおきたいなら、
PCの仕組みやOSの仕組みとかを詳しく解説している本を読みなさい。
PCやOSが内部で何をしているか知らないと、言語を覚えるのに時間がかかる。
逆にそれさえ分かってれば、あとは文法覚えればある程度組めるようになる。
954 :
名前は開発中のものです。 :03/09/18 23:22 ID:d5mOlOZK
…ま、HTMLも一応言語だけどな。 ゲームも作れるし。
>>950 HTMLでゲームを作るわけじゃないけど
情報交換やドキュメントを書く時に知ってると便利
必要な周辺スキルの一つ
このスレに投稿してるからにはプログラミングの話だろうから
答えはNO、ターゲット機がWinならVC++と猫本orペゾルド本を買って来なはれ
そういえばやねうらお氏の本、続編が出てますなぁ
956 :
872 :03/09/19 00:04 ID:q2UDyib0
957 :
名前は開発中のものです。 :03/09/19 00:10 ID:0H+Ch7Mh
ちなみにプログラム言語の勉強期間は、 出来る奴 = 数日 出来ない奴 = 数年〜無理 ぐらいの格差がある。
スマソ メッセージ主体になるからアクション性のあるものは難しかった
960 :
872 :03/09/19 23:46 ID:/3btF1W1
一気に読めばいいじゃん。
962 :
名前は開発中のものです。 :03/09/20 14:37 ID:aOWupZzB
このスレで猫サイトを盛んに勧めている人はどういう理由なんですか?
業者の宣伝も巧妙になってきたな。
965 :
七氏 :03/09/20 16:23 ID:3IjoKbVj
HSPでレースゲーム作ってみては?
>962 無料で、ということになると一番情報がまとまってるから。 無料なのでリスクも少なく、初心者にもお勧めしやすい。 内容もWindowsプログラムのHelloWorldからだし。
967 :
名前は開発中のものです。 :03/09/21 12:04 ID:yOyUK8eM
なんでWindowsとDirectXにこだわるの?
968 :
名前は開発中のものです。 :03/09/21 12:12 ID:yOyUK8eM
>>967 こだわってるというより、そういう環境の人が多いってだけでは?
(まぁ、ゲームを作る環境として、比較できる環境があるのかどうかは疑問だが…)
970 :
名前は開発中のものです。 :03/09/21 13:28 ID:ysqfGWKc
>>967 ・PC環境で一番普及してるから
・情報が一番多くて何かと便利だから
・将来的に商品として通用するものが作れるから
971 :
名前は開発中のものです。 :03/09/21 13:57 ID:JgUH7tYd
972 :
名前は開発中のものです。 :03/09/21 14:02 ID:g8q86r/I
973 :
名前は開発中のものです。 :03/09/21 14:34 ID:inVlPjOH
短所か。 ・高機能すぎる故仕様が複雑。覚えることが多すぎる。 ・日本のゲーム開発は殆ど専用機なのでPC覚えても将来の実務には役に立たない。 ・開発に使うツールなど比較的まともなものは高額。金が無いとそれだけで不利。 ・膨大な情報が錯綜していて初心者には全然易しくない。 ・勉強する順番を間違えるとなかなか身につかない。 ・情報ソースの根源が英語。英語できないと不利。
974 :
名前は開発中のものです。 :03/09/21 14:42 ID:inVlPjOH
あと、Windowsやらの思想に則った作り方をしなくちゃいけないから 自分で全部作りたいという昔ながらの感覚をもったゲームPGは拒絶 反応を起こすかも。他人の考え方を受け入れるのが苦痛な奴には向かない。 (ようするに典型的なゲームPGには向いてない)
975 :
名前は開発中のものです。 :03/09/21 15:27 ID:iJ4FuBg8
>>973 欠点といっても、それらの欠点を克服している環境が無いわけだから、
>>973 で挙げられていることは事実上欠点ではない。
977 :
名前は開発中のものです。 :03/09/21 17:29 ID:JgUH7tYd
>>976 あなたは全ての環境を使って比較した経験があると言うことですか?
確かに973の欠点のいくつかは長所の裏返しといえなくもない。 ・複雑だが高機能。 ・開発に使うツールなどで高額なものはまとも。金にモノをいわせられる人は有利。 ・情報量が膨大。 ・情報ソースの根源が英語。日本では義務教育なので問題なし。ヽ( ・∀・)ノ
>>973 >・高機能すぎる故仕様が複雑。覚えることが多すぎる。
これは求める結果とその過程を完全無視の考え。
ゲームはもともと複雑なもの、それを低機能で簡単に覚えて作ろうってか。
>・日本のゲーム開発は殆ど専用機なのでPC覚えても将来の実務には役に立たない。
そんな事はない。実行機が専用なだけで開発はPCが殆ど。
つまり、CやC++、アルゴリズムなどは一緒だ。
>・情報ソースの根源が英語。英語できないと不利。
これが短所?
そうしたら、ゲームはプログラムで作られてる。プログラム出来ないと不利。
とかになるの?
ボードゲーム作るんで無い限り そうなるんでないかい
まあ何百行掛かるようなことを GUIでパパッとできるような簡潔かつ柔軟な プログラム言語があるといいなと思う
もっと視覚的に関係をリンクさせていくような感じの奴
985 :
名前は開発中のものです。 :03/09/21 21:37 ID:uRP0NT2o
柔軟なプログラムができるということは、即ち詳細まで記述できる ということで、詳細まで記述できるということは逆に言えば詳細まで 指定しないといけないということ。つまり、柔軟なプログラムが可能= 沢山の操作や記述が必要、ということになり決して簡単にはならない。
詳細まで設定できるけどデフォルト値が設定されていて 詳細まで設定しなくてよい場合もあるよ
987 :
名前は開発中のものです。 :03/09/21 22:03 ID:zCduBCG2
汎用的で抽象度の高いものを扱うシステムは処理速度が遅い罠。 誰も作ってないところを見ると、少なくとも簡単には作れない。 作れそうで作れないという奴だ。
988 :
名前は開発中のものです。 :03/09/21 22:20 ID:V8LxgcQz
何にでも通用する概念とか部品というものは、ごく原始的なものに 限られるから結局普通のプログラム言語みたいなものにしかならんよ。
ゲーム屋は抽象化されて中身が見れないライブラリが嫌い。 全部自由にならないと痒いところに手が届かないから。 ようするに他人の作ったものは遅くて自由度が低くて使い物 にならないと思っている。だからいつまで経ってもゲーム エンジンの類は流行らない。
そろそろ埋め立てるか… それから、変な次スレたてたヴァカはさっさと削除依頼出してこい。
じゃぁ、誰か本当の次スレたててよぉ