🐐 Fixing latin
This commit is contained in:
@@ -4,12 +4,12 @@ DESIGNA array VT [II,XVIII,XV,IX,XIV,XIV,I,VII,VIII,VI]
|
||||
DESIGNA max VT NVLLVS
|
||||
DESIGNA svm VT NVLLVS
|
||||
|
||||
PER x IN array FACE {
|
||||
PER x IN array FAC {
|
||||
DESIGNA svm VT svm + x
|
||||
SI x PLVS max TVNC {
|
||||
DESIGNA max VT x
|
||||
}
|
||||
}
|
||||
|
||||
DICE("Sum:", svm)
|
||||
DICE("Max:", max)
|
||||
DIC("Sum:", svm)
|
||||
DIC("Max:", max)
|
||||
@@ -3,8 +3,8 @@
|
||||
DESIGNA arr VT [V, III, VIII, I, IX, II, VII, IV, VI, X]
|
||||
DESIGNA n VT LONGITVDO(arr)
|
||||
|
||||
DONICVM i VT I VSQVE n - I FACE {
|
||||
DONICVM k VT I VSQVE n - i FACE {
|
||||
DONICVM i VT I VSQVE n - I FAC {
|
||||
DONICVM k VT I VSQVE n - i FAC {
|
||||
SI arr[k] PLVS arr[k + I] TVNC {
|
||||
DESIGNA temp VT arr[k]
|
||||
DESIGNA arr[k] VT arr[k + I]
|
||||
@@ -13,6 +13,6 @@ DONICVM i VT I VSQVE n - I FACE {
|
||||
}
|
||||
}
|
||||
|
||||
PER x IN arr FACE {
|
||||
DICE(x)
|
||||
PER x IN arr FAC {
|
||||
DIC(x)
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// Returns the bottommost empty row in col, or NVLLVS if full
|
||||
DEFINI find_slot(b, col) VT {
|
||||
DESIGNA ans VT NVLLVS
|
||||
DONICVM r VT I VSQVE VI FACE {
|
||||
DONICVM r VT I VSQVE VI FAC {
|
||||
SI b[(r - I) * VII + col] EST NVLLVS TVNC {
|
||||
DESIGNA ans VT r
|
||||
}
|
||||
@@ -16,32 +16,32 @@ DEFINI find_slot(b, col) VT {
|
||||
|
||||
// Returns VERITAS if player has four in a row
|
||||
DEFINI est_victor(b, player) VT {
|
||||
DONICVM r VT I VSQVE VI FACE {
|
||||
DONICVM c VT I VSQVE IV FACE {
|
||||
DONICVM r VT I VSQVE VI FAC {
|
||||
DONICVM c VT I VSQVE IV FAC {
|
||||
DESIGNA idx VT (r - I) * VII + c
|
||||
SI b[idx] EST player ET b[idx + I] EST player ET b[idx + II] EST player ET b[idx + III] EST player TVNC {
|
||||
REDI(VERITAS)
|
||||
}
|
||||
}
|
||||
}
|
||||
DONICVM r VT I VSQVE III FACE {
|
||||
DONICVM c VT I VSQVE VII FACE {
|
||||
DONICVM r VT I VSQVE III FAC {
|
||||
DONICVM c VT I VSQVE VII FAC {
|
||||
DESIGNA idx VT (r - I) * VII + c
|
||||
SI b[idx] EST player ET b[idx + VII] EST player ET b[idx + XIV] EST player ET b[idx + XXI] EST player TVNC {
|
||||
REDI(VERITAS)
|
||||
}
|
||||
}
|
||||
}
|
||||
DONICVM r VT I VSQVE III FACE {
|
||||
DONICVM c VT I VSQVE IV FACE {
|
||||
DONICVM r VT I VSQVE III FAC {
|
||||
DONICVM c VT I VSQVE IV FAC {
|
||||
DESIGNA idx VT (r - I) * VII + c
|
||||
SI b[idx] EST player ET b[idx + VIII] EST player ET b[idx + XVI] EST player ET b[idx + XXIV] EST player TVNC {
|
||||
REDI(VERITAS)
|
||||
}
|
||||
}
|
||||
}
|
||||
DONICVM r VT I VSQVE III FACE {
|
||||
DONICVM c VT IV VSQVE VII FACE {
|
||||
DONICVM r VT I VSQVE III FAC {
|
||||
DONICVM c VT IV VSQVE VII FAC {
|
||||
DESIGNA idx VT (r - I) * VII + c
|
||||
SI b[idx] EST player ET b[idx + VI] EST player ET b[idx + XII] EST player ET b[idx + XVIII] EST player TVNC {
|
||||
REDI(VERITAS)
|
||||
@@ -52,23 +52,23 @@ DEFINI est_victor(b, player) VT {
|
||||
}
|
||||
|
||||
DEFINI print_board(b) VT {
|
||||
DICE("+---+---+---+---+---+---+---+")
|
||||
DONICVM r VT I VSQVE VI FACE {
|
||||
DIC("+---+---+---+---+---+---+---+")
|
||||
DONICVM r VT I VSQVE VI FAC {
|
||||
DESIGNA line VT "| "
|
||||
DONICVM c VT I VSQVE VII FACE {
|
||||
DONICVM c VT I VSQVE VII FAC {
|
||||
DESIGNA cell VT b[(r - I) * VII + c]
|
||||
SI cell EST I TVNC {
|
||||
DESIGNA line VT line & "X | "
|
||||
} ALVID SI cell EST II TVNC {
|
||||
} ALIVD SI cell EST II TVNC {
|
||||
DESIGNA line VT line & "O | "
|
||||
} ALVID {
|
||||
} ALIVD {
|
||||
DESIGNA line VT line & ". | "
|
||||
}
|
||||
}
|
||||
DICE(line)
|
||||
DIC(line)
|
||||
}
|
||||
DICE("+---+---+---+---+---+---+---+")
|
||||
DICE(" I II III IV V VI VII")
|
||||
DIC("+---+---+---+---+---+---+---+")
|
||||
DIC(" I II III IV V VI VII")
|
||||
REDI(NVLLVS)
|
||||
}
|
||||
|
||||
@@ -101,35 +101,35 @@ DEFINI score_fenestram(a, b, c, d) VT {
|
||||
DEFINI aestima(b) VT {
|
||||
DESIGNA score VT NVLLVS
|
||||
// Center column preference: each AI piece in column IV is worth +1
|
||||
DONICVM r VT I VSQVE VI FACE {
|
||||
DONICVM r VT I VSQVE VI FAC {
|
||||
SI b[(r - I) * VII + IV] EST II TVNC {
|
||||
DESIGNA score VT score + I
|
||||
}
|
||||
}
|
||||
// Horizontal windows (6 rows x 4 starting columns = 24)
|
||||
DONICVM r VT I VSQVE VI FACE {
|
||||
DONICVM c VT I VSQVE IV FACE {
|
||||
DONICVM r VT I VSQVE VI FAC {
|
||||
DONICVM c VT I VSQVE IV FAC {
|
||||
DESIGNA idx VT (r - I) * VII + c
|
||||
DESIGNA score VT score + INVOCA score_fenestram(b[idx], b[idx + I], b[idx + II], b[idx + III])
|
||||
}
|
||||
}
|
||||
// Vertical windows (3 starting rows x 7 columns = 21)
|
||||
DONICVM r VT I VSQVE III FACE {
|
||||
DONICVM c VT I VSQVE VII FACE {
|
||||
DONICVM r VT I VSQVE III FAC {
|
||||
DONICVM c VT I VSQVE VII FAC {
|
||||
DESIGNA idx VT (r - I) * VII + c
|
||||
DESIGNA score VT score + INVOCA score_fenestram(b[idx], b[idx + VII], b[idx + XIV], b[idx + XXI])
|
||||
}
|
||||
}
|
||||
// Diagonal up-right windows (3 starting rows x 4 starting columns = 12)
|
||||
DONICVM r VT I VSQVE III FACE {
|
||||
DONICVM c VT I VSQVE IV FACE {
|
||||
DONICVM r VT I VSQVE III FAC {
|
||||
DONICVM c VT I VSQVE IV FAC {
|
||||
DESIGNA idx VT (r - I) * VII + c
|
||||
DESIGNA score VT score + INVOCA score_fenestram(b[idx], b[idx + VIII], b[idx + XVI], b[idx + XXIV])
|
||||
}
|
||||
}
|
||||
// Diagonal up-left windows (3 starting rows x 4 starting columns = 12)
|
||||
DONICVM r VT I VSQVE III FACE {
|
||||
DONICVM c VT IV VSQVE VII FACE {
|
||||
DONICVM r VT I VSQVE III FAC {
|
||||
DONICVM c VT IV VSQVE VII FAC {
|
||||
DESIGNA idx VT (r - I) * VII + c
|
||||
DESIGNA score VT score + INVOCA score_fenestram(b[idx], b[idx + VI], b[idx + XII], b[idx + XVIII])
|
||||
}
|
||||
@@ -146,7 +146,7 @@ DEFINI minimax(b, depth, alpha, beta, maxi) VT {
|
||||
SI INVOCA est_victor(b, I) TVNC {
|
||||
REDI(NVLLVS - M - depth)
|
||||
}
|
||||
} ALVID {
|
||||
} ALIVD {
|
||||
SI INVOCA est_victor(b, II) TVNC {
|
||||
REDI(M + depth)
|
||||
}
|
||||
@@ -157,7 +157,7 @@ DEFINI minimax(b, depth, alpha, beta, maxi) VT {
|
||||
DESIGNA col_order VT [IV, III, V, II, VI, I, VII]
|
||||
SI maxi TVNC {
|
||||
DESIGNA best VT NVLLVS - M - VII
|
||||
PER c IN col_order FACE {
|
||||
PER c IN col_order FAC {
|
||||
DESIGNA linea VT INVOCA find_slot(b, c)
|
||||
SI NON (linea EST NVLLVS) TVNC {
|
||||
DESIGNA b[(linea - I) * VII + c] VT II
|
||||
@@ -175,9 +175,9 @@ DEFINI minimax(b, depth, alpha, beta, maxi) VT {
|
||||
}
|
||||
}
|
||||
REDI(best)
|
||||
} ALVID {
|
||||
} ALIVD {
|
||||
DESIGNA best VT M + VII
|
||||
PER c IN col_order FACE {
|
||||
PER c IN col_order FAC {
|
||||
DESIGNA linea VT INVOCA find_slot(b, c)
|
||||
SI NON (linea EST NVLLVS) TVNC {
|
||||
DESIGNA b[(linea - I) * VII + c] VT I
|
||||
@@ -203,7 +203,7 @@ DEFINI ai_move(b) VT {
|
||||
DESIGNA col_order VT [IV, III, V, II, VI, I, VII]
|
||||
DESIGNA best_score VT NVLLVS - M - VII
|
||||
DESIGNA best_col VT IV
|
||||
PER c IN col_order FACE {
|
||||
PER c IN col_order FAC {
|
||||
DESIGNA linea VT INVOCA find_slot(b, c)
|
||||
SI NON (linea EST NVLLVS) TVNC {
|
||||
DESIGNA b[(linea - I) * VII + c] VT II
|
||||
@@ -220,63 +220,63 @@ DEFINI ai_move(b) VT {
|
||||
|
||||
// --- Board setup ---
|
||||
DESIGNA board VT [I VSQVE XLII]
|
||||
DONICVM i VT I VSQVE XLII FACE {
|
||||
DONICVM i VT I VSQVE XLII FAC {
|
||||
DESIGNA board[i] VT NVLLVS
|
||||
}
|
||||
|
||||
DESIGNA moves VT NVLLVS
|
||||
DESIGNA game_over VT FALSITAS
|
||||
|
||||
DICE("=== CONNECT IV ===")
|
||||
DICE("You are X. AI is O.")
|
||||
DICE("Enter column as Roman numeral (I-VII).")
|
||||
DICE("")
|
||||
DIC("=== CONNECT IV ===")
|
||||
DIC("You are X. AI is O.")
|
||||
DIC("Enter column as Roman numeral (I-VII).")
|
||||
DIC("")
|
||||
|
||||
DVM game_over FACE {
|
||||
EVERRO()
|
||||
DVM game_over FAC {
|
||||
EVERRE()
|
||||
INVOCA print_board(board)
|
||||
|
||||
DICE("Your move:")
|
||||
DIC("Your move:")
|
||||
DESIGNA col VT AVDI_NVMERVS()
|
||||
SI col PLVS VII TVNC {
|
||||
DICE("Invalid column! Enter I through VII.")
|
||||
DIC("Invalid column! Enter I through VII.")
|
||||
CONTINVA
|
||||
}
|
||||
DESIGNA linea VT INVOCA find_slot(board, col)
|
||||
SI linea EST NVLLVS TVNC {
|
||||
DICE("Column full! Try another.")
|
||||
DIC("Column full! Try another.")
|
||||
CONTINVA
|
||||
}
|
||||
DESIGNA board[(linea - I) * VII + col] VT I
|
||||
DESIGNA moves VT moves + I
|
||||
SI INVOCA est_victor(board, I) TVNC {
|
||||
INVOCA print_board(board)
|
||||
DICE("You win!")
|
||||
DIC("You win!")
|
||||
DESIGNA game_over VT VERITAS
|
||||
CONTINVA
|
||||
}
|
||||
SI moves EST XLII TVNC {
|
||||
INVOCA print_board(board)
|
||||
DICE("Draw!")
|
||||
DIC("Draw!")
|
||||
DESIGNA game_over VT VERITAS
|
||||
CONTINVA
|
||||
}
|
||||
|
||||
DICE("AI is thinking...")
|
||||
DIC("AI is thinking...")
|
||||
DESIGNA col VT INVOCA ai_move(board)
|
||||
DESIGNA linea VT INVOCA find_slot(board, col)
|
||||
DICE("AI plays column " & col & ".")
|
||||
DIC("AI plays column " & col & ".")
|
||||
DESIGNA board[(linea - I) * VII + col] VT II
|
||||
DESIGNA moves VT moves + I
|
||||
SI INVOCA est_victor(board, II) TVNC {
|
||||
INVOCA print_board(board)
|
||||
DICE("AI wins!")
|
||||
DIC("AI wins!")
|
||||
DESIGNA game_over VT VERITAS
|
||||
CONTINVA
|
||||
}
|
||||
SI moves EST XLII TVNC {
|
||||
INVOCA print_board(board)
|
||||
DICE("Draw!")
|
||||
DIC("Draw!")
|
||||
DESIGNA game_over VT VERITAS
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// Counts down from 10
|
||||
DESIGNA conta VT X
|
||||
|
||||
DVM conta MINVS I FACE {
|
||||
DICE(conta)
|
||||
DVM conta MINVS I FAC {
|
||||
DIC(conta)
|
||||
DESIGNA conta VT conta - I
|
||||
}
|
||||
|
||||
DICE("Blast off!")
|
||||
DIC("Blast off!")
|
||||
|
||||
@@ -4,9 +4,9 @@ CVM MAGNVM
|
||||
DEFINI fact(n) VT {
|
||||
SI n MINVS I TVNC {
|
||||
REDI(I)
|
||||
} ALVID {
|
||||
} ALIVD {
|
||||
REDI(n * INVOCA fact(n - I))
|
||||
}
|
||||
}
|
||||
|
||||
DICE(INVOCA fact(AVDI_NVMERVS()))
|
||||
DIC(INVOCA fact(AVDI_NVMERVS()))
|
||||
@@ -1,16 +1,16 @@
|
||||
// A number guessing game
|
||||
CVM FORS
|
||||
|
||||
DESIGNA correct VT FORTIS_NVMERVS(I,C)
|
||||
DESIGNA correct VT FORTVITVS_NVMERVS(I,C)
|
||||
DESIGNA gvess VT NVLLVS
|
||||
|
||||
DVM correct EST gvess FACE {
|
||||
DVM correct EST gvess FAC {
|
||||
DESIGNA gvess VT AVDI_NVMERVS()
|
||||
SI gvess MINVS correct TVNC {
|
||||
DICE("Too low!")
|
||||
} ALVID SI gvess PLVS correct TVNC {
|
||||
DICE("Too high!")
|
||||
DIC("Too low!")
|
||||
} ALIVD SI gvess PLVS correct TVNC {
|
||||
DIC("Too high!")
|
||||
}
|
||||
}
|
||||
|
||||
DICE("You guessed correctly!")
|
||||
DIC("You guessed correctly!")
|
||||
@@ -1,10 +1,10 @@
|
||||
// Prints an X×X multiplication table
|
||||
DESIGNA n VT X
|
||||
|
||||
DONICVM i VT I VSQVE n FACE {
|
||||
DONICVM i VT I VSQVE n FAC {
|
||||
DESIGNA line VT ""
|
||||
DONICVM k VT I VSQVE n FACE {
|
||||
DONICVM k VT I VSQVE n FAC {
|
||||
DESIGNA line VT line & i * k & " "
|
||||
}
|
||||
DICE(line)
|
||||
DIC(line)
|
||||
}
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
CVM FORS
|
||||
|
||||
DESIGNA choices VT ["PETRA", "CHARTA", "FORFEX"]
|
||||
DESIGNA compvter VT FORTIS_ELECTIONIS(choices)
|
||||
DICE("Choose: PETRA (rock), CHARTA (paper), or FORFEX (scissors)")
|
||||
DESIGNA compvter VT FORTVITA_ELECTIO(choices)
|
||||
DIC("Choose: PETRA (rock), CHARTA (paper), or FORFEX (scissors)")
|
||||
DESIGNA player VT AVDI()
|
||||
|
||||
DICE("Computer chose:", compvter)
|
||||
DIC("Computer chose:", compvter)
|
||||
|
||||
SI player EST compvter TVNC {
|
||||
DICE("Draw!")
|
||||
} ALVID SI (player EST "PETRA" ET compvter EST "FORFEX") AVT (player EST "CHARTA" ET compvter EST "PETRA") AVT (player EST "FORFEX" ET compvter EST "CHARTA") TVNC {
|
||||
DICE("You win!")
|
||||
} ALVID {
|
||||
DICE("Computer wins!")
|
||||
DIC("Draw!")
|
||||
} ALIVD SI (player EST "PETRA" ET compvter EST "FORFEX") AVT (player EST "CHARTA" ET compvter EST "PETRA") AVT (player EST "FORFEX" ET compvter EST "CHARTA") TVNC {
|
||||
DIC("You win!")
|
||||
} ALIVD {
|
||||
DIC("Computer wins!")
|
||||
}
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
DESIGNA n VT L
|
||||
|
||||
DONICVM i VT II VSQVE n FACE {
|
||||
DONICVM i VT II VSQVE n FAC {
|
||||
DESIGNA is_prime VT VERITAS
|
||||
DONICVM k VT II VSQVE i - I FACE {
|
||||
DONICVM k VT II VSQVE i - I FAC {
|
||||
SI (i / k) * k EST i TVNC {
|
||||
DESIGNA is_prime VT FALSITAS
|
||||
}
|
||||
}
|
||||
SI is_prime TVNC {
|
||||
DICE(i)
|
||||
DIC(i)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user