人は皆様々な「組織」に属しており、それは通常「会社」「家庭」「地域社会」など複数にわたっている。今回はアマルティア・センの『合理的愚か者』をご紹介しながら、個人が属する組織間の優先順位と、時に不利益を被る覚悟が必要な、より高い次元の道徳規準について考えてみたいと思います。
引用元:YOUTUBE

アマルティア・セン(ベンガル語:অমর্ত্য সেন, ヒンディー語:अमर्त्य सेन, 英語:Amartya Sen, 1933年11月3日 - )はインドの経済学者。哲学、政治学、倫理学、社会学にも影響を与えている。アジア初のノーベル経済学賞受賞者。1994年アメリカ経済学会会長。
・・・・・・・・・・・・・・・・・・・・・・・・・・・
大学時代、教授がアマルティアセンについて語っていた。
当時の自分は、何も考えてなかったので、読もうともしなかったが、
分からないものだ。
卒業してから色々なものに興味が出てくるものだ。
・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・
さて、さて、
ソフトウェア開発のための勉強もしなければ、、、、
ドラクエ的なゲームの開発。
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class MakeRPG
{
public static void main(String args[])
{
FrameWork f = new FrameWork("MakeRPG",500,500);
}
}
メインクラスはアプレットでは不要なんだけどね。
class FrameWork extends Frame
{
WindowAction wa;
FramePanel fp;
public FrameWork(String title, int w, int h)
{
setTitle(title);
setSize(w,h);
setResizable(false);
wa = new WindowAction();
fp = new FramePanel(getSize().width,getSize().height,Color.orange);
add(fp, BorderLayout.CENTER);
addWindowListener(wa);
show();
}
}
ゲームの大元であるフレームの設定
class FramePanel extends Panel
{
GraphicsCanvas gc;
MessageCanvas mc;
HPCanvas hc[];
public FramePanel(int w, int h, Color c)
{
setSize(w,h);
setBackground(c);
setVisible(true);
setLayout(null);
gc = new GraphicsCanvas(350,350,Color.gray);
mc = new MessageCanvas(350,150,Color.black);
hcMake(); //HPCanvasコンストラクタを呼び出すメソッドを実行します
add(gc);
gc.setLocation(0,0);
add(mc);
mc.setLocation(0,350);
}
フレームの上にキャンバスを描画します。
public void hcMake()
{
hc = new HPCanvas[6]; //配列hcの配列数を6とします。番号は0~5になります。
for(int i=0 ; i<6 ; i++) //for文ですiを0~5まで計6回繰り返します。
{
hc[i] = new HPCanvas(i); //HPCanvasインスタンスを作ります。
add(hc[i]);
if (i%2 == 0) //iを2で割った余りが0なら
{
hc[i].setLocation(350,i/2*75); //表示する場所のx座標を350とし、
} //y座標を「iを2で割った整数部分×75」とします。
else //iを2で割った余りが0でない(つまり1)なら
{
hc[i].setLocation(350+75,i/2*75);//x座標を425とします
}
}
}
}
class GraphicsCanvas extends Canvas
{
MediaTracker mt;
Image imgchar[];
Dimension d;
public GraphicsCanvas(int w, int h, Color c)
{
setSize(w,h);
setBackground(c);
setVisible(true);
d = new Dimension(w,h);
mt = new MediaTracker(this);
imgchar = new Image[2];
imgchar[0] = getToolkit().getImage("wisp.gif");
mt.addImage(imgchar[0],0);
imgchar[1] = getToolkit().getImage("ballman.gif");
mt.addImage(imgchar[1],0);
try
{
mt.waitForID(0);
}
catch(InterruptedException e)
{
System.out.println("WaitForID Error");
}
}
public void update(Graphics g)
{
paint(g);
}
public void paint(Graphics g)
{
if(mt.isErrorID(0))
{
System.out.println("Image Load Error");
return;
}
if(!mt.checkID(0))
{
g.drawString("Now Loading......",50,50);
return;
}
g.drawImage(imgchar[0],d.width/2-imgchar[0].getWidth(this)/2,imgchar[0].getHeight(this)*3,this);
g.drawImage(imgchar[1],d.height/2-imgchar[1].getWidth(this)/2,d.height-imgchar[1].getHeight(this)*4,this);
}
}
class MessageCanvas extends Canvas
{
int msgNo,charNo,jNo;
String mess;
Font font;
Hashtable bm;
BattleMessage btm;
public MessageCanvas(int w, int h, Color c)
{
setSize(w,h);
setBackground(c);
setVisible(true);
font = new Font("Dialog",Font.BOLD,14);
btm = new BattleMessage();
}
public void update(Graphics g)
{
paint(g);
}
public void paint(Graphics g)
{
g.setFont(font);
g.setColor(Color.white);
charNo =100;
jNo = 1;
msgNo =5;
paintStr(g);
}
public void paintStr(Graphics g)
{
g.drawString((String)btm.bm.get(new Integer(charNo))+
(String)btm.bm.get(new Integer(jNo))+
(String)btm.bm.get(new Integer(msgNo)),
getFontMetrics(font).stringWidth("あ"),
getFontMetrics(font).getHeight());
}
}
class HPCanvas extends Canvas
{
int cvNo;
Font font;
public HPCanvas(int i)
{
cvNo=i; //パラメータiの値をcvNoに代入します。
setSize(75,75); //↑今は使いませんが、将来的には役に立つんじゃないかな~~
setBackground(Color.orange); //FramePanelと同じ色なら、「透明」と同じ
setVisible(true);
font = new Font("Dialog",Font.BOLD,10);
}
public void update(Graphics g)
{
paint(g);
}
public void paint(Graphics g)
{
g.setColor(Color.black); //↓窓っぽく見せるために黒く塗るのは表示領域より小さくしま~~す
g.fillRoundRect(2,2,71,71,8,8); //角の丸みの「8」は微調整の結果です。
g.setFont(font); //↑お好みの大きさでどうぞ
g.setColor(Color.white); //文字は白くします。
g.drawString("ボール",4,getFontMetrics(font).getHeight()); //表示領域から4なら、黒部分から2だよね。
g.drawString("HP",4,getFontMetrics(font).getHeight()*2);
g.drawString("40",
75-getFontMetrics(font).stringWidth("40")-4,
getFontMetrics(font).getHeight()*2);
g.drawString("MP",4,getFontMetrics(font).getHeight()*3);
g.drawString("1",
75-getFontMetrics(font).stringWidth("1")-4,
getFontMetrics(font).getHeight()*3);
}
}
class WindowAction extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
class BattleMessage
{
Hashtable bm;
public BattleMessage()
{
bm = new Hashtable();
bm.put(new Integer(1),new String(" が"));
bm.put(new Integer(2),new String(" の")); //助詞と動詞を分離
bm.put(new Integer(3),new String(" に"));
bm.put(new Integer(4),new String(" を"));
bm.put(new Integer(5),new String(" あらわれた"));
bm.put(new Integer(6),new String(" 攻撃"));
bm.put(new Integer(7),new String(" ダメージ"));
bm.put(new Integer(8),new String(" たおした"));
bm.put(new Integer(100),new String("ウィスプ"));
}
}
仕事で劇の台本を書かなきゃいけなくなって、このアニメを見てました。
この話が人気があるみたいなので、この話で台本を書くことに。
・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・
今は、鬱ってますね。
完全に。
研修でのポシャリ
異性と出会えず、音信不通
ネパールで会うはずだった外国人の一方的なキャンセル
担当している子どもたちと一大イベントをやったら逸脱と言われ、、、
なんだか、裏目、裏目に出ているこの数ヶ月です。
・・・・・・・・・・・・・・・・・・・・・・・・・・
良いことなんか無いですよ。本当。
まあ、失業していたときの、あのときの辛さを思えばなんてことないですけどね。
あの時は、海外旅行すらできなかったですから。
今を好しとしなければいけないのです。
・・・・・・・・・・・・・・・・・・・・・・・・・・・
まだまだ学ばなきゃいけないことがたくさんある。