Skip to content

Commit

Permalink
Run prettier
Browse files Browse the repository at this point in the history
  • Loading branch information
sshader committed Mar 6, 2024
1 parent ac68f24 commit 8c8124c
Show file tree
Hide file tree
Showing 15 changed files with 471 additions and 427 deletions.
2 changes: 1 addition & 1 deletion .prettierrc.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"singleQuote": true,
"singleQuote": false,
"semi": true
}
58 changes: 36 additions & 22 deletions common.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,51 @@ import Link from "next/link";
import { Game } from "./convex/search";
import { Id } from "./convex/_generated/dataModel";

function getProfileLink(className: string, name: string, id: string | Id<"users"> | null) {
function getProfileLink(
className: string,
name: string,
id: string | Id<"users"> | null
) {
if (!id) {
return <></>;
}
if (typeof id == "string") {
return <span className={className}>{name}</span>
return <span className={className}>{name}</span>;
} else {
return <Link className={className} href={`/user/${id}`}>{name}</Link>
return (
<Link className={className} href={`/user/${id}`}>
{name}
</Link>
);
}
}

export function gameTitle(state: Game) {
const player1Span = getProfileLink("whitePlayer", state.player1Name, state.player1);
const player2Span = getProfileLink("blackPlayer", state.player2Name, state.player2);
const context = state.resultContext;
if (state.player1Name && state.player2Name) {
return (
const player1Span = getProfileLink(
"whitePlayer",
state.player1Name,
state.player1
);
const player2Span = getProfileLink(
"blackPlayer",
state.player2Name,
state.player2
);
const context = state.resultContext;
if (state.player1Name && state.player2Name) {
return (
<div>
<div>
<div>{player1Span} vs {player2Span}</div>
{context && (
<div>
{context}
</div>
)}
{player1Span} vs {player2Span}
</div>
)
} else if (state.player1Name) {
return player1Span;
} else if (state.player2Name) {
return player2Span;
} else {
return <div></div>;
}
{context && <div>{context}</div>}
</div>
);
} else if (state.player1Name) {
return player1Span;
} else if (state.player2Name) {
return player2Span;
} else {
return <div></div>;
}
}
12 changes: 6 additions & 6 deletions convex/auth.config.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
export default {
providers: [
export default {
providers: [
{
"domain": "https://convexdev.us.auth0.com/",
"applicationID": "tPilWp4HDDF4yoi3D995XMrVIJhflD4V"
}
domain: "https://convexdev.us.auth0.com/",
applicationID: "tPilWp4HDDF4yoi3D995XMrVIJhflD4V",
},
],
};
};
54 changes: 27 additions & 27 deletions convex/engine.ts
Original file line number Diff line number Diff line change
@@ -1,45 +1,45 @@
'use node'
"use node";

import { api, internal } from './_generated/api'
import { Id } from './_generated/dataModel'
import { internalAction } from './_generated/server'
const jsChessEngine = require('js-chess-engine')
import { Chess } from 'chess.js'
import { api, internal } from "./_generated/api";
import { Id } from "./_generated/dataModel";
import { internalAction } from "./_generated/server";
const jsChessEngine = require("js-chess-engine");
import { Chess } from "chess.js";

export const maybeMakeComputerMove = internalAction(
async (ctx, { id }: { id: Id<'games'> }) => {
const { runQuery, runMutation } = ctx
async (ctx, { id }: { id: Id<"games"> }) => {
const { runQuery, runMutation } = ctx;
const state = await runQuery(api.games.internalGetPgnForComputerMove, {
id,
})
});
if (state === null) {
return
return;
}
const [pgn, strategy] = state
const gameState = new Chess()
gameState.loadPgn(pgn)
const moveNumber = gameState.history().length
const game = new jsChessEngine.Game(gameState.fen())
let level = 1
if (strategy === 'hard') {
level = 2
} else if (strategy === 'tricky') {
const [pgn, strategy] = state;
const gameState = new Chess();
gameState.loadPgn(pgn);
const moveNumber = gameState.history().length;
const game = new jsChessEngine.Game(gameState.fen());
let level = 1;
if (strategy === "hard") {
level = 2;
} else if (strategy === "tricky") {
if (moveNumber > 6) {
level = 2
level = 2;
if (moveNumber % 3 === 0) {
level = 3
level = 3;
}
}
}
const aiMove = game.aiMove(level)
const aiMove = game.aiMove(level);
// aiMove has format {moveFrom: moveTo}
let moveFrom = Object.keys(aiMove)[0]
let moveTo = aiMove[moveFrom]
console.log(`move at level ${level}: ${moveFrom}->${moveTo}`)
let moveFrom = Object.keys(aiMove)[0];
let moveTo = aiMove[moveFrom];
console.log(`move at level ${level}: ${moveFrom}->${moveTo}`);
await runMutation(internal.games.internalMakeComputerMove, {
id,
moveFrom: moveFrom.toLowerCase(),
moveTo: moveTo.toLowerCase(),
})
});
}
)
);
Loading

0 comments on commit 8c8124c

Please sign in to comment.