yamicha.com's Blog - Presented by yamicha.com
Blog yamicha.com's Blog - 2018/01 の記事
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31]

yamicha.com's Blog
 諸事情により、現在更新休止中。ご了承ください。もし今後ブログを再開することがあるとすれば、その際にはこのブログスクリプトではなく、新しく開発したものによるかもしれません。
 当ブログ管理者についてはこちらをご参照。
開発魔法(737)
社会問題(733)
お知らせ(11)
質問・バトン回答(15)
ゲスト出演(8)
経済・知的財産(150)
ゲーム開発(182)
[Ada] 勝手に補足
- Note
- 金配りの次の一手


- Endless Ultimate Diary
- 銃世界

漢字バトン
- うるる雑記帳
- 漢字接力棒

ツキアイゲノムバトン
- ブログ@うにうに画像倉庫
- あぶ内閣

縺イ縺セ縺、縺カ縺励ヰ繝医Φ
- 月夜のボヤキ
- 騎士サーラバトン
パスワードを使う
名無し (2012/02/27)


開発者解放裁判
yamicha.com (2010/03/14)
Winnyに関しては、私も「純白」とまでは考えておりませんし、使用し..

開発者解放裁判
通りすがり (2010/03/08)
winnyに関しては「ダウンロードソフト板」なんてところを拠点に開発..

新型インフルエンザの恐怖
いげ太 (2009/11/03)
> C#などの「int Some(int , int)」は、F#では「(int * int) ->..

時効に関する思考
yamicha.com (2009/08/31)
>いげ太さんコメントありがとうございます。手元にドキュメントが少..
Homepage
Blog Top
Normal View
List View
Search
Calendar
Comment List
Trackback List
Blog RSS
Send Trackback
Phone Mode
Administrator
yamicha.com
Blog
るううるる。
Source
法令データ提供システム
FindLaw
Development
Java2 Platform SE 6
Java EE 6 API
MySQL Developer Zone
PHP Reference
MSDN Library
Ada Reference Manual
Objective Caml
Python Documentation
Erlang
Prolog Documents
カテゴリ表示
 カテゴリ 質問・バトン回答 に当てはまるもののみを表示します。

 存在する記事 15 件の中から 11-15 件を表示しています。
我、取締役を失せん
2006/03/20(Mon)20:24:45
 「月夜影」のブログよりトラックバックをいただいたため、とりあえず回答してみました(文字コードの関係で化けてしまっていますが)。こちら、「一発変換バトン」だそうです。当方、環境はIME 2002、作成文書の多くはお堅いものです。カタカナ語などは「無変換キー -> タイピング」によって下手に辞書登録されないように気をつけています。「イリアス」や「サーラ」は別として。
1、あいーん:愛ーん
2、どっぐふーど:ドッグフード
3、こまねち:こまね血
4、みかん:みかん
5、だっちゅーの:奪ちゅーの
6、りかちゃん:里香ちゃん
7、ふぉー:フォー
8、・・・:・・・
9、きれてないっすよ:切れて名逸すよ
10、かんじゃにえいと:患者に栄と
11、やっさん:やっさん
12、ようかん:洋館
13、かとぅーん:化トゥーん
14、ぶいしっくす:部位シックス
15、きんききっず:近畿キッズ
16、ひつがやとうしろう:ひつが雇う四郎
17、かんじゃにえいと:-
18、おんざれぃでぃお:穏座例ディお
19、おれさまのびぎによいな!:俺様の美技に良いな!
20、おきたそうご:起きた相互
21、むひょうとおる:霧氷とおる
22、あれんうぉーかー:アレンウォーカー
23、なすらぶどうめい:なスラブ同名
24、くろさきいちご:黒崎イチゴ
25、こうやどうふ:高野豆腐
26、しぶやゆーり:支部やユー利
27、おろなみんしー:お炉名民シー
28、こうだくみ:こうだ組
29、さいしゅうへいきかのじょ:最終兵器彼女
30、あれろっく:あれロック
31、ばんぷおぶちきん:万夫オブチキン
32、えにえす・ろびー:絵にエス・ロビー
33、みずきなな:水木七
34、しゅうじとあきら:習字と明
35、らせんがん:螺旋がん
36、ちょうしゅうこりき:徴収こり気
37、きらいづる:嫌い鶴
38、ひょうりんまる:表りん○
39、ざびまる:座日○
40、きくまるえいじ:聞く○英字
41、にこちゃんだいまおう:二個チャン大魔王
43、ふじわらもとお:藤原元雄
44、えるれがーでん:得るれガーデン
45、たかむらしん:高村新
46、ぎゃぐまんがびより:ギャグマンが美より
47、ちもり:血森
48、ふじわらたんぞう:藤原鍛造
49、みやたこうき:宮田後期
50、ながれやましもん:流山指紋
51、かがらしゅういち:加賀らしゅう位置
52、せんけつのあっしゅ:専決のアッシュ 
53、ガイラルディア・ガラン・ガルディオス:がいらるでぃあ・伽藍・がるでぃお酢
54、ちょうそかべもとちか:彫塑壁も土地か
55、さるとびさすけ:去る飛び佐助
56、らぶさいけでりこ:ラブサイケで利己
57、すけべだいまおう:スケベ大魔王
58、しゅごてきよろいぼね:主語的鎧骨
59、ぼたんとばら:ボタンとバラ
60、げんすい:元帥
61、あすらん・ざら:明日欄・ざら
62、てんらくじんう:転落腎盂
63、あめくれ:雨暮れ
 かなり代わり映えしない結果では。一発変換できるものといえば、インスタンスとかストリングとかプロンプトとかサーブレットとかニレコとか毒薬条項とか対面(トイメン)とか国士無双とか。変わったところでは「騎士サーラ」も「魔道士イリアス」もいけますが、「剣聖」や「ハードゥン」は変換できません。あ、「万景峰」なんてもの単語登録していたの忘れていました。

 staticは奥深い、というお話。私は極力staticメソッドを用いないのですが、様々なドキュメントを読んでいくと色々面白いことに行き着きました。1つや2つは新しい発見があるものです。
 まずstaticメソッドのロックについて。通常のsynchronizedロックはオブジェクトのインスタンスに対してロックをかけます。ですから、同じオブジェクトでも2つも3つもインスタンスを生成すれば、それぞれのロックは別個のものとして扱われます。メソッド単位にsynchronizedするのは、ブロックで「synchronized(this)」するのと同等であり、自分のインスタンスに対してロックをかける行為です。
 そういうわけで、複数のメソッドをsynchronizedした場合、誰かがsynchronizedされたメソッドを実行中なら、他のスレッドはあらゆるsynchronizedメソッドにアクセスできません。とまあ、ここまでは基本です。Tactical Revolutionでも、runメソッドからのメインプロセス・入力・描画のすべてをロックしていますが、これはスレッドプログラミングとしては当然です。
 メインプロセスでは、変数をループさせてキャラを1人ずつマップに登録したり、配列を書き換えてマップチップを配置・変更したりしているのですが、ロックしなければこの間に描画が割り込んできたりします。すなわち、キャラの登録途中のマップや、マップチップ配置中のマップが見えてしまったり、最悪の場合は描画中に配列の大きさが変更されたり、オブジェクトがNULLになったりして、例外が飛んできます。
 しかし、ロックはインスタンス(正確にはそのポインタ。ゆえにNULL値のオブジェクト及びintやcharのようなプリミティブ型はsynchronizedできません)に対してかけるものですから、普通に考えればインスタンスの存在しないはずのstaticメソッドにロックというのはおかしいわけで。ところが、これができてしまうのです
 しかも動作はかなり特殊で、(インスタンスがないくせに)synchronizedが記述されたあらゆるstaticメソッドが同じロックに属するとのことですが、どうも仕様として怪しいような。ついでにstaticメソッドの場合はともかく、変数の場合はどのような挙動になるのでしょう。ということで、試してみました。
