PSP xvi

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

PSP-X.gif

記事の間違いを報告  新アップローダー
記事修正情報 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ドラマ ゲーム 魔法少女まどか☆マギカ 侵略!イカ娘
アイドルマスター

このブログについて

このブログでは、非公式のPSPソフト、いわゆる自作ソフト( PSP Homebrew )を作る事を目的とします。

著作権などの こまかい利用規約については、こちらを開いてお読み下さい

このブログについて知りたい方、初めて来訪された方はこちらを開いてお読みください
お問い合わせは 猫山猫宗(nekomune@gmail.com)までどうぞ


当ブログはリンクフリーです。ブログ名は、アルファベットで「PSP xvi」と書いて『ピーエスピー・エクシビ』とお読みください。
相互リンクを希望されるブログ運営者様は、ココで申請して下さい。


このブログで全記事から探し物の方は、ここをクリックして下さい。
http://nekoyama2gillien.blog36.fc2.com/?all

スポンサーサイト 

--/--/--
--. --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[edit]

CM: --
TB: --

page top

サイコロさんゲームを作ってみないか!? 

2011/06/27
Mon. 22:18

はいはい、ボクは長い間 いろいろと教え続けてきたと思います。

そこで、皆さんにあるテーマを投げつけて、自作ゲームを作ってもらおうという作戦を開始します。
・・・と言っても、初回なのでフローチャートを用意しておきました。

何を作って頂くかというと、サイコロを振って目を出すだけのプログラムです。
最初なのでね、これだけですよ。

え?もっとかっこいいゲームを作りたいって・・・?そんな人は、そういう妄想を抱いて何も作れないままで居るつもりですか、クソゲーとか決め付けるのは心の狭い考えしか出来ない人です。何にでもチャレンジしてくださいっ!

製作期間は、一週間くらい、とします。

リソースも含めて、全部製作していただきます。

製作のヒントを言うと・・・
・PSPSDKだけで作るもよし、DXライブラリPortableを使って作るもよし
・画面描画の後は、画面表示をしないと反映されない
・サイコロの目は乱数で求める
・パッド入力待ちルーチンはどこかに書いてある
・×ボタン、○ボタンの値はDXライブラリPortableにも定義されている


完成した人は、ウチのアップローダーに登録しても良いですよ(ファイルスペースが許す範囲で)
なので、仕様書や、使い方、著作権表記も書いて頂きます
恥ずかしい・・・と思ってる人は、こっそり作って自分のPSPだけで遊んでいて下さい

サイコロ振るだけです。1~6の数値を乱数で生成すればよろし

これだけ言いましたから、1週間あるんだし、のんびり製作していただけるかと思いますが、どうでしょう。

猫山式のフローチャート貼っておきます

サイコロさん0002

コンテストでも何でも無い、自作ゲーム開発の第一歩だと思って 是非挑戦して下さい
作り方は このブログの記事に書いてあるはずです。いろいろ分散してますが

アップローダーはこちら
http://loda.jp/nekomune_/

猫山も製作します。一応、見本として提出予定

スポンサーサイト

[edit]

CM: 6
TB: 0

page top

サイコロさんゲーム製作 過程-01 

2011/08/18
Thu. 23:03

せっかくなので開始です

まず、雛形のソースコードを取りに行きます
PSPプログラミング 公式PSP対応 DXLib Portable v0.5.7 での雛形(書き方)


で、フローチャートの通りに作ってゆくと、このようになります

/*****************************************************************************
* アクション
*****************************************************************************/
void action(void)
{
  int pad_states; // パッド値を入れる変数
 
  while(1)
  {
    背景を黒色で塗りつぶし;
    DrawFormatString(X,Y,色,"さいころ振りますよっ!");
    DrawFormatString(X,Y,色,"○はい  ×終了");
    画面表示;
 
    ProcessMessage(); // パッド読み取り本体
    pad_states = GetInputState(); // パッド値を得る
 
    if(pad_states == ×ボタン)
      return();
 
    if(pad_states == ○ボタン) {
      さいころの目を決める関数();
      さいころの目の表示関数();
    }
    パッド入力待ち関数();
  }
}

