[過去ログ] 【初心者】課題をクリアしていくスレ【講習会】 (787レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
681: 名前は開発中のものです。 [sage] 2007/07/27(金) 00:12:36 ID:Zd3sdNnp(1) AAS
 今どれくらい出来るかにもよるよ。 
 1週間あればとりあえずシステムだけなら出来ると思う。 
682: 名前は開発中のものです。 [sage] 2007/07/27(金) 00:55:18 ID:1ly+L1dQ(1) AAS
 早い段階で作れるようになる 
683(1): 名前は開発中のものです。 [sage] 2007/07/28(土) 13:23:39 ID:PcfzSmjm(1) AAS
 画面出入力 
 キー入力 
 ファイル読み書き 
 演算 
 これを(どれか一つもしくは複数)満たすように簡単なお題を出していけば、基本何でも作れそうだが 
684: 名前は開発中のものです。 [sage] 2007/07/28(土) 21:16:20 ID:VUtYyNMw(1) AAS
 もっと整理してみた 
  
 画面表示(キャラと背景) 
 入力(キーかマウス) 
 演算(当たり判定) 
  
 ファイル読み書きは少し後でいいんでない? 
685: 683 [sage] 2007/07/28(土) 21:40:46 ID:UeZm28Yq(1) AAS
 上の講義のサンプル見ると、テトリスの得点を保存させるとか、オセロの盤面を保存させるとか 
 ちょっとした事だけでも分かると夢が膨らむかなぁと思って。 
 直ぐに必要になるものでもないから後でもいいね 
686: 名前は開発中のものです。 [sage] 2007/07/30(月) 11:28:11 ID:6LwwN6qr(1) AAS
 夢がひろがりんぐ 
すたれたなこれも・・・ 
687: 名前は開発中のものです。 [sage] 2007/07/31(火) 02:25:43 ID:DUqyrB+j(1) AAS
 ぷよぷよはくっつきまで表示できるようになれば合格かなぁ 
688: 名前は開発中のものです。 [sage] 2007/07/31(火) 14:07:18 ID:OcT/rTQJ(1) AAS
 ぷよの場合は、何個くっついてるか?の判定ができれば合格じゃね? 
689: 名前は開発中のものです。 [sage] 2007/08/22(水) 21:17:36 ID:ZVS3wfyE(1) AAS
 はっきり言ってくっつくとかさっぱり分からないまま放置。 
 ライフゲームまではやったんだがなぁ。 
690: 名前は開発中のものです。 [sage] 2007/11/26(月) 00:11:38 ID:0u+2SUoR(1) AAS
 過疎ってるので使わせてもらおうかな・・。 
 とりあえず 
 外部リンク:gamdev.org 
 段階的学習!  
  
 を参考にしてテトリスを作ってみようかと思います。 
691(1): 名前は開発中のものです。 [sage] 2008/03/31(月) 01:57:42 ID:gUB5EALr(1) AAS
 プログラミングの知識ほぼゼロですがC言語に挑戦してみようと思います。 
 690の「段階的学習!」のコメント欄によると  
 >一番の最初には数当てゲーム。その次にマスターマインドとか。この辺から始めないとな -- 2005-11-25 (金) 02:10:27  
 とあるので、まず数当てゲームの作成に取り組んでみます。
692: 名前は開発中のものです。 [] 2008/03/31(月) 06:10:02 ID:6Xmv80aV(1) AAS
 雑魚晒しage 
693(1): 名前は開発中のものです。 [] 2008/04/06(日) 03:23:16 ID:3FIXnopP(1) AAS
 >>691じゃないけど数当てゲーム作った 
 scnafで%cを使うと無限ループになるけどなんで? 
 //数当てゲーム 
 #include <stdio.h> 
 #include <stdlib.h> 
  
 int main() 
 { 
     int gameover = 0; 
     int seikai   = 0; 
     int kaitou   = 0; 
     char replay  = 'y'; 
     char buf[2]; 
  
     while(replay=='y') 
     { 
         printf("1-9の数を直感で当てます。\n"); 
      
         seikai = rand() % 9 + 1; 
         while(kaitou != seikai) 
         { 
             printf("1-9の値を入力して[ENTER]を入力:"); 
             scanf("%d", &kaitou); 
         } 
         printf("正解です!!\nもう一度プレイしますか?[y/n]\n"); 
         scanf("%s", &buf); 
         replay=buf[0]; 
     } 
  
     return 0; 
 }
694: 名前は開発中のものです。 [sage] 2008/04/06(日) 04:47:09 ID:6iQTQxIz(1) AAS
 >>693 
 とりあえず、 
  
 ・srand()を使わないと答えのパターンが毎回同じになること 
 ・rand()のような線形合同法が用いられている(と推測できる)関数の 
  返り値の余りを採るやり方は、数値が偏りやすくなる可能性があること 
  
 を覚えるべき。2番目はわからなければ今は無視してもいいけど 
 1番目だけは絶対に理解しておくべき。 
695: 名前は開発中のものです。 [sage] 2008/04/06(日) 05:32:21 ID:pZ63dDRm(1) AAS
 %cで1〜9を入力すると数字の'1'(0x30)〜'9'(0x39)になる。 
 %dで1〜9を入力すると数値の1(0x0)〜9(0x9)になる。 
 この場合欲しいのは数値なので%dで正解だと思う。 
696(2): 名前は開発中のものです。 [sage] 2008/04/12(土) 16:41:42 ID:wUyPJZn0(1/2) AAS
 >数値が偏りやすくなる可能性があること 
 気になったので実験。 
 下記プログラムにて偏りを目視で確認してみた。 
 (実行結果:外部リンク[phps]:gamdev.org) 
  
 67と68を境に出現頻度が変わってる。 
  
 #include <stdio.h> 
 #include <stdlib.h> 
 #include <time.h> 
  
 int main() 
 { 
     long int hit[100]={0}; 
     long int i; 
  
     srand((unsigned)time(NULL)); 
  
     for (i=0 ; i<1000000000 ; i++) 
     { 
         hit[rand()%100]++; 
     } 
  
     for (i=0 ; i<100 ; i++) 
     { 
         printf("%d\t%d\n", i, hit[i]); 
     } 
  
     return 0; 
 }
697(1): 名前は開発中のものです。 [sage] 2008/04/12(土) 16:46:13 ID:u1ebOeKL(1/2) AAS
 >>696 
 (整数演算で)「乱数範囲÷100×100」以上は再試行しないと… 
698: 名前は開発中のものです。 [sage] 2008/04/12(土) 16:56:10 ID:wUyPJZn0(2/2) AAS
 仮説をたててみた 
  
 乱数の元になる数が0-9の10種類で出現する可能性は同じ 
  
   乱数の元:0 1 2 3 4 5 6 7 8 9 
  
 0〜2の乱数出力時の式 
  
   式:rand() % 3 
  
 乱数の元から0〜9が1回ずつ登場した場合 
  
   出力数:乱数の元 
  
     0 : 0 3 6 9 
     1 : 1 4 7 
     2 : 2 5 8 
  
 だから、>>696の実行結果はある値を境に出力頻度が変わった 
  
 これで正解?ちょっとググってくる 
  
 >>697 
 「乱数範囲÷100×100」って「乱数範囲」では? 
 乱数範囲%100を100セットってことかな 
699: 名前は開発中のものです。 [sage] 2008/04/12(土) 17:04:10 ID:u1ebOeKL(2/2) AAS
 例えば乱数範囲が0〜65535なら 
 65535÷100×100=65500になる。 
 65500〜65535は%100すると 
 結果のバラツキに繋がるので捨てるのが基本。 
700: 名前は開発中のものです。 [sage] 2008/04/12(土) 17:37:14 ID:VRvbtz8m(1) AAS
 乱数範囲による偏りに加えて、 
 線形合同法による乱数の下位nビットの周期が 
 高々2^nという点にも気をつけないといけない。 
 つまり、下位1ビットの周期は高々2^1 = 2。 
 偶数しか生成しないか、奇数しか生成しないか、 
 偶数と奇数が交互に生成されるかの3パターンしかない。 
 よって、線形合同法による疑似乱数生成関数randでサイコロを作ろうとして 
 rand()%6+1とかやっちゃうと、2人で遊んだ時に 
 片方のプレイヤーが偶数の目だけ、もう片方が奇数だけという状況が生まれる 
 (これをやっちゃった有名な例がカルドセプトサーガ)。 
  
 今でもCのrand関数は線形合同法のような形で実装されていることが多いけど、 
 下位kビットを捨て、k+1ビット目からを1ビット目と見なすことで 
 周期性の問題を解決しているものもある。 
701: 名前は開発中のものです。 [sage] 2008/04/17(木) 23:00:01 ID:xfcPWlW/(1) AAS
 1〜100までの数が書かれた玉が1個ずつ入った箱から、玉を取り出す場合は、どの数が出てくる確率も同じだけど、 
 1〜100までの数が書かれた玉が1個ずつ入っていて、さらに1〜10の玉を箱の中に追加したら確率が変わる。 
 そういうことだな。 
 で、余分に入れちゃった1〜10を取り除く処理が必要というわけだ。 
  
   rand()から得られる乱数範囲 : 0〜65535 
   取得したい乱数範囲      : 0〜99 
  
 の場合、0〜99が同じ確率で得られるように 
  
   65535 - (65535 % 100) = 65500 
  
 を超えた部分は捨てる 
  
 つまり、rand()の戻り値が65500より大きかった場合は、無効な範囲から取得したとして 
 rand()による乱数取得をもう一度やりなおす。 
  
 プログラムの流れをまとめてみた 
   1. rand()を実行 
   2. もし、rand()の戻り値が65500より大きいなら1.へもどる 
   3. rand()の戻り値を100で割った余りを得る 
   4. おわり 
702(1): 名前は開発中のものです。 [sage] 2008/06/04(水) 08:04:37 ID:PZn8j6Ch(1) AAS
 新Gamedevできたのでかきかき 
  
 TopPage - game-develop.com wiki 
 外部リンク:wiki.game-develop.com 
  
 GameDevWikiを何とかするスレ 
 2chスレ:gamedev 
703: 名前は開発中のものです。 [] 2008/06/14(土) 23:31:21 ID:nnavq8hB(1) AAS
 数当てゲームはこんなので良いですかね 
  
 1.ウィンドウを表示する 
 2.ランダムに1〜10までの数字を一つ表示する 
 3.数字を入力して、その数字を表示する 
 4.2の数字と3の数字を比べて、入力された数よりも大きかったらBig 
  小さかったらSmallと表示させる 
 5.3と4を3回繰り返させる 
  もし正解したらそこでゲームを終わりにする 
704: 名前は開発中のものです。 [sage] 2008/11/06(木) 02:05:29 ID:5LSMjBOf(1) AAS
 >>702 
 間違っています。 
 以上。 
 ↓次の方どうぞ 
705: 名前は開発中のものです。 [sage] 2008/11/06(木) 23:24:20 ID:oz8drcUW(1) AAS
 はい、次の人です。 
 お前の安価が間違ってるぞ、と。 
上下前次1-新書関写板覧索設栞歴
あと 82 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.021s