<%!
// ロックのテスト用オブジェクト
final static Object lock1 = new Object();
final static Object lock2 = new Object();

// synchronized static メソッド
synchronized static void method1(JspWriter out){
	waiting(out , "Method1" , 10*1000);
}
synchronized static void method2(JspWriter out){
	waiting(out , "Method2" , 10*1000);
}

// ウェイトを取るメソッド
static void waiting(JspWriter out , String str , long time){
	try{
		// 数が大きいと分かりづらいので60秒を最大値にする
		out.println(str + " Started : " + new Date().getTime() % (60*1000));
		long start = new Date().getTime();
		while(start + time > new Date().getTime())
			;
		out.println(str + " Stopped : " + new Date().getTime() % (60*1000));
	}catch(Exception e){
	}
}
%>

<%
String param = request.getParameter("proc");
// パラメータによって動作変更
// パラメータがNULLなら何もしない
if(param == null)
	return;

// ロック処理がなされるstaticメソッドをコール
if(param.equals("method1"))
	method1(out);
if(param.equals("method2"))
	method2(out);

// static変数を用いてロック
if(param.equals("lock1")){
	synchronized(lock1){
		waiting(out , "lock1" , 10*1000);
	}
}
if(param.equals("lock2")){
	synchronized(lock2){
		waiting(out , "lock2" , 10*1000);
	}
}
%>
 後は引数によって動作が変わる、お手軽仕様のJSPです。それでは早速試してみるとしましょうか。まずブラウザを2つ準備し、片方のブラウザでURLを開いてから、できるだけ早く(10秒以内に)もう片方のブラウザでもURLを開けば、容易にロックの実験を行うことができます。とりあえず、最初は両方の引数を「method1」とした場合から。これは当然、排他ロックがなされることになるでしょう。
// ウィンドウ1 - ?proc=method1
Method1 Started : 45421
Method1 Stopped : 55435

// ウィンドウ2 - ?proc=method1
Method1 Started : 55446
Method1 Stopped : 5450
 予想通りの結果です。ウィンドウ1のスレッドが処理を終えてから、ウィンドウ2のスレッドがメソッドに入っています。それでは、両者で違うsynchronizedメソッドを呼び出した場合には。
// ウィンドウ1 - ?proc=method1
Method1 Started : 23182
Method1 Stopped : 33186

// ウィンドウ2 - ?proc=method2
Method2 Started : 33186
Method2 Stopped : 43190
 この場合も確かに待機されています。なるほど、staticメソッドのロックはstatic同士で共有というのは間違いなさそうです。まあ便利でしょう。それでは、static変数に対するロックの場合にはどうなるのでしょう。staticメソッド内ではstatic変数以外のクラス変数を使うことができませんから、もしstatic変数にロックが使えないようなら、staticメソッド内での自由なロック実装が著しく困難になります。となると、普通にロックを使うことができる、と考えるのが自然でしょう。
// ウィンドウ1 - ?proc=lock1
lock1 Started : 39777
lock1 Stopped : 49801

// ウィンドウ2 - ?proc=lock1
lock1 Started : 49801
lock1 Stopped : 59816
 どうやら正しくロックできているようです。static変数は実体が1つしかなく、アクセス指定さえ折り合えばあらゆる場所からコールすることができますから、すなわちJavaのどこからコールしようが、どこでも同じロックが使われることになりそうです。
 ところで、メソッドに対するsynchronizedの場合は違うメソッドでも同じロックが使われていましたが、それでは異なるstatic変数に対してロックを用いた場合はどうなるのでしょう。
// ウィンドウ1 - ?proc=lock1
lock1 Started : 29463
lock1 Stopped : 39478

// ウィンドウ2 - ?proc=lock2
lock2 Started : 30946
lock2 Stopped : 40950
 この通り。変数に関しては別々にロックが設定されるようです。つまり、staticメソッドでもstatic変数をロックに使えばロックを細分化できますし、staticメソッドと普通のメソッドでロックを共有することもできそうです。
 その他、staticのもう1つの奥深さは、何と言っても「シングルトン」や「ファクトリ」です。JavaのAPIには、(abstractまたはinterfaceであるなしにかかわらず)publicコンストラクタが用意されておらず、newInstance()やgetInstance()といったstaticメソッドを用いてインスタンスを生成するものがいくつかあります。どうしてこういう面倒なことをするのでしょう。オブジェクト指向として美しくありません。
 そこで色々と考えてみた結果、以下の理由に当てはまる場合にはstaticメソッドでインスタンスを生成する方法が適切ではないか、という結論に行き着きました。

1.プロパティやServletの配備記述子、JNDIなど他のソースから情報を取得できる場合、またはインスタンス生成メソッドにそれを指定する引数を渡す場合で、そうした情報に応じて異なるインスタンスを返す必要がある場合
2.最初にインスタンスをいくつか用意しておいて、要求に応じて空いているインスタンスを貸し出したり、インスタンスを2つ以上作らせない(シングルトン)場合など、生成側でインスタンスを制御する必要がある場合

 まず1の場合ですが、これはクラスがabstractであっても構いません。さすがにインタフェースではstaticメソッドが登録できませんので、abstractまたは普通のクラスの上でコンストラクタはprotectedである必要があります。
 そんなこんなで、サンプルを1つ作ってみました。
// InstanceMain.java
import java.util.Properties;

public class InstanceMain{
	public static void main(String args[]){
		String arg = "1";
		// 引数がある場合はそれをプロパティに設定
		if(args.length > 0)
			arg = args[0];

		// com.yamicha.instance プロパティを設定する
		Properties p = System.getProperties();
		p.put("com.yamicha.instance" , arg);

		// newInstance() メソッドでインスタンスを生成
		Instance i = Instance.newInstance();
		if(i != null)
			System.out.println(i.getValue());
	}
}

// Instance.java
import java.util.Properties;

