[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 05/09 18:32 / Filesize : 269 KB / Number-of Response : 746
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者】課題をクリアしていくスレ【講習会】



1 名前:名前は開発中のものです。 [04/06/10 18:05 ID:VshiFFV8]
ゲームに必要な要素を先生が出してくれます

その課題をクリアしていく講習会です

700 名前:名前は開発中のものです。 mailto:sage [2008/04/12(土) 17:37:14 ID:VRvbtz8m]
乱数範囲による偏りに加えて、
線形合同法による乱数の下位nビットの周期が
高々2^nという点にも気をつけないといけない。
つまり、下位1ビットの周期は高々2^1 = 2。
偶数しか生成しないか、奇数しか生成しないか、
偶数と奇数が交互に生成されるかの3パターンしかない。
よって、線形合同法による疑似乱数生成関数randでサイコロを作ろうとして
rand()%6+1とかやっちゃうと、2人で遊んだ時に
片方のプレイヤーが偶数の目だけ、もう片方が奇数だけという状況が生まれる
(これをやっちゃった有名な例がカルドセプトサーガ)。

今でもCのrand関数は線形合同法のような形で実装されていることが多いけど、
下位kビットを捨て、k+1ビット目からを1ビット目と見なすことで
周期性の問題を解決しているものもある。

701 名前:名前は開発中のものです。 mailto:sage [2008/04/17(木) 23:00:01 ID:xfcPWlW/]
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 名前:名前は開発中のものです。 mailto:sage [2008/06/04(水) 08:04:37 ID:PZn8j6Ch]
新Gamedevできたのでかきかき

TopPage - game-develop.com wiki
wiki.game-develop.com/

GameDevWikiを何とかするスレ
pc11.2ch.net/test/read.cgi/gamedev/1156117275/

703 名前:名前は開発中のものです。 [2008/06/14(土) 23:31:21 ID:nnavq8hB]
数当てゲームはこんなので良いですかね

1.ウィンドウを表示する
2.ランダムに1〜10までの数字を一つ表示する
3.数字を入力して、その数字を表示する
4.2の数字と3の数字を比べて、入力された数よりも大きかったらBig
小さかったらSmallと表示させる
5.3と4を3回繰り返させる
もし正解したらそこでゲームを終わりにする

704 名前:名前は開発中のものです。 mailto:sage [2008/11/06(木) 02:05:29 ID:5LSMjBOf]
>>702
間違っています。
以上。
↓次の方どうぞ

705 名前:名前は開発中のものです。 mailto:sage [2008/11/06(木) 23:24:20 ID:oz8drcUW]
はい、次の人です。
お前の安価が間違ってるぞ、と。

706 名前:名前は開発中のものです。 mailto:sage [2008/11/24(月) 20:57:35 ID:qPCWYPAF]
過疎ってるけれどお邪魔しますよっと
いきなりパックマン作ろうと思って挫折したので、
一からこちらで勉強しにきました
数当てゲームから挑戦していきたいと思います

707 名前:706 ◆Jg2hMRjtc. mailto:sage [2008/11/24(月) 21:26:57 ID:qPCWYPAF]
1.数当てゲーム 
Level1 ウィンドウを表示する
ttp://www.geocities.jp/shobo_dankaiteki/


708 名前:706 ◆Jg2hMRjtc. mailto:sage [2008/11/24(月) 21:55:12 ID:qPCWYPAF]
1.数当てゲーム 
Level2 ランダムに1〜10までの数字を一つ発生させ、表示する
ttp://www.geocities.jp/shobo_dankaiteki/



709 名前:706 ◆Jg2hMRjtc. mailto:sage [2008/11/25(火) 21:39:13 ID:GdvnSEyE]
1.数当てゲーム 
level3 数字を入力して、その数字を表示する
ttp://www.geocities.jp/shobo_dankaiteki/


710 名前:706 ◆Jg2hMRjtc. mailto:sage [2008/11/26(水) 21:45:19 ID:Wb2d5d5f]
1.数当てゲーム 
Level4 Level2の数字とLevel3の数字を比べて入力された数よりも大きかったらBig。小さかったらSmall。同じならHitと表示させる。
ttp://www.geocities.jp/shobo_dankaiteki/


711 名前:名前は開発中のものです。 [2009/01/05(月) 19:13:02 ID:F8IEg8lA]
int main()
{
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB|GLUT_DEPTH|GLUT_ALPHA);
glutInitWindowSize(800,600);
glutInitWindowPosition(0,0);
glutCreateWindow("ロボット");
init();
glutReshapeFunc(reshape);
glutKeyboardFunc(key_press);
glutDisplayFunc(draw);
glutMainLoop();
return 0;
}

712 名前:名前は開発中のものです。 [2009/01/06(火) 21:32:51 ID:c5JPjzC/]
いまから参加したいけど何すればいい?

