このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1267796762/451
#  【 課題 】ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/1040.zip 
#  【 形態 】Javaアプリケーション(main()で開始)/ 
#  【 期限 】10/15 
#  【 Ver  】"1.6.0_21" 
#  【 補足 】丸投げですがよろしくお願いします。 
# 
# [問3]
# [ファイル名] Lesson1_3.java
# Lesson1_2 で作成したTrumpCard を拡張します.トランプでゲームを行う場合,そのカードが表を向いているか裏を向いているかという要素は重要なので,それを表現できるようにします.
# この場合の表とはマークや数値が表示されている側,裏はその逆で絵柄が付いている側を指すこととします.サンプルプログラムが動作するように,以下の実装を付け加えなさい.
# 1. クラスTrumpCard は,インスタンス変数として,boolean openStat を持ちます.そのインスタンスが表の場合はtrue,裏の場合はfalse の値を持つものとします.
# 2. クラスTrumpCard は,コンストラクタTrumpCard(String mark, int number, booleanopen)を持ちます.open によって,インスタンスの初期状態での表裏の値(openStat の値)を決めることができるものとします.また,指定されない場合の初期値はfalse(裏向き)とします.
# 3. クラスTrumpCard は,メソッドとしてpublic void setOpened(boolean open)を持ちます.このメソッドが呼ばれた場合そのインスタンスが持つopenStat の値をopen の値に置き換えます.
# 4. クラスTrumpCard は,メソッドとしてpublic boolean getOpened()を持ちます.このメソッドが呼ばれた場合そのインスタンスが持つopenStat の値を返り値として返します.
# 

トランプのカード初期状態(_マーク,_数字,_トランプ_前状態,_トランプ_後状態) :-
        0 is random mod 2,
        append(L0,[[_マーク,_数字,_,_位置]|R],_トランプ_前状態),
        append(L0,[[_マーク,_数字,表,_位置]|R],_トランプ_後状態).
トランプのカード初期状態(_マーク,_数字,_トランプ_前状態,_トランプ_後状態) :-
        1 is random mod 2,
        append(L0,[[_マーク,_数字,_,_位置]|R],_トランプ_前状態),
        append(L0,[[_マーク,_数字,裏,_位置]|R],_トランプ_後状態).

表にする(_マーク,_数字,_トランプ_前状態,_トランプ_後状態) :-
        append(L0,[[_マーク,_数字,_,_位置]|R],_トランプ_前状態),
        append(L0,[[_マーク,_数字,表,_位置]|R],_トランプ_後状態).

裏にする(_マーク,_数字,_トランプ_前状態,_トランプ_後状態) :-
        append(L0,[[_マーク,_数字,_,_位置]|R],_トランプ_前状態),
        append(L0,[[_マーク,_数字,裏,_位置]|R],_トランプ_後状態).

表である(_マーク,_数字,_トランプ) :-
        append(L0,[[_マーク,_数字,表,_]|R],_トランプ),!.

裏である(_マーク,_数字,_トランプ) :-
        append(L0,[[_マーク,_数字,裏,_]|R],_トランプ),!.