48 lines
832 B
TypeScript
48 lines
832 B
TypeScript
export interface Rod {
|
|
value: number
|
|
color: string
|
|
lengthPx: number
|
|
label: string
|
|
}
|
|
|
|
export const rodColors: Record<number, string> = {
|
|
1: "#FFFFFF",
|
|
2: "#E74C3C",
|
|
3: "#2ECC71",
|
|
4: "#E91E63",
|
|
5: "#F1C40F",
|
|
6: "#1ABC9C",
|
|
7: "#D35400",
|
|
8: "#3498DB",
|
|
9: "#9B59B6",
|
|
10: "#FF5733",
|
|
}
|
|
|
|
const rodLengths: Record<number, number> = {
|
|
1: 24,
|
|
2: 44,
|
|
3: 64,
|
|
4: 84,
|
|
5: 104,
|
|
6: 124,
|
|
7: 144,
|
|
8: 164,
|
|
9: 184,
|
|
10: 204,
|
|
}
|
|
|
|
export function getRods(maxValue: number = 10): Rod[] {
|
|
return Array.from({ length: maxValue }, (_, i) => ({
|
|
value: i + 1,
|
|
color: rodColors[i + 1],
|
|
lengthPx: rodLengths[i + 1],
|
|
label: `${i + 1}`,
|
|
}))
|
|
}
|
|
|
|
export function compareRods(a: number, b: number): "mayor" | "menor" | "igual" {
|
|
if (a > b) return "mayor"
|
|
if (a < b) return "menor"
|
|
return "igual"
|
|
}
|