Rename game to 'The Last StarTyper' throughout codebase
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Agent Development Guidelines - Typing Chud
|
||||
# Agent Development Guidelines - The Last StarTyper
|
||||
|
||||
## React 19 Best Practices
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Typing Chud
|
||||
# The Last StarTyper
|
||||
|
||||
A fast-paced typing game built with React and TypeScript. Type falling text before it reaches your ship!
|
||||
|
||||
@@ -14,14 +14,14 @@ A fast-paced typing game built with React and TypeScript. Type falling text befo
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
npm install @vimazing/typing-chud
|
||||
npm install @vimazing/the-last-startyper
|
||||
```
|
||||
|
||||
## Quick Start
|
||||
|
||||
```typescript
|
||||
import { useGame } from '@vimazing/typing-chud';
|
||||
import '@vimazing/typing-chud/game.css';
|
||||
import { useGame } from '@vimazing/the-last-startyper';
|
||||
import '@vimazing/the-last-startyper/game.css';
|
||||
|
||||
function App() {
|
||||
const game = useGame({
|
||||
|
||||
+5
-5
@@ -202,7 +202,7 @@ type ScoreManager = {
|
||||
};
|
||||
```
|
||||
|
||||
**typing-chud Content Tracking:**
|
||||
**the-last-startyper Content Tracking:**
|
||||
|
||||
All content types are tracked independently throughout the game:
|
||||
|
||||
@@ -242,7 +242,7 @@ Some games support dynamic option changes during gameplay via `changeGameMode()`
|
||||
game.changeGameMode({ gameMode: 'words', downwardSpeed: 75 });
|
||||
```
|
||||
|
||||
### Delayed Mode Switching (typing-chud)
|
||||
### Delayed Mode Switching (the-last-startyper)
|
||||
|
||||
Mode changes are deferred to respect current gameplay:
|
||||
- Changes are stored as "pending options"
|
||||
@@ -289,7 +289,7 @@ type GameOptions = {
|
||||
timeLimit?: number;
|
||||
};
|
||||
|
||||
// typing-chud (Unified Platform Control)
|
||||
// the-last-startyper (Unified Platform Control)
|
||||
type GameOptions = {
|
||||
gameMode?: 'letters' | 'words' | 'sentences' | 'paragraphs';
|
||||
downwardSpeed?: number; // px/s (mode-agnostic)
|
||||
@@ -310,7 +310,7 @@ type GameOptions = {
|
||||
- Make most options optional
|
||||
- Use consistent naming (e.g., `timeLimit` always in seconds)
|
||||
|
||||
**Platform Control (typing-chud):**
|
||||
**Platform Control (the-last-startyper):**
|
||||
- Platforms have full control over game behavior via `GameOptions`
|
||||
- `downwardSpeed` is mode-agnostic (single value for all modes)
|
||||
- `wordList` allows custom content across all modes
|
||||
@@ -521,7 +521,7 @@ type ScoreManager = {
|
||||
- Additional metrics for display
|
||||
- Difficulty multipliers
|
||||
|
||||
**typing-chud Content Tracking:**
|
||||
**the-last-startyper Content Tracking:**
|
||||
- Tracks all content types independently (letters, words, sentences, paragraphs)
|
||||
- Preserves historical counts when mode switches
|
||||
- `currentCount` reflects only the current game mode count
|
||||
|
||||
Generated
+5
-5
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"name": "typing-chud-example",
|
||||
"name": "the-last-startyper-example",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "typing-chud-example",
|
||||
"name": "the-last-startyper-example",
|
||||
"dependencies": {
|
||||
"@tailwindcss/vite": "^4.1.14",
|
||||
"@vimazing/typing-chud": "file:../",
|
||||
"@vimazing/the-last-startyper": "file:../",
|
||||
"react": "^19.1.1",
|
||||
"react-dom": "^19.1.1"
|
||||
},
|
||||
@@ -24,7 +24,7 @@
|
||||
}
|
||||
},
|
||||
"..": {
|
||||
"name": "@vimazing/typing-chud",
|
||||
"name": "@vimazing/the-last-startyper",
|
||||
"version": "0.1.0",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
@@ -1362,7 +1362,7 @@
|
||||
"@types/react": "^19.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@vimazing/typing-chud": {
|
||||
"node_modules/@vimazing/the-last-startyper": {
|
||||
"resolved": "..",
|
||||
"link": true
|
||||
},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "typing-chud-example",
|
||||
"name": "the-last-startyper-example",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
@@ -20,7 +20,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@tailwindcss/vite": "^4.1.14",
|
||||
"@vimazing/typing-chud": "file:../",
|
||||
"@vimazing/the-last-startyper": "file:../",
|
||||
"react": "^19.1.1",
|
||||
"react-dom": "^19.1.1"
|
||||
}
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
import { useState } from "react";
|
||||
import { useGame, type GameMode } from "@vimazing/typing-chud";
|
||||
import "@vimazing/typing-chud/game.css";
|
||||
import { useGame, type GameMode } from "@vimazing/the-last-startyper";
|
||||
import "@vimazing/the-last-startyper/game.css";
|
||||
import { usePlatformHook, useStateMachine, getScenario, getScenarioNames } from "./usePlatformHook";
|
||||
|
||||
function App() {
|
||||
@@ -27,7 +27,7 @@ function App() {
|
||||
return (
|
||||
<div className="relative mx-auto my-4 w-fit space-y-4">
|
||||
<div className="space-y-2">
|
||||
<h1 className="text-2xl font-bold text-center">Typing Chud</h1>
|
||||
<h1 className="text-2xl font-bold text-center">The Last StarTyper</h1>
|
||||
|
||||
<div className="space-y-2">
|
||||
<div className="text-center">
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { GameMode } from '@vimazing/typing-chud';
|
||||
import type { GameMode } from '@vimazing/the-last-startyper';
|
||||
|
||||
export type ModeTransition = {
|
||||
fromMode: GameMode;
|
||||
|
||||
@@ -11,7 +11,7 @@ export default defineConfig({
|
||||
plugins: [react(), tailwindcss()],
|
||||
resolve: {
|
||||
alias: {
|
||||
"@vimazing/typing-chud": libSource, // use source during dev
|
||||
"@vimazing/the-last-startyper": libSource, // use source during dev
|
||||
},
|
||||
},
|
||||
server: {
|
||||
|
||||
Generated
+2
-2
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "@vimazing/typing-chud",
|
||||
"name": "@vimazing/the-last-startyper",
|
||||
"version": "0.1.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@vimazing/typing-chud",
|
||||
"name": "@vimazing/the-last-startyper",
|
||||
"version": "0.1.0",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
|
||||
+4
-4
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "@vimazing/typing-chud",
|
||||
"name": "@vimazing/the-last-startyper",
|
||||
"version": "0.2.0",
|
||||
"description": "A fast-paced typing game with dynamic mode switching. Type falling text (letters, words, sentences, paragraphs) before it reaches your ship.",
|
||||
"author": "André Padez <andre.padez@gmail.com>",
|
||||
@@ -17,12 +17,12 @@
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/vimazing/typing-chud.git"
|
||||
"url": "git+https://github.com/vimazing/the-last-startyper.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/vimazing/typing-chud/issues"
|
||||
"url": "https://github.com/vimazing/the-last-startyper/issues"
|
||||
},
|
||||
"homepage": "https://github.com/vimazing/typing-chud#readme",
|
||||
"homepage": "https://github.com/vimazing/the-last-startyper#readme",
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
"main": "./dist/index.js",
|
||||
|
||||
+5
-2
@@ -1,5 +1,8 @@
|
||||
import { version } from '../package.json';
|
||||
|
||||
export const gameInfo = {
|
||||
name: 'Typing Chud',
|
||||
version,
|
||||
name: 'The Last StarTyper',
|
||||
description: 'A fast-paced typing game where letters, words, sentences, and paragraphs fall from the top of the screen. Type to destroy them before they reach your ship. Supports dynamic mode switching for endless variety.',
|
||||
|
||||
controls: {
|
||||
@@ -44,7 +47,7 @@ export const gameInfo = {
|
||||
|
||||
objective: 'Type falling text as accurately and quickly as possible while accumulating the highest score',
|
||||
winCondition: 'Continuous play - keep going as long as you can. Higher scores indicate better typing speed and accuracy.',
|
||||
|
||||
|
||||
features: [
|
||||
'Four game modes: Letters, Words, Sentences, Paragraphs',
|
||||
'Dynamic mode switching for varied gameplay',
|
||||
|
||||
Reference in New Issue
Block a user