added another Ai

master
Kanken 2 years ago
parent 809c923982
commit 5678efbe22

@ -296,8 +296,8 @@
filePath = "forcesPack/Sources/forcesPack/Game.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "46"
endingLineNumber = "46"
startingLineNumber = "47"
endingLineNumber = "47"
landmarkName = "init(_:printer:reader:)"
landmarkType = "7">
</BreakpointContent>
@ -312,8 +312,8 @@
filePath = "forcesPack/Sources/forcesPack/Game.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "45"
endingLineNumber = "45"
startingLineNumber = "46"
endingLineNumber = "46"
landmarkName = "init(_:printer:reader:)"
landmarkType = "7">
</BreakpointContent>
@ -328,8 +328,8 @@
filePath = "forcesPack/Sources/forcesPack/Game.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "31"
endingLineNumber = "31"
startingLineNumber = "32"
endingLineNumber = "32"
landmarkName = "init(printer:reader:)"
landmarkType = "7">
</BreakpointContent>
@ -344,8 +344,8 @@
filePath = "forcesPack/Sources/forcesPack/Game.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "29"
endingLineNumber = "29"
startingLineNumber = "30"
endingLineNumber = "30"
landmarkName = "init(printer:reader:)"
landmarkType = "7">
</BreakpointContent>
@ -595,8 +595,8 @@
filePath = "forcesPack/Sources/forcesPack/Game.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "64"
endingLineNumber = "64"
startingLineNumber = "65"
endingLineNumber = "65"
landmarkName = "doGameLoop()"
landmarkType = "7">
</BreakpointContent>
@ -723,8 +723,8 @@
filePath = "forcesPack/Sources/forcesPack/Game.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "69"
endingLineNumber = "69"
startingLineNumber = "70"
endingLineNumber = "70"
landmarkName = "doGameLoop()"
landmarkType = "7">
</BreakpointContent>
@ -851,8 +851,8 @@
filePath = "forcesPack/Sources/forcesPack/Game.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "57"
endingLineNumber = "57"
startingLineNumber = "58"
endingLineNumber = "58"
landmarkName = "doGameLoop()"
landmarkType = "7">
</BreakpointContent>
@ -936,5 +936,21 @@
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "1B4AD684-B1F9-4537-9D8D-F076E6AB7396"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "forcesPack/Sources/forcesPack/Game.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "24"
endingLineNumber = "24"
landmarkName = "init(printer:reader:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>

@ -119,16 +119,16 @@ public struct Board : CustomStringConvertible{
public func coalesceWonBoard(winningAlignementGrid: [[Int?]]) -> String{
var str: String = ""
str += ""
str += String(repeating: "", count: (nbColumn)-1) + "═╗\n"
str += String(repeating: "", count: (nbColumn)-1) + "═╗\n"
for collNum in 0...nbRows-1{ //parcours de la grille du bas vers le haut
for rowNum in 0...nbColumn-1{
str += ""
str += String(winningAlignementGrid[rowNum][collNum] != nil ? "🔴" : " ")
str += String(winningAlignementGrid[rowNum][collNum] != nil ? "@" : " ")
}
str += String("\n")
}
str += ""
str += String(repeating: "", count: (nbColumn)-1) + "═╝\n"
str += String(repeating: "", count: (nbColumn)-1) + "═╝\n"
return str
}
}

@ -21,7 +21,8 @@ public class Game{
board = Board()
players = []
winRules = [AreCols4xL(), AreRows4xL(), AreDiags4xL()]
CreatePlayers()
while(!CreatePlayers()){}
while(true){
while(doGameLoop()){}
printerFunc(winner == nil ? "stalemate!" : "player: "+String(winner?.id ?? -1)+" has won the game")
@ -74,7 +75,7 @@ public class Game{
return true
}
private func CreatePlayers(){
private func CreatePlayers() -> Bool{
var humans:Int = 0
var AI:Int = 0
printerFunc("Création des joueurs, combien d'humains au total?\n>")
@ -103,5 +104,6 @@ public class Game{
printerFunc(String(players.count) + " joueurs créés")
printerFunc(players.description)
return humans+AI > 0
}
}

@ -0,0 +1,19 @@
//
// File.swift
//
//
// Created by yorick geoffre on 09/02/2023.
//
import Foundation
public class IAIncer: IA {
var ctr: Int = 0
public override var description: String{return "IA incer" + String(id)}
public override func play(_ max: Int)-> Int{
if (ctr < max){ ctr += 1 }else{ ctr = 0 }
return ctr
}
}
Loading…
Cancel
Save