aboutsummaryrefslogtreecommitdiff
path: root/code/main.felan
diff options
context:
space:
mode:
Diffstat (limited to 'code/main.felan')
-rw-r--r--code/main.felan73
1 files changed, 15 insertions, 58 deletions
diff --git a/code/main.felan b/code/main.felan
index e2c056b..7f9b130 100644
--- a/code/main.felan
+++ b/code/main.felan
@@ -1,68 +1,25 @@
@import("basic.felan");
+file :: @import("file.felan");
-main :: () -> void {
- stones := 6;
- player := 1;
- while stones > 0 {
- r :res =minimax(stones,true);
- stones -= r.move;
- putc @cast(stones,u8) + '0';
- putc '\n';
- putc 'p';
- putc @cast(player,u8) + '0';
- putc '\n';
- player = (if player == 2 1 else 2);
- }
+foo :: () -> void {
+ putc 'b';
};
-res :: struct {
- move : i64;
- score : i64;
+main :: () -> void {
+ file.foo();
+// foo();
};
-minimax :: (currentStones:i64, isMaximizing:bool) -> res {
- if currentStones <= 0 {
- r : res = undefined;
- r.move = 0;
- r.score = (if isMaximizing {-1;} else {1;});
- return r;
- }
-
- found := false;
- bestMove : res = undefined;
- score := (if isMaximizing {-1000000;} else {1000000;});
- move := 1;
- while move <= 2 {
- if currentStones - move >= 0 {
- found = true;
- result : res = minimax(currentStones - move, !isMaximizing);
- if isMaximizing {
- if result.score > score {
- bestMove.move = move;
- bestMove.score = result.score;
- score = result.score;
- }
- }else{
- if result.score < score {
- bestMove.move = move;
- bestMove.score = result.score;
- score = result.score;
- }
- }
- }
- move += 1;
- }
+/*
+@import("basic.felan");
- if !found {
- r : res = undefined;
- r.move = 0;
- r.score = (if isMaximizing {-1;} else {1;});
- return r;
+main :: () -> void {
+ i := 0;
+ while i < 10 {
+ putc @cast(i,u8)+'0';
+ i += 1;
+// break;
}
-
- return bestMove;
};
-
-
-
+*/