« Wii 死亡 | トップページ | かぶとむし »

2009年5月20日 (水)

テニス・ダブルスの乱数表 on DS


ふと思い立って DS用のプログラムを書いてみた。


devkitPro の devkitARM をインストールするとついてくるサンプルプログラム
devkitPro/examples/nds/hello_world
などを参考に、
なんとか最低限目標としたプログラムになった。


テニスの、ダブルスの対戦乱数表である。


乱数表といいつつ、乱数は一切使っていなかったりする。


仕様:
 ・コート数は1~4を選択
 ・人数は4~64(1コート最大16人まで)を選択
 にて、
 99ゲームまでの対戦表を表示する。

アルゴリズム:
 完全独自。
 基本的な考え方は、(以下、すべて「なるべく」が付く)
 ・出場回数を同じにする
 ・連続休みをさせない
 ・連続出場をさせない
 ・同じ人と組ませない
 ・同じ相手と当たらせない
 ・同一の試合を組まない
   :
 を、適当に重み付けしている。


  実行ファイル&そーす → tennis-nds003.zip


DS向けに書いた初めてのプログラムなので
色々なことが出来ておらず、Hello World に毛が生えた程度である。

一昔 (ではきかないか、、、30年位前?) のパソコンのようなコンソール画面で、
情けないので、

時間が取れたら

 ・フォントサイズの変え方
 ・ASCII以外(日本語)文字の出し方
 ・画像の表示方法
 ・音の鳴らし方

なども調べてみたい。


ちなみに
画面左下の表示は、各人の試合数である。


とりあえずこれで、テニスの時に表をプリントしていかなくてもよくなった :)
もうちょっと視認性は上げたいが…


|

« Wii 死亡 | トップページ | かぶとむし »

ゲーム(NDS)」カテゴリの記事

コメント

DSとしてのプログラミングもさることながら
乱数表としてももうちょっとブラッシュアップの余地がありそう。
特にこの 7人のときがどうも苦手っぽい。。。

投稿: とんとん | 2009年5月21日 (木) 00時28分

実行ファイル&そーす を、ダウンロードしてみましたが、dsでの使い方がわかりません。
大変便利そうなので、是非使ってみたいのですが・・・
素人の私にも解る説明を頂けると有りがたく思います。
宜しく御願い致します。

投稿: | 2010年9月 7日 (火) 23時55分

こんにちは。
えーとですね
まず、自作アプリをDSで動かすためには、DSTTなどのツールが必要となります。
(たぶんこの時点でひっかかってますよね)
通常のソフトと同じような形状をしていて、MicroSDカードがメモリとなります。
このMicroSDに自作アプリ (*.ndsファイル)を入れてDSを起動し、
アプリを選択・実行する、という流れになります。

投稿: とんとん | 2010年9月 8日 (水) 09時33分

有り難うございます。
DSTTの購入を検討してみます。

投稿: | 2010年9月 8日 (水) 11時18分

初めまして!

 ・出場回数を同じにする
 ・連続休みをさせない
 ・連続出場をさせない
 ・同じ人と組ませない
 ・同じ相手と当たらせない
 ・同一の試合を組まない
とありますが、
・途中からの人数の増減
 (途中から1名増えたとか・・・)
・コートの増減
 (2コート→3コート→2コート)

っていうのは可能なんでしょうか?

投稿: james | 2012年3月25日 (日) 21時16分

jamesさん
こんにちは

途中からの変更ですが…
「途中で人が増えた」は一応対応してます。
増えた人は「ここまで平均的な成績でまんべんなく当たってきた」扱いにて。

「途中で人が減った」は対応できていません。
こちらは、「誰が抜けた」が指定できないと、
そこまでのデータがパーになってしまうので難しいのです。

コートの増減は、その時点でリセット(そこまでの試合結果を破棄)です。
そもそも、2コート以上の時のアルゴリズムがいまひとつで。。


と、ここまで書いてきて、このページに貼りつけてあるバージョン(v3)で試してみたところ、「途中で人が増えた」もリセットしてますね。。。
むむ?と思って探してみたんですが、ソースコードが見当たらない…失ってしまったかも。


ところで、今年の正月にちょっと時間があって、PSPにこのプログラムを移植しかけてました。
一応は動くのですが、ヘルプも何も無いので公開できる状態でなく、
かといって正月が開けてまた時間がとれなくなってしまってます。
そんなのでもよければ興味があればアップいたしますが。。。


さらにところで。
DSであれば、ndsファイルの動作確認はエミュレータを使ってPC上でできたりします。
NO$GBAというのの完成度が高かったので、興味があったら検索してみてください。

投稿: とんとん | 2012年3月26日 (月) 13時47分

どうでもいいですが、DS用コードフリークのエミュレート機能でも自作アプリ読み込み可能だったりします。

投稿: | 2012年3月27日 (火) 11時57分

おはようございます。
知り合いがDSでプログラムのダブルスの組合せを作っています。

ワタシはDS持っていないので・・・
でもPSP2000は持っているのでアップしていただけるとうれしいです。
知識はほとんどありませんが、駆使して勉強したいと思います。

お時間がある時にお願いします。
また、参考になるHPがあれば併せてお願いします。

投稿: james | 2012年3月29日 (木) 07時29分

jamesさん

> でもPSP2000は持っているのでアップしていただけるとうれしいです。

未完のものをでかでかとアップするのも恥ずかしいので、
(といいつつ私のプログラムがv1.0になることはほとんどないのですけど^^;)
こちらに添付の形で後ほどアップします。
少々お待ちください。

投稿: とんとん | 2012年3月29日 (木) 09時31分

http://www.mediafire.com/?elfcilkpnbmaio1
にアップしました。
簡単なreadmeもついてます。
わからないことがあれば聞いてください。
それでは!

投稿: とんとん | 2012年3月29日 (木) 09時40分

ありがとうございました。
無事、インストールすることができました。
使ってみて感想を書き込みたいと思います。

投稿: james | 2012年3月30日 (金) 00時35分

コメントを書く



(ウェブ上には掲載しません)




« Wii 死亡 | トップページ | かぶとむし »