Post by bplus on Nov 23, 2023 14:55:11 GMT
AT ARB,
I AM THINKING THE AI WILL BE INPUT A BOARD OF WHERE ALL THE PIECES ARE. THE AI'S JOB IS TO RETURN IT'S NEXT MOVE WHICH BETTER BE LEGAL ;-))
IN OTHER WORDS THE AI WILL BE A FUNCTION THAT GETS THE BOARD POSITION OF ALL THE PIECES AND IT RETURNS A STRING TO MOVE PIECE AT NUMBER X TO NUMBER Y.
THAT WAY I CAN DEVELOP THE INTERFACE INDEPENDENT OF AI AND VICE VERSA FOR AI'S. PLUS! WE CAN USE WHATEVER TYPE WE LIKE
I THINK YOU WILL BE GOOD IF YOU JUST GET A LIST FROM 1 TO 32 WITH WHAT KIND OF PIECE IS AT EACH BOARD POSITION, IF ANY. CORRECT?
FUNCTION MYNAMEAI$(BOARD$())
' ANALYSE BOARD$() HOWEVER YOU LIKE
MYNAMEAI$ = "NUMBER NUMBER" ' THE AI MOVE FROM FIRST NUMBER TO 2ND NUMBER
END FUNCTION
MY USER INTERFACE TAKES THAT MOVE AND TRANSLATES THAT TO IMAGE FOR HUMANS TO SEE, HUMAN THEN MOUSE CLICKS HIS MOVE.
IF MOVE IS ILLEGAL OR IS MULTIPLE JUMP THE REFEREE WILL SEND THE BOARD BACK TO THE AI FOR NEXT MOVE EITHER UNCHANGED OR WITH A SINGLE JUMP MADE.
SO AI ONLY JUMPS ONCE AND WILL GET BOARD RIGHT BACK AGAIN IF ANOTHER JUMP NEEDS TO BE DONE.
I'VE CLEARED UP MY OWN QUESTIONS ON WHAT TO SEND AI TO WORK WITH. JUST SEND IT A LIST OF WHERE ALL THE PIECES ARE 1 TO 32.
IT MIGHT ALSO HAVE REMIND THE AI IF IT IS BLACK OR WHITE THAT WAY THE AI COULD PLAY ITSELF!
FOR NAME OF INTERFACE PROGRAM, I AM THINKING 'CHECKERS WITH AI(S)'
MORE THINKING AS I WRITE: THE AI MIGHT WANT TO SAVE LAST BOARD IN CASE IT GETS SAME BOARD BACK, AS THAT WOULD BE A SIGNAL FROM REFEREE THAT IT'S LAST MOVE WAS JUDGED TO BE ILLEGAL. WHICH TELLS THE AUTHOR OF THAT AI, HE MIGHT NEED A BACKUP / PLAN B MOVE OTHERWISE INFINITE LOOP GOING NOWHERE!
REFEREE MIGHT WATCH FOR THAT TOO AND CALL THE GAME OVER AFTER 3+ REPEATED BOARDS AND MOVES.
MORE THINKING AS I WRITE: (SEEMS THIS IS WAY I DEVELOP CODE THESE DAYS!) NOW FOR PIECE NOTATION W OR B FOR WHITE OR BLACK, AND K OR NOT FOR KINGS. SOUND GOOD?
SO NOW WE KNOW WHAT BOARD LOOKS LIKE AT OPENING:
THE NUMBERS ARE ARRAY INDEXES BUT REALLY COULD JUST BE A 33 CHARACTER LONG STRING, NO ARRAY NEEDED, YOU MIGHT PREFER THAT ARB? I AM THINKING ALREADY I DO! ;-)) )
0 B
1 B
2 B
3 B
...
12 B
13
14
15
16
17
18
19
20
21 W
22 W
...
32 W
AND STARTS WITH B FOR BLACK TO MOVE FIRST, 33 LINES JUST LETTERS FOR EACH ARRAY POSITION WITH POSITION 0 NAMING THE PLAYER B OR W TO MOVE
I AM THINKING THE AI WILL BE INPUT A BOARD OF WHERE ALL THE PIECES ARE. THE AI'S JOB IS TO RETURN IT'S NEXT MOVE WHICH BETTER BE LEGAL ;-))
IN OTHER WORDS THE AI WILL BE A FUNCTION THAT GETS THE BOARD POSITION OF ALL THE PIECES AND IT RETURNS A STRING TO MOVE PIECE AT NUMBER X TO NUMBER Y.
THAT WAY I CAN DEVELOP THE INTERFACE INDEPENDENT OF AI AND VICE VERSA FOR AI'S. PLUS! WE CAN USE WHATEVER TYPE WE LIKE
I THINK YOU WILL BE GOOD IF YOU JUST GET A LIST FROM 1 TO 32 WITH WHAT KIND OF PIECE IS AT EACH BOARD POSITION, IF ANY. CORRECT?
FUNCTION MYNAMEAI$(BOARD$())
' ANALYSE BOARD$() HOWEVER YOU LIKE
MYNAMEAI$ = "NUMBER NUMBER" ' THE AI MOVE FROM FIRST NUMBER TO 2ND NUMBER
END FUNCTION
MY USER INTERFACE TAKES THAT MOVE AND TRANSLATES THAT TO IMAGE FOR HUMANS TO SEE, HUMAN THEN MOUSE CLICKS HIS MOVE.
IF MOVE IS ILLEGAL OR IS MULTIPLE JUMP THE REFEREE WILL SEND THE BOARD BACK TO THE AI FOR NEXT MOVE EITHER UNCHANGED OR WITH A SINGLE JUMP MADE.
SO AI ONLY JUMPS ONCE AND WILL GET BOARD RIGHT BACK AGAIN IF ANOTHER JUMP NEEDS TO BE DONE.
I'VE CLEARED UP MY OWN QUESTIONS ON WHAT TO SEND AI TO WORK WITH. JUST SEND IT A LIST OF WHERE ALL THE PIECES ARE 1 TO 32.
IT MIGHT ALSO HAVE REMIND THE AI IF IT IS BLACK OR WHITE THAT WAY THE AI COULD PLAY ITSELF!
FOR NAME OF INTERFACE PROGRAM, I AM THINKING 'CHECKERS WITH AI(S)'
MORE THINKING AS I WRITE: THE AI MIGHT WANT TO SAVE LAST BOARD IN CASE IT GETS SAME BOARD BACK, AS THAT WOULD BE A SIGNAL FROM REFEREE THAT IT'S LAST MOVE WAS JUDGED TO BE ILLEGAL. WHICH TELLS THE AUTHOR OF THAT AI, HE MIGHT NEED A BACKUP / PLAN B MOVE OTHERWISE INFINITE LOOP GOING NOWHERE!
REFEREE MIGHT WATCH FOR THAT TOO AND CALL THE GAME OVER AFTER 3+ REPEATED BOARDS AND MOVES.
MORE THINKING AS I WRITE: (SEEMS THIS IS WAY I DEVELOP CODE THESE DAYS!) NOW FOR PIECE NOTATION W OR B FOR WHITE OR BLACK, AND K OR NOT FOR KINGS. SOUND GOOD?
SO NOW WE KNOW WHAT BOARD LOOKS LIKE AT OPENING:
THE NUMBERS ARE ARRAY INDEXES BUT REALLY COULD JUST BE A 33 CHARACTER LONG STRING, NO ARRAY NEEDED, YOU MIGHT PREFER THAT ARB? I AM THINKING ALREADY I DO! ;-)) )
0 B
1 B
2 B
3 B
...
12 B
13
14
15
16
17
18
19
20
21 W
22 W
...
32 W
AND STARTS WITH B FOR BLACK TO MOVE FIRST, 33 LINES JUST LETTERS FOR EACH ARRAY POSITION WITH POSITION 0 NAMING THE PLAYER B OR W TO MOVE