PSP xvi
PSPプログラミングを教えるブログ(本気で頑張る人アクセス大歓迎サイト)

記事の間違いを報告 新アップローダー
記事修正情報 PSPプログラミング資料 自作ゲーム PSP用エミュレータ リンク
公認リンク
公式PSP専科 公式PSVita専科 はじめるPSPSDK PSP EXEC GAME M@STER PSP 猫山のYouTubeチャンネル
TAG>
全記事にタグをつけています http://nekoyama2gillien.blog36.fc2.com/?tag=タグ
PSP PSPプログラミング DXライブラリPortable OSLib ショートプログラム ハローワールド
PSP自作ゲーム PSP自作ソフト エミュレータ ゲームアーカイブス PSP動画
動画 初音ミク ミクミクダンス MMDドラマ ゲーム 魔法少女まどか☆マギカ 侵略!イカ娘
アイドルマスター
このブログについて
著作権などの こまかい利用規約については、こちらを開いてお読み下さい
このブログについて知りたい方、初めて来訪された方はこちらを開いてお読みください
お問い合わせは 猫山猫宗(nekomune@gmail.com)までどうぞ
当ブログはリンクフリーです。ブログ名は、アルファベットで「PSP xvi」と書いて『ピーエスピー・エクシビ』とお読みください。
相互リンクを希望されるブログ運営者様は、ココで申請して下さい。
このブログで全記事から探し物の方は、ここをクリックして下さい。
http://nekoyama2gillien.blog36.fc2.com/?all
サイコロさんゲーム製作 過程-03
2011/09/11
Sun. 11:56
サイコロの目を求める関数();
サイコロは正四角形の6面体ですね。転がるときは4面が順番に切り替わり、いづれかの面で止まります。
つまり、サイコロの目を求める場合は1つの目だけでなく4面の目、もしくは6面全部の目を求めておけば良い、という事です。
Q.どうプログラミングすればいいでしょう?
A.一次元配列に、サイコロの目を登録しておけばよいのです
こんな風に
int saikoro[6]={1,2,3,4,5,6};
サイコロの6面の全部の目の求め方(アルゴリズム)は・・・
1.サイコロの目を、6個から乱数で1つ選ぶ・・・・1面目の数字
2.選んだ1つの目を除いて5個の目に並び替える
3.サイコロの目を、5個から乱数で1つ選ぶ・・・・2面目の数字
4.選んだ1つの目を除いて4個の目に並び替える
5.サイコロの目を、4個から乱数で1つ選ぶ・・・・3面目の数字
6.選んだ1つの目を除いて3個の目に並び替える
7.サイコロの目を、3個から乱数で1つ選ぶ・・・・4面目の数字
8.選んだ1つの目を除いて2個の目に並び替える
9.サイコロの目を、2個から乱数で1つ選ぶ・・・・5面目の数字
10.残った1つのサイコロの目が・・・・・・・・・・6面目の数字
これで良いと思います。では次でプログラム化してみます。
- 関連記事
-
- サイコロさんゲーム製作 過程-01 (2011/08/18)
- サイコロさんゲーム製作 6面全部求めてみる (2011/09/20)
- サイコロさんゲーム製作 過程-04 (2011/09/13)
- サイコロさんゲームを作ってみないか!? (2011/06/27)
- サイコロさんゲーム製作 過程-03 (2011/09/11)
[edit]
« サイコロさんゲーム製作 過程-04 | PSPプログラミング UTF-8コードに潜む罠 »
この記事に対するコメント
サイコロ振ってみろ。1/6くらいの確率で同じ数字が連続するはずだ
理想的なサイコロは毎回の試行が独立しているから、そういう下手な乱数の調整をしたら、かえってサイコロから離れることになるぞ
うーん、素直に乱数で1つ値を決めれば良い気がするなぁ。
前の記事も読んだけど
無駄に複雑にする必要も無いんじゃなかろうか。
記事通りに考えると並べ替えのアルゴリズムも必要そうだし・・・
現実の6面ダイスだと表と裏を足したら7だから
3つ面が決まれば後は自ずときまるし。
DXPでやるなら
ChangeRandModeとGetRandを使えば
シンプルで良いんじゃないかなぁ。
ここは私も何か書きたいな。
これはきっとサイコロのころころ転がる動作を出すためにあらかじめ配列に登録しておくと想像。
最後の止まったときの数字はRandであらかじめ取得しておき
あとは登録した配列の数で数字をランダムで表示していき一定数回転させたら取得しておいた数字を表示
こんな感じで簡単なゲーム感覚になるかと思った。
絵で表示したら見た目も良くなりそう。
とりあえず、ぜ~んぶ空想ですよ。
トラックバック
| h o m e |




