入門書一冊終わったけどこれでどうやってゲーム作んだゴラー
って人のためのスレ
入門書おわた
↓
コンソールでゲーム製作
↓
DXライブラリでも使ってゲーム製作
こういう順番で段階的にやって行きたい
基本は
1.詳しい人がコンソールのゲームでお題を出す
2.初心者が作る
3.できるまで自分で調べて頑張る
4.どうしても無理ならソース晒して教えてもらう
5.完成したらソース晒して、他の製作者のものと比べてウマー
とりあえず、入門書から先に進めなくて涙目になってる人(俺含め)のためのスレです
探検
【入門書クリア前提】初心者用段階的ゲーム製作スレ
■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
2008/12/21(日) 10:01:44ID:XeH+Z5e92008/12/21(日) 14:11:03ID:49OkHcC6
ありがちだなあw
48名前は開発中のものです。
2008/12/21(日) 14:15:24ID:PQUSz0Mp2008/12/21(日) 14:17:16ID:fqBa+KQb
それとボタンも配置してプロパティのtextでstartやで
50名前は開発中のものです。
2008/12/21(日) 14:19:53ID:PQUSz0Mp51名前は開発中のものです。
2008/12/21(日) 14:24:06ID:PQUSz0Mp start までできますた
http://www2.uploda.org/uporg1872067.png
http://www2.uploda.org/uporg1872067.png
2008/12/21(日) 14:36:10ID:fqBa+KQb
おk
ここからはちょい、覚えないかんので
書くで
int main の下に自作関数
void mbox(void)
{
MessageBox::Show("aaa");
}
を書く
form1.h選んで右栗からコードの表示で
上のほうに#pragma onceがあるやろうから
そこに
void mbox(void);
これの意味はわかるか?
んでフォームデザインでstartをダブルクリック
すると勝手に
private: System::Void button1_Clickとかでるから
中に
mbox();
これでそれぞれ書く場所がわかるはずや
実行してみ
ここからはちょい、覚えないかんので
書くで
int main の下に自作関数
void mbox(void)
{
MessageBox::Show("aaa");
}
を書く
form1.h選んで右栗からコードの表示で
上のほうに#pragma onceがあるやろうから
そこに
void mbox(void);
これの意味はわかるか?
んでフォームデザインでstartをダブルクリック
すると勝手に
private: System::Void button1_Clickとかでるから
中に
mbox();
これでそれぞれ書く場所がわかるはずや
実行してみ
53名前は開発中のものです。
2008/12/21(日) 14:41:11ID:PQUSz0Mp2008/12/21(日) 14:50:08ID:fqBa+KQb
labelをもう一個ボタンと上のボタン群の間の真ん中辺りに設置して
その名前->Text="なんでもええ/n改行した";
その名前->BackColor=Color::Red;
をmboxの中に書いてみプログラムで
プロパティで変えれるもんは変えれるって事や
これで状態をあらわすんや へぼいなw
その名前->Text="なんでもええ/n改行した";
その名前->BackColor=Color::Red;
をmboxの中に書いてみプログラムで
プロパティで変えれるもんは変えれるって事や
これで状態をあらわすんや へぼいなw
55名前は開発中のものです。
2008/12/21(日) 14:55:30ID:PQUSz0Mp >>54
なるほどなるほど
なるほどなるほど
2008/12/21(日) 15:03:58ID:fqBa+KQb
じゃあ宿題な
ボタンを押したら毎回ランダムで3個の
labelの文字を敵という文字に変える
それ以外は何らかの文字にする。
ちゃんと前回の敵の文字は消すこと。
グローバル変数なんかは
void mbox(void);
あたりに書く
はっきりいうとswitch のおばけ文になる
あとはインテリセンスをググって調べとくこと
ほな(^^♪
ボタンを押したら毎回ランダムで3個の
labelの文字を敵という文字に変える
それ以外は何らかの文字にする。
ちゃんと前回の敵の文字は消すこと。
グローバル変数なんかは
void mbox(void);
あたりに書く
はっきりいうとswitch のおばけ文になる
あとはインテリセンスをググって調べとくこと
ほな(^^♪
2008/12/21(日) 15:09:04ID:fqBa+KQb
ああもう一個だけヒントというか知っ得?情報
int rの時
r.ToString()で文字列になる
int rの時
r.ToString()で文字列になる
58おいちゃん ◆DlyW/s8ibQ
2008/12/21(日) 15:29:16ID:fqBa+KQb2008/12/21(日) 17:56:00ID:rKpGztZG
ID:PQUSz0Mpは変なおじさんについていくなって教わらなかったのか
悪いことは言わないからその人はやめとけ
悪いことは言わないからその人はやめとけ
2008/12/21(日) 17:56:32ID:xa3Nwc9G
コンソールでゲームってGUIより難しくないか?
611
2008/12/21(日) 19:24:07ID:ymFJ1v3a 帰省中なので携帯から
コンソールのゲームは本当にイメージが大事だから練習にはいいと思ったんですがね……
下手にGUIに手を出しても、よく分からないし
言われたことそのままハイハイやってても身に付くわけないし
だからお題だけもらって分からないところはヒントもらう、完成したらソースを見てもらってもっといい書き方を教えてもらったり他人のソースと比べて別なアプローチを知ったり〜
みたいな感じがいいと思ったんですが
コンソールのゲームは本当にイメージが大事だから練習にはいいと思ったんですがね……
下手にGUIに手を出しても、よく分からないし
言われたことそのままハイハイやってても身に付くわけないし
だからお題だけもらって分からないところはヒントもらう、完成したらソースを見てもらってもっといい書き方を教えてもらったり他人のソースと比べて別なアプローチを知ったり〜
みたいな感じがいいと思ったんですが
2008/12/21(日) 19:29:26ID:ymFJ1v3a
>>39
ありがとうございます
なるほど、数字の範囲外だけではなく文字も考えなくてはいけないのですね……
これはかなり大きいミスですね
以後気をつけます
そんなに短くなるのですか……
帰ったら自分のソースとよく見比べてみます
ありがとうございます
ありがとうございます
なるほど、数字の範囲外だけではなく文字も考えなくてはいけないのですね……
これはかなり大きいミスですね
以後気をつけます
そんなに短くなるのですか……
帰ったら自分のソースとよく見比べてみます
ありがとうございます
6338
2008/12/21(日) 20:30:45ID:P2cMz3mF6438
2008/12/21(日) 20:50:05ID:P2cMz3mF なんか昔のメモ帳に
・ハノイの塔
・8王妃
・巡回セールスマン
・ナップザック
・安定的結婚
とか書いてあるページ見つけた。懐かしい。
このへんのロジックを自分で考えて作ることができれば
宿題スレで武者修行できるくらにはなれるんじゃないかと。
コンソールアプリではこのへんが限界。
テトリスとかの落ちもの作ろうと思ったら
コンソールでがんばるより次に進んだほうが早いと思う。
・ハノイの塔
・8王妃
・巡回セールスマン
・ナップザック
・安定的結婚
とか書いてあるページ見つけた。懐かしい。
このへんのロジックを自分で考えて作ることができれば
宿題スレで武者修行できるくらにはなれるんじゃないかと。
コンソールアプリではこのへんが限界。
テトリスとかの落ちもの作ろうと思ったら
コンソールでがんばるより次に進んだほうが早いと思う。
2008/12/21(日) 22:35:27ID:psCLGrAG
プログラムは、中でどうやって動いているか理解出来れば
びっくりするほどどんどん出来るようになると思う
上手く説明できないのが悔しいが
windowsなら、こういう風にループしてるんだという流れがわかれば
あとは付け足すだけだし
スケルトンプログラムでもさっさと理解した方が早い気がする
びっくりするほどどんどん出来るようになると思う
上手く説明できないのが悔しいが
windowsなら、こういう風にループしてるんだという流れがわかれば
あとは付け足すだけだし
スケルトンプログラムでもさっさと理解した方が早い気がする
2008/12/22(月) 00:40:10ID:ASveWW9+
>>61
個人的にはコンソールはロジック部分(例えばRPGのダメージ処理とか)とかを
てっとりばやくテストしたい時に、検証用に使う。
逆に言えば文字列の入出力以外のUIを持たないので、UIが重要になるゲームを作りたい
ならコンソールを勉強しても大して意味は無い。angbandみたいなのが最終目標
とかいうなら別だが。
個人的にはコンソールはロジック部分(例えばRPGのダメージ処理とか)とかを
てっとりばやくテストしたい時に、検証用に使う。
逆に言えば文字列の入出力以外のUIを持たないので、UIが重要になるゲームを作りたい
ならコンソールを勉強しても大して意味は無い。angbandみたいなのが最終目標
とかいうなら別だが。
67おいちゃん
2008/12/22(月) 01:53:14ID:mUNaomub GUI系はどうすればいいか書くんでやれると思うけどな
応用効く宿題しかださんからやってみてや
仕組みとかも自分であとあと考えられる力、これをみにつけられると思うで、一番大事だと思う。
あとな、コードがこれのほうがいいとか、無用やで
こうしたい、でその通りに動くだけでいい、ただ他人のは読めないかんと思う
応用効く宿題しかださんからやってみてや
仕組みとかも自分であとあと考えられる力、これをみにつけられると思うで、一番大事だと思う。
あとな、コードがこれのほうがいいとか、無用やで
こうしたい、でその通りに動くだけでいい、ただ他人のは読めないかんと思う
2008/12/22(月) 04:06:11ID:75EKu/k5
初心者がRoguelikeを作るスレか。期待してるぞ
2008/12/22(月) 05:08:52ID:goIQAPxA
ネットワークゲームを作りたいのですが、
予算の関係で、マッチングサーバーをレンタルサーバーにしようと
思っているのですが、もし、ある程度売れてしまった場合に
専用のサーバーに変えるとしたら、IPアドレスが変わってしまった場合
どうやって、対処すれば良いですか?
予算の関係で、マッチングサーバーをレンタルサーバーにしようと
思っているのですが、もし、ある程度売れてしまった場合に
専用のサーバーに変えるとしたら、IPアドレスが変わってしまった場合
どうやって、対処すれば良いですか?
70おいちゃん ◆DlyW/s8ibQ
2008/12/22(月) 07:47:37ID:e0/X2/aD すれ違いだな
でも答えたる
あのな、よくレンタルサーバーとかいうけどな
それはweb関連用途に限って貸してくれるねんで
だいたいcgiでさえ自作の範囲限られるのに
そうでない場合も相手がソースが見れるんやから
見れない自前アプリなんか入れさせるわけないやろ。
この点サーバーてっのがゲーム用途と同じだと思う奴多いな。
hp式(データベースにsqlserver利用)のマッチングだったら
ドメイン引き継げばいいやん、後は前の奴から飛ばせばいい
あーあとな宿題の答えは2日以内に書き込んでな
答えは3日目に書くから
でも答えたる
あのな、よくレンタルサーバーとかいうけどな
それはweb関連用途に限って貸してくれるねんで
だいたいcgiでさえ自作の範囲限られるのに
そうでない場合も相手がソースが見れるんやから
見れない自前アプリなんか入れさせるわけないやろ。
この点サーバーてっのがゲーム用途と同じだと思う奴多いな。
hp式(データベースにsqlserver利用)のマッチングだったら
ドメイン引き継げばいいやん、後は前の奴から飛ばせばいい
あーあとな宿題の答えは2日以内に書き込んでな
答えは3日目に書くから
2008/12/22(月) 12:39:12ID:7HSkpjqK
>>7とかむずかし過ぎだろわろた
2008/12/22(月) 12:46:37ID:7HSkpjqK
>>19
randの使い方に問題があるね。
なぜなら、いくつかのrandの実装では下位ビットがそれほどランダムでは無いとかうんたらかんたら
rnd=1+(int) (9.0*rand()/(RAND_MAX+1.0));
とすることを推奨します。
でも初心者のうちは割とどうでもいいような気もするので、今のままでもおk。
randの使い方に問題があるね。
なぜなら、いくつかのrandの実装では下位ビットがそれほどランダムでは無いとかうんたらかんたら
rnd=1+(int) (9.0*rand()/(RAND_MAX+1.0));
とすることを推奨します。
でも初心者のうちは割とどうでもいいような気もするので、今のままでもおk。
73おいちゃん ◆DlyW/s8ibQ
2008/12/22(月) 13:32:16ID:e0/X2/aD >>7が難しいとか
自分らで勝手に難しくしてないか?
マップの表示 もうできたな
敵の位置ランダムで表示 今回の宿題や
自分とゴールと通過地点の表示 敵がいないとこに表示しないとな
移動は上下と左右のみターン製 ここか難しいのは?
マップの仕様よう見てみ ヒントは縦横同数やで
障害物はない敵の動きは任せます 別に時機によって来るなんていってないぞ?
こういう問題解くときは自分で紙に書いていろいろ試してみ
例えば一番上の行にいるときに上に行かれんよな
ではどうすれば今一番上にいるか?ってことがわかるかとか
規則さがしてみ
自分らで勝手に難しくしてないか?
マップの表示 もうできたな
敵の位置ランダムで表示 今回の宿題や
自分とゴールと通過地点の表示 敵がいないとこに表示しないとな
移動は上下と左右のみターン製 ここか難しいのは?
マップの仕様よう見てみ ヒントは縦横同数やで
障害物はない敵の動きは任せます 別に時機によって来るなんていってないぞ?
こういう問題解くときは自分で紙に書いていろいろ試してみ
例えば一番上の行にいるときに上に行かれんよな
ではどうすれば今一番上にいるか?ってことがわかるかとか
規則さがしてみ
74おいちゃん ◆DlyW/s8ibQ
2008/12/22(月) 14:04:46ID:e0/X2/aD すまんもう一個だけ書かせてな
考える力を見につけるのがゲームつくりでは一番大切やと
思ってる。これは>>1の言われたことそのままハイハイやってても身に付くわけないし
と同じや、考える力どれくらいあるのか試す問題出すな
三角形の面積は底辺*高さ割る2である
1行目に1個目の三角形の底辺を2行目に1個目の高さ
3行目に2個目の底辺4行目に2個目の高さ
を書くものとしたとき以下の場合どうすれば最速かつ簡易にどちらが大きいかわかるか?
プログラムとそれ以外(現実での方法)両方の方法を答えよ
一問目
1
2
1
3
二問目
12、00000012
144、5412478197
12、4512451
144、5412787
プログラムは読み込みとかかかなくていいよ
1行目を変数Aとかでおk
これで考える力あるかわかるで
考える力を見につけるのがゲームつくりでは一番大切やと
思ってる。これは>>1の言われたことそのままハイハイやってても身に付くわけないし
と同じや、考える力どれくらいあるのか試す問題出すな
三角形の面積は底辺*高さ割る2である
1行目に1個目の三角形の底辺を2行目に1個目の高さ
3行目に2個目の底辺4行目に2個目の高さ
を書くものとしたとき以下の場合どうすれば最速かつ簡易にどちらが大きいかわかるか?
プログラムとそれ以外(現実での方法)両方の方法を答えよ
一問目
1
2
1
3
二問目
12、00000012
144、5412478197
12、4512451
144、5412787
プログラムは読み込みとかかかなくていいよ
1行目を変数Aとかでおk
これで考える力あるかわかるで
2008/12/22(月) 14:45:11ID:7HSkpjqK
>>73-74
「俺が好きなフルーツは何でしょう?」
「ええっと、バナナかな?」
「ぶっぶー。イチゴだよ。君には考える力が足らんな。滝にでも打たれて来い。」
っていう会話が頭に浮かんだ。
それはともかく>>7は説明が足りないよ。
GUIなのかCUIなのか?
GUIだとしたらWinAPI使うのか、何かのライブラリでラッピングするのかわからないし。
マスの表現方法についてだって、ドラクエみたいな表現なのか、クォータービューなのか
あるいは「敵1:右に3マス、上に2マス」みたいな文字による表現なのかわからない。
プレイヤーの移動はキーボードで行うのかマウスで行うのかさえわからない。
そもそも誰がプレイヤーを動かすのかについてさえ言及が無い。もしかしたらAIが勝手にゴールを探すのか?
いきなりそういうことを考える力を求められてるんなら敷居が高すぎるよ。
「俺が好きなフルーツは何でしょう?」
「ええっと、バナナかな?」
「ぶっぶー。イチゴだよ。君には考える力が足らんな。滝にでも打たれて来い。」
っていう会話が頭に浮かんだ。
それはともかく>>7は説明が足りないよ。
GUIなのかCUIなのか?
GUIだとしたらWinAPI使うのか、何かのライブラリでラッピングするのかわからないし。
マスの表現方法についてだって、ドラクエみたいな表現なのか、クォータービューなのか
あるいは「敵1:右に3マス、上に2マス」みたいな文字による表現なのかわからない。
プレイヤーの移動はキーボードで行うのかマウスで行うのかさえわからない。
そもそも誰がプレイヤーを動かすのかについてさえ言及が無い。もしかしたらAIが勝手にゴールを探すのか?
いきなりそういうことを考える力を求められてるんなら敷居が高すぎるよ。
2008/12/22(月) 14:48:23ID:w5ew+bX6
本当なら今頃ほんのりえっちなAAが表示されたコンソール画面がうpされてたんだろうな
77おいちゃん ◆DlyW/s8ibQ
2008/12/22(月) 15:01:29ID:oKMTflVf だからw
勝手に難しくしてるって
何らかの形で表示って書いてありますがな
勝手にゴールを探すのか?も何ぜ難しくするの?
自分であれに当てはまるってやつでいいんよw
上下の移動でも一番上からしたに移動してもいいんやで
自由だ
>>74の答え書いてみないか?
ヒントはな、答えは小学生が解いても俺と同じ時間で説ける方法や
勝手に難しくしてるって
何らかの形で表示って書いてありますがな
勝手にゴールを探すのか?も何ぜ難しくするの?
自分であれに当てはまるってやつでいいんよw
上下の移動でも一番上からしたに移動してもいいんやで
自由だ
>>74の答え書いてみないか?
ヒントはな、答えは小学生が解いても俺と同じ時間で説ける方法や
78おいちゃん ◆DlyW/s8ibQ
2008/12/22(月) 15:34:38ID:oKMTflVf あとなホントは書きたくないって思ったんやけどな
>randの実装では下位ビットがそれほどランダムでは無い
rnd=1+(int) (9.0*rand()/(RAND_MAX+1.0));
これおかしいとおもうんやけど
おいちゃんの知識が悪いんかな
よかったら書籍かホムペ教えてくれへんか?
>randの実装では下位ビットがそれほどランダムでは無い
rnd=1+(int) (9.0*rand()/(RAND_MAX+1.0));
これおかしいとおもうんやけど
おいちゃんの知識が悪いんかな
よかったら書籍かホムペ教えてくれへんか?
79名前は開発中のものです。
2008/12/22(月) 15:38:16ID:or3ZWGZi >>75
むしろ
「君は何のフルーツが好きだ?」
「ええっと、バナナかな」
「ぶっぶー。食事の時にバナナなんて食べてはいけません。ちゃんと、ごはんと味噌汁を食べましょう。君には常識と考えが足りない」
「・・・・・」
こうだと思う
前提条件も何もかもすっ飛ばしていきなり、GUIを使わせたりキチガイとしか思えない
コンソールが駄目ならそれなりの理由を提示すべきだし
こいつのやらせようとしてることのほうがよっぽど敷居高いよね
むしろ
「君は何のフルーツが好きだ?」
「ええっと、バナナかな」
「ぶっぶー。食事の時にバナナなんて食べてはいけません。ちゃんと、ごはんと味噌汁を食べましょう。君には常識と考えが足りない」
「・・・・・」
こうだと思う
前提条件も何もかもすっ飛ばしていきなり、GUIを使わせたりキチガイとしか思えない
コンソールが駄目ならそれなりの理由を提示すべきだし
こいつのやらせようとしてることのほうがよっぽど敷居高いよね
2008/12/22(月) 15:48:29ID:7HSkpjqK
>>77
そりゃ、何を求められてるのかさっぱりわからないからなあ。
初心者はその簡単な方法さえもボキャブラリとして持ってはいないし、
自分で考えるにしても、最初から簡単な方法を思いつくとは限らない。
むしろ、自分で考えてしまったがためにおかしくて複雑な設計をしてしまうことは良くある。
>>74
最速とか簡易とかってよく分からない概念だよね。
意地悪な事言うとintは何ビット?とか書かれる数値は整数?小数?まさか分数とか無いよね。有効数字は?とか
とりあえず「一行目×二行目 > 三行目×四行目」 を満たすなら一個目が大きい。逆なら二個目が大きいって書くね。
1問目も2問目も同じ。プログラムも現実も同じ。
どう?俺の頭ってよさそう?
>>78
あ、何かおかしかった?
http://www.pinkdragon.net/DocumentsLibrary/contents/ja/Linux_man/rand.3.html を見るとそう書いてあったから
そうなのかーって思ったんだけど。
そりゃ、何を求められてるのかさっぱりわからないからなあ。
初心者はその簡単な方法さえもボキャブラリとして持ってはいないし、
自分で考えるにしても、最初から簡単な方法を思いつくとは限らない。
むしろ、自分で考えてしまったがためにおかしくて複雑な設計をしてしまうことは良くある。
>>74
最速とか簡易とかってよく分からない概念だよね。
意地悪な事言うとintは何ビット?とか書かれる数値は整数?小数?まさか分数とか無いよね。有効数字は?とか
とりあえず「一行目×二行目 > 三行目×四行目」 を満たすなら一個目が大きい。逆なら二個目が大きいって書くね。
1問目も2問目も同じ。プログラムも現実も同じ。
どう?俺の頭ってよさそう?
>>78
あ、何かおかしかった?
http://www.pinkdragon.net/DocumentsLibrary/contents/ja/Linux_man/rand.3.html を見るとそう書いてあったから
そうなのかーって思ったんだけど。
81おいちゃん ◆DlyW/s8ibQ
2008/12/22(月) 15:54:45ID:oKMTflVf 意地悪な事言うと
またか問題はそこにかいてあるやんかw
、は小数の意味やで
おしいな現実でそれでは遅いで
/2はなぜぬいたんやその理由が次のステップやで
サイトありがとなちょい見てみるな
またか問題はそこにかいてあるやんかw
、は小数の意味やで
おしいな現実でそれでは遅いで
/2はなぜぬいたんやその理由が次のステップやで
サイトありがとなちょい見てみるな
82おいちゃん ◆DlyW/s8ibQ
2008/12/22(月) 16:40:30ID:oKMTflVf 初めて知ったよありがとな
俺なりの答え書くな
ちょい意地悪問題だったんだけどな
論理ミスあったら言ってな
現実では底辺と高さの整数の桁数を足す大きいなら大きい
問題文で、で少数になる桁あわせてるやろ3桁区切りでないのは
他がないのでわかる、
あとは掛けるでなくて足す
この問題な3Dで自分からAとBどっちが近いかの
コード友人に見せたら訂正された時に出されたんや
真面目に公式当てはめないってな
なるほどって思うたで、あってるよな?
おいちゃん騙されてないよな?w
俺なりの答え書くな
ちょい意地悪問題だったんだけどな
論理ミスあったら言ってな
現実では底辺と高さの整数の桁数を足す大きいなら大きい
問題文で、で少数になる桁あわせてるやろ3桁区切りでないのは
他がないのでわかる、
あとは掛けるでなくて足す
この問題な3Dで自分からAとBどっちが近いかの
コード友人に見せたら訂正された時に出されたんや
真面目に公式当てはめないってな
なるほどって思うたで、あってるよな?
おいちゃん騙されてないよな?w
2008/12/22(月) 17:29:36ID:7HSkpjqK
>>82
俺は君の同僚じゃ無いんだから、そんな職場のローカル言語話されても意味分からんぞよ。
それに「3Dで」、「リアルタイムにオブジェクトの距離判定するけど」、「精度は適当でいいや」みたいな前提条件も
言ってもらわなきゃわかるはずないよ。
あってるかどうかは、その前提条件にモロに左右されるから何とも言えんね。
そのやり方だと、さっきの問題文ではどれも「大きさは同じ」って判定されるけど、それでいいの?
俺は君の同僚じゃ無いんだから、そんな職場のローカル言語話されても意味分からんぞよ。
それに「3Dで」、「リアルタイムにオブジェクトの距離判定するけど」、「精度は適当でいいや」みたいな前提条件も
言ってもらわなきゃわかるはずないよ。
あってるかどうかは、その前提条件にモロに左右されるから何とも言えんね。
そのやり方だと、さっきの問題文ではどれも「大きさは同じ」って判定されるけど、それでいいの?
84おいちゃん ◆DlyW/s8ibQ
2008/12/22(月) 18:16:55ID:oKMTflVf >精度は適当でいいや
まず「どっちが近いか」であってどれくらいか?ではないよ
3D距離測るので√ぬきはてきとうでないとおもうけど
要点は共通なのは省ける場合がある
面積問題だと*は+でもいい
、の場所は意地悪問題だよw
しかも間違ってるなホントにごめんな
面積なんだから各長さはかならず+の値
従って A*B>C*Dの場合
必ずA+B>C+Dよって現実でもプログラムでも
+で判定すのが簡単って事、
これに例外はないでしょ?
言いたいのはあなたが/2を抜いた理由を
>>7にも当てはめて見ればいいってこと
もちろんおうようとしてね
きっとなんて単純にできるんだって思うよ
あとはホントに難しく考えすぎだと思う
市販レベルのゲームが頭にあるから
難しいと想像してるだけでしょ。
当たり判定も入れろとは書いてないんだよ?
あって当たり前とは言わせないよ、
勝手に仕様追加して難しいとか言ってるんだから
でも実際はゴールに着いたかの判定と同じだけどね
何度も言うけど>>7に当てはまれば何でもいい
てかあなたは作れると思うw
まず「どっちが近いか」であってどれくらいか?ではないよ
3D距離測るので√ぬきはてきとうでないとおもうけど
要点は共通なのは省ける場合がある
面積問題だと*は+でもいい
、の場所は意地悪問題だよw
しかも間違ってるなホントにごめんな
面積なんだから各長さはかならず+の値
従って A*B>C*Dの場合
必ずA+B>C+Dよって現実でもプログラムでも
+で判定すのが簡単って事、
これに例外はないでしょ?
言いたいのはあなたが/2を抜いた理由を
>>7にも当てはめて見ればいいってこと
もちろんおうようとしてね
きっとなんて単純にできるんだって思うよ
あとはホントに難しく考えすぎだと思う
市販レベルのゲームが頭にあるから
難しいと想像してるだけでしょ。
当たり判定も入れろとは書いてないんだよ?
あって当たり前とは言わせないよ、
勝手に仕様追加して難しいとか言ってるんだから
でも実際はゴールに着いたかの判定と同じだけどね
何度も言うけど>>7に当てはまれば何でもいい
てかあなたは作れると思うw
2008/12/22(月) 18:44:14ID:bQrlLW0A
2008/12/22(月) 18:46:14ID:LFKaa8W/
>従って A*B>C*Dの場合
>必ずA+B>C+Dよって現実でもプログラムでも
>+で判定すのが簡単って事
3×2>1×5
つまり3+2>1+5ってこと?
揚げ足取りだけで終わりたくないから書いておくけど。
モデルの単純化による効率化・高速化はもちろん重要。
だけど、動くものが作れるようになった先の話で十分間に合うと思う。
おいちゃん氏、かなり優秀な人だと思うけど、天才様発言すぎる。
やりたいこと、もって行きたい方向が俺にも見えるだけに
TPOに合ってないというか空回りしてるなあと。
>必ずA+B>C+Dよって現実でもプログラムでも
>+で判定すのが簡単って事
3×2>1×5
つまり3+2>1+5ってこと?
揚げ足取りだけで終わりたくないから書いておくけど。
モデルの単純化による効率化・高速化はもちろん重要。
だけど、動くものが作れるようになった先の話で十分間に合うと思う。
おいちゃん氏、かなり優秀な人だと思うけど、天才様発言すぎる。
やりたいこと、もって行きたい方向が俺にも見えるだけに
TPOに合ってないというか空回りしてるなあと。
87おいちゃん ◆DlyW/s8ibQ
2008/12/22(月) 18:57:04ID:oKMTflVf ごめんwww
ほんとだ何これ結局/2抜くだけだったのか、
俺も実は初めこれだけだったんだよ、んでこれ教えてくれた
なんかサルみたいに図形切り貼りして
確かめとかやらされたんだけどなw
実は人を信用するなって教えてくれたんかなw
昨日も飯おごったのになw
やべっひょっとして√抜きもそうなのか?
誰か教えて;;
>>7も一応考えたんだがもう一回考えるんでまだ作るなよw
ほんとだ何これ結局/2抜くだけだったのか、
俺も実は初めこれだけだったんだよ、んでこれ教えてくれた
なんかサルみたいに図形切り貼りして
確かめとかやらされたんだけどなw
実は人を信用するなって教えてくれたんかなw
昨日も飯おごったのになw
やべっひょっとして√抜きもそうなのか?
誰か教えて;;
>>7も一応考えたんだがもう一回考えるんでまだ作るなよw
2008/12/22(月) 23:24:49ID:IFN4Pi9+
>>7
やりたいようにやってみた。自分のソース見ながら考えて進む感じ。
まさか3時間200行超えるとは。見積もり(想像)の1.5倍かかってる。
自分でも言いたいこと突っ込みどころは山ほどある。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8439.zip
クラスはなんとなく、関数ポインタは明らかな苦手意識あるんで
そのへんうまく使ってイベント処理をキレイにまとめられたらかっこいいかも。
やりたいようにやってみた。自分のソース見ながら考えて進む感じ。
まさか3時間200行超えるとは。見積もり(想像)の1.5倍かかってる。
自分でも言いたいこと突っ込みどころは山ほどある。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8439.zip
クラスはなんとなく、関数ポインタは明らかな苦手意識あるんで
そのへんうまく使ってイベント処理をキレイにまとめられたらかっこいいかも。
2008/12/22(月) 23:35:30ID:v8weaYQN
流れをぶった切るけど段階学習でコンソールなら数当て(ハイアンドロー、
コードブレイカー)、4択クイズ、タイピング、しりとり(英語、日本語)の順が
いいとおも
初心者向けなんだから(特に最初は)1ステップは小さいほどいい
コードブレイカー)、4択クイズ、タイピング、しりとり(英語、日本語)の順が
いいとおも
初心者向けなんだから(特に最初は)1ステップは小さいほどいい
2008/12/22(月) 23:52:10ID:IFN4Pi9+
数当ては>>19-20でやらせた。ていうか勝手にやった。
次はヒット&ブロー(コードブレイカーby女神転生)か山崩しあたり。
タイピング→4拓クイズで、ファイル処理やら構造のカプセル化なんかを意識させて。
次はヒット&ブロー(コードブレイカーby女神転生)か山崩しあたり。
タイピング→4拓クイズで、ファイル処理やら構造のカプセル化なんかを意識させて。
2008/12/22(月) 23:55:22ID:7HSkpjqK
2008/12/23(火) 06:44:34ID:1QOnu95u
かんたんな数当てとかは良いね
ってもう終わったみたいだけど
まあ一行表示で済むようなものならいっそのこと
windowのタイトルバー使っておなじことやったりするといいかも
ってもう終わったみたいだけど
まあ一行表示で済むようなものならいっそのこと
windowのタイトルバー使っておなじことやったりするといいかも
93おいちゃん ◆DlyW/s8ibQ
2008/12/23(火) 07:40:42ID:brrxgnQX >>88見させれいただきましたで
int gMap[HEIGHT][WIDTH];
で事象の全て管理してるんですよね?
ちょっと言い方違うかな、前回の分を保持してるものを使うのは
上記だけですよね?
そしてこのゲームは、敵の移動はしない時があるが自分は必ずする。
これだとゲーム性として緊張感とか戦略性が薄いので
(勘違いしないでくださいね次の課題のためにステップアップ
できるところをわざと問題で作って、それをあなたが次の問題だせるように
解いてくれたってことですんで)
次の課題は敵は動かない時は次回に移動量を貯めこめる
移動は同じく単一方向のみで溜め込んだ分は使い切る(範囲制限は今のまま)
でどうでしょ?
これで管理のしかたが変わる修正しないといけない問題になると思うんやけど
問題の出し方としてソクラテスの問答法をしてる感じなんやけど
こういうやり方ではだめかな?
int gMap[HEIGHT][WIDTH];
で事象の全て管理してるんですよね?
ちょっと言い方違うかな、前回の分を保持してるものを使うのは
上記だけですよね?
そしてこのゲームは、敵の移動はしない時があるが自分は必ずする。
これだとゲーム性として緊張感とか戦略性が薄いので
(勘違いしないでくださいね次の課題のためにステップアップ
できるところをわざと問題で作って、それをあなたが次の問題だせるように
解いてくれたってことですんで)
次の課題は敵は動かない時は次回に移動量を貯めこめる
移動は同じく単一方向のみで溜め込んだ分は使い切る(範囲制限は今のまま)
でどうでしょ?
これで管理のしかたが変わる修正しないといけない問題になると思うんやけど
問題の出し方としてソクラテスの問答法をしてる感じなんやけど
こういうやり方ではだめかな?
94おいちゃん ◆DlyW/s8ibQ
2008/12/23(火) 10:25:56ID:brrxgnQX >自分は必ずする。
間違いでしたごめんなさい
間違いでしたごめんなさい
9588
2008/12/23(火) 11:32:37ID:7Tc//R3b >>93
俺に課題出してどうするんだ。
ここまででも結構気を使うポイント多いよ実際。
>>1氏の>>19-20見て、その今の実力で>>88は作れないだろうと思う。
200行のソース書ける人相手に、本質にかかわらない十数行の改変させても意味無い。
今回のだったら、敵Pow2、敵Pow3までenumで増やして、敵移動ルーチンで消化する。
個々にLvやHPなんかのステータスが必要になるまで、意地でも構造体作らねえ!
RPGっぽい感じで、作った自分でも結構気に入ってしまってたりするんだこれ。
敵に当たったとき戦闘モードに切り替えて、そのときに敵の能力設定しても十分間に合うし。
気にしてるのが、通過点・イベントの書き方。
個別処理してるので、このままではどうしてもイベントが増えるたびに肥大化していくのが避けられない。
うまいことラッピングできればいいんだけど。
俺に課題出してどうするんだ。
ここまででも結構気を使うポイント多いよ実際。
>>1氏の>>19-20見て、その今の実力で>>88は作れないだろうと思う。
200行のソース書ける人相手に、本質にかかわらない十数行の改変させても意味無い。
今回のだったら、敵Pow2、敵Pow3までenumで増やして、敵移動ルーチンで消化する。
個々にLvやHPなんかのステータスが必要になるまで、意地でも構造体作らねえ!
RPGっぽい感じで、作った自分でも結構気に入ってしまってたりするんだこれ。
敵に当たったとき戦闘モードに切り替えて、そのときに敵の能力設定しても十分間に合うし。
気にしてるのが、通過点・イベントの書き方。
個別処理してるので、このままではどうしてもイベントが増えるたびに肥大化していくのが避けられない。
うまいことラッピングできればいいんだけど。
2008/12/24(水) 06:12:29ID:O6ch0loZ
かわいそうな>>1
2008/12/24(水) 09:07:07ID:pKNbMfli
>>1にもちっと根性ありゃ良スレだったかもね。
2008/12/25(木) 01:19:22ID:dzWiyeO4
2008/12/25(木) 08:14:49ID:ldpXmL3C
俺がつぶしたようなもんだな。
正直、すまんかった。
この手のスレでは、ソース出せない奴に文句言う資格ないって信念あるから、
ちょっとからかってみたかった。
きのうVIPで拾ったやつ。ソース入り。
WinMain(笑)でも、発表できるやつが正しい。
64 名前: 以下、名無しにかわりましてVIPがお送りします 投稿日: 2008/12/24(水) 12:33:44.10 ID:coeGrU4s0
ステージ間違えてた
http://www.dotup.org/uploda/www.dotup.org13272.zip.html
ちらついてた人テストプレイお願いします
正直、すまんかった。
この手のスレでは、ソース出せない奴に文句言う資格ないって信念あるから、
ちょっとからかってみたかった。
きのうVIPで拾ったやつ。ソース入り。
WinMain(笑)でも、発表できるやつが正しい。
64 名前: 以下、名無しにかわりましてVIPがお送りします 投稿日: 2008/12/24(水) 12:33:44.10 ID:coeGrU4s0
ステージ間違えてた
http://www.dotup.org/uploda/www.dotup.org13272.zip.html
ちらついてた人テストプレイお願いします
1001
2008/12/25(木) 08:26:15ID:gHJk9aT1 俺がC++とイチャイチャしてる間に一体何が………
101名前は開発中のものです。
2008/12/25(木) 09:13:42ID:+jZFnaM/ >ソース出せない奴に文句言う資格ないって信念あるから、
ちょっとからかってみたかった。
ぜんぜんわからないんだが
文句はどれも言ってないし
誰もからかわれてないように見えるんだが
>>88なのか?誰と戦ってるんだ
ちょっとからかってみたかった。
ぜんぜんわからないんだが
文句はどれも言ってないし
誰もからかわれてないように見えるんだが
>>88なのか?誰と戦ってるんだ
102名前は開発中のものです。
2008/12/25(木) 10:19:14ID:4QWifqYX1031
2008/12/25(木) 10:41:23ID:47eJt85M104名前は開発中のものです。
2008/12/25(木) 11:34:37ID:ldpXmL3C Hit&Blow作ろうぜ!
【ルール】
相手側に隠された4桁の数字を当てるんだ!
隠された数字は1〜9までで重複していない。
プレイヤーの提示する数字に対して、マスターがヒントを出していく。
ある桁に対して、答えの桁と一致したら1Hit。
桁は違うが、その数字を使っているなら1Blow。
答え 2468
入力 3456 のとき、
4のところで桁一致1Hit、6は両方に含まれているので1Blowとなる。
4Hitなら「おめでとう」表示して終了。
まずは、4桁の重複しない乱数を作成して表示することから始めよう。
それから、入力→判定。入力については難しいこと考えずにやりやすいように。
判定も、それっぽく動くようになってから矛盾する部分をつぶしていけばいい。
【ルール】
相手側に隠された4桁の数字を当てるんだ!
隠された数字は1〜9までで重複していない。
プレイヤーの提示する数字に対して、マスターがヒントを出していく。
ある桁に対して、答えの桁と一致したら1Hit。
桁は違うが、その数字を使っているなら1Blow。
答え 2468
入力 3456 のとき、
4のところで桁一致1Hit、6は両方に含まれているので1Blowとなる。
4Hitなら「おめでとう」表示して終了。
まずは、4桁の重複しない乱数を作成して表示することから始めよう。
それから、入力→判定。入力については難しいこと考えずにやりやすいように。
判定も、それっぽく動くようになってから矛盾する部分をつぶしていけばいい。
1051
2008/12/25(木) 11:45:26ID:47eJt85M1061
2008/12/25(木) 11:52:02ID:47eJt85M と、おもったけどめんどくさいから理論だけ
int ans[4]
for(it i=0;i<4;i++)
{
ans[i] = ansrand() % 9 + 1;
if(ans[i] == ans[i+1])
continue;
}
これで重複しない数字作って
int game(int x)
{
;xを4分割
;fscanfだっけ?
それであたりかどうか判定
}
あとはメインループ
こんでいいんじゃないのかな?
int ans[4]
for(it i=0;i<4;i++)
{
ans[i] = ansrand() % 9 + 1;
if(ans[i] == ans[i+1])
continue;
}
これで重複しない数字作って
int game(int x)
{
;xを4分割
;fscanfだっけ?
それであたりかどうか判定
}
あとはメインループ
こんでいいんじゃないのかな?
107名前は開発中のものです。
2008/12/25(木) 12:49:09ID:D78e/bq5 ソースはすでにバグってるけど、考え方組み立て方は大丈夫っぽいね。
入力は最悪1桁目から4桁目までバラバラに入力させてもいい。
今、そこで悩むのは時間の無駄だと思う。
入力は最悪1桁目から4桁目までバラバラに入力させてもいい。
今、そこで悩むのは時間の無駄だと思う。
108名前は開発中のものです。
2008/12/25(木) 13:13:31ID:4QWifqYX 即答できるの作って意味あるのか疑問だな
某本は最初からソウコバんが題材だし
プロで2時間素人で2日かけたら遅い
って書いてるみたいだし。
>>88が理解できないわけがない
1は言ってることがおかしいな
言語そのものは本で学んだくせに
ゲームの仕組みは人から教えてもらえるチャンスを
自分から放棄してる、これだと後々クレクレ君になるよな
某本は最初からソウコバんが題材だし
プロで2時間素人で2日かけたら遅い
って書いてるみたいだし。
>>88が理解できないわけがない
1は言ってることがおかしいな
言語そのものは本で学んだくせに
ゲームの仕組みは人から教えてもらえるチャンスを
自分から放棄してる、これだと後々クレクレ君になるよな
109名前は開発中のものです。
2008/12/25(木) 13:24:25ID:4QWifqYX >>107
ある桁に対して、答えの桁と一致したら1Hit。
桁は違うが、その数字を使っているなら1Blow。
にたいして
>それであたりかどうか判定
この課題の出題意図おもいっきり
飛ばしてるじゃねえかw
ある桁に対して、答えの桁と一致したら1Hit。
桁は違うが、その数字を使っているなら1Blow。
にたいして
>それであたりかどうか判定
この課題の出題意図おもいっきり
飛ばしてるじゃねえかw
110名前は開発中のものです。
2008/12/25(木) 13:41:17ID:tZ3uaTxD 俺もゲーム作りたいからプログラム始めて、入門書は済んだけど何しようって時期はあった
最初はGUIで四角形を表示できるようにして、それを入力で動くようにするっていう風に少しずつSTGに近づけていって完成まで行ったよ
俺は「Windowsゲームプログラミング」って本でGUIに入ったけど、これはあんまりオススメできない
>>1を見る限り「14歳からはじめる C言語わくわくゲームプログラミング教室」とかがいいんじゃないか?
俺は「Windowsゲームプログラミング」を初めて見たとき、「なんだこれ…全く分からない」と思った
でも原因は入門書の内容を理解してるつもりで、してなかっただけだった
DXライブラリのサンプルなんかすごい丁寧に書いてくれてる
分からない分からないって言ってたら進まない
何で分からないのか原因を考えて、それを潰していけばいい
最初はGUIで四角形を表示できるようにして、それを入力で動くようにするっていう風に少しずつSTGに近づけていって完成まで行ったよ
俺は「Windowsゲームプログラミング」って本でGUIに入ったけど、これはあんまりオススメできない
>>1を見る限り「14歳からはじめる C言語わくわくゲームプログラミング教室」とかがいいんじゃないか?
俺は「Windowsゲームプログラミング」を初めて見たとき、「なんだこれ…全く分からない」と思った
でも原因は入門書の内容を理解してるつもりで、してなかっただけだった
DXライブラリのサンプルなんかすごい丁寧に書いてくれてる
分からない分からないって言ってたら進まない
何で分からないのか原因を考えて、それを潰していけばいい
111名前は開発中のものです。
2008/12/25(木) 13:57:08ID:4QWifqYX 出題意図も書いてあげなきゃいけないんだろう
4桁はランダムで重複はない
入力もじが同じ桁で同じ数字hitなら
Blowかどうかは判定しなくていい(重複はないから)
hitでないなら別の桁でBlowかどうか判定する
そこでBlowならそれ以外の桁は、数字の違うランダムだから
(重複はないから)判定しなくていいことになってる。
でいいのかは、ルールがはっきりしていないので実はわからない。
プレイヤーは同じ数字に対して挑戦できるんだろうがすべて同じ数字に
してもいいのかわからない。
出題意図以外の部分書き込んでなんになる?
始めの問題でcin>>n;だけ書くのと同じだろ
正直課題でなくて、なになに作って解説してくださいの方がいいと思う。
4桁はランダムで重複はない
入力もじが同じ桁で同じ数字hitなら
Blowかどうかは判定しなくていい(重複はないから)
hitでないなら別の桁でBlowかどうか判定する
そこでBlowならそれ以外の桁は、数字の違うランダムだから
(重複はないから)判定しなくていいことになってる。
でいいのかは、ルールがはっきりしていないので実はわからない。
プレイヤーは同じ数字に対して挑戦できるんだろうがすべて同じ数字に
してもいいのかわからない。
出題意図以外の部分書き込んでなんになる?
始めの問題でcin>>n;だけ書くのと同じだろ
正直課題でなくて、なになに作って解説してくださいの方がいいと思う。
112名前は開発中のものです。
2008/12/25(木) 14:09:59ID:HaMdn/9b ゲームってC/C++じゃないと駄目なの?
113名前は開発中のものです。
2008/12/25(木) 14:14:10ID:8FA5a+hY114名前は開発中のものです。
2008/12/25(木) 14:19:37ID:zLYK7Trd >>112
そんなことはないけどメジャーだからいろいろアレでナニだね
そんなことはないけどメジャーだからいろいろアレでナニだね
115名前は開発中のものです。
2008/12/25(木) 14:21:08ID:aRJ94ifJ >>112
別にJavaでもHSPでもツクールでも構わないよ
別にJavaでもHSPでもツクールでも構わないよ
116名前は開発中のものです。
2008/12/25(木) 15:53:49ID:dcJ2PyO9 速度が遅い
ユーザーに新たにランタイムを入れてもらわないといけない
この2つが許容できない場合はC/C++やDで作る
ユーザーに新たにランタイムを入れてもらわないといけない
この2つが許容できない場合はC/C++やDで作る
117名前は開発中のものです。
2008/12/25(木) 16:00:18ID:aRJ94ifJ ランタイムを同梱するという技もあるけどね
昔のJava(1.4世代)ならそういう手が使えた。今のライセンスは知らない。
昔のJava(1.4世代)ならそういう手が使えた。今のライセンスは知らない。
118名前は開発中のものです。
2008/12/25(木) 16:09:10ID:Bjb9Ga/u119名前は開発中のものです。
2008/12/26(金) 20:55:42ID:PhPwcMia c言語とかからのゲーム作成を解説しながらやってるお勧めのブログを教えて
120名前は開発中のものです。
2008/12/26(金) 21:02:02ID:S9F3mZ1U121名前は開発中のものです。
2008/12/27(土) 00:17:12ID:GD7+RbfX コンテンツとして需要があるなら作ってもいいと思うけどな。
というかそんなようなのを作ったことがある。
結局ホームページ自体を公開しなかったが。
というかそんなようなのを作ったことがある。
結局ホームページ自体を公開しなかったが。
122名前は開発中のものです。
2008/12/27(土) 00:23:21ID:BgZGJ+VY Cから説明するのはだるいな
せっかく気合入れて作るくらいなら、本にして印税もらいたい
せっかく気合入れて作るくらいなら、本にして印税もらいたい
123名前は開発中のものです。
2008/12/27(土) 00:30:31ID:q0mgxuEr なぜ>>119はブログにこだわるのか。ブログ専用ブラウザでも使っているのだろうか
ttp://racanhack.sourceforge.jp/rhdoc/
ttp://racanhack.sourceforge.jp/rhdoc/
124名前は開発中のものです。
2008/12/27(土) 08:53:55ID:8o0sem2Y >>119
ブログで製作のライブ中継やると、完成しないというジンクスが。
ってか、実際に実況製作やってみると、ブログに思考中断されてうっとおしくなる。
まだ見ぬ弟子のこと考えて技術ブログ書くのなら
たいてい前もって完成させてからの、ログ追いトレース記事になってしまう。
完成すれば楽しい思い出の、ぐだぐだ設計迷走日記とはなかなか両立しない。
ブログで製作のライブ中継やると、完成しないというジンクスが。
ってか、実際に実況製作やってみると、ブログに思考中断されてうっとおしくなる。
まだ見ぬ弟子のこと考えて技術ブログ書くのなら
たいてい前もって完成させてからの、ログ追いトレース記事になってしまう。
完成すれば楽しい思い出の、ぐだぐだ設計迷走日記とはなかなか両立しない。
125名前は開発中のものです。
2008/12/27(土) 10:41:20ID:44v0/Te5 >>106
重複しない数字作成に関して
ループの中で
ans[0] == ans[1], ans[1] == ans[2],
ans[2] == ans[3], ans[3] == ans[4]
の比較を行っているが、右辺は何も値が代入されていないので、
その条件は絶対に成立しない
ans[4]は定義されていないので、i = 3 のときに実行しようとすると多分落ちる
ループの最後に実行される continue 文は何も意味を持たない
多分勘違いしていると思うが、continue 文を実行しても i の加算処理は実行される
PGMの製作経験が不足している気がする
PGMのロジックを組み立てる練習にコンソールゲーム作成はいいと思うので
面倒と思わずにまずはひたすら組んで実行してみることを勧める
重複しない数字作成に関して
ループの中で
ans[0] == ans[1], ans[1] == ans[2],
ans[2] == ans[3], ans[3] == ans[4]
の比較を行っているが、右辺は何も値が代入されていないので、
その条件は絶対に成立しない
ans[4]は定義されていないので、i = 3 のときに実行しようとすると多分落ちる
ループの最後に実行される continue 文は何も意味を持たない
多分勘違いしていると思うが、continue 文を実行しても i の加算処理は実行される
PGMの製作経験が不足している気がする
PGMのロジックを組み立てる練習にコンソールゲーム作成はいいと思うので
面倒と思わずにまずはひたすら組んで実行してみることを勧める
126名前は開発中のものです。
2008/12/27(土) 10:44:28ID:QMJ1Aqu3 TEAM NAVA分室 ゲーム製作講座 RPG
ttp://inu.harisen.jp/top.html
ttp://inu.harisen.jp/top.html
127名前は開発中のものです。
2008/12/28(日) 11:46:19ID:Wm8cLO/2 C言語〜ゲームプログラミングの館〜
http://dixq.net/g/
12月2日から↑このサイト見ながらゲーム作り始めた
「不可思議2」みたいなゲーム作りたくてダンジョン自動生成と
マップスクロールとキーコンフィグは何とか作った
でもC言語は1ヶ月くらいしか勉強してないし
ゲーム製作の経験もないので悪戦苦闘中
出来た!と思って打ち込んだプログラムが1発で動いたことは1度もない
ゲーム作りがこんなに面倒だとは思わなかったよ
http://dixq.net/g/
12月2日から↑このサイト見ながらゲーム作り始めた
「不可思議2」みたいなゲーム作りたくてダンジョン自動生成と
マップスクロールとキーコンフィグは何とか作った
でもC言語は1ヶ月くらいしか勉強してないし
ゲーム製作の経験もないので悪戦苦闘中
出来た!と思って打ち込んだプログラムが1発で動いたことは1度もない
ゲーム作りがこんなに面倒だとは思わなかったよ
128名前は開発中のものです。
2008/12/28(日) 13:23:09ID:iZvh/mGa 重複しない数字作成だったら
int ans[4];
int flag = 1;
while(flag){
flag = 0;
for(i = 0 ; i < 4 ; i++) ans[i] = rand() % 10;
for(i = 0 ; i < 3 ; i++){
for(j = i + 1 ; j < 4 ; j++){
if(ans[i] == ans[j]){
flag = 1;
break;
}
}
}
}
かな。
int ans[4];
int flag = 1;
while(flag){
flag = 0;
for(i = 0 ; i < 4 ; i++) ans[i] = rand() % 10;
for(i = 0 ; i < 3 ; i++){
for(j = i + 1 ; j < 4 ; j++){
if(ans[i] == ans[j]){
flag = 1;
break;
}
}
}
}
かな。
129名前は開発中のものです。
2008/12/28(日) 13:39:04ID:iZvh/mGa こんな方法もあるか
int used[10];
int arr[4];
int n;
for(i = 0 ; i < 10 ; i++) used[i] = 0;
for(i = 0 ; i < 4 ; i++){
n = rand() % 10;
if(!used[n]){
arr[i] = n;
used[n] = 1;
}else{
i--;
}
}
乱数が当たらないとループを抜けられないことを嫌うなら
int num[10];
int arr[4];
int n;
for(i = 0 ; i < 10 ; i++) num[i] = i;
for(i = 0 ; i < 4 ; i++){
n = rand() % (10 - i);
arr[i] = num[n];
for(j = n ; j < 9 ; j++) num[j] = num[j+1];
}
最大でも30ループほどで抜ける。
シンプルだけど可読性が悪い例だ。
ケアレスミスはご容赦。
int used[10];
int arr[4];
int n;
for(i = 0 ; i < 10 ; i++) used[i] = 0;
for(i = 0 ; i < 4 ; i++){
n = rand() % 10;
if(!used[n]){
arr[i] = n;
used[n] = 1;
}else{
i--;
}
}
乱数が当たらないとループを抜けられないことを嫌うなら
int num[10];
int arr[4];
int n;
for(i = 0 ; i < 10 ; i++) num[i] = i;
for(i = 0 ; i < 4 ; i++){
n = rand() % (10 - i);
arr[i] = num[n];
for(j = n ; j < 9 ; j++) num[j] = num[j+1];
}
最大でも30ループほどで抜ける。
シンプルだけど可読性が悪い例だ。
ケアレスミスはご容赦。
130名前は開発中のものです。
2008/12/28(日) 13:50:34ID:iZvh/mGa 十分大きな乱数は重複しないという前提で。
あるいは、重複しても極めて小さな誤差として無視する。
int r[10];
int arr[4];
int n_max = -1, rand_max;
for(i = 0 ; i < 10 ; i++) r[i] = rand();
for(i = 0 ; i < 4 ; i++){
rand_max = -1;
for(j = 0 ; j < 10 ; j++){
if(r[j] > rand_max){
rand_max = r[j];
n_max = j;
}
}
arr[i] = n_max;
r[n_max] = -1;
}
選択ソートの応用。
この場合はコード的にも計算量的にも誤差的にも使い物にならないけどw
あるいは、重複しても極めて小さな誤差として無視する。
int r[10];
int arr[4];
int n_max = -1, rand_max;
for(i = 0 ; i < 10 ; i++) r[i] = rand();
for(i = 0 ; i < 4 ; i++){
rand_max = -1;
for(j = 0 ; j < 10 ; j++){
if(r[j] > rand_max){
rand_max = r[j];
n_max = j;
}
}
arr[i] = n_max;
r[n_max] = -1;
}
選択ソートの応用。
この場合はコード的にも計算量的にも誤差的にも使い物にならないけどw
131名前は開発中のものです。
2008/12/28(日) 17:14:32ID:zA6Xag1Z どのみち10の配列を確保するならarray[i]=iにした後シャッフルして
必要な桁だけ使うという手もあるな
これだと重複ミスが起こりにくいし毎回決まった回数の処理で数字が決められる
それにトランプゲームとかにも応用できるし、定番のswapを作る機会にもなる
必要な桁だけ使うという手もあるな
これだと重複ミスが起こりにくいし毎回決まった回数の処理で数字が決められる
それにトランプゲームとかにも応用できるし、定番のswapを作る機会にもなる
132名前は開発中のものです。
2008/12/28(日) 19:38:05ID:DKMQoCt4 車輪の再発明をがんばらなくても、std::swapを使えばいいだけの話では?
それ以前に std::random_shuffle を使えば一瞬なのでは?
それ以前に std::random_shuffle を使えば一瞬なのでは?
133名前は開発中のものです。
2008/12/28(日) 19:39:32ID:LzwzO4A7 手順1
intで10個の要素を持つ配列を用意する
(1から9までの数字しか使わないなら0の分抜かして9個の配列で)
各要素に0から9までの数字を入れておく
手順2
ランダムで0から9個までの数字を作る
そのランダムの数字の要素を取り出す
そのランダムの数字の要素を
最後の要素と入れ替える
手順3
ランダムで0から(9−1)までの数字を作る
そのランダムの数字の要素を取り出す
そのランダムの数字の要素を
(最後ー1)個目の要素を入れ替える
この時点で
例えば1度目のランダムが3、2度目のランダムが5の場合、
intの入っている要素の数字は
[0,1,9,3,8,5,6,7,5,2]
となっているはず
って。これシスアドのテスト範囲にあったような気がする
intで10個の要素を持つ配列を用意する
(1から9までの数字しか使わないなら0の分抜かして9個の配列で)
各要素に0から9までの数字を入れておく
手順2
ランダムで0から9個までの数字を作る
そのランダムの数字の要素を取り出す
そのランダムの数字の要素を
最後の要素と入れ替える
手順3
ランダムで0から(9−1)までの数字を作る
そのランダムの数字の要素を取り出す
そのランダムの数字の要素を
(最後ー1)個目の要素を入れ替える
この時点で
例えば1度目のランダムが3、2度目のランダムが5の場合、
intの入っている要素の数字は
[0,1,9,3,8,5,6,7,5,2]
となっているはず
って。これシスアドのテスト範囲にあったような気がする
134名前は開発中のものです。
2008/12/28(日) 19:41:22ID:LzwzO4A7 あ〜。なんか誤字脱字酷いけど気にしないでね〜
135名前は開発中のものです。
2008/12/28(日) 19:59:16ID:zA6Xag1Z136名前は開発中のものです。
2008/12/29(月) 01:30:45ID:hfGjo2/l やり方は人によって千差万別やね
自分は>>106の考え方が一番好きだ
int ans[4];
for(int i = 0; i < 4; i++){
ans[i] = rand() % 9 + 1;
if(ans[i] == ans[(i+1)%4] || ans[i] == ans[(i+2)%4] || ans[i] == ans[(i+3)%4]){
i--;
}
}
自分は>>106の考え方が一番好きだ
int ans[4];
for(int i = 0; i < 4; i++){
ans[i] = rand() % 9 + 1;
if(ans[i] == ans[(i+1)%4] || ans[i] == ans[(i+2)%4] || ans[i] == ans[(i+3)%4]){
i--;
}
}
137名前は開発中のものです。
2008/12/29(月) 19:09:23ID:z5KMzts+ 配列の指数にどうして素直に数字を使わないの?
int ans[4];
for(int i = 0; i < 4; i++){
ans[i] = rand() % 9 + 1;
if(ans[i] == ans[0] || ans[i] == ans[1] || ans[i] == ans[2] || ans[i] == ans[2]){
i--;
}
}
int ans[4];
for(int i = 0; i < 4; i++){
ans[i] = rand() % 9 + 1;
if(ans[i] == ans[0] || ans[i] == ans[1] || ans[i] == ans[2] || ans[i] == ans[2]){
i--;
}
}
138137
2008/12/29(月) 19:10:15ID:z5KMzts+ 思いっきしミスった。ゴメン。
139名前は開発中のものです。
2008/12/29(月) 19:13:11ID:z5KMzts+ あ。ミスッたのは、
指数が比較対照と同じになる部分で必ず等しくなってしまうから、
素直に数字を使えないんだって、
書いてる途中で気づいて自己解決したってことです。
重ね重ねゴメン。
指数が比較対照と同じになる部分で必ず等しくなってしまうから、
素直に数字を使えないんだって、
書いてる途中で気づいて自己解決したってことです。
重ね重ねゴメン。
140名前は開発中のものです。
2008/12/29(月) 21:42:14ID:hCBOt5BE 条件6通り程度なら並べて比較してダメならやりなおせばいい、か。
素人くさいけどヘタウマというかカコイイ!!
アリだと思います。
int i,a[4];
for{;;}
for(i=0;i<4;i++)a[i]=rand()%9+1;
if((a[0]!=a[1])&(a[0]!=a[2])&(a[0]!=a[3])
&(a[1]!=a[2])&(a[1]!=a[3])
&(a[2]!=a[3])) break;
}
素人くさいけどヘタウマというかカコイイ!!
アリだと思います。
int i,a[4];
for{;;}
for(i=0;i<4;i++)a[i]=rand()%9+1;
if((a[0]!=a[1])&(a[0]!=a[2])&(a[0]!=a[3])
&(a[1]!=a[2])&(a[1]!=a[3])
&(a[2]!=a[3])) break;
}
141名前は開発中のものです。
2008/12/29(月) 23:10:08ID:aUqRb6Dt >>140
プログラムなんてのはトレードオフだからね。
何かを得れば、何かを失うもの。
確かに効率は良くない。
だが、見通しの良さ、わかりやすさは◎。
ところが、そのコードにはアレルギーを起こす人が多い。
なぜか?
特定の条件でループを抜ける、というのは、
無限ループを仕込む典型的な原因だからだ。
失敗にも、上手な失敗と下手な失敗があって、
明示的にエラーを吐いて終了 > 動くが挙動不審
> 無限ループ > 突然クラッシュ
の順。
で、上手な人ほどよりよい失敗に落ちるようにする。
たとえばそのコードだと、&&を&に間違えている。
それが原因になっても、どこで腐ったのか見えにくい。
プログラムなんてのはトレードオフだからね。
何かを得れば、何かを失うもの。
確かに効率は良くない。
だが、見通しの良さ、わかりやすさは◎。
ところが、そのコードにはアレルギーを起こす人が多い。
なぜか?
特定の条件でループを抜ける、というのは、
無限ループを仕込む典型的な原因だからだ。
失敗にも、上手な失敗と下手な失敗があって、
明示的にエラーを吐いて終了 > 動くが挙動不審
> 無限ループ > 突然クラッシュ
の順。
で、上手な人ほどよりよい失敗に落ちるようにする。
たとえばそのコードだと、&&を&に間違えている。
それが原因になっても、どこで腐ったのか見えにくい。
142名前は開発中のものです。
2008/12/30(火) 10:21:17ID:4Lg4VVtC いっそのことこれでいいじゃんもう
int ans[4];
retry:
ans[0]=rand()%9+1;
ans[1]=rand()%9+1;
ans[2]=rand()%9+1;
ans[3]=rand()%9+1;
if(ans[0]==ans[1]){goto retry;}
if(ans[0]==ans[2]){goto retry;}
if(ans[0]==ans[3]){goto retry;}
if(ans[1]==ans[2]){goto retry;}
if(ans[1]==ans[3]){goto retry;}
if(ans[2]==ans[3]){goto retry;}
int ans[4];
retry:
ans[0]=rand()%9+1;
ans[1]=rand()%9+1;
ans[2]=rand()%9+1;
ans[3]=rand()%9+1;
if(ans[0]==ans[1]){goto retry;}
if(ans[0]==ans[2]){goto retry;}
if(ans[0]==ans[3]){goto retry;}
if(ans[1]==ans[2]){goto retry;}
if(ans[1]==ans[3]){goto retry;}
if(ans[2]==ans[3]){goto retry;}
143名前は開発中のものです。
2008/12/30(火) 10:27:05ID:4Lg4VVtC 読む人に対する嫌がらせ
while(1){flag=0;for(i=0;i<4;i++)ans[i]=rand()%9+1;for(i=0;i<3;i++)for(j=i+1;j<4;j++)if(ans[i]==ans[j]) flag=1;if(!flag)break;}
while(1){flag=0;for(i=0;i<4;i++)ans[i]=rand()%9+1;for(i=0;i<3;i++)for(j=i+1;j<4;j++)if(ans[i]==ans[j]) flag=1;if(!flag)break;}
144名前は開発中のものです。
2008/12/30(火) 10:34:18ID:t9a5j063 ゲームつくりの本質とは関係ないことで
よくみんな書くよなw
よくみんな書くよなw
145名前は開発中のものです。
2008/12/30(火) 14:31:15ID:JKlPtp7s 長期的にみたら大事なことなのです
ねえな
ねえな
146名前は開発中のものです。
2008/12/30(火) 15:22:16ID:J3AJ9cNy147名前は開発中のものです。
2008/12/30(火) 15:56:56ID:+lVIynAg 実は、>>118 の
memset(input,0,sizeof(input));
sprintf(fmt,"%%%d[1-9]",digits);
scanf(fmt,input);
scanf("%*[^\n]%*c");
の意味が分からなくて悩んでいるんだけど。
こういうの正規表現っていうんだっけ?
こういうのを解説しているサイトみたいなのある?
memset(input,0,sizeof(input));
sprintf(fmt,"%%%d[1-9]",digits);
scanf(fmt,input);
scanf("%*[^\n]%*c");
の意味が分からなくて悩んでいるんだけど。
こういうの正規表現っていうんだっけ?
こういうのを解説しているサイトみたいなのある?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【足立区ひき逃げ事故】意識不明の20代女性が死亡 死者2人に [Ailuropoda melanoleuca★]
- ■緊急地震速報 熊本など [人気者★]
- 相次ぐ中国公演中止に、シンガーソングライターらが続々高市首相に怒り表明「隣国の仲間たちに対して申し訳ない」 [muffin★]
- 🇺🇸🇨🇳米中関係は「極めて強固」とトランプ氏… ★8 [BFU★]
- スパイ防止法案を提出|参政党 [少考さん★]
- 「ごまかして逃れようとしている」中国外務省報道官 [どどん★]
- 【実況】博衣こよりのえちえちFantasy map simulatorミニキャラ死闘編🧪
- 【モンスト】モンスターストライク総合11/25【クソ浪人立てる時コマンドの補充をしろ🏡】
- 「前髪どうにかせい」チームみらい安野貴博議員の初質問に視聴者 [377482965]
- 政府、高市さんの答弁は従来の政府見解を完全に維持していると閣議決定。特定野党、完全敗北 [519511584]
- デブだが金髪にしてみた
- 【安倍晋三】山上徹也は暴力を使った。お前らはそれを認め許すの? [201193242]