713 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 21:59:13 ID:364hVwSo]
>>712
現在地も目的地もわからなければ道案内はできない
とりあえずプログラミング暦(スクリプト、ツールを含む)と最終的な目的(RPGが作りたいとか
Cをマスターしたいとか)を書いてくれ


714 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 23:29:33 ID:UozvWyya]
基礎からと言うならまずは英語かな。
英語を読むことができれば海外の情報をゲットできるよ。

これとか教材にすると面白いかも。
wiki.gamedev.net/index.php/Tools:Programming


715 名前:名前は開発中のものです。 [2009/01/14(水) 00:58:33 ID:uviUrAzN]
自分の位置をみつける目安は?

716 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 01:16:39 ID:yw67XO87]
プログラミングスキル:
Lv.1 テトリス
Lv.2 インベーダー
Lv.3 グラディウス

グラフィックスキル:
Lv.1 デッサン一年目
Lv.2 デッサン二年目
Lv.3 デッサン三年目

サウンドスキル:
Lv.1 MP3/OGGのエンコード方法がわかる
Lv.2 DTMがわかる/楽器を演奏できる
Lv.3 オリジナルアルバムをリリースする

ライタースキル:
Lv.1 10000文字以上の作品を書いて公開したことがある
Lv.2 100000文字以上の作品を書いて公開したことがある
Lv.3 1000000文字以上の作品を書いて公開したことがある

PMスキル:
Lv.1 2chで企画を出したことがある
Lv.2 2chで出した企画に肯定的なレスが3つ以上つく
Lv.3 2chで出した企画が成功する

センス:
Lv.1 ぐにゃぐにゃ
Lv.2 へろへろ
Lv.3 ぴきーん


717 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 03:18:01 ID:7SW263aP]
テトリスとインベーダーなら難易度はほぼ同じで
どちらかというとテトリスのほうが難しい
シューティングで並べるなら
Lv1インベーダ
Lv2ギャラガ
Lv3グラディウス

718 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 22:36:11 ID:GiBTcIUW]
プログラムスキルCUI編
Lv.0 Hello,World(環境設定、表示)
Lv.1 四則算(入力、変数)
Lv.2 Big & Small(乱数、制御文)
Lv.3 石取り(関数,AI)
Lv.4 Hit & Brow(配列)
Lv.5 タイピング(タイマー,ファイル読込)
Lv.6 クイズ(データ構造,文字列操作,構造体)
Lv.7 しりとり(ファイル読書込,検索,クラス)
Lv.8 ノベル(これまでのまとめ)
Lv.9 アドベンチャー、育成シミュ、経営シミュ(それぞれのアルゴリズム)
Lv.99 ローグ風RPG



719 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 23:15:49 ID:GiBTcIUW]
プログラムスキルWindow編共通
Lv.0 Window表示
Lv.1 パラパラアニメ(画像表示,タイマー)
Lv.2 もぐら叩き(マウス入力,点の当たり判定)
Lv.3 1画面STG、ドットイート(キー入力、当たり判定)
インベーダーは3.5くらい

パズル(+落ちもの)
Lv.1 スライドパズル(配列)
Lv.2 ブロック崩し(反射)
Lv.3 テトリス(回転)
Lv.4 ぷよぷよ、さめがめ、マインスイーパー(シードフィル)
Lv.5 Qix(マスクなどの画像処理)

アクションシューティング
Lv.1 スクロールSTG(スクロール)
Lv.2 横スクロールアクション(重力)
Lv.3 ベルトスクロール(奥行きつき当たり判定)
Lv.4 格闘(キー履歴)

RPG他
Lv.1 ノベル(メッセージ)
Lv.2 アドベンチャー(メニュー)
Lv.3 ドラクエ風RPG、シミュレーションRPG(2Dマップ)
Lv.4 アクションRPG(アクション)、クオータービューRPG(擬似3D)

ちなみにどれもネットワーク対応や3Dにするとレベルが上がる


720 名前:名前は開発中のものです。 mailto:sage [2009/02/14(土) 21:54:59 ID:O8g6aplU]
数当てゲーム完成
次15パズル挑戦してみたいと思います
level5
ttp://www.geocities.jp/shobo_dankaiteki/

721 名前:名前は開発中のものです。 mailto:sage [2009/02/14(土) 23:13:09 ID:O8g6aplU]
15パズル level2
ttp://www.geocities.jp/shobo_dankaiteki/

722 名前:名前は開発中のものです。 mailto:sage [2009/02/15(日) 10:57:23 ID:TTfM6L/J]
>>720
頑張ってるなあと賞賛しつつ、DXライブラリの挙動を理解してないなあという感想。
テキストの表示がおかしいとか感じないのかな?

