13 dépôts
Software patterns where system behavior changes based on discrete operational states.
Distinct from State-Driven Object Logic: The candidates for state-driven object logic are too specific to tagged objects; this is general state-driven behavior.
Explore 13 awesome GitHub repositories matching software engineering & architecture · State-Driven Logic. Refine with filters or upvote what's useful.
Warriorjs est un framework de jeu de programmation et un puzzle logique basé sur le code où les joueurs écrivent du code pour contrôler des personnages et résoudre des défis de combat stratégiques. Il sert de jeu de codage éducatif conçu pour enseigner la logique de programmation et la pensée algorithmique à travers une série de scénarios de combat. Le projet fonctionne comme un moteur de jeu extensible qui permet l'ajout de nouveaux univers, niveaux, capacités et unités via des extensions de packages indépendantes. Il fournit également des outils pour la conception de niveaux personnalisés, permettant la création de défis que d'autres joueurs peuvent résoudre. Le système gère les définitions d'entités de jeu, le positionnement spatial et la simulation d'état au tour par tour. Il exécute les niveaux de jeu via une interface terminale, calculant des scores numériques et des notes basés sur la performance de la logique fournie.
Provides a mechanism to execute JavaScript functions that determine character movement and combat actions.
TrackWeight is a digital weighing instrument and pressure-to-weight converter designed to measure the mass of objects. It functions as a pressure sensor weight scale that translates data from a touch surface into weight measurements in grams. The system integrates pressure sensor data to enable digital weight measurement and embedded weight tracking. It converts raw pressure readings into standardized weight units to quantify the mass of objects or fingers in contact with a sensory surface. The implementation includes analog-to-digital signal conversion, linear regression calibration for acc
Implements state-driven logic to toggle between idle and weighing modes based on pressure thresholds.
archinstall is a guided installer for the Arch Linux operating system. It provides a mechanism to automate the partitioning, package selection, and configuration of a system through an interactive menu interface or pre-defined configuration profiles. The tool supports both manual and automated deployment. It can function as an interactive installation guide or as an automated deployment utility that loads settings and credentials from external files to perform installations without manual intervention. The project includes capabilities for disk partition management to support single or dual
Tracks the installation progress through a series of defined stages and validation checks using state-driven logic.
Eve is a domain-specific language IDE and integrated logic editor that combines a custom programming language with a dedicated editor to define application logic and state. It functions as a reactive state management system that monitors state variables and automatically triggers functional responses. The environment features an integrated runtime-editor loop that couples the language execution environment with the text editor to accelerate the development cycle. This setup enables the definition of software behavior and state transitions using an embedded domain-specific language. The proje
Maps specific state changes to predefined functional responses to manage software behavior.
SerpentAI is a game AI development kit and computer vision framework designed for building autonomous agents that interact with video games. It serves as a game input automation tool and a machine learning model integration engine, allowing developers to create agents that perceive game states and execute actions. The framework utilizes a plugin-based agent architecture to provide modular extensions for game-specific logic and behaviors. It features a specialized system for training, bundling, and deploying machine learning classifiers to recognize visual contexts and game states in real time
Determines autonomous actions based on perceived visual and data context using a frame handler mechanism.
Ce projet est une collection de référence d'exemples pratiques démontrant l'implémentation de modèles de conception logicielle (design patterns) courants en Kotlin. Il sert de guide aux meilleures pratiques architecturales et aux principes orientés objet à travers l'application de modèles comportementaux, créationnels et structurels. La collection fournit des implémentations concrètes pour démontrer comment découpler l'instanciation d'objets, gérer la communication et la responsabilité entre les objets, et organiser des relations complexes entre classes et objets. La référence couvre les modèles créationnels tels que les fabriques (factories) et les constructeurs (builders), les modèles structurels incluant les adaptateurs et les composites, et les modèles comportementaux tels que les observateurs et les stratégies.
Demonstrates state-driven logic where object behavior changes based on discrete operational states at runtime.
Brooklyn est un visualiseur web et un lecteur de boucle d'animation qui fonctionne comme un économiseur d'écran inspiré d'Apple. Il utilise un pipeline de rendu HTML5 Canvas pour dessiner des graphiques animés haute fidélité vers un tampon d'écran pour un affichage plein écran. Le projet recrée des animations visuelles spécifiques d'un événement technologique Apple de 2018. Il dispose d'une boucle d'animation personnalisable où la séquence de lecture et les nombres de répétitions peuvent être configurés. Le système inclut un moteur de mappage de couleurs piloté par thème qui permet aux utilisateurs de basculer entre des schémas de couleurs clairs et sombres. La lecture est gérée via une logique de transition pilotée par l'état pour coordonner le timing et les changements visuels entre les animations.
Uses discrete operational states to coordinate timing and visual switches between animation sequences.
Integuru est un système d'agents et de frameworks pilotés par l'IA, conçu pour documenter les API non documentées et convertir le trafic réseau en scripts d'automatisation. Il fonctionne comme un framework d'automatisation d'API headless qui remplace les outils basés sur navigateur par des requêtes HTTP directes pour augmenter le débit et la fiabilité. Le projet propose un agent de rétro-ingénierie basé sur LLM qui analyse le trafic réseau pour découvrir les API internes, ainsi qu'un moteur d'intégration en langage naturel qui transforme les descriptions textuelles de workflows en séquences d'appels API valides. Il inclut des outils pour extraire les formats de requête et de réponse afin de créer des spécifications techniques précises, et pour convertir les cookies de session capturés en scripts d'automatisation prêts pour la production. Le framework couvre un large éventail de capacités, notamment l'ingénierie de schéma, la cartographie des dépendances de requêtes et la modélisation logique basée sur l'état pour gérer des workflows d'application complexes. Il fournit également une gestion automatisée de l'authentification pour les cookies de session et la vérification multi-facteurs afin de maintenir l'accès aux portails protégés.
Identifies branching paths and application states to ensure automation handles real-world edge cases and logic flows.
Ce projet est une collection d'explications simplifiées et d'implémentations de code pour des motifs de conception logicielle courants utilisant JavaScript. Il sert de guide pour implémenter des motifs de conception créationnels, structurels et comportementaux afin de résoudre des problèmes d'architecture logicielle. La ressource catégorise les motifs en trois groupes principaux. Les motifs créationnels se concentrent sur l'instanciation flexible d'objets et la gestion des ressources. Les motifs structurels organisent les relations entre objets et les interfaces pour former des structures efficaces. Les motifs comportementaux gèrent la communication et l'interaction entre les objets. Le matériel couvre des concepts fondamentaux incluant la programmation orientée objet, la planification de l'architecture logicielle et les stratégies de refactoring de code pour réduire la dette technique.
Implements patterns where system behavior changes at runtime based on discrete operational states.
BouncyLayout est un composant de mise en page Swift UI et un composant d'UI iOS conçu comme une bibliothèque d'animation basée sur des ressorts. Il sert de conteneur de mise en page pour les applications iOS qui applique des animations de rebond pilotées par ressort aux cellules de liste lors du défilement et du redimensionnement. Le projet se concentre sur la création de mouvements tactiles et rebondissants pour les éléments d'interface utilisateur via des animations pilotées par la physique. Il permet des animations de mise en page personnalisées et un mouvement d'UI dynamique spécifiquement pour les conceptions de listes interactives.
Maps spring animation phases to CSS transform properties for hardware-accelerated movement.
ImGuizmo est une bibliothèque de widgets pour Dear ImGui qui fournit des composants graphiques interactifs pour les transformations 3D, les chronologies, l'édition de géométrie vectorielle et le flux de données basé sur des nœuds. Elle fournit principalement un gizmo de transformation 3D pour manipuler la rotation, la translation et l'échelle des objets au sein d'une scène 3D. La bibliothèque inclut un éditeur de graphe de nœuds visuel pour gérer des réseaux de nœuds connectés afin de représenter le flux de données et une chronologie de séquence linéaire pour éditer les plages d'images pour les événements. Elle dispose également d'un éditeur de chemin vectoriel, qui utilise un outil plume et des poignées d'ancrage pour créer et manipuler la géométrie 2D. Ces outils couvrent de larges domaines de capacités, notamment la gestion de scènes 3D, la programmation visuelle, les graphiques vectoriels et la planification de l'automatisation.
Determines widget behavior and appearance based on immediate state flags passed during the render loop.
Create is a technical expansion for Minecraft that introduces industrial automation through kinetic energy simulation and mechanical systems. It provides a framework for transferring rotational force across connected blocks to power machinery and animated contraptions. The project features a logistics routing system that moves and routes items across the world using scheduled transport blocks and filter-based delivery networks. It also includes multi-carriage rail management, treating groups of blocks as single moving entities to operate large-scale trains on tracks. The system covers broade
Uses state-driven logic to determine the orientation and functional behavior of mechanical blocks.
PokemonGo-Bot is a programmable automation tool designed to manage Pokémon GO gameplay. It functions as an automated game bot and interaction framework that handles creature capture, item collection, and inventory management through a rule-based system. The project features a remote controller interface that allows users to trigger game actions and receive real-time event reports via a messaging bridge, specifically integrating with Telegram. It employs coordinate-based navigation and human movement simulation to traverse the game world and locate specific entities. The software covers broad
Uses operational states to determine whether to prioritize catching, gathering, or inventory management.