今からはじめるプログラミング24
ノベルゲーム、RPGときたので、アクションはとても理論がわからないので、カードゲームをつくってみようと思って、実際にオンラインのカードゲームを遊んでみたw
ムズ!!!
理論も何もシステムが難しすぎて、僕の頭では理解できずに、勝率0%を叩き出していますw
RPGよりは簡単そうな気がしているのです、、、けれども。
なんというか僕はカードゲーム世代ではないからか、正直なところ、興味がモテないんだけれども、息子はポケモンカードゲームとか普通にやっていたので、たまに誕生日などにちょっと大切なカードをもらったりしてました。
ムシキングとかね。
でも今はカードゲーム全盛?なのか、アニメブームもあって?息子も遊んでいたカードをメルカリで売ったりしているみたい。
そしてメルカリは禁止になったとか。
そんなわけでカードゲームはお預けかな?今回は、使いそうで使わない?Systemクラスのいろいろ。。。というほどの中身もないけど、ちょっと知っておくと便利かもしれないくもない?ぐらいのプログラムです。
ようはSystem.getProperty("キー文字列");で取得できる要素のリストを画面表示しました。
ViewPropertySample
------------------------------------
package sample12;package sample12;
import java.util.StringTokenizer;
import javax.swing.JFrame;import javax.swing.JScrollPane;import javax.swing.JTable;
public class ViewPropertySample {
public static void main(String[] arguments) { // Systemクラスの現在時間を取得するメソッドで、処理時間を測定できる
long start = System.currentTimeMillis();
// Systemクラスの属性を取得する String systemProp = System.getProperties().toString();
// Stringをカンマで分割する
StringTokenizer st = new StringTokenizer(systemProp, ",");
// トークンんの数だけ行数をもつテーブルをつくる
int cnt = st.countTokens();
// テーブルの作成 JTable table = new JTable(cnt, 2);
// テーブルの列名を設定 table.getColumnModel().getColumn(0).setHeaderValue("プロパティのキー"); table.getColumnModel().getColumn(1).setHeaderValue("プロパティのあたい");
// 行数を指定しながら?キーの情報と値をテーブルに設定していく
int row = 0;
while (st.hasMoreElements()) {
String token = st.nextToken();
// System.out.println(token);//画面にださなくてもよければ
int idx = token.indexOf("="); //=の位置で文字列を分割
String key = token.substring(0, idx);
String value = token.substring(idx + 1);
//=の手前をキー
table.setValueAt(key, row, 0);
//=の後ろを値
table.setValueAt(value, row, 1);
//次の行へ
row++;
}
//画面の構築
JFrame frame = new JFrame();
JScrollPane scroll = new JScrollPane(table); frame.getContentPane().add(scroll); frame.setTitle("すすてむぷろぱてー"); frame.setSize(400, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 処理時間を測定できる
long end = System.currentTimeMillis();
long proc = end - start; System.out.println("proc time(" + proc + "ms)");
//システム属性の使い方?例えば、言語を取得して英語と日本語の切り替えをしたり。(user.languageの方がいい?) System.out.println("user.country=" + System.getProperty("user.country") + "");
if("JP".equals(System.getProperty("user.country"))) {
System.out.println("japanese process");
}else if("EN".equals(System.getProperty("user.country"))) {
System.out.println("english process");
}
frame.setVisible(true);
}
}
------------------------------------
実行結果は以下のようになります。
まぁこんな画面を作る必要はないですが、どんなものがあるかを眺めてみるのも面白いですね、一応、画面を表示する手前にプロパティの直で、分岐するサンプルを書いてみてますが、languageの方がいいですかね?
コメントでも同様なことを書いてます。
ところで、RPGといえば、Wizerdryです?というかここで作ったRPGなどより数倍、数十倍、数万倍すごいものがすでにあるので、ガチなゲームプログラムはこっちのほうがためになると思います。
すごい人がいるもんです。
ちなみに僕が好きなシナリオは「Vのhaert of the maelstrom」です。
アマゾンだとスーファミ版が売ってますね。
6以降はやってないです。正確にはWizerdry onlineを少しやってみましたが、なかなか僕には難しかったです。終わってしまったのが残念です。オンラインゲームは運営さん次第でゲーム世界が閉じられてしまうのが、難点ですね。お金と時間が手に入ったら6以降もプレイしたいです。