Files
yourpart3/backend/models/taxi/taxiGameState.js
Torsten Schulz (local) f230849a5c Änderung: Hinzufügung des Taxi-Minispiels und zugehöriger Funktionen
Änderungen:
- Integration des Taxi-Minispiels mit neuen Routen und Komponenten im Backend und Frontend.
- Erstellung von Modellen und Datenbank-Schemas für das Taxi-Spiel, einschließlich TaxiGameState, TaxiLevelStats und TaxiMap.
- Erweiterung der Navigationsstruktur und der Benutzeroberfläche, um das Taxi-Spiel und die zugehörigen Tools zu unterstützen.
- Aktualisierung der Übersetzungen für das Taxi-Minispiel in Deutsch und Englisch.

Diese Anpassungen erweitern die Funktionalität der Anwendung um ein neues Minispiel und verbessern die Benutzererfahrung durch neue Features und Inhalte.
2025-09-15 17:59:42 +02:00

76 lines
1.4 KiB
JavaScript

import { DataTypes } from 'sequelize';
import { sequelize } from '../../utils/sequelize.js';
const TaxiGameState = sequelize.define('TaxiGameState', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
userId: {
type: DataTypes.INTEGER,
allowNull: false
},
currentLevel: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 1
},
totalScore: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 0
},
totalMoney: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 0
},
totalPassengersDelivered: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 0
},
unlockedLevels: {
type: DataTypes.JSON,
allowNull: false,
defaultValue: [1]
},
achievements: {
type: DataTypes.JSON,
allowNull: false,
defaultValue: []
},
createdAt: {
type: DataTypes.DATE,
allowNull: false,
defaultValue: DataTypes.NOW
},
updatedAt: {
type: DataTypes.DATE,
allowNull: false,
defaultValue: DataTypes.NOW
}
}, {
tableName: 'taxi_game_states',
schema: 'taxi',
timestamps: true,
indexes: [
{
unique: true,
fields: ['user_id']
},
{
fields: ['total_score']
},
{
fields: ['total_money']
},
{
fields: ['total_passengers_delivered']
}
]
});
export default TaxiGameState;