そこは譲っても、正解してしまったときの処理がやばい。
DxLib_Endで開放してから正解の表示、これがどこで処理されるのか不定。
さらにここでループ抜けないので事態は悪化。
終了時にDxLib_Endで再解放・多重開放してしまうは致命的。
少なくとも、DxLib_Endはプログラムの最後にひとつだけ書くようにしたほうがいい。


15パズルはソース無いんで何もいえないけど、何ひとつできてない。
終了してウインドウが消えてから、ちらっと@って表示されてるあたり、
また根本的なとこでやらかしてる予想。

723 名前:名前は開発中のものです。 mailto:sage [2009/02/15(日) 11:23:10 ID:TTfM6L/J]
ちょっと試してみたけど、DxLib_End();の時点でアプリ終了するのな。
exit(0);とかabort();の感覚で使える。開放忘れの80倍はマシだけど、それはそれで怖い。

724 名前:名前は開発中のものです。 mailto:sage [2009/02/15(日) 12:57:16 ID:Wi9+QSGh]
>>722
アドバイスありがとうございます。

・数当てゲーム(レベル5について)

>そこは譲っても、正解してしまったときの処理がやばい。
>DxLib_Endで開放してから正解の表示
今見直してみたら、おっしゃる通りでした。
正解の表示を行った後ループを抜けるよう修正してみました。

ただ、
>DXライブラリの挙動を理解してないなあという感想。
>テキストの表示がおかしいとか感じないのかな?
ここの部分がまだ理解できません・・。
もしまだこのスレ見てらっしゃったら
ヒントいただけないでしょうか?

geocitiesに上手くアップロードできないので
うpろだお借りしました
修正した数当てゲーム(レベル5)です
www3.uploda.org/uporg2018927.lzh.html

725 名前:名前は開発中のものです。 mailto:sage [2009/02/15(日) 13:05:33 ID:Wi9+QSGh]
www.uploda.org/uporg2018937.lzh.html
15パズル(レベル2)ソース添付

今のところ画像表示命令を入れただけになってます


726 名前:名前は開発中のものです。 mailto:sage [2009/02/15(日) 14:00:58 ID:TTfM6L/J]
みなぎってきたんで15パズル作ってみた。
1時間ほど昼飯と息抜きしてたんで、2時間でLevel4あたり。
ttp://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0388zip.html
ひとのこと言えるようなソースじゃないね。今んとこ行き当たりばったりラジバンダリ。


DXライブラリの挙動関連は、まあ次でつまずくからいいや。
軽く直してやろうと思ったけど、ほとんど作り直しになったんで断念したw
ここを修正すればいいって話にもっていけなかった。
本サイトのサンプルプログラム「6.サウンドノベル風文字列描画基本」を参考に。

基本的に、画面が書き換わるたびに毎回すべて書き直さないといけない。
弾幕シューで何万の弾が飛び交ってても。
現状、コンソールアプリのように書きっぱなしで次に行ったらダメ。

727 名前:名前は開発中のものです。 mailto:sage [2009/02/15(日) 14:29:16 ID:5+NnQ4mO]
ttp://www.vipper.org/vip1110939.zip.html
数あて製作完了
プログラミングよりVBの基本操作でつまずいてるorz

次は15パズルに挑戦!

728 名前:726 - 15パズル mailto:sage [2009/02/15(日) 16:46:43 ID:3hrBr0KU]
とりあえずLv7完成。5時間弱。
ttp://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0389zip.html

やっぱ、5時までかかるか。
変なバグというか仕様上の勘違いでけっこう時間取られてしまった。
気分というか、やりたいように組んだのでソースは汚い。
DrawScene関数の中でマウス入力から移動判定まで、ぜんぶ処理してしまってる。
それも悪いけど、もっとひどいのがチップの配列。
2次元なら最初から2次元で作っておけばごちゃごちゃ計算しなくて済んだのに。



729 名前:名前は開発中のものです。 mailto:sage [2009/02/16(月) 00:22:49 ID:scWh6dm3]
私の持っている参考書の15パズルで最初にシャッフルするときに
ランダムに2点選んでスワップしてんたんだけど、
この方法でシャッフルしても元に戻せることは数学的に
証明されてるんだろうか
一次元ではできない、三次元(の中の平面)ではできることが明らかだけど

730 名前:名前は開発中のものです。 mailto:sage [2009/02/16(月) 22:53:58 ID:eQix4yBB]
偶数回スワップなら戻せることが証明されてる。
奇数回スワップなら不可能が証明されてる。

731 名前:名前は開発中のものです。 mailto:sage [2009/02/16(月) 23:46:10 ID:iZVk2yZd]
>>730
ありがとん
奇数か偶数で分かれるのか
理由はわからないけど何か納得、裏の裏は表みたいな

