Wir präsentieren Ihnen eine Übersetzung eines Artikels von Josh Kuttler, der auf blog.bitsrc.io veröffentlicht wurde. Erfahren Sie, wie Sie mit React und TypeScript eine Tic-Tac-Toe-Anwendung erstellen.

Ein einfaches Tic-Tac-Toe-Spiel, das modular erstellt und 
auf die Bit-Website hochgeladen wurde . Sie können die Komponenten meines Spiels ändern und es online auf Bit PlayGround mit NPM, Yarn oder Bit testen. 
Gehen Sie dazu zu meiner Komponentensammlung . 
Wenn Sie Tic-Tac-Toe-Spiele modular erstellen, ist es schwierig, einen Grund zu finden, warum UI-Komponenten jemals wieder verwendet werden können. Daher habe ich mich hauptsächlich auf Spieledienstprogramme konzentriert.
Für die Programmierung habe ich TypeScript gewählt - ich habe den Code mit 
TypeScript auf der Bit-Website kompiliert. Dann benutzte er das Mokka-Framework zum Testen.
Um Komponenten aus meinem Projekt zu installieren, konfigurieren 
Sie zuerst 
bit.dev als Domänenregistrierung (Kopieren und Einfügen auf Ihrem Gerät). Dies sollte nur einmal gemacht werden! Wenn Sie die Bit-Website weiterhin verwenden, müssen Sie sie nicht neu konfigurieren.
npm config set '@bit:registry' https: 
Installieren Sie dann die Komponente mit den Paketmanagern Yarn oder NPM:
 npm i @bit/joshk.tic-tac-toe-game.game yarn add @bit/joshk.tic-tac-toe-game.game 
Spielkomponente
Die Spielkomponente ist die Hauptkomponente meiner Anwendung - sie wurde mit einer Board-Komponente und zwei 
Prime React- Komponenten erstellt.
Ich habe die Komponenten 
Button und 
Input-Text für den Setup-Bildschirm verwendet - Sie können ihren Code 
hier testen und sehen.

Installieren Sie PrimeReact-Komponenten in Ihrem Projekt:
 yarn add @bit/primefaces.primereact.inputtext yarn add @bit/primefaces.primereact.button 
Nachdem Sie die Parameter eingestellt haben, können Sie auf "Play" klicken und ... spielen!
Platinenkomponente
Die Board- Komponente erstellt mithilfe von Requisiten eine dynamische Tabelle, legt die Warteschlange für die Spieler fest und ermittelt den Gewinner. Sie können den Code 
hier testen und sehen.

Quadratische Komponente
Die quadratische Komponente ist eine normale Zelle, die einen Wert mit einer optionalen Farbe empfängt und ein Ereignis an die Board-Komponente sendet, wenn sich der Wert ändert. Sie können den Code 
hier testen und sehen.

Leere Zellenfunktion
Die Funktion "Leere Zellen" ist eine Hilfsfunktion für die Funktion "Winner-calc", mit der überprüft wird, ob sich leere Zellen in der Spieltabelle befinden.
Mit Bit können Sie Komponentendokumente und Testergebnisse anzeigen:

Funktionscode  function haveEmptyCell(matrix: Array<Array<string>>, rowsNum: number, colsNum: number): boolean { let empty: boolean = false; for (let x = 0; x < rowsNum; x++) { for (let y = 0; y < colsNum; y++) { const element: any = matrix[x][y]; if (!element) { empty = true; break; } } if (empty) break; } return empty; } export default haveEmptyCell 
 Gewinnerberechnungsfunktion
Die Gewinnerberechnung ist eine Funktion, die den Gewinner in horizontalen, vertikalen und diagonalen Ebenen berechnet.
Mit Bit können Sie Komponentendokumente und Testergebnisse anzeigen:

Funktionscode  import haveEmptyCell from '../HaveEmptyCell' function winnerCalc(matrix: Array<Array<string>>, rowsNum: number, colsNum: number, numToWin: number, lastRow: number, lastCol: number): string { let winner: string = ''; let match: number = 0; const lastValue: string = matrix[lastRow][lastCol];  
 Das Projekt ist in meiner Sammlung 
auf Bit und in meinem 
GitHub-Repository verfügbar.
Fühlen Sie sich frei, 
diesen Artikel zu 
kommentieren und meinen 
Twitter zu abonnieren.