Video: Java Tutorial for Beginners [2019] 2025
I Java Programming Challenge: En enkel Tic-Tac-Toe-spill du ble utfordret til å skrive et konsollbasert program som spiller det enkle spillet Tic-Tac-Toe. Java-programmeringsutfordringen her er å bruke Swing for å legge til et grafisk brukergrensesnitt (GUI) til programmet. GUI-en skal likne den som vises her.
Spillet er enkelt. Den menneskelige spilleren spiller først ved å klikke på noen av rutene. Firkanten klikket av mennesket viser en stor X. Etter menneskelige skuespill bestemmer programmet om mennesket har vunnet eller tvunget et uavgjort. I så fall vises en melding, styret tilbakestilles, og et nytt spill begynner. Hvis ikke, velger datamaskinen et trekk og markerer firkanten med en stor O.
Programmet avgjør deretter om datamaskinen har vunnet spillet. I så fall viser programmet en melding, tilbakestiller brettet og starter et nytt spill. Hvis ikke, spiller den menneskelige spilleren igjen. Dette fortsetter til en spiller vinner eller alle torgene er fylt.
Ditt program bør bruke samme TicTacToeBoard-klassen du lager for Java Programming Challenge: Legge til klasse til det enkle Tic-Tac-Toe-programmet. Med andre ord, det må implementere nøyaktig samme metoder. For enkelhets skyld gjentas disse metodene i følgende tabell.
Constructor | Beskrivelse |
---|---|
TicTacToeBoard | Oppretter en ny TicTacToeBoard med alle torgene tomme. |
Metode | Beskrivelse |
ugyldig nullstilling () | Tilbakestiller statusen til hvert felt for å tømme. |
void playAt (String square, int player) | Markerer angitt kvadrat (A1, A2, A3, B1, B2, B3, C1, C2 eller C3) for den angitte spilleren (1 for X, 2 for O). Kaster ut IllegalArgumentException hvis firkantet ikke er en av de tillatte verdiene, spilleren er ikke 1 eller 2, eller den angitte firkanten er ikke tom. |
int isGameOver () | Bestemmer om spillet er over. Returnerer 0 hvis spillet ikke er over, 1 hvis X har vunnet spillet, 2 hvis O har vunnet spillet, og 3 hvis kampen er uavgjort. Spillets sluttbetingelser er som følger:
1: Hvis en rad, kolonne eller diagonal inneholder alle X-er. 2: Hvis en rad, kolonne eller diagonal inneholder alle O-er. 3: Hvis det ikke er tomme firkanter og verken X eller O har vunnet. |
int getNextMove () | Returnerer et heltall som representerer neste trekk for datamaskinens motstander. Denne metoden bør gjøre en rudimentær innsats for å velge et godt trekk, i henhold til følgende strategi:
* Hvis senteret (kvadrat B2) er tomt, spiller du midtfeltet. * Hvis senteret ikke er tomt, men noen av de fire hjørnene (firkantene A1, A3, C1 eller C3) er tomme, spiller du en av hjørnene (det spiller ingen rolle hvilken). * Hvis senteret ikke er tomt og ingen hjørner er tomme, spiller du en av kantene (firkantene A2, B1, B3 eller C2). |
String toString () | Returnerer en streng som representerer styrets nåværende status. Strengen inneholder nybegynne tegn for å vise rader og separatorlinjer på separate konsolllinjer, som i dette eksemplet:
O | | O - | - | - | X | - | - | - | X | |
Du finner løsningen på denne utfordringen på nedlastingsfanen i Java All-in-One for Dummies, 4. utgave produktside.
Lykke til!
