1. Hur man skriver spel på CodeGym
Som ni vet har CodeGym introducerat en ny funktion: spelskrivning . Dessa uppgifter är betydligt större än vanliga uppgifter och mycket mer intressanta. De är intressanta inte bara att skriva, utan också, um, att testa. Du förstår vad vi pratar om ;) Arbetet på CodeGym-kontoren stannade bokstavligen i flera dagar när vi började testa speluppgifterna :) Varje speluppgift är ett projekt: en stor uppgift med tjugo deluppgifter. När du skriver ett spel måste du slutföra dem i ordning. När den sista deluppgiften är klar är ditt spel klart. Den kommer att använda CodeGyms mycket enkla spelmotor . Att arbeta med det är inte svårare än att arbeta med konsolen. Du hittar en beskrivning av spelmotorn och exempel på hur man använder den i det här dokumentet .2. Spelmotorfunktioner
Spelplanen är indelad i celler av spelmotorn. Minsta storlek är 3x3; max är 100x100. Varje cell kan målas i en viss färg och lite text kan skrivas i den. Textstorleken och textfärgen kan också ställas in för varje cell. Motorn gör det möjligt att skriva händelsehanterare för musklick och tangenttryckningar. En annan intressant sak är möjligheten att arbeta med en timer. Läs mer i avsnittet "Arbeta med en timer". Vår "uppenbara" spelmotor låter dig skapa mycket intressanta spel - något du kommer att se själv. Vill du pröva? Läs sedan nästa stycke och börja skriva spel.3. Åtkomst till ett spel
För att börja skriva ett spel, gå till avsnittet "Spel" på CodeGym-webbplatsen, välj ett du gillar och gå till dess sida. Det kommer att finnas en " Skriv lösning "-knapp — klicka på den. Webb-IDE kommer att öppnas. Där kommer du att börja arbeta med den första deluppgiften i spelet. Dessutom kommer spelets deluppgifter att vara tillgängliga för dig i IntelliJ IDEA via plugin. Om du använder IntelliJ IDEA måste du uppdatera plugin-programmet. Du kan ladda ner den senaste versionen av plugin här . Efter att ha uppdaterat insticksprogrammet öppnar du uppgiftslistan och väljer "Java Games Quest". Klicka sedan på den tillgängliga deluppgiften: en "Java Games"-modul ska visas i ditt projekt, och den ska innehålla motorbiblioteket och koden för dina deluppgifter. Efter det är det precis som att lösa vilken annan uppgift som helst. Du kan skriva spel i webb-IDE eller i IntelliJ IDEA, beroende på vad du gillar mest. Ändå är IntelliJ IDEA bekvämare. Och mer professionell. Valet är ditt.4. Publicera spel till applikationskatalogen
När du har skrivit klart ett spel kan du publicera det i katalogen "Spel och applikationer" på CodeGym. Tryck bara på "Publicera"-knappen, och om en halv minut kommer ditt spel att läggas till i avsnittet "Publicerade spel". Om du vill dela din implementering av spelet med vänner eller kollegor kan ingenting vara enklare. Skicka bara en länk till det publicerade spelet till dem så kan de spela. Registrering på CodeGym krävs inte. Som skapare kan du njuta av hur många gånger andra spelar ditt spel. Precis som antalet visningar på YouTube. Ju större desto bättre.5. Spelanpassning
När du har skrivit klart ett spel kan du ändra det. Vill du spela 2048 på en 5x5-bräda? Varsågod. Du är en programmerare - och du har ett tangentbord till hands. Ändra spelet hur du vill. Du kan lägga till något helt nytt. Till exempel, i Snake, kan ormen sakta ner om den äter ett färskt äpple (inom 5 sekunder efter att äpplet dyker upp). Dessutom kan äpplet ändra färg från rött till grönt, eller bli ett päron. Eller så kanske din orm älskar kaniner mer än äpplen... I Minesweeper kan du ge spelaren ett andra liv eller kanske en atombomb som "lyser upp" celler inom en radie av flera celler. Men kom ihåg att om du arbetar med filer eller grafik i ett spel utan att använda spelmotorn kanske spelet inte publiceras i applikationskatalogen. Allt kan inte köras i en webbläsare, du vet.6. Användbar dokumentation
Vi förberedde några djupgående dokument för att hjälpa dig att bekanta dig med spelmotorn CodeGym (initiera spelet, skapa spelplanen och arbeta med grafik), händelsehantering (att arbeta med mus, tangentbord och timer) och uppdatera eller lär dig den grundläggande Java-teorin du hittar när du skriver spel (första och andra CodeGym-uppdraget):- Avsnittet "Spel" på CodeGym: Beskrivning av spelmotorn
- Avsnittet "Spel" på CodeGym: Eventhantering
- Avsnittet "Spel" på CodeGym: Användbar teori
7. Vanliga problem
Jag har Linux och jag använder OpenJDK. När jag kör spelet ger kompilatorn ett felmeddelande:
Error:(6, 8) java: cannot access javafx.application.Application
class file for javafx.application.Application not found
Vad ska du göra? Vår spelmotor använder JavaFX, men den är inte installerad som standard i OpenJDK. Du måste fixa detta:
-
Vid kommandotolken anger du följande:
sudo apt-get install openjfx
-
Efter det, gå till projektinställningarna (ALT+CTRL+SHIFT+S) -> SDKs -> Classpath och klicka på plustecknet till höger. Välj filen jfxrt.jar. Den finns i den installerade JDK på: <JDK_PATH>/jre/lib/ext/jfxrt.jar
-
Klicka på OK.
-
Ladda ner JavaFX Windows SDK på https://gluonhq.com/products/javafx/ .
-
Packa upp det nedladdade arkivet i valfri mapp (helst i lib-mappen i Games-projektet).
-
Öppna IDEA.
-
I IDEA, gå till Arkiv -> Projektstruktur.
-
Välj fliken Bibliotek och klicka på + -> Java.
-
Ange sökvägen till den uppackade mappen javafx-sdk och välj mappen lib
-
Klicka på OK. Lägg sedan till JavaFX i spelmodulen i det nya fönstret.
-
Nu ska ett nytt bibliotek dyka upp. Klicka på Verkställ -> OK.
-
För att köra spelet korrekt, öppna Kör-> Redigera konfiguration och skriv in följande i fältet VM-alternativ:
--module-path ./lib/javafx-sdk-16/lib --add-modules=javafx.controls,javafx.fxml,javafx.base
-
Därefter måste du lägga till applikationen på den här fliken. För att göra detta, klicka på + -> Applikation
-
-
Välj modulen Spel
-
Ange sökvägen till huvudklassen (i det här fallet —
SnakeGame
) -
Ange samma VM-alternativ som i punkt 9.
Klicka på Verkställ -> OK
-
-
Kör spelet.
GO TO FULL VERSION