// 基底 Instance クラス
abstract public class Instance{
	public static Instance newInstance(){
		Properties prop = System.getProperties();
		String p = prop.getProperty("com.yamicha.instance");

		// プロパティの値に応じてクラスを生成
		if(p.equals("1"))
			return new Instance1();
		if(p.equals("2"))
			return new Instance2();
		return null;
	}
	abstract public String getValue();
}
class Instance1 extends Instance{
	protected Instance1(){
	}
	public String getValue(){
		return "これは Instance1 です";
	}
}
class Instance2 extends Instance{
	protected Instance2(){
	}
	public String getValue(){
		return "これは Instance2 です";
	}
}
 後はこれを「java InstanceMain」(引数を使う場合は1または2)で実行すれば、それぞれに違ったインスタンスが生成されるというわけです。これ自体は大したものではありませんが、例えばデータベースのドライバを生成したり、魔道士イリアスの実装がベンダによって異なったりする際(どういう意味かは不明)などに便利です。
 普通のインスタンス生成の場合と違い、プロパティやJNDIを読んでから返すインスタンスを決めることができたり、適当なクラスでラップするなり初期値を設定するなりといった小細工も簡単です。
 後は、これは別に必ずしもstaticである必要はありませんが、例えば「Magic」というクラスがあるとして、これには多くのabstractメソッドが定義されています。魔道士イリアスはこれをオーバーライドした「com.yamicha.attack.fire.easy.Fireball」と「com.yamicha.attack.fire.ultimate.Conflagration」クラスを作りました。前者の方が低機能ですが、後者は多くのMRとメモリを食ってしまいます。
 しかし、その他にも色々なクラスを作った上、魔法媒体によっても実装されているクラスがまちまちになってしまい、さらに自作でない魔法クラスまで入り混じって大変なことになってしまいました。さて、ここで森林を焼き払わなければならなくなってしまったのですが(大いなる自然破壊)適切なクラスがどれだか分からなくなってしまいました。こうした状況を防ぐには、どうすれば良いのでしょうか。
 この場合、専用のファクトリクラスを用意し、必要としている魔法の規模や性能といった値を渡し、それに応じた適切なクラスを返させるのが楽で良さそうです。XMLパーサもこれと似たような仕組みで実装されているらしく、まずファクトリのインスタンスを取得し、そのファクトリに「名前空間の有無」などを指定した上で、そこからドキュメントのインスタンスを受け取る、といった構造になっています。

 次に2の場合、いわゆる「シングルトン」です。シングルトンの場合、インスタンスは1つしか生成してはいけません。2つ以上あっては困るのです。となると、コンストラクタでバカバカ作られてはたまったものではありません。
 そこで作ってみたのが以下のコードです。このコードでは「初回のみインスタンスが生成され、2度目からは前に作ったインスタンスを取得する」という規則になっています。ですから、どのスレッドから呼んでも、ServletでSingleThreadModelをインプリメントしても、2つ以上のインスタンスが作られないことが完全に保証されます。
// SingletonMain.java
public class SingletonMain extends Thread{
	public void run(){
		// インスタンスを取得し
		Singleton s = Singleton.newInstance();
		// 自分のスレッド名とインスタンスの値を表示
		System.out.println("Thread " + getName() + " : " + s.getValue());
	}
	public static void main(String args[]){
		// インスタンスを取得(プログラムの流れからしてここで生成される)
		Singleton s = Singleton.newInstance();

		// 引数があるならその値を登録
		if(args.length > 0)
			s.setValue(args[0]);
		System.out.println("セットした値 : " + s.getValue());

		// スレッド1を立てる
		SingletonMain m = new SingletonMain();
		m.start();

		// スレッド2を立てる
		SingletonMain m2 = new SingletonMain();
		m2.start();
	}
}

// Singleton.java
final public class Singleton{
	// シングルトンの唯一のインスタンス
	private static Singleton instance = null;
	String value;

	// 外部からのコールを許さないプロテクテッドコンストラクタ
	protected Singleton(){
		value = "";
	}
	public static Singleton newInstance(){
		// NULLの場合のみインスタンスを生成
		if(instance == null)
			instance = new Singleton();
		return instance;
	}
	public String getValue(){
		return value;
	}
	public void setValue(String v){
		value = v;
	}
}
 後は、コマンド「java SingletonMain 適当な引数」を実行してやれば、
セットした値 : message
Thread Thread-0 : message
Thread Thread-1 : message
 のような表示がなされます。これが何の役に立つかといいますと、例えばデータベース接続なり、やたら処理の多いインスタンス生成なり、何か初期化に時間のかかる処理を記述しておきます。そして、次からはそのインスタンスをそのまま返す(使い回す)ようにすれば、処理時間を短縮できるというわけです。
 javax.sqlのコネクションプーリングはこうした仕組みで動いているという話。例えば、あらかじめ配列にいくつかのインスタンスなり接続なりを用意しておいて、newInstance()が呼び出されたら使われていないインスタンスを返し、使い終わったインスタンスに関しては返却してもらうようにすれば、こうした処理は比較的容易に実装できそうです。
 そうでなくても、例えば複数のスレッドを使うなり、メソッドにまたがるなりして何度も接続と切断を繰り返しているような場合、シングルトン1つ作ればそれだけで楽になりそうです。

 そしてこのシングルトン、実はPHPにも存在したりします。しかも概念としての存在ではなく、「singleton」という機構(パターン)が実際に言語仕様として定義されています。ついでに「factory」とやらも存在しています。
 しかし、関数名を「singleton」にしろという話ですが、別に守らなくても全く問題なしという良く分からない代物です。おそらく、シングルトン実装の際は分かりやすいように何人もsingleton関数を使え、ということなのでしょうが。
// シングルトンクラス
class SingletonClass{
	// シングルトン用インスタンス
	static private $instance;
	// PDOクラス
	private $db;

	// 外部から呼び出しできないprotectedコンストラクタ
	protected function __construct(){
		$this->db = new PDO("mysql:host=www.localyamicha.com" , 
			"yamicha" , "password");
	}
	// インスタンス生成用メソッド
	public static function singleton(){
		// 初回のみ生成
		if(!isset(self::$instance))
			self::$instance = new SingletonClass();

		// 初期化
		$dba = self::$instance->getPDO();
		$dba->exec("ROLLBACK");
		$dba->exec("USE yamicha");
		return self::$instance;
	}
	// PDOオブジェクトを得る
	public function getPDO(){
		return $this->db;
	}
	// クローンを作成してはいけない
	public function __clone(){
	}
}

function add_record(){
	$sc = SingletonClass::singleton();
	$db = $sc->getPDO();

	// 適当なSQL文
	$db->exec("BEGIN");
	$s = $db->prepare("INSERT INTO sample VALUES(5 , 'サラサーラ')");
	$db->exec("ROLLBACK");
}

function view_image(){
	$sc = SingletonClass::singleton();
	$db = $sc->getPDO();

	// サーラさんのフェイス
	$s = $db->prepare("SELECT data FROM datatable WHERE name = ?");
	$s->execute(array("sara.gif"));
	$img = $s->fetch(PDO::FETCH_ASSOC);
	print $img["data"];
}

add_record();
view_image();
 本来なら2度接続してしまうところを、1度だけの接続で済ませることができます。Servlet/JSPでは同じオブジェクトが使い回されるため(SingleThreadModelを除く)、データベースへの接続は他のユーザーに使われていないものを必ず初期化の上で用いる必要がありますが、PHPならそういう概念はありません。
 次にファクトリモデルですが、このような記述でモデリングは間違いないのかイマイチ自信がありませんが、とりあえず作ってみました。
// 下準備 - top.localyamicha.com
USE yamicha;

CREATE TABLE image_table(number INT , name VARCHAR(255) , 
PRIMARY KEY(ber) , FOREIGN KEY(number) REFERENCES sample(number) 
ON DELETE CASCADE ON UPD CASCADE);

INSERT INTO image_table VALUES(0 , 'ilias.gif') , 
(1 , 'sara.gif') , (3 , 'harden.gif');
 このテーブルを準備して(sample及びdatatableテーブルは以前のブログで作成済み)、次に
class FactoryClass{
	static private $instance;
	private $db;
	// 指定された情報から接続を行う
	protected function __construct($host , $user , $password){
		$this->db = new PDO("mysql:host=$host" , $user , $password);
	}
	// 以前に同じ接続を行っているなら前の接続を返す
	public static function factory($host , $user , $password){
		if(!isset(self::$instance[$host][$user][$password]))
			self::$instance[$host][$user][$password] = 
				new FactoryClass($host , $user , $password);
		return self::$instance[$host][$user][$password];
	}
	public function getPDO(){
		return $this->db;
	}
	public function __clone(){
	}
}

