Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. /* --------------------------------------------------------------------------------------------*/
  2.  
  3. /* PRINT BOARD FUNCTIONS */
  4. show_board(board(X)):- write("+---+---+---+---+---+---+---+"), nl,
  5. show(X,0),
  6. print_columns_number.
  7.  
  8. /* Start at row 0 to 5 */
  9. show(_,6).
  10. show(A,N):- write("| "), print_row(A,B),
  11. nl,
  12. M is N + 1,
  13. show(B, M).
  14.  
  15. /* Print the first element of every column */
  16. print_row([],_) :- nl, write("+---+---+---+---+---+---+---+").
  17. print_row([[A|B]|C],[B|D]):- print_square(A), write(' | '), print_row(C,D).
  18.  
  19. print_square(A) :- (A == '-') -> write(" "); write(A).
  20.  
  21. /* Show number of the columns */
  22. print_columns_number :- write('| 1 | 2 | 3 | 4 | 5 | 6 | 7 |').
  23.  
  24. /* -----------------------------------------------------------------------------------------*/
  25.  
  26. /* OPERATIONS */
  27. /* Validate player entry */
  28. column(1).
  29. column(2).
  30. column(3).
  31. column(4).
  32. column(5).
  33. column(6).
  34. column(7).
  35. column(_) :- write('Invalid column number.'), nl, nl, enter_column_number(_).
  36. enter_column_number(X) :- nl,
  37. write("*---------------------------*"), nl, write("| |"), nl,
  38. write('| Enter a column number : |'), nl,
  39. read(N),
  40. write("| |"), nl,
  41. write("*---------------------------*"), nl,
  42. nl, column(N), X is N.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement