Hjem Personlig finansiering Java Programmering Utfordring: En Enkel Tic-Tac-Toe Game - Dummies

Java Programmering Utfordring: En Enkel Tic-Tac-Toe Game - Dummies

Video: Week 0 2024

Video: Week 0 2024
Anonim

Ditt oppdrag, hvis du bestemmer deg for å akseptere det, er å lage et Java-program som kan spille et spill med Tic-Tac-Toe med brukeren.

Som du sikkert vet, er Tic-Tac-Toe et enkelt spill som vanligvis spilles med papir og blyant. Først gjør du et enkelt 3 x 3 rutenett på papiret. Deretter veksler to spillere alternative svinger ved å markere Xs og Os i tomme mellomrom på rutenettet. Den første spilleren som lager tre av hans eller hennes karakterer i en horisontal, vertikal eller diagonal rad vinner. Hvis alle mellomrom i rutenettet er fylt før en spiller merker tre på rad, er spillet uavgjort.

Her er reglene og instruksjonene for denne utfordringen:

  1. Datamaskinen spiller mot mennesket. Mennesket beveger seg først og er X. Datamaskinen er O.

  2. Programmet skal begynne med å vise en kort velkomstmelding, og da bør du spørre spilleren for hans eller hennes første trekk. For eksempel:

    Velkommen til Tic-Tac-Toe. Vennligst skriv inn ditt første trekk:
    
  3. For å tegne rutene i rutenettet, bruk bokstavene A, B og C for kolonnene og tallene 1, 2 og 3 for radene, slik som dette:

    Når mennesket går inn, bør programmet vise den nåværende statusen til brettet på konsollen.

    Bruk X til å markere menneskets skuespill og O for å markere datamaskinens skuespill. Bruk vertikale strektegn (funnet på tastaturet med tilbakeslaget tegn, like over Enter-tasten) og bindestrek for å tegne brettet i et enkelt grid.

  4. For eksempel, hvis brukeren har angitt A1 som sin første flytt, viser programmet følgende:

    X | | --- | --- | --- | | --- | --- | --- | |

    Etter menneskets trekk bestemmer programmet sitt trekk, kunngjør det til brukeren, viser et oppdatert kort, og ber om brukerens trekk.

    Du kan for eksempel se dette:
    
  5. Jeg skal spille A2: X | O | --- | --- | --- | | --- | --- | --- | | Vennligst skriv inn ditt neste trekk:

    Spill fortsetter til en spiller har scoret tre på rad eller alle firkantene er fylt uten vinner. Ditt program må kunne avgjøre om en spiller har scoret tre på rad og vant spillet. (Dette er den vanskeligste delen av denne programmeringsutfordringen.)

    Når spillet er over, viser programmet en melding som viser resultatet av spillet: "Du slo meg! "Hvis den menneskelige spilleren vinner," slo jeg deg! "Hvis dataspilleren vinner, eller" Det er uavgjort! "Hvis kampen avsluttes.
    
  6. Menneskelige og dataspillere kan spille i bare de rutene som ikke allerede er okkupert av en spiller.

  7. Programmet avsluttes når spillet er vunnet av en spiller eller spillet er uavgjort. Hvis du vil spille igjen, må du kjøre programmet igjen.

  8. Merk at du er fri til å bruke hvilken som helst metode du vil bestemme hvordan datamaskinen skal gjøre det. Jeg foreslår at du alltid har datamaskinen på det første tomme torget. Dette er åpenbart ikke den beste måten å spille Tic-Tac-Toe på, og du har ingen problemer med å slå datamaskinen hver gang du spiller. Men å velge denne enkle spillestrategien, kan du fokusere på andre aspekter av programmeringen, for eksempel hvordan du internt representerer nettet og hvordan du skal bestemme når en spiller har vunnet spillet eller når kampen er avsluttet.

  9. (I "Java Programmeringsutfordring: Legge til arrays til det enkle Tic-Tac-Toe-programmet" blir du bedt om å komme opp med en bedre strategi for programmet for å bestemme spillene sine.)

Her er et eksempel på Konsollvisningen for et komplett spill:

Velkommen til Tic-Tac-Toe. Vennligst skriv inn ditt første trekk:

A1

X | | --- | --- | --- | | --- | --- | --- | | Jeg skal spille på A2: X | O | --- | --- | --- | | --- | --- | --- | | Vennligst skriv inn ditt neste trekk: B1 X | O | --- | --- | --- X | | --- | --- | --- | | Jeg skal spille på A3: X | O | O --- | --- | --- X | | --- | --- | --- | | Vennligst skriv inn ditt neste trekk: C 1 X | O | O --- | --- | --- X | | --- | --- | --- X | | Du slo meg! Her er noen tips for å komme i gang: Den beste måten å representere rutenettet på er med en matrise. Bruk for øyeblikket ni variabler, kalt A1, A2, A3, B1, B2, B3, C1, C2 og C3.

