A little app to simulate every possible move in Connect Four.
at main 2.4 kB view raw
1#include "core.h" 2 3#include <cassert> 4#include <math.h> 5#include "SDL.h" 6#include <stdio.h> 7#include <stdlib.h> 8#include <string.h> 9 10int main() 11{ 12 init_core(); 13 14 // for (uint8_t row = 0; row < 6; ++row) 15 // { 16 // for (uint8_t col = 0; col < 7; ++col) 17 // { 18 // state[row][col] = rand() % 3; 19 // } 20 // } 21 22 // while (true) 23 // { 24 // // Print board 25 // printf("_1_2_3_4_5_6_7_\n"); 26 // for (int8_t row = 6 - 1; row >= 0; --row) 27 // { 28 // printf("|"); 29 // for (uint8_t col = 0; col < 7; ++col) 30 // { 31 // switch (get_board_value(state, row, col)) 32 // { 33 // case 1: 34 // printf("X"); 35 // break; 36 // case 2: 37 // printf("O"); 38 // break; 39 // default: 40 // printf(" "); 41 // break; 42 // } 43 44 // printf("|"); 45 // } 46 // printf("\n"); 47 // } 48 // printf("‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾\n"); 49 50 // // Check board for wins 51 // bool win = check_for_win(&state); 52 53 // // Game Over 54 // if (win) 55 // { 56 // printf("Player %d wins!\n", player % 2 + 1); 57 // break; 58 // } 59 60 int64_t final_scores[NUM_COLUMNS]; 61 get_move_scores(final_scores); 62 printf("final scores: "); 63 for (uint8_t i = 0; i < NUM_COLUMNS; ++i) 64 { 65 printf("%d", final_scores[i]); 66 if (i + 1 < NUM_COLUMNS) 67 { 68 printf(" | "); 69 } 70 else 71 { 72 printf("\n"); 73 } 74 } 75 76 // uint64_t eval_end_time = SDL_GetPerformanceCounter(); 77 // printf("Time to finish evaluation: %ld\n", (eval_end_time - eval_start_time) / 1000); 78 // printf("Column 0 move score: %d\n", move_score); 79 80 // // Wait for move 81 // printf("Player %d, what's your move?\n", player); 82 83 // int input; 84 // scanf("%d", &input); 85 86 // bool success = make_move(player, input - 1, &state); 87 // if (success) 88 // { 89 // player = player % 2 + 1; 90 // } 91 92 // printf("\033[2J"); 93 // } 94 95 return 0; 96}