// 実装
// まずキャラ名からキャラ番号を取得
$sc = FactoryClass::factory("www.localyamicha.com" , "yamicha" , "password");
$db = $sc->getPDO();
$db->exec("USE yamicha");
$db->exec("SET NAMES sjis");
$s = $db->prepare("SELECT number FROM sample WHERE name = ?");
$s->execute(array("イリアス"));
$number = $s->fetch(PDO::FETCH_NUM);

// キャラ番号から画像ファイル名を取得
// ※これらの情報が同じサーバーデーモン内にあるなら
// わざわざこのようなコードを使わずリレーションしましょう
$sc = FactoryClass::factory("top.localyamicha.com" , "yamicha" , "password");
$db = $sc->getPDO();
$db->exec("USE yamicha");
$db->exec("SET NAMES sjis");
$s = $db->prepare("SELECT name FROM image_table WHERE number = ?");
$s->execute(array($number[0]));
$name = $s->fetch(PDO::FETCH_NUM);

// 画像ファイル名から画像データを取得
$sc = FactoryClass::factory("www.localyamicha.com" , "yamicha" , "password");
$db = $sc->getPDO();
$db->exec("USE yamicha");
$db->exec("SET NAMES sjis");
$s = $db->prepare("SELECT data FROM datatable WHERE name = ?");
$s->execute(array($name[0]));
$img = $s->fetch(PDO::FETCH_NUM);
print $img[0];
 こうすると、新しい接続が見つかった際にのみ接続を行い、そうでなければ以前の接続を渡してくれるため、効率が上昇することが分かります。ただし、トランザクションをやりかけで終わるなどの行儀の悪いことをしていたり、コードセットや分離レベルを変更していれば、それらもそのまま引き継がれますので、その点は要注意です。初期化処理に手を加えれば好きなように変更できますが、今回はそういう実装です。
 構造としても、PDOはデータベースインタフェースですから、実際にはSQLの種別も保存項目の1つになるでしょう。
 以上、static、シングルトン/ファクトリ デザインパターンモデルとの長い戦いでした。

 米国が牛肉輸入を強硬に迫っているそうですが、日本は有効な手立てを打ち出せないままでいます。そんなもの、「契約を破ったのはそちらだ。いい加減にしろ」とでもはっきり言えばいいと考えては見たものの、相手の顔ぶれを見て納得。それはもう、相手がライスですから。勝ち目ないと見るのも当然でして。それでも安全にかかわることですから、何が何でも主張を通してもらわなければ困ります。
 ところで、米英が変なことを言い出しています。「イラクは内戦状態にはない。内戦状態と認めることはテロリストを利する」と言いつつ「今イラクから撤退するのはナチにドイツを渡すようなもの」だそうで。良く考えてみるとパラドックス、「a < b , b < c , c < a」が成り立ってしまっています。
 イラクが内戦状態にないのなら、撤退することは別に問題ないはずです。ナチにドイツを渡すことにはなりません。しかし、撤退は都合が悪いとおっしゃる。ということは、イラクは内戦状態にあるわけです。イラクは内戦ではなく、撤退はナチにドイツを渡すようなもの、という論理は破綻していますから、ここは「イラクは内戦の危機にあります。単独行動は反省するから、皆さん力を貸してください」とでも言ってもらった方が余程潔いでしょう。
 そういえば、日本のマスコミも似たようなことをしていました。「イラク戦争を支援しなければ日米同盟は根底から揺らぐ」「日本が危機に陥ったら米国は必ず助けてくれる」の自己矛盾した2つを堂々と主張する厚顔無恥っぷり。やはりマスコミには勝てません。イラク戦争を支持しない程度で揺らぐ、体を張って助けてなどくれない程度にもろい同盟なのか、それともイラク戦争程度では揺らがないほど堅固な同盟なのか、はっきりしてください。
 全く話は変わりますが、ライブドア支援でちょっとした騒ぎになった楽天の社外取締役が辞任するそうです(ちなみにUSENの社長)。「ライブドアとは関係ない」とのことですが、実際にはそうでもないとか。USENが競合企業ライブドアを支援するということで、さすがに楽天の社外取締役を続けるのはマズいと判断したのでしょう。
 悪徳企業であるライブドアはもとより、私の中では楽天も、村上ファンドにそそのかされてTBS買収に乗り出し、結果としてハゲタカ村上ファンドを利してしまってからどうも評価が悪いのですが、USENに関してはまだ何とも。ゆえにこのUSEN社長・楽天社外取締役の正当性も判断できませんが、何にしてもライブドアをまっとうな企業に変えられれば良いのですが。
 それにしても、ITというものがこの世に実在しないせいか、どうも「IT」を名乗る有名企業はうさんくさいです。かのソフトバンクにしても、Yahoo!BBの1年待たせ事件以来どうも怖いですし、ライブドアの堀江被告などは見ての通りですし、楽天も色々と。TBS問題の他、かなり無茶な宣伝工作をしていたり、やはり信用なりません。
 USENがライブドアを支援する理由としては、「ポータルサイト事業に力を入れる」とのことですが、ポータルサイトというのはそこまで需要のあるものなのでしょうか。私などはRSSの動作テストのためにYahoo!のRSSリーダーを利用する程度で、検索は(明らかにポータルサイトではない)Googleを利用することがほとんどです。ディレクトリ検索などを使わなくても、多くの場合は目的の情報を見つけるのは容易です。
 天気予報などの諸情報は専門のサイトの方が詳細で見やすいですし、ニュースも専門サイトを見るのが早いです。そもそも1社のみから配信された情報など信用なりません。辞書サービスや路線検索などは時には利用しますが、そんなに毎日使うようなものでもありません。そうしたことを考えると、ポータルサイトに相当な需要がある、というのはどうも解せません
 どういう行動を取ったところで、USENの勝手ではあるのですが、ライブドア傘下の優良企業は次々に離脱を表明していますので、ライブドアを落としたところでポータル事業以外の収穫は望めません。そもそもライブドアは(粉飾されていなければ)赤字経営であり、本業以外の企業の利益でそれを埋め合わせしていたと聞いていますが。
 ただ1つ言えるのは「現在ライブドアへの風当たりはきわめて強い状態ですので、次に何か脱法行為があれば命取りです。USEN及びライブドアの(粉飾にかかわっていなかった)方々は、そういうことがないようまじめにがんばってください」ということだけです。堀江被告を見ての通り、最後は正直者が得をするのですから。
カテゴリ [開発魔法][社会問題][質問・バトン回答][経済・知的財産] [トラックバック 0][コメント 0]

多角的逆襲バトン
2005/11/06(Sun)02:35:36
 またしてもバトンが飛んできました。しかし、今度の私は一味違います。ということで、簡単に回答をば。

・おはようバトン
1.睡眠時間はいかほど?
 まちまち。寝られる時は6時間ほどな寝ておきたいものです。頭の稼働時間と使用率がかなり大きいので、ボーッとするのは辛いのです。

2.寝た時間は?
 これまたまちまち。決まった時間はなく、時には「1時間寝て起きて数時間作業してまた1時間寝て起きて・・・」ということも。

3.起きてまず身体の何処を動かしましたか?
 頭、といっても脳です。よく「起きて2時間しないと頭が目覚めていない」といいますが、私の場合は起きた瞬間から脳の使用率が100%のため、いきなりプログラムを打っても全くいつも通りの効率が出せます。