Hvis du bruker int-typen for gridvariablene, kan du deretter bruke 1 for å indikere at en firkant inneholder en X og 2 for å indikere at en firkant inneholder en O.

  • Åtte mulige rader kan føre til en seier. En spiller vinner hvis noen av de følgende kombinasjonene av firkanter er enten 1 (for X) eller 2 (for O):

  • A1 - A2 - A3 A1 - B1 - C1 A1 - B2 - C3 B1 - B2 - B3 A2 - B2 - C2 A3 - B2 - C1 C1 - C2 - C3 A3 - B3 - C3

  • Det er to måter å avgjøre om spillet er uavgjort. Den første er å sjekke alle ni rutene: Hvis ingen av rutene er tomme og ingen spiller har vunnet, er spillet uavgjort. Den andre er å telle trekkene: Hvis ni trekk er gjort og ingen spiller har vunnet, er spillet uavgjort.

    Du finner en løsning på denne programmeringsutfordringen på fanen Nedlastinger i
    
  • Java All-in-One for Dummies,

4. utgave produktside. Lykke til!

Java Programmering Utfordring: En Enkel Tic-Tac-Toe Game - Dummies

Redaktørens valg

Vanlige visuelle studio-tastaturgenveier - dummier

Vanlige visuelle studio-tastaturgenveier - dummier

Du kan få tilgang til mange av funksjonene du bruker i Visual Studio til Lag en Silverlight-applikasjon gjennom tastaturgenveier. Her er de vanlige snarveiene som hjelper deg med å utføre oppgaver raskt i Visual Studio. Tastatur snarvei Handling Ctrl + Alt + F1 Åpne Visual Studio Documentation Ctrl + Shift + B Bygg programmet Ctrl + F5 Kjør prosjektet Ctrl + Alt + X Åpne verktøykassen hvis ...

Velg riktig format for e-postmarkedsføringsmeldingen din - dummies

Velg riktig format for e-postmarkedsføringsmeldingen din - dummies

Som Du komponerer markedsførings-e-postene dine, husk at formatet på e-posten din visuelt kommuniserer hovedideen til innholdet før publikum selv begynner å lese det. Forbrukerne forventer at formatet på e-posten din samsvarer med informasjonen den inneholder, slik at bruk av riktig format bidrar til å bygge publikums tillit. Velg ...

Kombinere flere samtaler til handling i din markedsføring e-post - dummies

Kombinere flere samtaler til handling i din markedsføring e-post - dummies

Din e-postmarkedsføringslisten består sannsynligvis av prospekter og kunder i ulike stadier av kjøpesyklusen med litt forskjellige interesser, så en del av publikum vil aldri være klar til å reagere umiddelbart på hver handling. Selv om alle på din e-postliste er klare til handling, er dine anrop til handling ...

Redaktørens valg

Opprett en Pivot-tabell YTD-totalvisning for Excel-rapporten - dummies

Opprett en Pivot-tabell YTD-totalvisning for Excel-rapporten - dummies

En nyttig rapportvisning I et Excel-pivottabell er YTD-totalsvisningen. Noen ganger er det nyttig å fange et løp-total-visning for å analysere bevegelsen av tall på en årlig basis (YTD) basis. Denne figuren illustrerer et pivottabell som viser en løpende total omsetning per måned for hvert år. I denne visningen er du ...

Opprett en pivottabel ved hjelp av Excels interne datamodell - dummies

Opprett en pivottabel ved hjelp av Excels interne datamodell - dummies

I enkelte tilfeller vil du kanskje opprett et pivottabell fra grunnen ved hjelp av Excels eksisterende interne datamodell som kildedata. Her er trinnene for å gjøre det: Velg Sett inn → PivotTable fra båndet. Dialogboksen Create PivotTable åpnes. Velg alternativet Bruk en ekstern datakilde, som vist, og klikk deretter på ...

Hvordan lage en standard snikker i Power Pivot - dummies

Hvordan lage en standard snikker i Power Pivot - dummies

Slicers tilbyr et brukervennlig grensesnitt med som du kan filtrere en Power Pivot pivottabell. Det er på tide å lage din første slicer. Bare følg disse trinnene:

Redaktørens valg

Alarmhendelsen i GameMaker: Studio-dummies

Alarmhendelsen i GameMaker: Studio-dummies

Alarmer er utmerket for når du vil ha tid Handlinger i din spill i GameMaker: Studio. For eksempel, hvis du vil at spilleren bare skal skyte kuler en gang hvert annet sekund, kan du sette en alarm for det. Hvis du vil når nye fiendtlige fly vises, kan du sette en alarm for det ...

Flytt retningsaktive handlinger i GameMaker: Studio - dummies

Flytt retningsaktive handlinger i GameMaker: Studio - dummies

I GameMaker: Studio, Flytt-fanen er den første kategorien i vinduet Objektegenskaper. Her er en liste over hver av handlingene du kan tilordne objektene. I følgende definisjoner brukes begrepet Instance for å referere til hva handlingen påvirker. Men du konfigurerer handlingen i objektet ...

Andre hendelser i GameMaker: Studio - dummies

Andre hendelser i GameMaker: Studio - dummies

I GameMaker: Studio, Andre hendelser er de som ikke anses verdige av sitt eget sted på menyen Event. Disse andre hendelsene kan være ganske kjempebra. Menyelementene er ganske mye selvforklarende, så det er ikke nødvendig med detaljer her. For fullstendige beskrivelser av hver av disse elementene, kan du alltid trykke F1 i GameMaker og ...