1

確かにそれはばかげた質問ですが、私は自分で答えることができません。次のコードがあります。

%% Ownedby-relationship in monopoly
ownedby(bank,weststation).

%% Account-Value:
account(player1,1500).

%% Prices
price(weststation,200).

%% Buy an estate in monopoly
buy(X,Y):-
    ownedby(bank,X),
    !,
    retract(ownedby(bank, X)),
    assert(ownedby(Y,X)),
    price(X,Price),
    account(Y,Accountold),
    retract(account(Y,Accountold)),
    assert(account(Y,Accountold-Price)).

%% Example:
buy(player1,weststation).

%% RESULT: 
account(player1,X).
1500-200

したがって、文字列 1500 と 200 は連結されますが、減算される数字はありません ... :( 理由は何ですか?

4

1 に答える 1

0

ルールを修正する必要があります

...
NewValue is Accountold-Price,
assert(account(Y,NewValue)).
于 2012-12-14T06:30:36.490 に答える