1. Arbeide med cellene på spillefeltet
Det er flott at vi kan dele spillefeltet inn i celler. Men hva kan vi gjøre med selve cellene?
For hver celle på spillefeltet kan vi angi:
- cellefarge (cellens bakgrunnsfarge);
- tekst (dette kan være tekst eller et tall);
- tekst farge;
- tekststørrelse som en prosentandel av cellestørrelsen.
La oss vurdere metoder for å jobbe med cellene på spillefeltet:
void setCellColor(int x, int y, Color color)setter fargen på cellen med koordinater (x, y)lik color.
Eksempler:
setCellColor(0, 0, Color.RED);
setCellColor(3, 6, Color.BLACK);
setCellColor(6, 8, Color.NONE);
Color getCellColor(int x, int y)returnerer fargen på cellen med koordinater (x, y).
Eksempel:
Color myColor = getCellColor(2, 0);
void setCellValue(int x, int y, String value)tilordner teksten String valuetil cellen med koordinater (x, y).
Eksempler:
setCellValue(3, 3, "text");
setCellValue(0, 8, "W");
setCellValue(4, 1, "2222");
setCellValue(6, 6, "");
String getCellValue(int x, int y)returnerer teksten i cellen med koordinater (x, y).
Eksempler:
String s = getCellValue(3, 3);
System.out.println(getCellValue(4, 1));
void setCellTextSize(int x, int y, int size)angir størrelsen på teksten i cellen med koordinater (x, y), hvor sizeer teksthøyden som en prosentandel av cellehøyden.
Eksempel:
setCellTextSize(2, 0, 70); // 70% of the cell height
int getCellTextSize(int x, int y)returnerer størrelsen på innholdet i cellen med koordinater (x, y).
Eksempel:
int size = getCellTextSize(2 , 0);
void setCellNumber(int x, int y, int value)tildeler nummeret int valuetil cellen med koordinater (x, y).
Eksempler:
setCellNumber(3, 3, 40);
setCellNumber(0, 8, -8);
setCellNumber(4, 1, 2222);
setCellNumber(6, 6, 0);
int getCellNumber(int x, int y)returnerer tallet i cellen med koordinater (x, y). Hvis cellen ikke inneholder et tall, returnerer den 0.
Eksempler:
int i = getCellNumber(3, 3);
System.out.println(getCellNumber(4, 1));
void setCellTextColor(int x, int y, Color color)setter fargen på innholdet (teksten) i cellen med koordinater (x, y).
Eksempler:
setCellTextColor(2, 1, Color.GREEN);
setCellTextColor(0, 1, Color.NONE);
Color getCellTextColor(int x, int y)returnerer fargen på innholdet (teksten) i cellen med koordinater (x, y).
Eksempel:
Color textColor = getCellTextColor(1, 3);
For enkelhets skyld finnes det flere setCellValueEx()metoder med forskjellige sett med parametere:
void setCellValueEx(int x, int y, Color cellColor, String value)setter bakgrunnsfargen og teksten til cellen med koordinater (x, y)lik henholdsvis cellColorog .value
Eksempel:
setCellValueEx(0, 2, Color.BLUE, "56");
void setCellValueEx(int x, int y, Color cellColor, String value, Color textColor)angir bakgrunnsfargen, teksten og tekstfargen til cellen med koordinater (x, y)lik henholdsvis cellColor, value, og .textColor
Eksempel:
setCellValueEx(0, 2, Color.BLACK, "56", Color.GREEN);
void setCellValueEx(int x, int y, Color cellColor, String value, Color textColor, int textSize);angir bakgrunnsfarge, tekst, tekstfarge og tekststørrelse for cellen med koordinater (x, y)lik henholdsvis cellColor, value, textColor, og textSize.
Eksempel:
setCellValueEx(0, 2, Color.BLACK, "56", Color.GREEN, 70);
2. Arbeid med farger
CodeGym-spillmotoren har en spesiell Colortype som inneholder unike verdier for 148 farger. Den har også en spesiell NONEverdi som representerer fraværet av farge.
Eksempler på arbeid med farger
Color myColor = Color.WHITE; // The color white is assigned to the myColor variable.
Color redColor = Color.RED; // The color red is assigned to the redColor variable.
Color blueColor = Color.BLUE; // The color blue is assigned to the blueColor variable.
Du kan farge en celle rød ved å bruke kommandoen:
setCellColor(0, 2, Color.RED);
Du kan sjekke om en celle har en bestemt farge med en kommando som:
if (getCellColor(0,2) == Color.GREEN)
{
}
Noen ganger må du kanskje få en rekke av alle mulige farger. For å gjøre dette, bruk values()metoden.
Eksempel:
// An array containing every available color is assigned to the colors variable.
Color[] colors = Color.values();
Å få en fargeindeks i fargepaletten er veldig enkelt å gjøre - bare bruk metoden ordinal():
Color color = Color.RED;
int redIndex = color.ordinal(); // Index of the color red
int blueIndex = Color.BLUE.ordinal(); // Index of the color blue
Du kan også enkelt få en farge etter indeksen:
// The color whose index is 10 in the Color enum is assigned to the color variable.
Color color = Color.values()[10];
3. Dialogbokser
På slutten av spillet må vi gi spilleren beskjed om han eller hun vant eller tapte. For denne og andre anledninger har CodeGym-spillmotoren den spesielle void showMessageDialog(Color cellColor, String message, Color textColor, int textSize)metoden, som viser en dialogboks med messagemeldingen.
Parametrene for denne metoden er:
cellColorer dialogboksens bakgrunnsfargemessageer teksten i meldingentextColorer fargen på teksten i meldingentextSizeer størrelsen på teksten i meldingen
Dialogboksen lukkes av seg selv hvis brukeren trykker på mellomromstasten eller klikker på dialogboksen med musen.
Eksempel på å kalle denne metoden:
// Display a dialog box with a message
showMessageDialog(Color.BLACK, "EPIC FAIL", Color.RED, 80);
4. Bruksmetoder
Når du skriver spill, bruker du ofte tilfeldige tall. For å gjøre det lettere å få tilfeldige tall, kan du bruke spillmotorens verktøymetoder:
int getRandomNumber(int max)returnerer et tilfeldig tall fra 0til (max–1)inklusive.
int getRandomNumber(int min, int max)returnerer et tilfeldig tall fra mintil (max–1)inklusive.
5. JDK 11+
Når du kjører programmet fra IntelliJ IDEA, kan en klasse som arver Game-klassen generere følgende feil:
Error: JavaFX runtime components are missing, and are required to run this application
I dette tilfellet, for hver slik klasse, må du utføre disse trinnene én gang:
- Åpne Kjør → Rediger konfigurasjon
- For verdien av VM-alternativer , skriv inn følgende:
--module-path ./lib/javafx-sdk-16/lib --add-modules=javafx.controls,javafx.fxml,javafx.base
MERK FØLGENDE:
I nyere versjoner av IntelliJ IDEA vises ikke "VM-alternativer"-feltet som standard. For å vise den, trykk ALT+V
- Trykk: Bruk → OK
- Kjør spillet.
GO TO FULL VERSION