/* 簡単なプログラムをウプしよう */
■ このスレッドは過去ログ倉庫に格納されています
0001まだ初心者なの
02/06/27 02:02ID:HvMYma0gゲームやアルゴリズムをUPしたり
語り合ったりするスレッドです。
勉強用ですので、言語の選択についてや
ゲームが面白いかどうかの議論は禁止の方向で。
UPする方は使用言語を明記してください。
どうか盛り上がってください。おながいします。おながいします。
0002名前は開発中のものです。
02/06/27 02:03ID:???糞スレ認定。
0003まだ初心者なの
02/06/27 02:03ID:HvMYma0ghttp://www.geocities.co.jp/SiliconValley-Cupertino/8770/meiro.txt
C++です。
0004名前は開発中のものです。
02/06/27 02:04ID:???/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
/ このスレは無事に /
/ 終了いたしました /
/ ありがとうございました /
/ /
/ モララーより /
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
∧_∧ / /∧_∧
( ・∀・) / /(・∀・ )
( )つ ⊂( )
| | | | | |
(__)_) (_(__)
0007名前は開発中のものです。
02/06/27 02:12ID:???>>1
諦めるなよ。ちゃんとレスを付けて育てていけば、どこかの誰かがいっぱ
しのレスを付けてくれる。
それまで何とかジサクジエンでもいいからレスを付け続けろ。
諦めたらそこでおしまいさ。
0008名前は開発中のものです。
02/06/27 02:24ID:HvMYma0g>>7
がんばります。
いきなり終了ってのは
新手の「2げっとズザー」なんでしょうか。
今日は(日付変わってるけど)もう寝るので
明日からは日々の勉強の成果を
少しずつ上げていこうと思います。
レベルの高い人も、自信の無い人も気軽に参加してくださーい。
0009名前は開発中のものです。
02/06/27 02:40ID:???http://game.2ch.net/test/read.cgi/gamedev/1005038280/
こっちを利用しる
0010名前は開発中のものです。
02/06/27 02:44ID:???0011名前は開発中のものです。
02/06/27 02:50ID:???0012名前は開発中のものです。
02/06/27 02:52ID:???乱立して情報があちこちに散らばるのは良くないよ。
0013名前は開発中のものです。
02/06/27 03:02ID:???あっちは最初にこんな風に書いてあるから感じ悪いし、
鯖に負荷が掛かるし、タブやらスペースが消えちゃうからダメダメ
0014名前は開発中のものです。
02/06/27 03:03ID:???>ソースを上げるスレッド
>http://game.2ch.net/test/read.cgi/gamedev/1005038280/
>こっちを利用しる
同感だな。おまえに一票いれておく。
0015名前は開発中のものです。
02/06/27 03:10ID:???再利用かよ。最終カキコが02/04/28か・・・
誰が利用すんだよ。そんなの・・・
そりゃ気がつかねーぞ。 こっちを本スレにすりゃいいじゃんよ。
0016名前は開発中のものです。
02/06/27 03:28ID:???この板ではすんごい遅レスをたまに見かけたりするし、
問題ないと思う。
それはいいけど、普通スレ立てる前に検索くらいはするだろ。
0017名前は開発中のものです。
02/06/27 03:31ID:???んじゃー聞きたいがこのスレはどうするつもり?
削除依頼か?
0018名前は開発中のものです。
02/06/27 03:40ID:Dm9fIHXU削除依頼されて何のデメリットがあるのかね。
このスレを失うことで、一体誰が損をするというのかね。
君はそもそも何のために闘争しているのかね。
0019結局1さんしだいじゃ?
02/06/27 03:41ID:???多分、例のコピペが貼られる→自然に下がるっていういつもの
パターンになっちゃう。
んでスレの存在を皆が忘れた頃に誰かが空age→「上げんなヴォケ」と
誰かが罵倒→再び下がる
みたいないつものパターンも考えられる。
0020名前は開発中のものです。
02/06/27 03:46ID:???禁止にしてほスィ
0021( ○ ´ ー ` ○ )
02/06/27 03:48ID:???0022名前は開発中のものです。
02/06/27 03:49ID:???アクセス制限しろよ
0023名前は開発中のものです。
02/06/27 03:52ID:???>>18
そりゃー誰も損はしないさ。>>1以外は。
一体、その古いスレに情報を書き込んで何がどうなる?
誰も見ていないスレに情報を集約してどうなるんだ?
事実、「古くなったスレの情報」に誰も興味が無くなったから書き込まな
かった。だから落ちた訳だろ?
誰だかは知らんが、古いスレに誘導してどうなるんだよ。
0024名前は開発中のものです。
02/06/27 04:07ID:???どのみち意味などないと知っていて君は意味を求めている。
同じなんだよ。何もかも。
くだらない事はくだらない事であると気付いているなら
2chのあらゆる板の過去に習い、慣習に従えばいいだけなのよ。
無駄なエネルギーロスは賢明じゃない。新しい試みをするなら
もっと重要な物事に対してやればいい。
0025名前は開発中のものです。
02/06/27 04:10ID:???0026名前は開発中のものです。
02/06/27 04:11ID:???んで? 古いレスを上げてどうすんの?
別段、この会話に意味を見出すつもりは一切ないが。
>>1 をそっちに誘導すんの?
0027名前は開発中のものです。
02/06/27 04:18ID:???0028名前は開発中のものです。
02/06/27 04:20ID:???なんだそりゃ。結局、どっちでもいいって事か・・・
この会話の意味って奴は本当になかったんだな。じゃあ上げるなよ・・・
まぁ、、、 どうでもいいがな
0029名前は開発中のものです。
02/06/27 04:22ID:???0030名前は開発中のものです。
02/06/27 04:23ID:???>>29
了解した。
これを見て >>1 がどういう反応するか今から楽しみだ(W
楽しみは今日の夜だな。(WWWWW
0031名前は開発中のものです。
02/06/27 06:21ID:???/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
/ このスレは無事に /
/ 終了いたしました /
/ ありがとうございました /
/ /
/ モララーより /
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
∧_∧ / /∧_∧
( ・∀・) / /(・∀・ )
( )つ ⊂( )
| | | | | |
(__)_) (_(__)
0032名前は開発中のものです。
02/06/27 06:49ID:???0033名前は開発中のものです。
02/06/27 07:51ID:???重複禁止のルールを知らない時点で終わっていると思われる。
しかし、「古いから」という理屈があるとは予想していなかっただけに大収穫。
どこの駄板の習慣だろね。<古いから
0034名前は開発中のものです。
02/06/27 10:34ID:???┌― | |‖│|| ―┬────
| | |‖│|| |
| | | ̄ ̄ ̄
| / ̄ ̄∨ヽ. | |
| / ∨. | |___
| /___________ヽ |ガシャン
| / | \/_|ヽ |
| | | ゚| □| \.|
| | | ゚| |\__|つ
| | | ゚| | |
_ ______________│
\ /
\/
∫ フー
∧,,∧ ∬ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ミ,,゚Д゚ノ,っ━~ < 1よ、昔こ〜ゆ〜事されたのか?
_と~,,, ~,,,ノ_. ∀ \ まぁいい、昔の事は聞かねぇから削除依頼出して来い
.ミ,,,/~), .| ┷┳━ \ ________
 ̄ ̄ ̄ .し'J ̄ ̄|... ┃
0035名前は開発中のものです。
02/06/27 13:53ID:bF0gGlDsしたのも上げてホスィんですけど・・・プログラムに興味は
あるんですけど、C++はまだよく分からないので・・・お願いします・・・
0036名前は開発中のものです。
02/06/27 14:04ID:???0037名前は開発中のものです。
02/06/27 15:37ID:???コンパイルだけならC++の知識はいらんぞ。フリーなのもあるから金もいらん。
0038名前は開発中のものです。
02/06/27 17:22ID:???>35は>1が自スレを上げるために書いたレスだと気付け。
>1の文面を読めばこの糞素人が「自分の」スレに
どれだけ執着を持つタイプか伝わってくるだろ?
0039名前は開発中のものです。
02/06/27 19:42ID:ko7YyeNE0040名前は開発中のものです。
02/06/27 23:02ID:???あまりレスを付けない方針でいきましょう。
>>35
実行してもあまり楽しいものではないですが…
FLASHへの移植を検討中ですので、期待せずに待っててください。
0041名前は開発中のものです。
02/06/27 23:04ID:???検索とか使わないで今までの勉強の成果のみでやってみます。
いちおうポーカーが遊べる状態にはなりました。
あとは役の判定とかを作ればいいと思います。
1つのファイルにまとめて書いてしまっているので
見にくいでしょうが…
C++です
ソースのみ
http://www.geocities.co.jp/SiliconValley-Cupertino/8770/poker01.txt
実行ファイル込み
http://www.geocities.co.jp/SiliconValley-Cupertino/8770/poker01.zip
0(替える)と1(残す)をスペースで区切って5つ入力後Enterです。
<例>
0 1 0 0 1 (1,3,4番目のカードを替える)
変な入力をするとバグりますので
その時は、Ctrl + C で終了してください。
0042名前は開発中のものです。
02/06/27 23:46ID:???#include <stdio.h>
void main(){
int a,b,c;
char m;
printf (" *select mode* \n");
m=getchar();
if(m = '+'){
printf(" +tasizan+ \n");
scanf ("%d",&a);
scanf ("%d",&b);
c = a+b;
printf ("%d\n",c);
}
else{
printf ("kaihatutyuu..");
}
}
0043名前は開発中のものです。
02/06/27 23:49ID:mqIF8vG.配列の勉強中。理想は式を打ち込んだら構文を解析して勝手に計算してくる奴作りたいdeath!
0044名前は開発中のものです。
02/06/28 00:56ID:xUNqH2JY0045名前は開発中のものです。
02/06/28 01:26ID:81Hj0kfA0046名前は開発中のものです。
02/06/28 01:29ID:???0047名前は開発中のものです。
02/06/28 13:31ID:???0048名前は開発中のものです。
02/06/28 19:24ID:???y=ax+bが
yax*b+=に変換して計算するやつ。
0049名前は開発中のものです。
02/06/28 19:56ID:???0050名前は開発中のものです。
02/06/28 21:00ID:???変な入力をするとバグるのは相変わらずです…
カードの交換操作は>>41と同じです。
C++です。
ソースのみ
http://www.geocities.co.jp/SiliconValley-Cupertino/8770/poker.txt
実行ファイル込み
http://www.geocities.co.jp/SiliconValley-Cupertino/8770/poker.zip
相変わらず見難いソースですが…
他のテーブルゲームのclassをいくつか作れば
カジノになりますねー。
0051名前は開発中のものです。
02/06/28 21:11ID:tpZVIR7wイヤ、なんと呼ばれるのかは知らないが、そんな高級なのじゃないと思う。
入力を配列に入れて、その配列の要素が数字か文字か判定していくニダ
たとえば「15*3」と入力する。プログラムはそれを配列に入れ、まず変数aに15を入れ、*を読み込んで掛け算モードにして、
3を読み込んで変数bにいれて計算。配列の中身を一つずつ調べてそれが数字か文字か判定するって感じかな!
しかし、「{(10+3)*5}/5」とかはどうやってやるのかなあとか思うので、みんな考えてチョ
まあコンピュータにやらせるなら逆ポーランドは便利な記述法なのかなと思う
0052名前は開発中のものです。
02/06/28 21:23ID:???僕はまだ、クイックソートやマージソートが
何をやっているのか、ってのがやっと解りはじめた
程度のヘタレなんですが…
難しいですね。
全くと言っていいほど、やり方が思いつかないです。
()内の式を再帰で渡す形でバラバラにしていくのかなぁ?
頭の体操になりそうなので、毎日ちょっとずつ考えよう…
0053名前は開発中のものです。
02/06/28 21:39ID:tpZVIR7wのほほんと頑張ろうぜ
0054名前は開発中のものです。
02/06/29 09:50ID:???まず、逆ポーランド記法に数式をなおす。
{(10+3)*5}/5 → 10 3 + 5 * 5 /
と言うようになる。
まずは、数式を逆ポーランド記法になおす関数をつくり、結果を配列A[]にいれる。
次に、逆ポーランド記法の計算をする関数を作る。
A[]から一つずつ要素を取り出して、演算子かどうかを判断しながらスタックに格納していく。演算子だった場合は、計算を行う。
動作1:数字がきているので、そのままスタックに積む。
|10|
動作2:数字がきているので、そのままスタックに積む。
|10| 3|
動作3:演算子"+"がきているので、A[0] + A[1] をして、A[0]に代入。
|13|
動作4:数字がきているので、そのままスタックに積む。
|13| 5|
動作5:演算子"*"がきているので、A[0] * A[1] をして、A[0]に代入。
|65|
動作6:数字がきているので、そのままスタックに積む。
|65| 5|
動作7:演算子"/"がきているので、A[0] / A[1] をして、A[0]に代入。
|13|
動作8:要素がなくなったので、A[0]を出力して終了。
0055名前は開発中のものです。
02/06/29 13:34ID:???0056名前は開発中のものです。
02/06/29 14:26ID:???不覚にもハマッタよ。>>ポーカー
でも、もしかしたら
ロイヤルストレートってところで
入力をミスってオジャンにナターヨ。
入力ミスのチェックはしないのかな?
005750
02/06/29 16:08ID:???>>56さんの書き込みを見て、何となくソースを
見直してみたんですけど、Flashの判定でバカなミスをかましてました。
コッソリ修正しておきましたので報告です。URLは>>50と同じです。
>>56
僕がヘタレだからエラーチェックが入っていないってのも
あるんですけど、後で再利用したり、手を加えることを考えて、余計な
コードは書かないようにしています。暇があったら改良してやって下さい。
あと、すいませんが遊ぶ時は修正版をダウンロードし直して下さい…
005850
02/06/29 16:13ID:???>逆ポーランド記法に数式をなおす。
これがえらい難しいですね…
難しいというか、ただ面倒くさいだけなのかもしれませんが。
検索すれば答えはあるんでしょうけど、なんとか
自分で作ってみたいなぁ。
0059名前は開発中のものです。
02/06/29 20:37ID:???構文解析でも基礎中の基礎じゃないか。
優先順位と括弧にだけ気をつければ良いんだから。
0060名前は開発中のものです。
02/06/29 23:23ID:???#! /usr/bin/env ruby
def infix_to_postfix(expr)
stack = ['(']
result = []
operator_priority = {
'*' => 50, '/' => 50,
'+' => 20, '-' => 20,
'(' => 10, ')' => 10,
}
expr.each{ |x|
if '+ - * /'.split.include?(x)
# operator
while operator_priority[stack.last] >= operator_priority[x]
result.push(stack.pop)
end
stack.push(x)
else
result.push(x) # operand はそのまま出力
end
}
while not stack.empty? and operator_priority[stack.last] >= operator_priority[')']
result.push(stack.pop)
end
result.pop # 最後は'('が入ってるので捨てる
result
end
puts infix_to_postfix(ARGV[0].split).join
0061名前は開発中のものです。
02/07/01 04:10ID:???+ - * / 演算に対応しています。小数の使用可です。
()は使えません。入力時にスペースとタブを入れても大丈夫です。
今回はC言語です。
ソース
http://www.geocities.co.jp/SiliconValley-Cupertino/8770/MtoB.txt
実行ファイル込み
http://www.geocities.co.jp/SiliconValley-Cupertino/8770/MtoB.zip
なんか、ソースのコメントからして駄目さがにじみ出ていますが。
>>59
とりあえず、自分の理解した範囲で挑戦しました。
いずれ、完璧なものが出来たらUPさせていただきます。
>>60
rubyなのですか?僕には読めません…スマソ
0062名前は開発中のものです。
02/07/01 05:21ID:???たぶん、コレも興味が持てるだろう
0063名前は開発中のものです。
02/07/01 14:52ID:???上にあるのは糞スレばっかり。
健闘を祈ります。
0064名前は開発中のものです。
02/07/01 16:47ID:???0065名前は開発中のものです。
02/07/04 13:25ID:???0066名前は開発中のものです。
02/07/05 01:55ID:???UPする(意味がある)ものが少ないです。というわけで
>>3をFLASHに移植してみることに。
http://www.geocities.co.jp/SiliconValley-Cupertino/8770/Maze.swf
(IEならF5で)リロードしてみてください。
毎回違った迷路が作成されるはずです。今はこれだけです。
これをもとに、ちょっとしたミニゲームを作る予定…(未定ですが)
ソース(ファイルを開くのにFLASH5が必要です)
http://www.geocities.co.jp/SiliconValley-Cupertino/8770/Maze.zip
なんか、FLASHだと(C/C++と比べて)混沌としてしまいますね。
でも、ActionScriptが分かる人なら簡単に改造できると思います。
ソースの80%ほどは、>>3のC++のソースからのコピペで済みました。
次回のUPまでに、もう少しコメントをしっかりと書いておきます。
0067名前は開発中のものです。
02/07/05 14:32ID:???回転にはクォータニオンを使ってます。
void CMouseListener::RotateCameraPosition()
{
int dx = mouseoldx - mousex;
int dy = mouseoldy - mousey;
float dtheta1 = dx*D3DXToRadian(1)/2;
float dtheta2 = dy*D3DXToRadian(1)/2;
D3DXVECTOR3 axis1 = D3DXVECTOR3(0.0f,1.0f,0.0f);
//x-z平面上で見たときの角度を取得
float thetaaxis2 = (float)atan2(-vCameraPos.x,-vCameraPos.z);
//π/4回転させる
D3DXVECTOR3 axis2 = D3DXVECTOR3(cosf(thetaaxis2),0,-sinf(thetaaxis2));
//続く
0068名前は開発中のものです。
02/07/05 14:37ID:???qi1,qi2;//逆クオータニオン
//dthetaだけaxisに対して回転
D3DXQuaternionRotationAxis(&q1,&axis1,dtheta1);
D3DXQuaternionRotationAxis(&q2,&axis2,dtheta2);
//逆クォータニオンを設定
D3DXQuaternionInverse(&qi1,&q1);
D3DXQuaternionInverse(&qi2,&q2);
//元のカメラの位置ベクトル成分を持つクォータニオン
D3DXQUATERNION qPos = D3DXQUATERNION(vCameraPos.x,vCameraPos.y,vCameraPos.z,0.0f);
D3DXVECTOR3 vNewPos1,vNewPos2;
//それぞれの軸についてカメラの位置を回転させたものを求めて
D3DXQUATERNION qNewPos1 = q1*qPos*qi1;
D3DXQUATERNION qNewPos2 = q2*qPos*qi2;
//ベクトルとして合成
vNewPos1 = D3DXVECTOR3(qNewPos1.x,qNewPos1.y,qNewPos1.z);
vNewPos2 = D3DXVECTOR3(qNewPos2.x,qNewPos2.y,qNewPos2.z);
//正規化
D3DXVec3Normalize(&vCameraPos,&(vNewPos2 + vNewPos1));
//元の大きさを持たせる
vCameraPos*= Dist;
//変換行列を作成、IDirect3DDeviceに与える
ApplyNewCameraPosition();
}
006968
02/07/05 14:43ID:???×//ベクトルとして合成
○//ベクトルとする
です。んでは学校行ってきます
0070名前は開発中のものです。
02/07/06 13:05ID:???>>3の迷路生成クラスを、少し改良しました。
コンストラクタに二つの仮引数を渡すことで、迷路の大きさを自由に決定できます。
ソース
http://www.geocities.co.jp/SiliconValley-Cupertino/8770/newMEIRO.txt
実行ファイル込み
http://www.geocities.co.jp/SiliconValley-Cupertino/8770/newMEIRO.zip
変数名、コメントなども少しだけ改めました…精進します。
0071名前は開発中のものです。
02/07/06 13:12ID:???3Dですか〜。ゲーム製作の香りがしますねぇ。
僕は、どちらかというとゲームのルール自体は
2D前提で考えますね。(表示には3Dも使ってみたいですが)
ローグみたいなゲームを製作中です。
細かいデータをチマチマといじるのが好きなので。
あと、書き忘れましたが>>70はC++です。
0072名前は開発中のものです。
02/07/06 15:12ID:???実行してないから分からないんだが、生成した迷路データで
3D迷路を探索するゲーム作ったら?
Wizとか女神転生とかみたいな感じの。
0074名前は開発中のものです。
02/07/07 10:11ID:???template<typename T, typename U>
T co_interface_cast(U from)
{
T ret;
HRESULT result;
result = from->QueryInterface( __uuidof(T), reinterpret_cast<void**>( &ret ) );
if ( FAILED( result ) ) {
ret = NULL;
}
return ret;
}
■ このスレッドは過去ログ倉庫に格納されています