4.朝ご飯は食べる方?
 どちらでも。燃費がやたら良いらしく、朝どころか朝昼抜いても辛いと感じたことはありません。おかげで自動車学校に行った時は「朝なし -> 10〜11時ごろから3〜4時辺りまで教習で昼なし -> 夜のみ」のようなパターンが結構ありました。


 例によってバトンは止め置きます。しかし、今回の私は一味違うのです。というわけで反撃バトンを作ってみました。私らしい内容になっていますが、なかなか面白いはず。

・コングロマリット創作バトン
※回答不可能・困難な項目は見送って差し支えありません。

1.とりあえず、差し支えなければバトンを受け取った相手の創作に関する情報を(創作のタイトルやURLを書くなり、簡単な紹介を書くなり、ご自由に)。

2.相手のキャラでお気に入りはいますか?目安5名ほど(3名でも10名でも何でも可)。

3.自分の持ちキャラの中で可能な限り強い人、それから相手のキャラで同じく強い(と思われる)人が異種間戦闘を行ったとします。戦った2人は誰と誰ですか?また、どのような戦闘によりどちらが勝利するものと考えられますか?

4.自分の作品と相手の作品の融合があったとして、見てみたいものは?(例えば相手のキャラが自分の武器を持っているなど)

5.それでは、同じく共演して欲しい人たち、気が合いそうな人たちは?(人数・設定問わず)

6.あなたの背中は私が守る、自分のキャラと相手のキャラで共闘できそうな2人は?また、その戦闘スタイルは?

7.相手のキャラの魅力を一言でも文章でもいいのでどうぞ。

A.いわゆる「次にバトンを回す5名」です。もし協力してくれそうな人、バトンを欲しがっているような人がいるなら、バトンを回す人を指定してください(相手は何人でも可)。いないなら記入不要、0人可。

B.このバトンを誰かが勝手に持って行って回答することを許可しますか?許可する場合、誰かが勝手にバトンを取って行って、例えば3番の質問で自分のキャラが負けていたとしても、怒らないようにしてください。

C.もし複数の作品をお持ちの方で「この作品について答えてほしい」「この作品については答えないで」といった指定、または次の人に伝えたい備考などがある場合はこちらで。


 以上です。私らしいバトンではありませんか。通常、バトンは2度以上回されてはやりようがありませんが、このバトンは回す人の数だけ答えがあります。なお、次に回す人の記入は強制ではありません。バトンにはチェーンメール性がありますから。特に、相手とは知り合いでも相手のオリジナルを知らない状態でいきなり「答えてください」と回されても、非常に困ります。こうした回し方は避けるようにしましょう。その代わり勝手に答えてもらうことができるようにしてみました。
 一部、戦闘が前提のような質問があって、平和型の話の作者さんにとっては辛い質問かもしれません。ただ、バトンとは大抵がそういうものですから、そこは臨機応変に。オリジナルを複数持っている人の中には、戦闘系と平和系の両方を持っている人もいますから、この場合はそれぞれ質問にあわせてキャラをチョイスすれば良いでしょう。
 コングロマリットとは「多角的経営」や「買収による異業種参入経営」といった意味合いですが、相手のキャラが入ると世界が多角的になるものです。もしよろしければお試しを(試してみたい方はトラックバックが便利です)。
 といっても、発信元が答えられないのがこのバトンの難点なのですが。1〜7は逆立ちしても答えられないので、とりあえずA〜Cについては答えてみます。

A.いわゆる「次にバトンを回す5名」です。もし協力してくれそうな人、バトンを欲しがっているような人がいるなら、バトンを回す人を指定してください(相手は何人でも可)。いないなら記入不要、0人可。
 一次創作、調味料といった様々なバトンを回してくださる雛世さん、あなたが最初の犠牲者です。

B.このバトンを誰かが勝手に持って行って回答することを許可しますか?許可する場合、誰かが勝手にバトンを取って行って、例えば3番の質問で自分のキャラが負けていたとしても、怒らないようにしてください。
 当然許可です。

C.もし複数の作品をお持ちの方で「この作品について答えてほしい」「この作品については答えないで」といった指定、または次の人に伝えたい備考などがある場合はこちらで。
 特にこれといっては。とりあえず3番に答えてくださる方向けに備考ですが、あの騎士と魔道士のどちらが強いかは私も知りません。役割が違うだけで、強さは同程度でしょう。後はお好きなように。

 ふっふっふ、これでようやく反撃がなせました。

 例によってこれだけでは何ですから、実装論について。
 プログラム開発ほど書き方に流派のあるものはありません。以下の書き方は私がいつも用いている方法であり、人間の数だけ書き方があるのですから異論があるのは当然です。ただ、正解のない問題ですから、色々な考えがあるのは良いことです。そこで私流の実装規則をいくつか。

1.基本文法
void main(){
	printf("text");
}

if(a > 100)
	a = 100;

int *p;

