2-APL UPC project.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

first approach to counting points

cyberslas e549de11 abf554aa

+34 -6
+29 -6
code/2apl_platform/briscola_chiamata/notary.2apl
··· 4 4 { true } SetDealer(X) { dealer(X) } 5 5 { not currentturn(_) } UpdateTrun(X) { currentturn(X) } 6 6 { currentturn(X) } RemoveTrun(X) { not currentturn(X) } 7 - { true } PlayerPass(X) { playerpass(X) } 7 + { true } PlayerPass(X) { playerpass(X) } 8 + { true } AddCardPlayed(S, R, X) { cardontable(S, R, X) } 8 9 9 10 Beliefs: 10 11 gatekeeper(gk). /* we know who the gatekeeper is, for simplicity */ 11 12 dealer(d). 12 13 currentturn(0). /* the first turn is for the agent in postion 0 */ 13 14 14 - 15 + getpoints(jack, X) :- X is 2 16 + getpoints(queen, X) :- X is 3 17 + getpoints(king, X) :- X is 4 18 + getpoints(three, X) :- X is 10 19 + getpoints(ace, X) :- X is 11 15 20 16 21 Plans: 17 22 @cardtable(enterAsNotary()) /* join the game as notary */ ··· 128 133 RemoveTrun(X); 129 134 UpdateTrun(0); 130 135 B( assigned(0, P)); 131 - //send(P, inform, yourturn(0)) 132 - print("Hands over!") 133 - //TODO count points 136 + print("Hands over!"); 137 + countpoints() 134 138 } 135 139 else 136 140 { ··· 141 145 } 142 146 } 143 147 144 - event(cardPlayed(S, R), cardtable) <- true | 148 + event(cardPlayed(S, R, N), cardtable) <- true | 145 149 { 146 150 //TODO add card played to can count points 151 + AddCardPlayed(S, R, N); 147 152 selectturn() 153 + } 154 + 155 + countpoints() <- true | 156 + { 157 + B( assigned(0, P0)); 158 + B( cardontable(S0, R0, P0) and getpoints(S0, X0)); 159 + 160 + B( assigned(1, P1)); 161 + B( cardontable(S1, R1, P1) and getpoints(S1, X1)); 162 + 163 + B( assigned(2, P2)); 164 + B( cardontable(S2, R2, P2) and getpoints(S2, X2)); 165 + 166 + B( assigned(3, P3)); 167 + B( cardontable(S3, R3, P3) and getpoints(S3, X3)); 168 + 169 + B( assigned(4, P4)); 170 + B( cardontable(S4, R4, P4) and getpoints(S4, X4)) 148 171 }
+5
code/2apl_platform/briscola_chiamata/player.2apl
··· 28 28 deletehandcard(R, S, [R, S|T], T). 29 29 deletehandcard(R, S, [X, Y|T], [H|T1]):- deletehandcard(R, S, T, T1). 30 30 31 + getpoints(jack, X) :- X is 2 32 + getpoints(queen, X) :- X is 3 33 + getpoints(king, X) :- X is 4 34 + getpoints(three, X) :- X is 10 35 + getpoints(ace, X) :- X is 11 31 36 32 37 Plans: 33 38 [ B(gatekeeper(X)) ; send(X, request, register(me)) ]