05-乱数で遊ぼう

乱数で超簡単なジャンケンゲームをつくりまーす。

Java編

Javaでの0〜2の乱数の作り方はー

  1. new Randam()でランダムオブジェクトを作る。
  2. .nextInt()でランダムなint型の数を取得。
  3. Math.absで絶対値に変換。
  4. %3で3の余りを取得。
  5. で、0〜2の値となる。

またはー

  1. Math.randam()で0〜1未満の数を得る。
  2. *3をする。
  3. int型に変換する。
  4. と、0〜2になるはず。

★ソース

import java.util.*;

public class Janken{
	public static void main(String args[]){
		
		//数値→ジャンケンの手?
		String jankenStr[] = {"グー", "チョキ", "パー"};
		
		//引数チェック
		if(args.length==0){
			System.out.println("引数を入力してください。");
			return;
		}
		
		//アルファベットを数値に変換
		int usr;
		switch(args[0].charAt(0)){
			case 'g': usr = 0; break;
			case 't': usr = 1; break;
			case 'p': usr = 2; break;
			default : 
				System.out.println("g,t,pのいずれかを入力してください。");
				return;
		}
		
		//コンピュータの手
		int com = Math.abs(new Random().nextInt())%3;
		
		//結果表示
		System.out.println("あなた:"+jankenStr[usr]);
		System.out.println("コンピュータ:"+jankenStr[com]);
		
		swicth ((user-com+3)%3){
			case 0:
				System.out.println("あいこです。");
				break;
			case 1:
				System.out.println("あなたの負けです。");
				break;
			case 2:
				System.out.println("あなたの勝ち!");
				break;
		}
	}
}

PHP編

PHPマニュアル(rand関数)

★ソース

<?php

$jankenStr = array("グー", "チョキ", "パー");

switch($_POST['user']){
	case '': $usr = -1; break;
	case 'グー': $usr = 0; break;
	case 'チョキ': $usr = 1; break;
	case 'パー': $usr = 2; break;
	default :
		$usr = -1;
		echo '値が不正です。';
		break;
}

if($usr >= 0){
	//コンピュータの手
	srand(time());
	$com = rand(0, 2);
	
	//結果表示
	echo 'あなた:' . $jankenStr[$usr] . '<br>';
	echo 'コンピュータ:' . $jankenStr[$com] . '<br>';
	
	switch (($user-$com+3)%3){
		case 0:
			echo 'あいこです。';
			break;
		case 1:
			echo 'あなたの負けです。';
			break;
		case 2:
			echo 'あなたの勝ち!';
			break;
	}
}

?>

<!-- インプットボタン -->
<form action="janken.php" method="post">
<input type="submit" value="グー" name="user">
<input type="submit" value="チョキ" name="user">
<input type="submit" value="パー" name="user">
</form>

ASP.NET編

.NETFrameworkクラスライブラリ(Randomクラス)

★ソース

<html>
<script language="C#" runat="server">

private void Button_Click(object sender, CommandEventArgs e){
	String[] jankenStr = {"グー", "チョキ", "パー"};
	
	Random r = new Random();
	int iYou = Int32.Parse((String)e.CommandArgument);
	int iCom = r.Next(3);

	LbYou.Text = jankenStr[iYou];
	LbCom.Text = jankenStr[iCom];

	switch ((iYou-iCom+3)%3){
		case 0:
			LbRes.Text = "あいこです。";
			break;
		case 1:
			LbRes.Text = "あなたの負けです。";
			break;
		default:
			LbRes.Text = "あなたの勝ち!";
			break;
	}
}

</script>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>ジャンケン</title>
</head>
<body>

<form runat="server">
<asp:Button id="BtnG" runat="server" CommandArgument="0" onCommand="Button_Click" text="グー" />
<asp:Button id="BtnC" runat="server" CommandArgument="1" onCommand="Button_Click" text="チョキ" />
<asp:Button id="BtnP" runat="server" CommandArgument="2" onCommand="Button_Click" text="パー" />
<br />

あなた:<asp:Label id="LbYou" runat="server" /><br />
コンピュータ:<asp:Label id="LbCom" runat="server" /><br />
<asp:Label id="LbRes" runat="server" />
</form>

</body>
</html>


Tag: Tips Java PHP .NET


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-06-01 (月) 17:52:16 (1086d)
.NET Ajax AmazonWebServices Android C# C++ CMS Cacoo DB Exam Generics Java JavaScript Local Oracle PHP Perl Photo Programming Pukiwiki Python Qt Review Ruby SQLServer Seasar Software Tips Tool VB WebService Windows WindowsMobile XHTML XML XMLMaster XSLT game pdf wkhtmltopdf