Difference between revisions of "Tutorial Project. Release 7. Class Human"
From wiki.visual-prolog.com
(New page: {{Polyline7}} <vip> /****************************************************** Copyright (c) 2008. Prolog Development Center SPb Written by: Victor Yukhtenko Class human ********************...) |
m |
||
(11 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{Tutorial Project. Release 7. Players}} | ||
<vip> | <vip> | ||
/****************************************************** | /****************************************************** | ||
Written by Victor Yukhtenko | |||
Written by | |||
Class human | Class human | ||
Line 78: | Line 77: | ||
</vip> | </vip> | ||
==References== | ==References== | ||
[[ | [[ru:Ползунок7. Класс Human]] | ||
[[Category: | [[Category:Tutorial Project Evolutions]] | ||
Latest revision as of 14:40, 1 April 2011
Tutorial Project. Release 7 |
---|
/****************************************************** Written by Victor Yukhtenko Class human ******************************************/ class human:player open core predicates getPlayerDescriptor:(game::language_D)->string Descriptor. end class human implement human open core facts name:string:="Hum_". clauses getPlayerDescriptor(game::en)="Human: Your strategy". getPlayerDescriptor(game::ru)="Человек: Ваша стратегия". clauses setName(ProposedId):- name:=string::format("%s%s",name,ProposedId), Name=humanInterface::getInput(humanInterface::playerName_S,name), if not(Name="") then name:=Name end if. clauses move():- InputString=humanInterface::getInput(humanInterface::playerStep_S), try juniourJudge::set(InputString) catch TraceID do handleException(TraceID), fail end try, !. move():- move(). clauses announceWin():- humanInterface::announce(humanInterface::win_S,name). announceLoss():- humanInterface::announce(humanInterface::loss_S,name). class predicates handleException:(exception::traceId TraceID). clauses handleException(TraceID):- foreach Descriptor=exception::getDescriptor_nd(TraceID) do Descriptor = exception::descriptor( _ClassInfo1, _Descriptor, _Kind, ExtraInfo, _GMTTime, _ExceptionDescription, _ThreadId), if ExtraInfo=[namedValue("data",string(CellPointer))] then humanInterface::announce(humanInterface::errorWrongCell_S,CellPointer) else humanInterface::announce(humanInterface::error_S,"") end if end foreach. end implement human