今日から必死で1から全て学んでゲーム作成します
■ このスレッドは過去ログ倉庫に格納されています
0001松田 ◆cobo4pcvHY
03/02/06 21:28ID:+Sp/g0d7言語の難しさから逃げていては駄目だ!お前はゲームを作りたいのだろ!?
という悟りを開き、今日からプログラム言語を覚え、そして
プログラムツールで作ります!今持ってるものは・・・。
6才年下の弟の持ってる技術(厨2)の教科書。
アクティブベーシック。(vectorより入手)
・・・作れるのだろうか!?もちろん古本屋で買いあさってくるが
(作れ次第、いずれうpします・・・。いつまでかか(ry))
0312名前は開発中のものです。
03/02/22 16:10ID:pH8Xlzb6先ほど無事警察に射殺されました
終了
0313けう
03/02/22 16:18ID:5+KGPlWBttp://forgamedev.zombie.jp/uploader/up5/img/074.lzh
0314名前は開発中のものです。
03/02/22 16:30ID:Yzil6WXLそのあまりにもふざけた行動に
ついに塾長の怒りが頂点に!
0315あぼーん
NGNG0316名前は開発中のものです。
03/02/22 22:09ID:+nKoXPNaまずは「調べる努力」をするのだ!(もうしてるかもしれないけど)
検索エンジンという強力な術があるのだからそれを利用しない手はない
こんなところから詰まってたらこの先もきっと苦労するぞ
がんばれ!
0317ヴォル
03/02/23 01:21ID:1NFGJS3oが理解できません。どなたか分かりやすく教えてください!
0318名前は開発中のものです。
03/02/23 01:34ID:5OVLhKi60319塾長
03/02/23 02:55ID:QQJXKdky>>300
お疲れ様!
時間があったら、すり抜けしないような判定(線分の交差判定)
についても書いてくれ!(他人任せ)
>>308
ああ、GDI はいいな…若い頃を思い出すぜ…
DIB の応用については「創作プログラミングの街」っていうページに
詳しく書いてあるから、ちょっと目を通してみてくれ。
>>311
激しく板違い・スレ違い。 本屋に行ってゲームラボ買ってこい!
>>312
勝 手 に 殺 す な!
>>313
お前の財布には 10 円硬貨しか入ってないのか!
この程度の短いプログラムでグローバル変数を使うのは別に構わねえ。
関数ポインタを使うってのは、悪くないアイディアだな。
こういう場合、拡張していくと鬼のような switch 文になるからな。
>>317
デフォルト引数ってのは、毎回毎回全部の引数を指定しなくてもいい
っていう機能だ。俺はあまり使わない。
関数のオーバーロードは、同じ名前の関数でも引数が違えば
別物として扱うことができるというだけだ。
しかし、この時点で躓いてるようだと後でつらいぞ。
自分でプログラムを書いて、改造して理解しろ!
0320あぼーん
NGNG0321名前は開発中のものです。
03/02/23 11:03ID:9mWH0dSf会社でVS.NETを手に入れてこれでゲームを作って行きたいとおもっとります!
最終目標はリネージュみたいなMMO作りたいです!
戦闘等はなくただ会話ができればいいでつ
ただいまのスキルはWEBの言語のみです・・・・
アフォカと言わないで・・・
0322名前は開発中のものです。
03/02/23 11:33ID:vAW6VSeNタイーホ
0323名前は開発中のものです。
03/02/23 13:49ID:5OVLhKi6卑しくもソフトウェア製作に携わるつもりならライセンス関係はしっかりね。
0324∞ ◆TPeOraQid2
03/02/23 15:34ID:Lpml15wc0325名前は開発中のものです。
03/02/23 18:54ID:9mWH0dSf例によって
"halo world"完成
現在関数と変数、if文勉強中
0326名前は開発中のものです。
03/02/23 19:07ID:7Gu7mmq0練習程度に記号当てを制作
次なる目標は簡単なRPGの制作
取りあえずバトル(1戦のみ)だけでも作ってみます
塾長!いつも楽しみにしております!
0327名前は開発中のものです。
03/02/23 19:33ID:9mWH0dSfint main()
{
printf("オマエモナー\n ∧_∧\n( ´∀`)\n");
return 0;
}
ふ・・・また一歩ゲイツに近づいたな・・・・
0328名前は開発中のものです。
03/02/23 19:47ID:NYn3RUOHhelpのあるのって無い?
0329名前は開発中のものです。
03/02/23 20:42ID:SPPyzE/F簡単講座その1。理解、応用編。
ホーミングは出来たかい?ベクトルの考えを取り入れるだけで、色々出来そうだろ。
因みに、自機の座標や敵機の座標といった物は、位置ベクトルと考えられるのだ。
原点からの座標までのベクトルって意味。
で、その座標を引き算するってのは、引いた座標から、引かれた座標までのベクトルって意味。
(ベクトルは向きがあるので、引く方、引かれる方の意味は重要)
sqrt(x*x + y*y);コイツは、三平方の定理、ピタゴラスの定理なんだな。
イメージしてくれ、原点から、自機、敵機に向かう二本ベクトルと
自機もしくは敵機から、もう片方に伸びるベクトルで形成される三角形を!
A*A = B*B + C*C って奴だ。(スマン指数表記じゃなくて)
之のAを求める式が、sqrt(B*B + C*C);なのだ!
最後に応用だ。実装すれば分ると思うが、味気ないだろ。
自機に向かって直進している様に見えないか?
そりゃそうだ、毎フレーム、方向計算してるんだからな。
でだ、擬似慣性と言うか、(まだ、物理シュミは早いからね)
今、弾が進んでる方向に直進する(自機が動いても、弾自身が今進んでいる方向)動きを実装しようか。
まず例によって、例を一つ。
カウンタを付けて、フレーム毎にカウントを取る。そして、一定フレームおきにしか、方向を算出しない。
それ以外のフレームは、最後に算出した速度ベクトルを足すだけ。
つまり、最初の”最後に自機に近付いたら、別の直進処理に切り替える”って奴を、初めからやって行くのです。
fps(秒間フレーム数)とかの処理も、まだ早いので
カウンタを取る数(方向を算出する間隔)を、実行しながら調節するといいでしょう。
更なる、お題。
敵機から扇状にばら撒かれた弾が、少し進むとホーミング弾に変わる。どう?思いつくかい。
不定期だけど、次は角度編(扇状とか説明するよ)予定。と、思っていたが当り判定の提案が…どうしようか…
0330名前は開発中のものです。
03/02/24 00:09ID:qkk592oMちなみにまったくなんお知識もないド素人ですけど。みなさんすごいですね
VisualBasic6ならあるんですけど、コレでゲーム作れますか?
無理ならなんかお勧めソフトがあれば教えてください、お願いします
0331名前は開発中のものです。
03/02/24 00:21ID:ebzUI0qxVBで何も問題ない。
DirectXが楽に使えるしな。
0332名前は開発中のものです。
03/02/24 00:31ID:qkk592oMほんとですか〜。ありがとう。
でも何から手をつけていいのやら・・本とか買ってきたほうがいいんでしょうか?
0333名前は開発中のものです。
03/02/24 00:37ID:e68AWa50とりあえず安いのを一冊買ってみると良い。
I/O別冊が無難。
http://www.amazon.co.jp/exec/obidos/ASIN/4875939949/ref%3Dbr%5Flf%5Fb%5F2/250-7812577-6573047
0334名前は開発中のものです。
03/02/24 00:40ID:qkk592oMDirectX8 3Dの基礎とゲームの作り方―Visual Basicで「DirectX Graphics」「DirectInput」を使う I/O別冊
ってやつですね?
明日本屋行ってきます。
うおー、燃えてきた〜〜
0335∞ ◆TPeOraQid2
03/02/24 00:49ID:AgtdhH3t0336名前は開発中のものです。
03/02/24 01:00ID:DRzF69g2座標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あたり使うとは思っていますが・・・
0337名前は開発中のものです。
03/02/24 01:04ID:e68AWa50好みの問題だ。どっちでも好きに選んでいい。
一つ云える事は、昔はGDIとDIB(あるいはWinGと呼ばれたもの)
以外に選択肢が無かったから、みんなそれを使っていた。
今は他に選択肢(DirectX)があるというだけの話だ。
0338名前は開発中のものです。
03/02/24 01:08ID:8DQ5aOMLブレゼンハム で検索すると、答えが見つかるとおもう。
0339∞ ◆TPeOraQid2
03/02/24 01:18ID:AgtdhH3tそんなに計算負荷ないと思うが・・・
それと三角形ってどこの三角形だ?
ZはXY上の点なんだからXYZは三角形にならないよ
0340名前は開発中のものです。
03/02/24 01:18ID:e68AWa50負荷がかかりそう?本当かそれは。計測したか?
つーか、そういうこだわりは後回しにしたほうが良さそうな
雰囲気出してるぞ。完成に向けて次の作業にパッパと
取り掛からないと、そのうち飽きてやめちゃうんじゃないか?
角度が知りたいのか。googleで検索したか?atanだぞ。
まず調べろ。
0341名前は開発中のものです。
03/02/24 01:52ID:NAVRF1hNいいね、大概の奴は数学的処理ってだけで、考える事から逃げてばかりで真っ向から取り組む奴は少ないからね。
まず、直線の傾きは、変化の割合で示せます。
つまり、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軸が逆転している為です。
ここは、注意が必要です。
0342名前は開発中のものです。
03/02/24 12:39ID:qpIoEsd10343名前は開発中のものです。
03/02/24 15:09ID:XrXPuQvt0344名前は開発中のものです。
03/02/24 16:00ID:xQPjwLx+http://www.pink-angel.jp/betu/index.html
0345ぷらちな& ◆lC4swazwNY
03/02/24 16:18ID:AuRefHIy0346あぼーん
NGNG0347プリグラマ
03/02/24 19:00ID:3Ni1FK23xが100〜200まで変化する間に、yが100〜150まで変化したんなら
(150-100)/(200-100)=0.5じゃないのか?と言ってみるテスト
0348新たな新人
03/02/24 19:03ID:flMKYRe+ぼくも今日から始めます。
よろしくお願いします
0349塾長
03/02/24 22:12ID:zeW+Q+KN湯川先生みたいな天才の言うことはよくわからん。
>>347
突っ込み(void氏並に)が細かいな。
言うまでも無いが、>>341 は「y が 100 〜 250」が正しい。
>>348
何を始めるんだ?
それだと、ボクシンググローブと縄跳びを買ってきて
「俺もこれでボクサーの第一歩」とか思ってるのと一緒だぞ!
とりあえず、なんでもいいからプログラムを書け!
最近、お前らプログラムをアップロードしてないぞ!
俺が見るかどうかはともかくとして、人前に自分のコードを晒せ!
0350新たな新人
03/02/24 22:29ID:flMKYRe+できれば解りやすいのがいいです
よろしくおねがいします
0351名前は開発中のものです。
03/02/24 22:44ID:7ng7v7Oi今日から必死で1から全て学んでゲーム作成するんじゃないのか。
必死で調べろよ。メモ帳でもTeraPadでもSakuraEditorでもVisual Studioの
統合環境でも何でもいいから、とっと使ってとっととコード書き始めて
とっとと先に進むが吉だと思うぞ。
0352蝉 ◆h8AqQULsMs
03/02/24 23:31ID:liomfxl9HSPスレを見て、ダウンロードしている所を塾長に見られた!
蝉:いや、これは、、、あの〜、そういうんじゃなくて・・・(黙
いったい、どうなってしまうのか!?
などと言いつつ、初期画面表示と背景にBMP画像を貼りました。
ttp://forgamedev.zombie.jp/uploader/up5/img/083.zip
0353名前は開発中のものです。
03/02/24 23:37ID:BMlF6hguHSP勉強してたらワンスキンボーンモデルをコンバートできないようなので
できる簡単なやつ教えてください
0354名前は開発中のものです。
03/02/24 23:40ID:7ng7v7Oiスマン。マジで文章が読解できなかった。
つーかだな、
おまいら、質問したいときは初心者スレをもっと活用しないと。
http://pc2.2ch.net/test/read.cgi/gamedev/1044954179/l50
0355塾長
03/02/25 00:04ID:1nCULmR/俺もお前の質問の意味がよくわからんが、
ワンスキンメッシュはめんどくせえぞ!
DirectX9 なら D3DX のアニメーション関数があって簡単になってるけどな!
(初心者なら、単純にボーンの入ってないメッシュの線形補完のアニメーションで
十分じゃねーかと思ってるが、まあ向上心は大事だわな、うん)
とりあえず、質問の要点をまとめて、初心者スレなり、3D の質問スレなりで
聞きやがれ!
0356煮頃@7743期生(=256)
03/02/25 02:39ID:b2ag/m+Ehttp://forgamedev.zombie.jp/uploader/up5/img/084.zip
0357あぼーん
NGNG0358名前は開発中のものです。
03/02/25 10:14ID:Y6WbGm+3自分で文章をタイピングしたり指示とかするだけでプログラムが組めるソフトってあります?
0359名前は開発中のものです。
03/02/25 10:31ID:O9AAu2xgそれがプログラムってもんだろ
0360あぼーん
NGNG0361名前は開発中のものです。
03/02/25 18:38ID:7zcY0277ツクールとかFlashMXみたいなオーサリングツールを買ってみ。
つーか、初心者スレをもっと活用してほしい。
0362名前は開発中のものです。
03/02/25 20:17ID:yCc+W+P4当スレの雰囲気がとてもよいので、興味津々です。
for文の構文とかも理解していないようなヘッポコな上に、
本等を購入する余裕が無いので、教えて君全開になりそうなのですが、
入塾させて頂いてもよろしいいでしょうか?
0363名前は開発中のものです。
03/02/25 21:56ID:VPuiiQAc入塾許可なんか要らないよ。
必死になってどんどん課題を出せばいい。
あとは、必死に猫でも分かるプログラミングを読むとか
http://www.kumei.ne.jp/c_lang/
必死にログを読むとか、まぁとにかく必死になって自力で
色々あがいて参加することが吉だと思われるので、頑張れ。
0364名前は開発中のものです。
03/02/25 22:16ID:yCc+W+P4ガチンコ見た事無いのでスレのノリに合わせられるかわからないけど、
必死で1から全て学んでがんがってみます。
0365名前は開発中のものです。
03/02/25 23:13ID:yCc+W+P4漏れが今から、【電波少年的ゲーム製作】〜課題をこなせなかったら即自殺〜
を始めるから、ホームラン級のホームページを教えろ!
リファレンス?みたいな関数辞典みたいなページご存知でしたらお願いします。
対応するインクルードするべきヘッダファイルの一覧みたいなのがほしいのです。
stdio.hがどうとか、そういうのがわからないのでどうかお願いします。
0366名前は開発中のものです。
03/02/25 23:42ID:OTJzWV1L課題upしたのにull書くの忘れてたんでとりあえず課題だけ。
http://forgamedev.zombie.jp/uploader/up5/img/085.zip
0367煮頃 ◆mIGaChInq.
03/02/26 01:11ID:PeOEz4dugoogleに関数名を放り込んだほうが早いかも
BohYoh.com【C言語講座】標準ライブラリ関数
http://www.bohyoh.com/CandCPP/C/Library/index.html
今日の目標->一日一UP
ランダムに現れたドットが中央へ向かっていきます
距離が1以下になると次のドットが現れます
VisualBoyAdvance1.4で動作確認しました
http://forgamedev.zombie.jp/uploader/up5/img/087.zip
0368名前は開発中のものです。
03/02/26 03:14ID:UwPRkjgq簡単講座その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)って感じで使うのだ。
0369名前は開発中のものです。
03/02/26 03:17ID:UwPRkjgq簡単講座その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の順です。
0370名前は開発中のものです。
03/02/26 03:19ID:UwPRkjgqcos(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
}
ってやれば良いのです。
…すまん、もう眠い、限界だ、続きは近いうちに。
0371名前は開発中のものです。
03/02/26 03:37ID:/z8f2ccXこんな時間にお疲れ様です
・・・今回の内容はちょっと難しそうだなぁ
昼起きてからじっくり読ませてもらいます
私もそろそろ寝よ・・・
0372あぼーん
NGNG0373名前は開発中のものです。
03/02/26 09:09ID:0KVHlNbG俺もやっと追いついたんだが、continueとかしらないぞ!
おかげで悩んでた問題が解決しますたが、一からプログラム
してないよね?経験者だよね?
かなり、自分の力量のなさに泣きそうなんですが。
返事モトム
0374∞ ◆TPeOraQid2
03/02/26 09:46ID:AO2CG5SFまったくの初心者ではないが、経験者というほど経験をつんでない。
これから修行を積めば大丈夫だから安心しる
STGをちょいと改造
http://forgamedev.zombie.jp/uploader/up5/img/088.lzh
0375名前は開発中のものです。
03/02/26 09:48ID:5vfashpU漏れは今のところLSIC86試食版でやってるんだけど、
グラフィックが使えないようだからBorland C++に乗り換えようと思ってるんだけど。
0377名前は開発中のものです。
03/02/26 10:10ID:0KVHlNbG即スレサンキウ。
よかった。∞さんが、まったくの初心者だったら、
俺才能ないなと、泣いているところだった。(あきらめはしないが)
>>375
漏れはDelphi。
0378新しい生徒 ◆DWbD4/1xkk
03/02/26 12:24ID:9oc4YgkpRPGの戦闘画面です
#ひろゆきとの戦い:バージョン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
0379名前は開発中のものです。
03/02/26 15:53ID:xJ8e4S5fソースが崩壊してて恥ずかしい。・゚・(ノД`)・゚・。
0380名前は開発中のものです。
03/02/26 16:10ID:rCqOEbooせめて自分で動かしてみて動くコードをだせよ。
0381名前は開発中のものです。
03/02/26 16:15ID:kOHm86npそれはただのオナニーだろ、他でやれ。
ソースだけのupは容量軽減と解釈すればなんとか理解出来るが。
ソースだけのupの人も、環境を持っていない人の事を考えてexeも入れてあげるといいと思われ
C++もdelもHSPもフリーなんだから、exe触って憧れて真似して覚えるってのもあろうから。
0382煮頃 ◆mIGaChInq.
03/02/26 17:53ID:PeOEz4duhttp://forgamedev.zombie.jp/uploader/up5/img/091.zip
0384新しい生徒
03/02/26 20:19ID:Y+qlltMlこれに
*comand3
mes"まだ攻撃しますか?"
button"YES",*hiroyuki
button"NO",*finish
stop
というやつをつけて前のラベルをちょいと改造して完成したか?とおもったら今度は動かなくなった・・・
0385電波330
03/02/26 20:39ID:+V3fv4SA課題1、数当て。
電波少年的ゲーム製作、1日目でいきなり死にそうなんで堪り兼ね、恥を忍んで質問します。
rand、乱数、C++で検索すると、「rand() / 1000;」と、「rand() % 1000;」の両方がhitするのはなぜですか?
後者だと動きません。(これを信じてしまった為に数時間を無駄にしてしまいますた・・・)
srandについての質問です。
upしたものに、「srand(50);」を追加すると、動かなくなるのはどうしてですか?
//将来的には、「srand(現在の時刻);」を行う事によって乱数を作り出そうと思っています。
0386名前は開発中のものです。
03/02/26 21:12ID:pqLn9AXQおいおい演算子くらいしっかり覚えとけよ。
/ は商を、 % は剰余を求める演算子だ。
0387名前は開発中のものです。
03/02/26 21:14ID:W1hnCPp7具体的には10進数表記して下3桁を切り捨てた値になります。
rand()で返ってくる値はRAND_MAX以下の正の整数で、デフォルト値は処理系依存が、
32,767のことが多いです。
つまり、rand()/1000 は、0〜32 の値をとることになります。
rand() % 1000 は、rand()の値を1000で割ったときの余りになります。
つまり0〜999の値を取ることになります。
で、あなたのプログラムが rand()%1000 で動かなくなる理由ですが、
0388名前は開発中のものです。
03/02/26 21:15ID:W1hnCPp72つめ(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()を行っていないため再現性があったのです。
0389塾長
03/02/26 21:22ID:9AhhBBa6まず rand() って関数が返す値の範囲は 0 から RAND_MAX
(処理系依存だが 32767 以上) だろ?
仮に 100 っていう乱数が返ってきたとする。
100 / 1000 の値は、小数点切り捨てになるから 0 になっちまうんだ!
お前がやりたいのは 0 から 1000 の数の乱数を出すことだろ?
だったら rand() % 1000 が正解だ。
rand() % 1000 にしたり、srand() を追加すると動かないのは
お前のプログラムの b 方式のロジック自体が悪い。
変数名をわかりやすくしたり、while ループの中に printf
を入れてデバッグしたり、自分で原因究明しろ!
言っておくが、このスレのスレタイは
「今日から必死で1から全て学んでゲーム作成します」
だぞ!
「今日から必死で塾長が全てのプログラムをデバッグします」
じゃねえんだ!
0390塾長
03/02/26 21:24ID:9AhhBBa6ケコーン、って奴だな。
0391名前は開発中のものです。
03/02/26 21:29ID:W1hnCPp7387訂正。
3行目: デフォルト値は処理系依存が、 → デフォルト値は処理系依存ですが、
388訂正。
6行目: za=に4を代入 → zaに4を代入
9行目: あることを示しています。 → あることが分かります。
0392名前は開発中のものです。
03/02/26 21:30ID:7Y16V9n2/∧_∧ \
./ ( ゚ ∀゚ )、 `、
/ /\ \つ つ、ヽ
| | ,\ \ ノ | |
ヽヽ レ \ \) / /
\ [書込み禁止]'/
ヽ、 ____,, /
||
|| 〜終了〜
0393煮頃 ◆mIGaChInq.
03/02/26 21:39ID:PeOEz4du>mes"ひろゆきに"+dame-ji+"のダメージを与えた" : goto *owari
この行を
>mes"ひろゆきに"
>mes dame-ji
>mes "のダメージを与えた" : goto *owari
と三行に分けたら動くかも
0394新しい生徒
03/02/26 21:53ID:Y+qlltMlたびたびありがとうございました。
何か、プログラム自体は問題無いと思うのですが、コンパイル+実行をすると
すでに名前が使用されているので変数にできませんと出てしまいました。
変数を別名に変えてみます。
0395電波330
03/02/26 23:15ID:+V3fv4SA演算子だとは思いもつきませんでした。
昨日までdelphiをやっていたので、「Random(1000)」1〜1000の乱数を返す、のつもりで
/や%は()のような記号だとばかり考えて悩んでいました。。。レスありがとうございました。
>>387-388
動かなくなる理由は完全にこちら側のケアレスミスでした。
言語を疑う前にコードを1から洗いなおすべきでした。申し訳ございません。わざわざありがとうございました。
>>389
重ね重ね申し上げますが、まさか演算子だとは思いもつ(以下略)
>スレタイ
次スレではちゃんと変更しましょう。
http://forgamedev.zombie.jp/uploader/up5/img/093.txt
自動販売機です。電波少年的1日目、あと課題3っつです。
0396猫又 ◆quHoSW/FCI
03/02/27 00:37ID:zNuog97qこのスクリプト、「たたかう」「キャンセル」を20回ぐらい繰り返すと、
オブジェクト数の上限64個を超えてしまうさかい、エラーになるで。
あと、変数「dame-ji」やけど、演算子「-」を使うてるさかい、
式「dame-ji=dame-ji+1」は「dame - ji = dame - ji + 1」に分解されてるで。
それにif文で変数「kai」が出てるけど(たぶん攻撃回数かなんかをカウントする
予定やったんやろ)、他で利用されてへんし。
最後に、ラベル「*finish」に移動する部分がないんやけど・・・。
0397けう
03/02/27 01:23ID:eKR3sXOZttp://forgamedev.zombie.jp/uploader/up5/img/094.lzh
でもチラツキが気になる。もう寝る
0398電波330
03/02/27 02:35ID:F6P2OzyFソースupキボンヌ。どのようにやってるのか知りたいです。
マルチタスク?とかいうやつを使ってるんでしょうか・・・
http://forgamedev.zombie.jp/uploader/up5/img/096.txt
並び替え。あと課題2つ。
塾長!!課題1つ思い浮かばないのでなんか適当なの出してください!
おながいします!
0399塾長
03/02/27 02:47ID:XZhCrT/r自販機のプログラムだが、switch 文を使ったほうが見やすいと思うぞ。
>>397
ちらつきをなくすには InvalidateRect の第 3 引数を FALSE にしろ!
なぜそうなるのかの理由についてはヘルプを読め!
もう Windows のプログラムは余裕で作れそうだな。
お前はそろそろ、このスレの卒業の時期かもしれん…
>>398
配列を使わず、「リンクリスト」で名簿管理プログラムを作れ。
または「クイックソート」を使ったプログラムを書け。
困ったら Google で調べろ!
俺は明日からしばらく留守だから、各自自習してろよ!
0400∞ ◆TPeOraQid2
03/02/27 03:48ID:vA8QjnCPhttp://forgamedev.zombie.jp/uploader/up5/img/097.lzh
(´-`).。oO(だれか見るのだろうか)
0401電波330
03/02/27 04:54ID:F6P2OzyFイメージしていたものと全然違って、関数[]みたいな感じですね。
プライベート宣言したものは、外部からの閲覧すら出来ないようなので、
「int xxx」のように、ただの入れ物として使う為の物なんでしょう、おそらく。
コードは無いようなものなので5つめと一緒にあげます。upろだ無駄に流しても悪いですし。
>>塾長
リンクリストで検索したら糞HPしか見つからずに20分無駄にしてしまったので、
トーマスエンクイストについてのレポートをまとめるからそれで勘弁しろゴルァ!!
>名簿管理プログラム
どんなものかわかんねーよヴォケが
リンクリストって、マルチ?擬似?タスク?とは違うんでしょうか?
とりあえず、絞り込んだら1件hitとか、絞り込まなかったら
【お友達のホームページ】(リンクリスト)とかしかhitしないんで、時間的余裕無いので却下。
クイックソートならクイックソートでヒント出せよな。検索したらコピペで終わるだろ
Googleで調べろって、ルーチンを丸写しじゃねえか。
もっとまともな課題出せねえのかよ!こいつはホームランだな!
そういうのは課題って言わねえんだよ!
>switch文
switch文の事をよく理解していない(エラーが40箇所以上出た)頃に書いたので、
最初は多用していたのですが、エラーの原因がわからず全部if文に置き換える形でエラーを潰した為、
あんなに膨らんでしまいました。break;がどういう働きをするか理解できたので、今なら多分なんとか出来ます・・・
>400
明日ゆっくりと見させていただきまつ・・・敵がわらわら出てくるとこ読みまくらせていただきます。
ありがとうございました。
0402電波330
03/02/27 06:23ID:F6P2OzyF凄まじい勢いで退化しているような気もするけど、5課題めって事で。
0403あぼーん
NGNG0404名前は開発中のものです。
03/02/27 10:01ID:n/Xg/w0H0405winmainを隠蔽してみた
03/02/27 11:25ID:JfZFQlLW0406名前は開発中のものです。
03/02/27 12:33ID:xws/eYQXrand() % 1000 じゃまずいんじゃないの?
rand() * max / 32767; ってやらない?
0407あぼーん
NGNG0408電波330
03/02/27 16:19ID:UJLkpaWQ基準を選んで、両端から調べ、見つかったら停止しておき、両方で見つかったらそれぞれを交換、
で、それを繰り替えす=クイックソートって認識だけで組んでおります。
あと4時間くらいで出来そうな気もするのですが、
いい加減時間も時間なので・・・質問です。
こういうものって、どこかからコードパクってきてそれを見て、
ルーチンワークとして単純にメモっておくなり覚えるなりした方がいいんですか?
それとも、真面目に組んだ方がいいんですか?
アルゴリズムを真面目に組むなんてただのヴォケですか?
超絶プログラマーの方、お答えキボンヌです。
0409名前は開発中のものです。
03/02/27 17:13ID:X4QGGARtあいにく俺は超絶プログラマでも何でもないが
自分に勉強が必要だと思うなら、そういうのはどんどん組んでいいと思うぞ。
データ構造やアルゴリズムの教科書を頑張って読みながらイチから組んでも
いいだろうし、あるいは何かサンプルソースが付属しているものがあるなら
それを参考にしながら組めば効率はあがるだろうし。まぁ勉強目的なら、
その辺は好みで。あとは時間との相談な。
時間がいっぱいある学生なら、苦労は買ってでもしたほうがいいと思うぞ。
働きながらだと、マジで勉強する時間は制限されるからな。
0410名前は開発中のものです。
03/02/27 19:39ID:7Ff2Tc6l下のコードがなにやりたいんだかわからん
0411名前は開発中のものです。
03/02/27 19:40ID:u2ULVOM5どうやったらそんなにかかるんだよ。
アルゴリズム理解してないんじゃねーの?
■ このスレッドは過去ログ倉庫に格納されています