732 名前:名前は開発中のものです。 mailto:sage [2009/02/17(火) 00:54:42 ID:0TvnpHf0]
>>730
そーなんだ・・。
じゃあ最初のシャッフルは出鱈目じゃまずいんだね
俺は729さんじゃないけど勉強になりました。
ありがとう

733 名前:名前は開発中のものです。 mailto:sage [2009/02/17(火) 13:42:59 ID:/aLJ4H12]
enumどこに書くかで迷う
どこかに一括して書くと楽だけど、そうするとカプセル化としては駄目なんじゃないかとか
ホントくだらないけど迷う

734 名前:名前は開発中のものです。 mailto:sage [2009/02/17(火) 18:57:53 ID:yXaEW/E5]
alpha.cpp

enum HOGE
{
  hoge,
  hogeo,
  hogeko,
  hogerou,
  hogesuke,
};


beta.cpp

enum HOGE;

735 名前:VC++EEで ◆0XGXXnqf/2 mailto:sage [2009/03/10(火) 23:39:06 ID:TE+yeSUg]
2月下旬頃にC++入門書購入して読んでるところです
参戦いいですか?
まずは1-9の数当てゲーム作りまっす!しかしポインタが理解できん・・orz

736 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 00:42:20 ID:jT1zwAC2]
とりあえず数当てにポインタはいらんとおもうよ

737 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 18:33:22 ID:jSDTnQKl]
お前のパソコンだってメモリーくらい積んでるだろ?
そのメモリー上のアドレス(番地)を格納するのがポインター。
アドレスによってメモリー上に格納されている値などを参照できる。

実際にOSがゴニョゴニョやってるので、
本当にメモリーを差しているかは微妙だが、考えたら負けです。

738 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 20:00:12 ID:vkDtC1BV]
>>737
そこは微妙とかじゃなくて、指してないことにしとけばおk。(PC限定)




739 名前:VC++EEで ◆0XGXXnqf/2 mailto:sage [2009/03/12(木) 01:07:17 ID:f0fJeXBE]
ようやく完成。無駄に長いけど、大目に見てくださいw 改行が多いって怒られるので詰めてます
ポインタ使いませんでした。変数に値が入るっててのはわかるけど、アドレスがってのがイマイチわかりづらいなぁと。
*pointer で代入されてるアドレスに保存されている内容、 &pointer でポインタ変数そのもののアドレス、pointer 代入されてるアドレス、ってわかりづらい入門本のサンプルみても一見何してるか考えてしまう

#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main(){
int answer, data;
srand( (unsigned int)time(NULL) ); // 初期化
answer = rand() % 9 + 1; // 当てる数字の決定
cout << "数当てゲーム!" << endl << "1から9であなたのモノをいれて・・" << endl;
while(1){
cout << "数字: " << flush;
cin >> data;
if( !cin ){
cout << "それ、数字じゃないわ。" << endl << "アタシ、数字しか興味ないの。" << endl;
cin.clear(); cin.ignore(100,'\n'); continue;
}
if( data == answer ){
cout << "アタリ―――(゚∀゚)―――!!" << endl; break;
}else if( data < answer ){
cout << "あなたの入れたモノ、小さいのね。もうちょっと大きかったら・・" << endl;
}else{
cout << "あなた入れたモノ大きすぎて受け入れられないわ" << endl;
}
}
}

740 名前:名前は開発中のものです。 mailto:sage [2009/03/30(月) 22:02:27 ID:uQRoXSES]
ゲームを作れるようになりたい!
とりあえず「はじめてのC」って本を買ってこればいいですか

741 名前:740 mailto:sage [2009/04/17(金) 11:32:48 ID:yzLB2E4x]
「はじめてのC++」って本をとりあえず買ってきました
プログラミングをするにはコンパイラ?ってのがまず必要なんですね

次はttp://www.kumei.jp/c_lang/
にいってきます

742 名前:名前は開発中のものです。 mailto:sage [2009/04/19(日) 21:56:37 ID:ogfSXXfS]
頑張れー
俺はこことかみてる
vipprog.net/wiki/


743 名前:740 mailto:sage [2009/04/20(月) 18:40:27 ID:PoHKsmWU]
>>742
おおっわかりやすそうなサイトありがとう

知らない言葉の洪水に呑まれてちんぷんかんぷんな有様です
それでもなんとなく掴んだ感覚で
自分にはこのスレはまだ早い、とようやく気づきました
そもそもプログラム組むのってC言語しかないと思っていた(C++は最新版?くらいの)
もうすこし基本的なことを勉強してからまたきます^^

744 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 00:59:49 ID:dkvBYAOU]
gamedevは新しくなってる
ttp://wiki.game-develop.com/


745 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 01:00:31 ID:dkvBYAOU]
ごばくった・・






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<269KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef