eligolf wrote: ↑Fri Feb 18, 2022 5:53 pm
I know I won't make any competitive engine...
Mwhahaha ...
Go try and fool someone else. As soon as your engine is in the CCRL-list (or another rating list), you will want to make it stronger. If you're hitting roadblocks such as speed or bad structure, you'll either restart and write a new engine, or refactor it.
Just wait and see
Welcome to the chess programming world... newcomer addict
Hahah yeh I guess you are right, I love optimizing things... Chess programming is a curse, I should have listened to those who said that one should never start writing one
eligolf wrote: ↑Fri Feb 18, 2022 5:27 pm
Yes, I think it is good to change things like this early.
So when getting all possible moves I do something like this?
ulong possibleMoves = new ulong[256];
int movesAdded = 0;
// if finding move....
possibleMoves[movesAdded] = newMove;
movesAdded++;
Sorry about all these newbie questions, I am not a very good C# programmer, I am so used to Python
And how do I loop through this list in Negamax? I don't want to loop over all possible moves that are 256 in this case, I only want to use the ones I added in the list.
Can’t you just put a dummy element just after the last valid element/move in the array. If 0 is not a legal move you don’t have to set anything, just check for 0 while looping.
eligolf wrote: ↑Fri Feb 18, 2022 5:27 pm
Yes, I think it is good to change things like this early.
So when getting all possible moves I do something like this?
ulong possibleMoves = new ulong[256];
int movesAdded = 0;
// if finding move....
possibleMoves[movesAdded] = newMove;
movesAdded++;
Sorry about all these newbie questions, I am not a very good C# programmer, I am so used to Python
And how do I loop through this list in Negamax? I don't want to loop over all possible moves that are 256 in this case, I only want to use the ones I added in the list.
Can’t you just put a dummy element just after the last valid element/move in the array. If 0 is not a legal move you don’t have to set anything, just check for 0 while looping.
eligolf wrote: ↑Fri Feb 18, 2022 5:53 pm
I know I won't make any competitive engine...
Mwhahaha ...
Go try and fool someone else. As soon as your engine is in the CCRL-list (or another rating list), you will want to make it stronger. If you're hitting roadblocks such as speed or bad structure, you'll either restart and write a new engine, or refactor it.
Just wait and see
Welcome to the chess programming world... newcomer addict