Hello,
I can't let it go... I have to investigate this Wolfram stuff otherwise it keep thinking about it LOL.
Anyway.
To figure out how this stuff works first I investigate which colors occur more often.
Those might be used to encode high level values to create higher level states and transitions or so:
The investigation module below examines how often a color occurs in sequence.
My reasoning is: These sequences of the same colors might be used to encode higher level values for example:
2 Oranges in a row = Do Action 1 3 Oranges in a row = Do Action 2 4 Oranges in a row = Do Action 32 Yellows in a row = Do Action 4
3 Yellows in a row = Do Action 5 4 Yellows in a row = Do Action 6This reasoning seems a good way to do it..
Because the investigation module below already shows that white almost near occurs twice ?
Apperently white simply means "empty memory".
I am not sure which value occurs more often orange or yellow..
Or maybe orange can be seen as a digital one. and yellow as a digital zero or so..
and white simply as non content/meaning:
Simple Investigation module:
// *** Begin of Investigation Module ***
unit unit_TcombatAI_version_001;
interface
uses Unit_TwolframMachine_version_002;
type TcombatAI = record private public mWolframMachine : TwolframMachine; mOrangeOutputs : integer; mYellowOutputs : integer; mWhiteOutputs : integer;
procedure Initialize; procedure Execute; end;
implementation
uses Dialogs;
procedure TcombatAi.Initialize; var vWolframPosition : TwolframPosition; begin mWolframMachine.Initialize;
// fill program with random colors for vWolframPosition := Low(TwolframPosition) to High(TwolframPosition) do begin mWolframMachine.mTape[vWolframPosition] := TwolframColor(Random( Ord(High(TwolframColor))+1 ) ); end; end;
procedure TcombatAi.Execute; begin
mWolframMachine.Execute;
// determine number of consecutive/sequential outputs of same color. case mWolframMachine.mOutputColor of wc_orange : begin mOrangeOutputs := mOrangeOutputs + 1; mYellowOutputs := 0; mWhiteOutputs := 0;
case mOrangeOutputs of 2 : begin ShowMessage('Two Oranges !'); end; end; end;
wc_yellow : begin mOrangeOutputs := 0; mYellowOutputs := mYellowOutputs + 1; mWhiteOutputs := 0;
case mYellowOutputs of 2 : begin ShowMessage('Two Yellows !'); end; end;
end;
wc_white : begin mOrangeOutputs := 0; mYellowOutputs := 0; mWhiteOutputs := mWhiteOutputs + 1;
case mWhiteOutputs of 2 : begin ShowMessage('Two Whites !'); end; end;
end; end; end;
end.
// *** End of Investigation Module ***
Bye, Skybuck.