まぁ、これから作り上げてゆけばいいのです。
今日はここまで。

[edit]

CM: 0
TB: 0

page top

サイコロさんゲーム製作 過程-02 

2011/08/23
Tue. 06:29

ちょっとずつ更新します


void Pad_Wait(); 【最初の方に追加(関数宣言)】
 
(中略)
 
/*****************************************************************************
* アクション
*****************************************************************************/
void action(void)
{
  int pad_states; // パッド値を入れる変数
 
  while(1)
  {
    DrawBox(0,0,480,272,BLACK,TRUE); // 背景を黒色で塗りつぶし
    DrawFormatString(X,Y,色,"さいころ振りますよっ!");
    DrawFormatString(X,Y,色,"○はい  ×終了");
    ScreenFlip();   // 画面表示(実は表画面と裏画面を切り替え)
 
    ProcessMessage(); // パッド読み取り本体
    pad_states = GetInputState(); // パッド値を得る
 
    if(pad_states == DXP_INPUT_CROSS) // ×ボタンなら
      return(); // この関数を抜けます
 
    if(pad_states == DXP_INPUT_CIRCLE) { // ○ボタンなら
      さいころの目を決める関数();
      さいころの目の表示関数();
 
      Pad_Wait(); // パッド入力待ち関数
    }
  }
}
 
/*****************************************************************************
* パッド入力待ち関数
*****************************************************************************/
// この関数は、PSPパッド入力を待つ関数です
// 十字キー、ボタン、全部からどれかが押されるまでひたすら待ちます
// 何か押されたら、即終了して抜けます

void Pad_Wait()
{
  do {
    ProcessMessage();
  }while(CheckHitKeyAll() == 0);
}


 
 


さて、残るは
 ・さいころの目を決める関数();
 ・さいころの目の表示関数();
ですが。

さいころの目は乱数で求めるべき、と書きましたが、どうやればいいのでしょうね?
乱数は、続けて同じ数値になる場合がありますね
さいころは正四角形6面体なので、6面全部決めたほうが良いんじゃないかと思います・・・

ヒマな方はちょっと考えてみてくださいませ

[edit]

CM: 0
TB: 0

page top

サイコロさんゲーム製作 過程-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面目の数字

これで良いと思います。では次でプログラム化してみます。

[edit]

CM: 3
TB: 0

page top

サイコロさんゲーム製作 過程-04 

2011/09/13
Tue. 22:31

急遽変更

サイコロの目を6面分全部求めるように・・・と書きましたが、これは転がるアニメーションをさせようかという安直な考えを企んでいたからです。kyiさん、鋭いですなww

実際にサイコロを振っても目が繰り返しになっているか確認するヒマはありません。よって6面全部求める必要はなくなりました
サイコロは1つの目だけ求めるように変更します

ではどうするか・・・

かげさんがコメント欄で書いてらっしゃるようにすればいいですね


乱数のタイプはこれにしましょう
// PSPのハードウェアの乱数生成器を使います。高速です
ChangeRandMode(DXP_RANDMODE_HW);
↑これを、初期設定関数の int initton(void) 関数の中へ入れます

サイコロの目を求めるには・・・

  GetRand(5)+1;

これでいいですね。

「サイコロの目を表示」は・・・
転がるアニメをやってから目を出せばいいかと。

転がるアニメは、■と◆の文字の繰り返し表示でいいかと思います


とりあえず作ったのをアップローダーに上げておきました
ダウンロード

[edit]

CM: 0
TB: 0

page top

サイコロさんゲーム製作 6面全部求めてみる 

2011/09/20
Tue. 08:05

6面全部求めるばーじょんを作ったので公開

サイコロ6


実行せっと&ソースコード込みで PSP xvi のろだに置いてあります

[edit]

CM: 0
TB: 0

page top


h o m e |


 

2017-04