func(arg1 , arg2 , arg3);
 まず1つ目、これが私のブロックの書き方です。こだわりとしてはmain() と { の間にスペースを入れない点。それから、人によっては main() と { の間に改行を挟んだりするのですが、私は挟んでいません。
 2つ目、中カッコを省略できる場面では遠慮なく省略します。3つ目、人によっては int* p などと書いたりして、実はこれが正解なのですが、これだと「int* a , b , c;」のような場面で「aのみがポインタ型とみなされる」ことになり、見づらくなります。それなら「int *a , *b , *c;」と書いた方が直感的に分かりやすくなります。とはいえ、私は大抵宣言時に初期化(0やNULLを入れるなど)するため、まとめて変数を書くことはほとんどありませんが。
 4つ目、他にはよく func(arg1, arg2, arg3); のような書き方がありますが、どうにもなじめません。空白1つで分かりやすさが違います。ここは好みの問題ですし、この程度でコードが読めなくなったりはしませんから、どうでも良くはあります。ただ私の記述ではこのようになっているというだけです。

2.命名規則
// ただしJavaの命名とする
int array_length;

static final int FIELD = 0;

public void getLength(){
}
 こちらも1つ目から順に。私はC/C++育ちですから、この場合に「arrayLength」と変数を名づけることはしません。また、変数の名づけ方を「array_length」のように統一することで、メソッドと変数をうっかり間違えることがないという実装上のメリットも出てきています。特にクラス内で処理する時には便利です。
 2つ目、定数フィールドは大文字です。これもC/C++の#defineより。3つ目はメソッドですが、こちらは郷に入っては郷に従え、先頭のみ小文字です。これは従っておかなければ、例えば他の標準APIでgetLength()というメソッドが存在したら、
// Petern.1
myclass.GetLength();
apiclass.getLength();

// Petern.2
myclass.get_length();
apiclass.getLength();
 となって分かりづらいことこの上ありません。それどころか、バグの元にすらなりかねません。それから、ローカル変数とクラス変数でこれといって名称を区別はしていませんが、ローカル変数に「int x;」「y」のようなものが少なくないのに対し、クラス変数ではそこそこまともな名前をつけます。
 最後に忘れてはならないのがこれですが、

3.コメント
int i = 0;	// 処理のコメント
/*
複数行コメントなら
このように記述すればOK
*/
 基本的にこれだけです。いちいちコメントを飾り付けたりはしません。色分けのないエディタで読む際は、/* */ コメントが見やすいようにコメント中の行頭に * をつけるなどして欲しい、のような合理的な主張もあるにはあるのですが、あいにく私は /* */ コメントを「何らかの記述の一時コメントアウト」程度にしか用いていません。なぜかといいますと、
int i = 0;	// 0で初期化
i += 100;	// 100を代入
i *= 10;	// 10倍する
 このような処理をコメントアウトするには、最初の行に「/*」、最後の行に「*/」を入れるだけで良いのですが、仮に通常のコメントに /* */ を使っていたら
/*
int i = 0;	/* 0で初期化 */
i += 100;	/* 100を代入 */
i *= 10;	/* 10倍する */
*/
 コメントはネストできないため、処理部分2行目(i += 100;)からはコメントとみなされない上、最後の「*/」が意味不明な記述になってしまい、エラーが出てしまうのです。これを避けるには、/* */ にしか対応していないC言語でもない限り、通常のコメントは「//」で行い、処理をコメントする場合にのみ「/* */」を用いる方が合理的です。
 以上、私も少しは合理性を考えて書いているものです。そういえば、便利ながらあまり知られていないものに「3項演算子」があります。これは
int value = rand() % 256;

// 3項演算子の場合
value = value > 100 ? value : 100;

// ifの場合
if(value > 100)
	value = 100;
 値を返すだけに限るとはいえ、if処理を1行で記述できてなかなか便利なのですが、明らかに可読性が低下するため、あまり使いません。
 以上がバトン回答と新バトンと私の書き方規則でした。
カテゴリ [開発魔法][質問・バトン回答] [トラックバック 2][コメント 0]

2連バトン
2005/10/30(Sun)19:46:50
 またもや雛世さんよりバトンが回ってきました。この前の「当サイトへの萌えバトン」のように「家具屋に出かけて惣菜を買う」ようなムチャなバトンではありませんので、答えてみることにします。2本あるのですが、1本ずつ。

A.サイトバトン

1.取り扱いジャンルと傾向
 見ての通り、何でもありです。管理者自体の知性がさほど高くないため、こういう内容ですが。一応は意見発信・ブログ・開発・ゲームサイトということで。創作ということなら、魔道士イリアス発祥の地です。

2.それぞれのジャンルの好きな男女キャラは?
 ジャンルといっても当サイトでは1つですが。いくつも作ると話がこんがらがるばかりですし、利用者の方も世界観がつかみづらくなります。男性キャラは何とも答えがたいですが、もし交友関係を持つのであれば聖騎士シェイン。女性は、というより中性ですが、デュアルナイトのサーラで。この人たちなら温厚ですから。

3.作品を作っているときに思うこと
 作品といっても、私の場合はプログラミングですから、ひたすら裏方のプログラムに徹し続け、英文を1つ1つ積み上げていってようやく形になっていく、というのが私の「作品」です。経験者なら分かるはずですが、これがまたものすごく辛いわりに評価されない作業なのです。ということで、「作品は○○のようにしよう」と考えるより、発狂してファイルを全部消したくなるような衝動に駆られることの方が多いです。

4.サイトにおける目標or野望
 まずは多くの人にゲームを楽しんでいただいたり、ブログの閲覧者を増やすことです。人が増えれば活動の幅も広がりますし、人脈も広がります。

5.バトンをまわす5人
 セイさん、リュウさん、アヒさん、バンさん、ゴさん。

B.一次創作バトン

1.今までに作ったお話しの数
 数え切れないほど作っていたり、企画が存在したり。ただ、私の場合はゲーム化なりプログラム化なりするのがゴールですから、なかなか完成しないのです。

2.今現在進行形で作っているストーリーの内容
 Tactical Revolutionが進行形、ということになるでしょうか。革命物語のSLGです。バラバラに存在しているようにみえるゲームの数々ですが、実は全部続き物なのです。

3.一番影響受けてるなぁ、と思う創作物
 創作物ではないですが、昨今のくだらない過剰な反フェミニスト議論。これがなければ、筋金入りの騎士であるサーラは生まれなかったでしょう。事実、初期設定では魔法も使えましたし、どちらかといえば魔法騎士でした。内側に「反フェミニストども、バカじゃないの?」というメッセージを込めたキャラです。

4.個人的にお気に入りな創作キャラ5名(キャラ名、作品タイトル、簡単な説明)
(タイトルは同じなので省略させていただきます)
・イリアス
 この人なくしてこの物語は語れません。何といっても最強の魔道士ですから。ゲームということで、ステータスにもこだわりました。魔力が高く、素早く、しかも頑丈なのがこれからの魔道士です。「次世代の魔道士」の意味を込めて「革命魔道士」と名づけました。

・サーラ
 主役キャラの1人。上で書いたことの繰り返しになりますので、詳細は省略するとして。不思議なことに、ちまたでは女性の「魔法戦士」は存在するものの、「重装兵」や「魔法を使わない型の肉弾騎士」が存在しないのです。というわけで作ってみた結果、それはもう強い強い。こういう騎士になると性格も男勝り系統が多いのですが、そもそも「男勝り」なる言葉自体が男性を基準にしています。そこで、「性別のような低次元なことは気にすらしない」というキャラを作ってみました。そうするとキャラまで強い強い。戦闘でも仲間を守る大切な役回りです。

・ハードゥン
 ここのところ結構気に入っているキャラです。やはりシブい熟練騎士は良いです。サーラさんの15年後はあんな風、なのでしょうか。熟練した剣術で若手騎士をも打ち破りますが、サーラにだけは完敗したようです。なお、設定上もステータス上も「剣の腕はサーラとほぼ同等」となっています。

・シェイン
 聖騎士です。ゲスト出演以外にはそれほど出演していないので、少しばかり影が薄いですが、サーラと似た人格をした温厚な人です。ちなみに、Tactical Revolutionのプレビューには、これまたどういうわけかサーラの知り合いの「聖騎士マーズ」というのもいます。

・シルバーブライト
 個人的にお気に入りということなら、入れてしまわなければ。Tactical Revolution Dividedでサーラをバカにしてあっさり倒され(サーラがとても強い理由)、さらに懲りずに挑んでまた倒され(反転攻勢返り討ち)、果てはどういうわけか魔道士イリアス著作の魔法媒体でサーラの幻影サラサーラを生み出し、この幻影は使用者の人格を写すということで、そいつに剣聖ハードゥンが殺されかける(騎士サリー)始末。ちなみに裏設定ですが、当人は生み出したサラサーラにあっさり気絶させられたそうです。

5.次にバトンを回す5人
今度は違う人に回しましょう。きょう君、ハンちゃん、セッ氏、カ氏、アさま、お願いします。

 これだけでは何ですから、私の裏設定についていくつか。
 私が最初に習得した言語はC/C++でしたが、本当はコンパイラが無料のJavaを最初に始めようと考えていました。ところが、Javaはいきなり以下のような記述を要求されるのです。
// アプリケーションの場合
public class ClassName{
	public static void main(String args[]){
		System.out.println("Hello World!");
	}
}

// アプレットの場合
import java.awt.*;
import java.awt.applet.*;

public class ClassName extends Applet implements Runnable{
	ClassName t;
	public void init(){
	}
	public void start(){
		t = new ClassName(this);
	}
	public void run(){
		repaint();
	}
	public void update(Graphics g){
		g.setColor(Color.black);
		g.drawString("Hello World!");
	}
}
 こちらは英語もほとんど使えないのに、「public」だの「static」だの言われても何のことだか分かりません。当時は「int」すら分からなかったのですから。これはダメだとあきらめて、次に手を出したのがVC++ 6.0でした。友人を使って学割で購入して10000円なり。これは簡単にはあきらめられません。そこで習得を始めたのですが、何とプログラムが
#include <iostream.h>

void main(){
	cout <<"Hello World"<<endl;
}
 これだけで成り立ってしまうのです。Javaで困り果てた私にしてみれば、驚くほど簡単でした。それから色々と苦難もありましたが、ある程度のC/C++知識を体得しました。ポインタもオブジェクト指向も必死になって覚えました。さて、その次に手を出したのがPerlです。こちらもまたハッシュと正規表現を必死で覚えたものです。
 それからJavaに手を出したのですが、以前とは違って言語仕様自体は非常に簡単でした。全く迷う必要がないのです。Java特有のインタフェースなどに苦しみながらも習得。このごろ今のサーバーと契約したのですが、PHPとやらが使えるということで、こちらもついでに習得しておきました。PerlとC/C++とJavaを足したような言語ですから、グローバル周りの仕様以外はほとんど苦しまずに習得できました。
 その次に手を出したのがMySQLでした。理由がこれまた「PHPと相性がいいらしい」「サーバーが提供しているから」。こちらは「使いこなせている」と胸を張る自信は到底ありませんが、とりあえずSELECT文程度は普通に使えるようになりました。何といっても
table names
number	name
2	ハードゥン
1	サーラ
0	イリアス

table class
number	class
1	デュアルナイト
0	革命魔道士
2	剣聖
 というデータがあったら、
SELECT names.number , names.name , class.class 
FROM names , class 
WHERE names.number = class.number 
ORDER BY names.number
 このような命令を打つだけで
number	name	class
0	イリアス	革命魔道士
1	サーラ	デュアルナイト
2	ハードゥン	剣聖
 これなのですから。こちらも最近扱っていないので不安でしたが、しっかり覚えているようです。人間の記憶、恐るべし。
 そういえば、開発を始める前に覚えたこととして

Class A : 1-126 / Private : 10 / 255.0.0.0
Class B : 128-191 / Private : 172 / 255.255.0.0
Class C : 192-223 / Private : 192 / 255.255.255.0

 これなどは今でも役に立っている知識です。自分を指定する時は「127.0.0.1」になります。
 後はエクスクルーシブのチェックサムの計算、4バイトの合計を0x80で割ったあまりを求め、それを0x80から引く、といったことも(なぜか)覚えています。こうして見てみれば、どうやら私も多少はレベルアップしているようで。

 後は、世の中では嫌う人が多く、暗記まみれのSIN、COS、TANを概念そのものから習得し、その上ASIN、ACOS、ATANまで習得できたのも開発欲のおかげではあります。それにしても、「いつか開発者になりたい」と志した幼き日(ファミコン世代なら1度や2度は考えたはず)はいつのことやら。社会問題への理解も、経済知識もネットで得たものです。こちらもまた恐るべし。
 私はゲーム世代ということで、ゲームがなければ今ごろPCなど扱えていなかったでしょう。開発もしていませんし、ネットもできません。その点ではゲームは偉大です。「ゲーム脳」などと芸無なことを称する人間もいますが(確かに最近の「ゲームの本質」を無視したかのような3Dゲームを見ていると、「ゲーム脳」もありえるかもしれない、とは考えますが)、どちらにせよゲームの功績は大きいです。ゲームを目の敵にする新聞社もいますが、我が恩師ともいえるゲームが滅びるなら新聞が滅びる方がマシです。
 先の選挙では、知識のない人間の票が自民党を大幅に押し上げました。もちろん十分考えて自民を支持した人も多く存在するわけですが、投票率が上がってそれが全部自民に流れているということは、上がった分の大半はバカと見ても差し支えないでしょう。ああいう現象を見るたび、そして同世代の人間が「郵政ってよく分からないケド、小泉総理の姿勢がカッコいいし、自民党以外の党とか知らないから」などと称している姿を見るにつけ、「今まで知識を得てきて良かった」としみじみ考えるのでありました。
 以上、バトン2本への回答、及び管理者の裏設定でした。
カテゴリ [質問・バトン回答] [トラックバック 0][コメント 0]

バトウバトン
2005/09/10(Sat)21:10:57
 私は人気者なのでしょうか。それとも便利屋なのでしょうか。またもバトンを顔面にぶつけられたため、投げ返しておきます。

まず「ヲタバトン」という意味不明な名前のバトンから。

●持っているマンガの冊数
 100冊はあります。が、行方不明多数。その上、私はあまりマンガを読まないのです。私物では専門書、数学関係書、教本、中学校の英和・和英辞書(変数名づけ用)などが多いです。

●最後に買ったマンガ
 記憶にございません。もう何年も経っているはず。

●好きな声優さんの名前
 声優バトンを参照。

●最近萌えている、または思い入れのあるキャラ5人(アニメ、ゲームも含む)
1.魔道士イリアス(ゲームも含むならこの人は外せません。初期からプロットがほとんど変わっていない魔道士)
2.騎士サーラ(初期設定よりかなり格好良くなっています。最近、自分の中でのランク付けが急上昇。ステータスも強いですし)
3.イリスのシェリー(思い入れです。詩人シェリー -> シェリー酒 + ワルキューレ -> ワリキュール。連想した瞬間に笑い転げて即採用です)
4.弓兵アマンダ(別に特に意識はしていなかったのですが、「花月弓」で敵をガンガンなぎ倒すうちに愛着が出てきました)
5.剣聖ハードゥン(シブい騎士。15年後のサーラさんがこれだけシブければ、雰囲気が出そうです)
 出展はどれもこれも「魔道士イリアス革命記」「Typing Wind」「Tactical Revolution」などから。やはり思い入れの点で我が子にかなうものはないでしょう。

 それから声優バトン。

1.あなたの持っている声優関連グッツはどのくらい?
 声優グッズとは何ですか?西友グループなら知っていますが。

2.今はまっている声優は?
 声優とはハマるものなのですか?落とし穴に似たようなものでしょうか。

3.最後に聞いた声優の声は?
 今イルカを聞いているところです。

4.好きな声優五人について語る
越野 葉理さん : 声に張りがあって素晴らしい声優さんです。
強依炉 還流さん : 様々な声色を使いこなせる声優さんです。
渋井 実緑さん : 何といってもシブさが魅力の声優さんです。
肥瓦 音芽さん : 若い女性の声が上手な人です。
ナリキリン・ジョーンズさん : キャラになりきるのが上手い人です。

 さて、これらのバトンをぶつける5名ですが、今回は指定します。カッコ内は理由です。

1.サラサーラさん(微妙に人気ですから)
2.イリコさん(イリコですよ、イリコ)
3.シルコさん(食べられません)
4.ソーサーラさん(魔道士なんだか騎士なんだか)
5.イバルさん(性格悪そうですから)

 それでは、よろしくお願いします。
カテゴリ [質問・バトン回答] [トラックバック 0][コメント 0]

2つのバトン
2005/07/31(Sun)13:13:36
 バトンとやらの日ごろのツケが回ってきました。が、この仕組みはチェーンメールやねずみ講のようなものでしょう。人に回すなどとは迷惑千万、あまりにルール違反ですから、ここで止めます。しかし、バトンを取りたい人はその旨をコメント欄またはトラックバックに書き込んで、自サイトなどで勝手に回答されても構いません。
 というわけで私の回答に参ります。

音楽バトン
[音楽ファイルの容量]
 どれほどでしょう。いちいち数えていても時間食うだけですから、しっかり調べてはいませんが、200MBといったところでしょうか。無圧縮WMAが多いです。

[今聴いている曲]
 ガロの「学生街の喫茶店」。導入は「君とよくこの店に来たものさ、訳もなくお茶を飲み話したよ」

[最後に買ったCD]
 Singer Song Writer 6.0。ソフトウェアです。

[よく聴く、または思い入れのある5曲]
・五番街のマリーへ(ペドロ&カプリシャス)
(導入)五番街へ行ったならばマリーの家へ行き
 それはもう素晴らしい曲です。機会があれば1度は聞いてみてください。この時代の歌手の声はだれていなくて良いです。全体的に私はこういう歌が好きなようで。ちなみにカラオケだとキーが2つほど違います。

・海岸通(かぐや姫・イルカ)
あなたが船を選んだのは
 これまた私が好きそうな曲。ラジオ放送などでは全然聞かない曲ですが、こういう歌は非常に好きです。カラオケではご丁寧にもかぐや姫版とイルカ版の2つが用意されていたりしますが、結局のところ歌う内容は同じですから大した意味はありません。

・知床旅情(加藤登紀子)
知床の岬にはまなすが咲く頃
 今でも歌い継がれていると有名な曲。ちょうど知床が世界遺産に指定されたところでしたが、もちろんその前から好きです。ちなみに「ピリカ」とは「美しい」という意味とか。一時期大流行した(それでも私は見ていませんが)「ちゅらさん」を彷彿とさせます。「忘れちゃやだよ、気まぐれカラスさん」のくだりが好きです。

・黒の舟歌(長谷川きよし)
男と女の間には
 私と一般人の間には、深いなんてものではない川がある。こういう歌も好きです。あまり耳にすることはありませんが、存在自体は有名な曲のようです。

・別れの予感(テレサ・テン)
泣き出してしまいそう
 「つぐない」「時の流れに身をまかせ」ももちろん好きですが、メロディーとしてはこれです。ただ、テレサの歌はどれもそらでは到底歌えません。どういうわけか覚えにくいのです。平気で覚えるのもある意味問題ありですが。

(次点)オリビアを聴きながら(これが「負け犬の遠吠え」のようなものに使われるのは絶対におかしいです。断固反対)、学生街の喫茶店、この空を飛べたら、無縁坂など。単純に歌う曲はこれの数倍はあります

コミックバトン
[持っている本の冊数]
 不明です。そもそも私自身はほとんど本を買わなくなりました。インターネットの方が何千倍も有用ですから。

[今読みかけの本、または読もうとしている本]
 正直、本からは興味が失せました。本がだれてきたのも事実でしょうが、それよりインターネットが強すぎます。文学世界インターネット、これに勝る本なし。ただ、そのうちPhotoShop Elementsのマニュアルは読まなければ・・・。

[最後に買った本]
 どれでしょう・・・。運転教本・学科教本?

[特別な思い入れのある本5冊]
・運転教本
 こういうのを読むのが趣味の私。今でもよく読んでいます。読めば読むほど面白いですが、アラも出てくるものです。

・学科教本
 同上。いくつか書いておいて欲しかったことが書いていなくて困ったり。

・人間にやさしい薬草の効き目
 なぜか修学旅行で購入。面白い本でした。

・Give Blood Save Life
 最初に献血するともらえる小冊子です。が、それ以来2度ともらえないのに、母が手違いで紛失。絶対必要なものではありませんが、これには献血データ記録紙もついていただけに、それまでなくなって困りました(MySQLに入れておいたのでデータ紛失だけは免れましたが)。

・ジュニア・アンカー和英・英和辞書
 何が悲しくてこんなものに頼らねばならないのか。実はこれより上位の辞書は所持していないのです。愚妹が1冊だけ持っていますが。本当に何も載っていませんが、何がいいって変数名のつけ方に迷った時です。

 どこがコミックだか。引継ぎはフリーです。引き継ぎたい人は持って行ってください(5名まで)。

 今回のSLGはとりあえず「ファイター」と「ガンナー」の追加がウリです。ファイターはどうにもこうにもぱっとしないクラスですが、ガンナーは強いです。MINが爆発的に伸びるため、AGIが大したことなくても命中率は高く、銃の威力もサーラの弓矢に匹敵します。打たれ弱いので後方からちまちま攻撃することになりますが、威力は全然ちまちましていません。
 ただ、接近されるとやたら弱いのがこのクラス。かなり打たれ弱いため、射程ギリギリから戦うのが良いでしょう。ある程度なら近づいても強力ですが、くれぐれも狙い撃ちだけはされないようにしましょう。ちなみに以下のようなアビリティを持っています。

・リミティアル
 中距離戦専用の武器です。威力は高いですが、近づきすぎなければ使えません。トドメにはおすすめしますが、それ以外の時に使うのはイマイチおすすめできません。

・メテオストライク
 射程が長いタイプです。命中すると隕石が当たったほどの衝撃を受けるのでしょう。銃の中では使い勝手が良いといえます。下手すると魔法より長い射程を持つ、しかも強力な技を無制限に使えるこの強さ。これこそがガンナーの真髄です。

・スターダスト
 いわゆる散弾銃です。きっと星屑がぶつかるほど痛いのでしょう。威力は下がりますが射程が広く、さらに命中率も高いときています。例によってある程度近づかなければ使えません。相手をWEAKにして使うと効果が高いです。

・メルトスプライト
 相手を弱化させる効果がある銃です。追加効果発動率は100%、すなわち当たりさえすれば必ず弱化します。例によって近づかなければ使えません。

 ここまで来れば、下手すると魔法使いより使えそうです。ただ、魔法と違って防御はVIT依存ですから、魔道士に強く騎士に弱い性質を持っています。また、大抵の魔法は100%当たりますが、銃は結構外れます。範囲攻撃アビリティはありますが、魔法のように範囲攻撃を前提としていないため、威力が弱まるのも弱点です。
 というわけで、魔道士とどちらが使えるかを問われれば、引き分けといったところでしょうか。おまけキャラの革命魔道士やデュアルナイト、主人公たる剣聖を除けば、粗方のキャラは戦力が同程度になるようにしてあります。無論、キャラによっては後方支援専用の場合もありますから、プリエステスとナイトが戦うとどちらが強いかなどは無理な話ですが。
 さて、今回取り入れましたのは「格闘家サーラ」と「弓兵イリアス」です。前者は強いですが後者はイマイチ。DEXが高いだけに、そこそこ強いはずなのですが。きっとサーラさんが言っていた理由により本気を出せないのでしょう。ブレストプレート程度は用意しておけばいいものを。
 格闘家サーラは普通に強いです。大剣と槍撃がないのは少々辛いですが、カウンターはそのままですし、突撃まで使えます。実は突撃の威力はAGIにも依存するため、ヘビーアーマーが使うよりよっぽど強いのです。が、反動でPOWの2割を持っていかれますから気をつけましょう。POWが高いクラスだけに、反動もやたら痛いです。追加効果のSTUN発動率も命中率依存ですから、AGIが高いとそれなりに出ます。
 なお、デュアルナイトや格闘家ご用達の「集気法」ですが、LAの回復量はSPIとMIN依存の上、もともとの回復量が低く、一時しのぎ以外にはあまり使えません。しかし、状態異常を治癒することができますので、これは覚えておきましょう。POISON、WEAK、STUNなど、どれでも回復できます(STUNは動けないため実際には無理です)。
カテゴリ [開発魔法][質問・バトン回答] [トラックバック 0][コメント 0]

<-前のページ [1] [2] [3]
- Blog by yamicha.com -