just need finishing touches..
|
@ -5,18 +5,18 @@
|
||||||
<?import javafx.scene.layout.AnchorPane?>
|
<?import javafx.scene.layout.AnchorPane?>
|
||||||
<?import javafx.scene.text.Font?>
|
<?import javafx.scene.text.Font?>
|
||||||
|
|
||||||
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="500.0" prefWidth="400.0" style="-fx-background-color: #252525;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controllers.CreditsSceneController">
|
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="400.0" style="-fx-background-color: #252525;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controllers.CreditsSceneController">
|
||||||
<children>
|
<children>
|
||||||
<Button layoutX="113.0" layoutY="438.0" mnemonicParsing="false" onAction="#btnMenuClicked" prefHeight="27.0" prefWidth="174.0" style="-fx-background-color: white;" text="Go back to Menu">
|
<Button layoutX="114.0" layoutY="511.0" mnemonicParsing="false" onAction="#btnMenuClicked" prefHeight="53.0" prefWidth="174.0" style="-fx-background-color: white;" text="Go back to Menu">
|
||||||
<font>
|
<font>
|
||||||
<Font name="Bodoni MT Black" size="12.0" />
|
<Font name="Bodoni MT Black" size="16.0" />
|
||||||
</font></Button>
|
</font></Button>
|
||||||
<Label layoutX="142.0" layoutY="39.0" text="Credits" textFill="WHITE">
|
<Label layoutX="114.0" layoutY="54.0" text="Credits" textFill="WHITE">
|
||||||
<font>
|
<font>
|
||||||
<Font name="System Bold" size="36.0" />
|
<Font name="System Bold" size="53.0" />
|
||||||
</font>
|
</font>
|
||||||
</Label>
|
</Label>
|
||||||
<Label layoutX="15.0" layoutY="92.0" prefHeight="290.0" prefWidth="372.0" textFill="WHITE">
|
<Label layoutX="15.0" layoutY="155.0" prefHeight="290.0" prefWidth="372.0" textFill="WHITE">
|
||||||
<font>
|
<font>
|
||||||
<Font size="18.0" />
|
<Font size="18.0" />
|
||||||
</font>
|
</font>
|
||||||
|
|
|
@ -8,49 +8,50 @@
|
||||||
<?import javafx.scene.layout.AnchorPane?>
|
<?import javafx.scene.layout.AnchorPane?>
|
||||||
<?import javafx.scene.text.Font?>
|
<?import javafx.scene.text.Font?>
|
||||||
|
|
||||||
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="500.0" prefWidth="400.0" style="-fx-background-color: #252525;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controllers.GameSceneController">
|
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="400.0" style="-fx-background-color: #252525;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controllers.GameSceneController">
|
||||||
<children>
|
<children>
|
||||||
<ImageView fitHeight="204.0" fitWidth="210.0" layoutX="98.0" layoutY="-34.0" pickOnBounds="true" preserveRatio="true">
|
<ImageView fitHeight="269.0" fitWidth="293.0" layoutX="66.0" layoutY="-53.0" pickOnBounds="true" preserveRatio="true">
|
||||||
<image>
|
<image>
|
||||||
<Image url="@../logo4.jpg" />
|
<Image url="@../logo_final.png" />
|
||||||
</image>
|
</image>
|
||||||
</ImageView>
|
</ImageView>
|
||||||
<Button layoutX="335.0" layoutY="448.0" mnemonicParsing="false" onAction="#btnResetClicked" prefHeight="10.0" prefWidth="58.0" style="-fx-background-color: white;" text="Reset" textFill="RED">
|
<Button fx:id="resetBtn" layoutX="158.0" layoutY="519.0" mnemonicParsing="false" onAction="#btnResetClicked" prefHeight="22.0" prefWidth="85.0" style="-fx-background-color: white;" text="New Game" textFill="RED">
|
||||||
<font>
|
<font>
|
||||||
<Font name="Bodoni MT Black" size="12.0" />
|
<Font name="Bodoni MT Black" size="12.0" />
|
||||||
</font>
|
</font>
|
||||||
</Button>
|
</Button>
|
||||||
<TextField layoutX="74.0" layoutY="442.0" prefHeight="33.0" prefWidth="186.0" promptText="Write a word here!" style="-fx-background-color: #5166A9; -fx-border-color: white;" />
|
<TextField fx:id="userInput" layoutX="78.0" layoutY="471.0" prefHeight="33.0" prefWidth="186.0" promptText="Write a word here!" style="-fx-background-color: #4f86f7; -fx-border-color: #4f86f7;" />
|
||||||
<Button layoutX="269.0" layoutY="442.0" mnemonicParsing="false" onAction="#btnGoClicked" prefHeight="33.0" prefWidth="58.0" style="-fx-background-color: white;" text="Go">
|
<Button fx:id="goBtn" layoutX="273.0" layoutY="471.0" mnemonicParsing="false" onAction="#btnGoClicked" prefHeight="33.0" prefWidth="58.0" style="-fx-background-color: white;" text="Go">
|
||||||
<font>
|
<font>
|
||||||
<Font name="Bodoni MT Black" size="14.0" />
|
<Font name="Bodoni MT Black" size="14.0" />
|
||||||
</font>
|
</font>
|
||||||
</Button>
|
</Button>
|
||||||
<Label fx:id="lb1" layoutX="55.0" layoutY="134.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb1" layoutX="55.0" layoutY="163.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="115.0" layoutY="134.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb2" layoutX="115.0" layoutY="163.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="175.0" layoutY="134.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb3" layoutX="175.0" layoutY="163.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="235.0" layoutY="134.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb4" layoutX="235.0" layoutY="163.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="295.0" layoutY="134.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb5" layoutX="295.0" layoutY="163.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="55.0" layoutY="194.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb6" layoutX="55.0" layoutY="223.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="115.0" layoutY="194.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb7" layoutX="115.0" layoutY="223.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="175.0" layoutY="194.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb8" layoutX="175.0" layoutY="223.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="235.0" layoutY="194.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb9" layoutX="235.0" layoutY="223.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="295.0" layoutY="194.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb10" layoutX="295.0" layoutY="223.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="55.0" layoutY="254.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb11" layoutX="55.0" layoutY="283.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="115.0" layoutY="254.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb12" layoutX="115.0" layoutY="283.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="175.0" layoutY="254.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb13" layoutX="175.0" layoutY="283.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="235.0" layoutY="254.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb14" layoutX="235.0" layoutY="283.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="295.0" layoutY="254.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb15" layoutX="295.0" layoutY="283.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="55.0" layoutY="314.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb16" layoutX="55.0" layoutY="343.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="115.0" layoutY="314.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb17" layoutX="115.0" layoutY="343.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="175.0" layoutY="314.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb18" layoutX="175.0" layoutY="343.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="235.0" layoutY="314.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb19" layoutX="235.0" layoutY="343.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="295.0" layoutY="314.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb20" layoutX="295.0" layoutY="343.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="55.0" layoutY="374.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb21" layoutX="55.0" layoutY="403.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="115.0" layoutY="374.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb22" layoutX="115.0" layoutY="403.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="175.0" layoutY="374.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb23" layoutX="175.0" layoutY="403.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="235.0" layoutY="374.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb24" layoutX="235.0" layoutY="403.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="295.0" layoutY="374.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb25" layoutX="295.0" layoutY="403.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Button layoutX="130.0" layoutY="14.0" mnemonicParsing="false" onAction="#btnMenuClicked" prefHeight="107.0" prefWidth="148.0" style="-fx-background-color: transparent;" textFill="TRANSPARENT" />
|
<Button layoutX="105.0" layoutY="20.0" mnemonicParsing="false" onAction="#btnMenuClicked" prefHeight="123.0" prefWidth="195.0" style="-fx-background-color: transparent;" text="s" textFill="TRANSPARENT" />
|
||||||
|
<Label fx:id="endgame" alignment="CENTER" contentDisplay="CENTER" layoutX="142.0" layoutY="553.0" prefHeight="33.0" prefWidth="121.0" textAlignment="CENTER" textFill="WHITE" />
|
||||||
</children>
|
</children>
|
||||||
</AnchorPane>
|
</AnchorPane>
|
||||||
|
|
|
@ -6,24 +6,24 @@
|
||||||
<?import javafx.scene.layout.AnchorPane?>
|
<?import javafx.scene.layout.AnchorPane?>
|
||||||
<?import javafx.scene.text.Font?>
|
<?import javafx.scene.text.Font?>
|
||||||
|
|
||||||
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="500.0" prefWidth="400.0" style="-fx-background-color: #252525;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controllers.MainSceneController">
|
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="400.0" style="-fx-background-color: #252525;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controllers.MainSceneController">
|
||||||
<children>
|
<children>
|
||||||
<ImageView fitHeight="400.0" fitWidth="413.0" layoutY="-48.0" pickOnBounds="true" preserveRatio="true">
|
<ImageView fitHeight="478.0" fitWidth="482.0" layoutX="-38.0" layoutY="-65.0" pickOnBounds="true" preserveRatio="true">
|
||||||
<image>
|
<image>
|
||||||
<Image url="@../logo4.jpg" />
|
<Image url="@../logo_final.png" />
|
||||||
</image>
|
</image>
|
||||||
</ImageView>
|
</ImageView>
|
||||||
<Button layoutX="115.0" layoutY="275.0" mnemonicParsing="false" onAction="#btnPlayClicked" prefHeight="53.0" prefWidth="171.0" style="-fx-background-color: white;" text="Play">
|
<Button layoutX="115.0" layoutY="329.0" mnemonicParsing="false" onAction="#btnPlayClicked" prefHeight="53.0" prefWidth="171.0" style="-fx-background-color: white;" text="Play">
|
||||||
<font>
|
<font>
|
||||||
<Font name="Bodoni MT Black" size="24.0" />
|
<Font name="Bodoni MT Black" size="24.0" />
|
||||||
</font>
|
</font>
|
||||||
</Button>
|
</Button>
|
||||||
<Button layoutX="115.0" layoutY="342.0" mnemonicParsing="false" onAction="#btnRulesClicked" prefHeight="53.0" prefWidth="171.0" style="-fx-background-color: white;" text="How to Play">
|
<Button layoutX="115.0" layoutY="415.0" mnemonicParsing="false" onAction="#btnRulesClicked" prefHeight="53.0" prefWidth="171.0" style="-fx-background-color: white;" text="How to Play">
|
||||||
<font>
|
<font>
|
||||||
<Font name="Bodoni MT Black" size="18.0" />
|
<Font name="Bodoni MT Black" size="18.0" />
|
||||||
</font>
|
</font>
|
||||||
</Button>
|
</Button>
|
||||||
<Button layoutX="115.0" layoutY="410.0" mnemonicParsing="false" onAction="#btnCreditsClicked" prefHeight="53.0" prefWidth="171.0" style="-fx-background-color: white;" text="Credits">
|
<Button layoutX="115.0" layoutY="502.0" mnemonicParsing="false" onAction="#btnCreditsClicked" prefHeight="53.0" prefWidth="171.0" style="-fx-background-color: white;" text="Credits">
|
||||||
<font>
|
<font>
|
||||||
<Font name="Bodoni MT Black" size="24.0" />
|
<Font name="Bodoni MT Black" size="24.0" />
|
||||||
</font>
|
</font>
|
||||||
|
|
|
@ -5,18 +5,18 @@
|
||||||
<?import javafx.scene.layout.AnchorPane?>
|
<?import javafx.scene.layout.AnchorPane?>
|
||||||
<?import javafx.scene.text.Font?>
|
<?import javafx.scene.text.Font?>
|
||||||
|
|
||||||
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="500.0" prefWidth="400.0" style="-fx-background-color: #252525;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controllers.RulesSceneController">
|
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="400.0" style="-fx-background-color: #252525;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controllers.RulesSceneController">
|
||||||
<children>
|
<children>
|
||||||
<Button layoutX="113.0" layoutY="438.0" mnemonicParsing="false" onAction="#btnMenuClicked" prefHeight="27.0" prefWidth="174.0" style="-fx-background-color: white;" text="Go back to Menu">
|
<Button layoutX="114.0" layoutY="511.0" mnemonicParsing="false" onAction="#btnMenuClicked" prefHeight="53.0" prefWidth="174.0" style="-fx-background-color: white;" text="Go back to Menu">
|
||||||
<font>
|
<font>
|
||||||
<Font name="Bodoni MT Black" size="12.0" />
|
<Font name="Bodoni MT Black" size="16.0" />
|
||||||
</font></Button>
|
</font></Button>
|
||||||
<Label layoutX="98.0" layoutY="39.0" text="How to Play" textFill="WHITE">
|
<Label layoutX="50.0" layoutY="54.0" text="How to Play" textFill="WHITE">
|
||||||
<font>
|
<font>
|
||||||
<Font name="System Bold" size="36.0" />
|
<Font name="System Bold" size="53.0" />
|
||||||
</font>
|
</font>
|
||||||
</Label>
|
</Label>
|
||||||
<Label layoutX="15.0" layoutY="92.0" prefHeight="290.0" prefWidth="372.0" text="1. Lorem ipasum ... 2. tseter 3. wow 4. ok 5. shit" textFill="WHITE">
|
<Label layoutX="16.0" layoutY="155.0" prefHeight="290.0" prefWidth="372.0" text="1. Lorem ipasum ... 2. tseter 3. wow 4. ok 5. shit" textFill="WHITE">
|
||||||
<font>
|
<font>
|
||||||
<Font size="18.0" />
|
<Font size="18.0" />
|
||||||
</font>
|
</font>
|
||||||
|
|
BIN
bin/Interfaces/WordleInterface.class
Normal file
BIN
bin/Objects/Testing.class
Normal file
BIN
bin/Objects/WordleGame.class
Normal file
BIN
bin/logo.jpg
Before Width: | Height: | Size: 32 KiB |
BIN
bin/logo.png
Before Width: | Height: | Size: 13 KiB |
BIN
bin/logo2.jpg
Before Width: | Height: | Size: 39 KiB |
BIN
bin/logo3.jpg
Before Width: | Height: | Size: 31 KiB |
BIN
bin/logo4.jpg
Before Width: | Height: | Size: 32 KiB |
BIN
bin/logo_final.png
Normal file
After Width: | Height: | Size: 14 KiB |
5
gameWords.txt
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
moren
|
||||||
|
konge
|
||||||
|
anime
|
||||||
|
feste
|
||||||
|
bønne
|
25
legalWords.txt
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
treet
|
||||||
|
hoppe
|
||||||
|
leppe
|
||||||
|
sitte
|
||||||
|
lefse
|
||||||
|
model
|
||||||
|
lampe
|
||||||
|
proff
|
||||||
|
miste
|
||||||
|
huset
|
||||||
|
båten
|
||||||
|
låten
|
||||||
|
leste
|
||||||
|
mange
|
||||||
|
danse
|
||||||
|
dyner
|
||||||
|
mobil
|
||||||
|
tenke
|
||||||
|
senke
|
||||||
|
faren
|
||||||
|
moren
|
||||||
|
konge
|
||||||
|
anime
|
||||||
|
feste
|
||||||
|
bønne
|
|
@ -2,35 +2,211 @@ package Controllers;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import Objects.WordleGame;
|
||||||
import javafx.event.ActionEvent;
|
import javafx.event.ActionEvent;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.fxml.FXMLLoader;
|
import javafx.fxml.FXMLLoader;
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.control.TextField;
|
||||||
|
import javafx.scene.paint.Color;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
|
|
||||||
public class GameSceneController {
|
public class GameSceneController {
|
||||||
|
|
||||||
// Event Listener on Button.onAction
|
private WordleGame game = new WordleGame();
|
||||||
|
private int[] correctChars;
|
||||||
|
private Label one, two, three, four, five; // Labels for words and colorchanging
|
||||||
|
|
||||||
|
// @FXML variables
|
||||||
@FXML
|
@FXML
|
||||||
public void btnResetClicked(ActionEvent event) {
|
private Label lb1, lb2, lb3, lb4, lb5,
|
||||||
// TODO Autogenerated
|
lb6, lb7, lb8, lb9, lb10,
|
||||||
}
|
lb11, lb12, lb13, lb14, lb15,
|
||||||
|
lb16, lb17, lb18, lb19, lb20,
|
||||||
|
lb21, lb22, lb23, lb24, lb25;
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
private TextField userInput;
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
private Button goBtn;
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
private Button resetBtn;
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
private Label endgame;
|
||||||
|
|
||||||
|
|
||||||
// Event Listener on Button.onAction
|
// Event Listener on Button.onAction
|
||||||
|
/*
|
||||||
|
* Checks and outputs if users guessed word is
|
||||||
|
* legal or not, and will show result of each
|
||||||
|
* guess to user.
|
||||||
|
* Includes also a winning and losing screen. ****
|
||||||
|
*/
|
||||||
@FXML
|
@FXML
|
||||||
public void btnGoClicked(ActionEvent event) {
|
public void btnGoClicked(ActionEvent event) {
|
||||||
// TODO Autogenerated
|
String userGuess = userInput.getText().toLowerCase();
|
||||||
|
game.setCurrentGuess(userGuess);
|
||||||
|
setRows();
|
||||||
|
|
||||||
|
// Checks if userGuess is legal or not
|
||||||
|
if (game.isWordLegal(userGuess)) {
|
||||||
|
userGuess = userGuess.toUpperCase();
|
||||||
|
char[] letters = userGuess.toCharArray();
|
||||||
|
|
||||||
|
// Letters to labels
|
||||||
|
one.setText("" + letters[0] + "");
|
||||||
|
two.setText("" + letters[1] + "");
|
||||||
|
three.setText("" + letters[2] + "");
|
||||||
|
four.setText("" + letters[3] + "");
|
||||||
|
five.setText("" + letters[4] + "");
|
||||||
|
|
||||||
|
// Colorchange
|
||||||
|
correctChars = game.charChecker();
|
||||||
|
|
||||||
|
colorChanger(correctChars[0], one);
|
||||||
|
colorChanger(correctChars[1], two);
|
||||||
|
colorChanger(correctChars[2], three);
|
||||||
|
colorChanger(correctChars[3], four);
|
||||||
|
colorChanger(correctChars[4], five);
|
||||||
|
|
||||||
|
game.nextRow();
|
||||||
|
} else {
|
||||||
|
userInput.setPromptText("Not a legal word!");
|
||||||
|
}
|
||||||
|
|
||||||
|
// if game.correctWord
|
||||||
|
if (game.correctWord()) {
|
||||||
|
endgame.setText("YOU WON!");
|
||||||
|
endgame.setTextFill(Color.GREEN);
|
||||||
|
}
|
||||||
|
|
||||||
|
// if getCurrentRow < 5 - you lost new game x setup
|
||||||
|
if (game.getCurrentRow() > 5) {
|
||||||
|
endgame.setText("YOU LOST!");
|
||||||
|
endgame.setTextFill(Color.RED);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clears inputfield for next guess
|
||||||
|
userInput.setText("");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Event Listener on Button.onAction
|
// Event Listener on Button.onAction
|
||||||
|
/*
|
||||||
|
* Resets userinput field and all labels
|
||||||
|
*/
|
||||||
|
@FXML
|
||||||
|
public void btnResetClicked(ActionEvent event) {
|
||||||
|
userInput.setPromptText("Write a word here!");
|
||||||
|
newGameSetup();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Event Listener on Button.onAction
|
||||||
|
/*
|
||||||
|
* Goes back to menu when logo is clicked
|
||||||
|
*/
|
||||||
@FXML
|
@FXML
|
||||||
public void btnMenuClicked(ActionEvent event) throws IOException {
|
public void btnMenuClicked(ActionEvent event) throws IOException {
|
||||||
Parent gameSceneParent = FXMLLoader.load(getClass().getResource("/FXML/MainScene.fxml"));
|
Parent menuSceneParent = FXMLLoader.load(getClass().getResource("/FXML/MainScene.fxml"));
|
||||||
Scene gameScene = new Scene(gameSceneParent);
|
Scene menuScene = new Scene(menuSceneParent);
|
||||||
|
|
||||||
Stage window = (Stage) ((Node)event.getSource()).getScene().getWindow();
|
Stage window = (Stage) ((Node)event.getSource()).getScene().getWindow();
|
||||||
window.setTitle("Sids Wordle");
|
window.setTitle("Sids Wordle");
|
||||||
window.setScene(gameScene);
|
window.setScene(menuScene);
|
||||||
window.show();
|
window.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Fixes setup for each row in the game
|
||||||
|
*/
|
||||||
|
private void setRows() {
|
||||||
|
switch(game.getCurrentRow()) {
|
||||||
|
case 1:
|
||||||
|
one = lb1;
|
||||||
|
two = lb2;
|
||||||
|
three = lb3;
|
||||||
|
four = lb4;
|
||||||
|
five = lb5;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
one = lb6;
|
||||||
|
two = lb7;
|
||||||
|
three = lb8;
|
||||||
|
four = lb9;
|
||||||
|
five = lb10;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
one = lb11;
|
||||||
|
two = lb12;
|
||||||
|
three = lb13;
|
||||||
|
four = lb14;
|
||||||
|
five = lb15;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
one = lb16;
|
||||||
|
two = lb17;
|
||||||
|
three = lb18;
|
||||||
|
four = lb19;
|
||||||
|
five = lb20;
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
one = lb21;
|
||||||
|
two = lb22;
|
||||||
|
three = lb23;
|
||||||
|
four = lb24;
|
||||||
|
five = lb25;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Fixes setup for a new game, and resets
|
||||||
|
* both color and text for all labels
|
||||||
|
*/
|
||||||
|
private void newGameSetup() {
|
||||||
|
game = new WordleGame();
|
||||||
|
endgame.setText("");
|
||||||
|
Label[] labels = {
|
||||||
|
lb1, lb2, lb3, lb4, lb5,
|
||||||
|
lb6, lb7, lb8, lb9, lb10,
|
||||||
|
lb11, lb12, lb13, lb14, lb15,
|
||||||
|
lb16, lb17, lb18, lb19, lb20,
|
||||||
|
lb21, lb22, lb23, lb24, lb25
|
||||||
|
};
|
||||||
|
|
||||||
|
for (int i = 0; i < labels.length; i++) {
|
||||||
|
labels[i].setText("");
|
||||||
|
labels[i].setStyle("-fx-background-color: lightgrey;");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Changes colors of labels to show user
|
||||||
|
* which letters of current guess are:
|
||||||
|
* 0) wrong (not in gameword)
|
||||||
|
* 1) correct, but in wrong place
|
||||||
|
* 2) correct and in right place
|
||||||
|
*
|
||||||
|
* @param x -> each case mentioned over^
|
||||||
|
* @param y -> which label to change background on
|
||||||
|
*/
|
||||||
|
private void colorChanger(int x, Label y) {
|
||||||
|
switch(x) {
|
||||||
|
case 0:
|
||||||
|
y.setStyle("-fx-background-color: lightgrey;");
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
y.setStyle("-fx-background-color: yellow;");
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
y.setStyle("-fx-background-color: green;");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,18 +5,18 @@
|
||||||
<?import javafx.scene.layout.AnchorPane?>
|
<?import javafx.scene.layout.AnchorPane?>
|
||||||
<?import javafx.scene.text.Font?>
|
<?import javafx.scene.text.Font?>
|
||||||
|
|
||||||
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="500.0" prefWidth="400.0" style="-fx-background-color: #252525;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controllers.CreditsSceneController">
|
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="400.0" style="-fx-background-color: #252525;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controllers.CreditsSceneController">
|
||||||
<children>
|
<children>
|
||||||
<Button layoutX="113.0" layoutY="438.0" mnemonicParsing="false" onAction="#btnMenuClicked" prefHeight="27.0" prefWidth="174.0" style="-fx-background-color: white;" text="Go back to Menu">
|
<Button layoutX="114.0" layoutY="511.0" mnemonicParsing="false" onAction="#btnMenuClicked" prefHeight="53.0" prefWidth="174.0" style="-fx-background-color: white;" text="Go back to Menu">
|
||||||
<font>
|
<font>
|
||||||
<Font name="Bodoni MT Black" size="12.0" />
|
<Font name="Bodoni MT Black" size="16.0" />
|
||||||
</font></Button>
|
</font></Button>
|
||||||
<Label layoutX="142.0" layoutY="39.0" text="Credits" textFill="WHITE">
|
<Label layoutX="114.0" layoutY="54.0" text="Credits" textFill="WHITE">
|
||||||
<font>
|
<font>
|
||||||
<Font name="System Bold" size="36.0" />
|
<Font name="System Bold" size="53.0" />
|
||||||
</font>
|
</font>
|
||||||
</Label>
|
</Label>
|
||||||
<Label layoutX="15.0" layoutY="92.0" prefHeight="290.0" prefWidth="372.0" textFill="WHITE">
|
<Label layoutX="15.0" layoutY="155.0" prefHeight="290.0" prefWidth="372.0" textFill="WHITE">
|
||||||
<font>
|
<font>
|
||||||
<Font size="18.0" />
|
<Font size="18.0" />
|
||||||
</font>
|
</font>
|
||||||
|
|
|
@ -8,49 +8,50 @@
|
||||||
<?import javafx.scene.layout.AnchorPane?>
|
<?import javafx.scene.layout.AnchorPane?>
|
||||||
<?import javafx.scene.text.Font?>
|
<?import javafx.scene.text.Font?>
|
||||||
|
|
||||||
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="500.0" prefWidth="400.0" style="-fx-background-color: #252525;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controllers.GameSceneController">
|
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="400.0" style="-fx-background-color: #252525;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controllers.GameSceneController">
|
||||||
<children>
|
<children>
|
||||||
<ImageView fitHeight="204.0" fitWidth="210.0" layoutX="98.0" layoutY="-34.0" pickOnBounds="true" preserveRatio="true">
|
<ImageView fitHeight="269.0" fitWidth="293.0" layoutX="66.0" layoutY="-53.0" pickOnBounds="true" preserveRatio="true">
|
||||||
<image>
|
<image>
|
||||||
<Image url="@../logo4.jpg" />
|
<Image url="@../logo_final.png" />
|
||||||
</image>
|
</image>
|
||||||
</ImageView>
|
</ImageView>
|
||||||
<Button layoutX="335.0" layoutY="448.0" mnemonicParsing="false" onAction="#btnResetClicked" prefHeight="10.0" prefWidth="58.0" style="-fx-background-color: white;" text="Reset" textFill="RED">
|
<Button fx:id="resetBtn" layoutX="158.0" layoutY="519.0" mnemonicParsing="false" onAction="#btnResetClicked" prefHeight="22.0" prefWidth="85.0" style="-fx-background-color: white;" text="New Game" textFill="RED">
|
||||||
<font>
|
<font>
|
||||||
<Font name="Bodoni MT Black" size="12.0" />
|
<Font name="Bodoni MT Black" size="12.0" />
|
||||||
</font>
|
</font>
|
||||||
</Button>
|
</Button>
|
||||||
<TextField layoutX="74.0" layoutY="442.0" prefHeight="33.0" prefWidth="186.0" promptText="Write a word here!" style="-fx-background-color: #5166A9; -fx-border-color: white;" />
|
<TextField fx:id="userInput" layoutX="78.0" layoutY="471.0" prefHeight="33.0" prefWidth="186.0" promptText="Write a word here!" style="-fx-background-color: #4f86f7; -fx-border-color: #4f86f7;" />
|
||||||
<Button layoutX="269.0" layoutY="442.0" mnemonicParsing="false" onAction="#btnGoClicked" prefHeight="33.0" prefWidth="58.0" style="-fx-background-color: white;" text="Go">
|
<Button fx:id="goBtn" layoutX="273.0" layoutY="471.0" mnemonicParsing="false" onAction="#btnGoClicked" prefHeight="33.0" prefWidth="58.0" style="-fx-background-color: white;" text="Go">
|
||||||
<font>
|
<font>
|
||||||
<Font name="Bodoni MT Black" size="14.0" />
|
<Font name="Bodoni MT Black" size="14.0" />
|
||||||
</font>
|
</font>
|
||||||
</Button>
|
</Button>
|
||||||
<Label fx:id="lb1" layoutX="55.0" layoutY="134.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb1" layoutX="55.0" layoutY="163.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="115.0" layoutY="134.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb2" layoutX="115.0" layoutY="163.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="175.0" layoutY="134.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb3" layoutX="175.0" layoutY="163.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="235.0" layoutY="134.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb4" layoutX="235.0" layoutY="163.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="295.0" layoutY="134.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb5" layoutX="295.0" layoutY="163.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="55.0" layoutY="194.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb6" layoutX="55.0" layoutY="223.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="115.0" layoutY="194.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb7" layoutX="115.0" layoutY="223.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="175.0" layoutY="194.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb8" layoutX="175.0" layoutY="223.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="235.0" layoutY="194.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb9" layoutX="235.0" layoutY="223.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="295.0" layoutY="194.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb10" layoutX="295.0" layoutY="223.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="55.0" layoutY="254.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb11" layoutX="55.0" layoutY="283.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="115.0" layoutY="254.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb12" layoutX="115.0" layoutY="283.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="175.0" layoutY="254.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb13" layoutX="175.0" layoutY="283.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="235.0" layoutY="254.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb14" layoutX="235.0" layoutY="283.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="295.0" layoutY="254.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb15" layoutX="295.0" layoutY="283.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="55.0" layoutY="314.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb16" layoutX="55.0" layoutY="343.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="115.0" layoutY="314.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb17" layoutX="115.0" layoutY="343.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="175.0" layoutY="314.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb18" layoutX="175.0" layoutY="343.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="235.0" layoutY="314.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb19" layoutX="235.0" layoutY="343.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="295.0" layoutY="314.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb20" layoutX="295.0" layoutY="343.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="55.0" layoutY="374.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb21" layoutX="55.0" layoutY="403.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="115.0" layoutY="374.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb22" layoutX="115.0" layoutY="403.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="175.0" layoutY="374.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb23" layoutX="175.0" layoutY="403.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="235.0" layoutY="374.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb24" layoutX="235.0" layoutY="403.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Label layoutX="295.0" layoutY="374.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
<Label fx:id="lb25" layoutX="295.0" layoutY="403.0" prefHeight="50.0" prefWidth="50.0" style="-fx-background-color: lightgrey;" />
|
||||||
<Button layoutX="130.0" layoutY="14.0" mnemonicParsing="false" onAction="#btnMenuClicked" prefHeight="107.0" prefWidth="148.0" style="-fx-background-color: transparent;" textFill="TRANSPARENT" />
|
<Button layoutX="105.0" layoutY="20.0" mnemonicParsing="false" onAction="#btnMenuClicked" prefHeight="123.0" prefWidth="195.0" style="-fx-background-color: transparent;" text="s" textFill="TRANSPARENT" />
|
||||||
|
<Label fx:id="endgame" alignment="CENTER" contentDisplay="CENTER" layoutX="142.0" layoutY="553.0" prefHeight="33.0" prefWidth="121.0" textAlignment="CENTER" textFill="WHITE" />
|
||||||
</children>
|
</children>
|
||||||
</AnchorPane>
|
</AnchorPane>
|
||||||
|
|
|
@ -6,24 +6,24 @@
|
||||||
<?import javafx.scene.layout.AnchorPane?>
|
<?import javafx.scene.layout.AnchorPane?>
|
||||||
<?import javafx.scene.text.Font?>
|
<?import javafx.scene.text.Font?>
|
||||||
|
|
||||||
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="500.0" prefWidth="400.0" style="-fx-background-color: #252525;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controllers.MainSceneController">
|
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="400.0" style="-fx-background-color: #252525;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controllers.MainSceneController">
|
||||||
<children>
|
<children>
|
||||||
<ImageView fitHeight="400.0" fitWidth="413.0" layoutY="-48.0" pickOnBounds="true" preserveRatio="true">
|
<ImageView fitHeight="478.0" fitWidth="482.0" layoutX="-38.0" layoutY="-65.0" pickOnBounds="true" preserveRatio="true">
|
||||||
<image>
|
<image>
|
||||||
<Image url="@../logo4.jpg" />
|
<Image url="@../logo_final.png" />
|
||||||
</image>
|
</image>
|
||||||
</ImageView>
|
</ImageView>
|
||||||
<Button layoutX="115.0" layoutY="275.0" mnemonicParsing="false" onAction="#btnPlayClicked" prefHeight="53.0" prefWidth="171.0" style="-fx-background-color: white;" text="Play">
|
<Button layoutX="115.0" layoutY="329.0" mnemonicParsing="false" onAction="#btnPlayClicked" prefHeight="53.0" prefWidth="171.0" style="-fx-background-color: white;" text="Play">
|
||||||
<font>
|
<font>
|
||||||
<Font name="Bodoni MT Black" size="24.0" />
|
<Font name="Bodoni MT Black" size="24.0" />
|
||||||
</font>
|
</font>
|
||||||
</Button>
|
</Button>
|
||||||
<Button layoutX="115.0" layoutY="342.0" mnemonicParsing="false" onAction="#btnRulesClicked" prefHeight="53.0" prefWidth="171.0" style="-fx-background-color: white;" text="How to Play">
|
<Button layoutX="115.0" layoutY="415.0" mnemonicParsing="false" onAction="#btnRulesClicked" prefHeight="53.0" prefWidth="171.0" style="-fx-background-color: white;" text="How to Play">
|
||||||
<font>
|
<font>
|
||||||
<Font name="Bodoni MT Black" size="18.0" />
|
<Font name="Bodoni MT Black" size="18.0" />
|
||||||
</font>
|
</font>
|
||||||
</Button>
|
</Button>
|
||||||
<Button layoutX="115.0" layoutY="410.0" mnemonicParsing="false" onAction="#btnCreditsClicked" prefHeight="53.0" prefWidth="171.0" style="-fx-background-color: white;" text="Credits">
|
<Button layoutX="115.0" layoutY="502.0" mnemonicParsing="false" onAction="#btnCreditsClicked" prefHeight="53.0" prefWidth="171.0" style="-fx-background-color: white;" text="Credits">
|
||||||
<font>
|
<font>
|
||||||
<Font name="Bodoni MT Black" size="24.0" />
|
<Font name="Bodoni MT Black" size="24.0" />
|
||||||
</font>
|
</font>
|
||||||
|
|
|
@ -5,18 +5,18 @@
|
||||||
<?import javafx.scene.layout.AnchorPane?>
|
<?import javafx.scene.layout.AnchorPane?>
|
||||||
<?import javafx.scene.text.Font?>
|
<?import javafx.scene.text.Font?>
|
||||||
|
|
||||||
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="500.0" prefWidth="400.0" style="-fx-background-color: #252525;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controllers.RulesSceneController">
|
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="400.0" style="-fx-background-color: #252525;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controllers.RulesSceneController">
|
||||||
<children>
|
<children>
|
||||||
<Button layoutX="113.0" layoutY="438.0" mnemonicParsing="false" onAction="#btnMenuClicked" prefHeight="27.0" prefWidth="174.0" style="-fx-background-color: white;" text="Go back to Menu">
|
<Button layoutX="114.0" layoutY="511.0" mnemonicParsing="false" onAction="#btnMenuClicked" prefHeight="53.0" prefWidth="174.0" style="-fx-background-color: white;" text="Go back to Menu">
|
||||||
<font>
|
<font>
|
||||||
<Font name="Bodoni MT Black" size="12.0" />
|
<Font name="Bodoni MT Black" size="16.0" />
|
||||||
</font></Button>
|
</font></Button>
|
||||||
<Label layoutX="98.0" layoutY="39.0" text="How to Play" textFill="WHITE">
|
<Label layoutX="50.0" layoutY="54.0" text="How to Play" textFill="WHITE">
|
||||||
<font>
|
<font>
|
||||||
<Font name="System Bold" size="36.0" />
|
<Font name="System Bold" size="53.0" />
|
||||||
</font>
|
</font>
|
||||||
</Label>
|
</Label>
|
||||||
<Label layoutX="15.0" layoutY="92.0" prefHeight="290.0" prefWidth="372.0" text="1. Lorem ipasum ... 2. tseter 3. wow 4. ok 5. shit" textFill="WHITE">
|
<Label layoutX="16.0" layoutY="155.0" prefHeight="290.0" prefWidth="372.0" text="1. Lorem ipasum ... 2. tseter 3. wow 4. ok 5. shit" textFill="WHITE">
|
||||||
<font>
|
<font>
|
||||||
<Font size="18.0" />
|
<Font size="18.0" />
|
||||||
</font>
|
</font>
|
||||||
|
|
84
src/Interfaces/WordleInterface.java
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
/*
|
||||||
|
* Interface for WordleGame.
|
||||||
|
* - Made for controlling functions in a game.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package Interfaces;
|
||||||
|
|
||||||
|
public interface WordleInterface {
|
||||||
|
|
||||||
|
/* Objectvariables
|
||||||
|
* ----------------
|
||||||
|
* String gameWord;
|
||||||
|
* String currentWord;
|
||||||
|
* int currentRow;
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Generates random word for each game
|
||||||
|
* taken from a .txt file in the project
|
||||||
|
* folder.
|
||||||
|
*
|
||||||
|
* @return string containing the word of the game
|
||||||
|
*/
|
||||||
|
public String randomGameWord();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Takes input from user and checks
|
||||||
|
* a .txt file (containing all legal words)
|
||||||
|
* in the project folder, and checks if
|
||||||
|
* it's legal.
|
||||||
|
*
|
||||||
|
* @param word userinput in form of variable "currentWord"
|
||||||
|
*
|
||||||
|
* @return true if the word is legal
|
||||||
|
*/
|
||||||
|
public boolean isWordLegal(String word);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Checks if users current input
|
||||||
|
* is equal to the word of the game.
|
||||||
|
*
|
||||||
|
* @return true if word is equal
|
||||||
|
*/
|
||||||
|
public boolean correctWord();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Takes users current word into an array,
|
||||||
|
* and checks each char for if they are correct
|
||||||
|
* and in the right place (1), or if they are correct,
|
||||||
|
* but in the wrong place (2). Char not in word (0).
|
||||||
|
*
|
||||||
|
* @return int[] containing values for each char in word & their status
|
||||||
|
*/
|
||||||
|
public int[] charChecker();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Keeps track of rowes with variable "currentRow"
|
||||||
|
* and the amount of users guesses.
|
||||||
|
* Will also help to reset variable "currentWord" for
|
||||||
|
* each guess.
|
||||||
|
*
|
||||||
|
* @return false if currentRow == 5 user has lost
|
||||||
|
*/
|
||||||
|
public boolean nextRow();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* SETTERS:
|
||||||
|
* - setCurrentGuess
|
||||||
|
* - setCurrentRow
|
||||||
|
*/
|
||||||
|
public void setCurrentGuess(String word); // Sets variable "currentWord" to users latest guess
|
||||||
|
public void setCurrentRow(int x); // Sets variable "currentRow" to games current row
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GETTERS:
|
||||||
|
* - getGameWord
|
||||||
|
* - getCurrentGuess
|
||||||
|
* - getCurrentRow
|
||||||
|
*/
|
||||||
|
public String getGameWord(); // gets word of the game
|
||||||
|
public String getCurrentGuess(); // gets users current guess
|
||||||
|
public int getCurrentRow(); // gets current row
|
||||||
|
|
||||||
|
}
|
20
src/Objects/Testing.java
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
package Objects;
|
||||||
|
|
||||||
|
public class Testing {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
WordleGame game = new WordleGame();
|
||||||
|
|
||||||
|
// Testing randomGameWord()-method
|
||||||
|
System.out.println(game.randomGameWord());
|
||||||
|
|
||||||
|
// Testing isWordLegal()-method
|
||||||
|
String falseWord = "wordle";
|
||||||
|
String correctWord = "feste";
|
||||||
|
System.out.println("'wordle' is " + game.isWordLegal(falseWord)
|
||||||
|
+ ", and 'feste' is " + game.isWordLegal(correctWord));
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
138
src/Objects/WordleGame.java
Normal file
|
@ -0,0 +1,138 @@
|
||||||
|
package Objects;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
import Interfaces.WordleInterface;
|
||||||
|
|
||||||
|
public class WordleGame implements WordleInterface {
|
||||||
|
|
||||||
|
private String gameWord;
|
||||||
|
private String currentWord;
|
||||||
|
private int currentRow;
|
||||||
|
|
||||||
|
public WordleGame() {
|
||||||
|
gameWord = randomGameWord();
|
||||||
|
currentRow = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Generates random word for each game
|
||||||
|
* taken from a .txt file in the project
|
||||||
|
* folder.
|
||||||
|
*
|
||||||
|
* @return string containing the word of the game
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String randomGameWord() {
|
||||||
|
String randomWordOfGame = "";
|
||||||
|
|
||||||
|
try {
|
||||||
|
String[] words = new String[6];
|
||||||
|
int i = 0;
|
||||||
|
Scanner scan = new Scanner(new File("gameWords.txt"));
|
||||||
|
|
||||||
|
while (scan.hasNext()) {
|
||||||
|
words[i] = scan.nextLine();
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
int random = (int) (Math.random() * i);
|
||||||
|
randomWordOfGame = words[random];
|
||||||
|
|
||||||
|
scan.close();
|
||||||
|
} catch (FileNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
return randomWordOfGame;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isWordLegal(String word) {
|
||||||
|
boolean legal = false;
|
||||||
|
|
||||||
|
// Gets list containing legal words
|
||||||
|
String[] wordlist = new String[26];
|
||||||
|
try {
|
||||||
|
int i = 0;
|
||||||
|
Scanner scan = new Scanner(new File("legalWords.txt"));
|
||||||
|
|
||||||
|
while (scan.hasNext()) {
|
||||||
|
wordlist[i] = scan.nextLine();
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
scan.close();
|
||||||
|
} catch (FileNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Compares words in wordlist with "word" to check if word is legal¨
|
||||||
|
for (int i = 0; wordlist[i] != null; i++) {
|
||||||
|
if (wordlist[i].equals(word)) {
|
||||||
|
legal = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return legal;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean correctWord() {
|
||||||
|
return currentWord.equalsIgnoreCase(gameWord);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int[] charChecker() {
|
||||||
|
int[] charStatuses = new int[5];
|
||||||
|
|
||||||
|
for (int i = 0; i < gameWord.length(); i++) {
|
||||||
|
String correctWordCS = gameWord.charAt(i) + "";
|
||||||
|
String userWordCS = currentWord.charAt(i) + "";
|
||||||
|
|
||||||
|
if (correctWordCS.contentEquals(userWordCS)) {
|
||||||
|
charStatuses[i] = 2;
|
||||||
|
} else if (gameWord.contains(userWordCS)) {
|
||||||
|
charStatuses[i] = 1;
|
||||||
|
} else {
|
||||||
|
charStatuses[i] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return charStatuses;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean nextRow() {
|
||||||
|
currentRow++;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setCurrentGuess(String word) {
|
||||||
|
currentWord = word;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setCurrentRow(int x) {
|
||||||
|
currentRow = x;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getGameWord() {
|
||||||
|
return gameWord;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getCurrentGuess() {
|
||||||
|
return currentWord;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getCurrentRow() {
|
||||||
|
return currentRow;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -14,8 +14,9 @@ public class Main extends Application {
|
||||||
Parent root = FXMLLoader.load(getClass().getResource("/FXML/MainScene.fxml"));
|
Parent root = FXMLLoader.load(getClass().getResource("/FXML/MainScene.fxml"));
|
||||||
Scene scene = new Scene(root);
|
Scene scene = new Scene(root);
|
||||||
|
|
||||||
primaryStage.setTitle("Sids Wordle!");
|
primaryStage.setTitle("Sids Wordle");
|
||||||
primaryStage.setScene(scene);
|
primaryStage.setScene(scene);
|
||||||
|
primaryStage.setResizable(false);
|
||||||
primaryStage.show();
|
primaryStage.show();
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|
BIN
src/logo.jpg
Before Width: | Height: | Size: 32 KiB |
BIN
src/logo.png
Before Width: | Height: | Size: 13 KiB |
BIN
src/logo2.jpg
Before Width: | Height: | Size: 39 KiB |
BIN
src/logo3.jpg
Before Width: | Height: | Size: 31 KiB |
BIN
src/logo4.jpg
Before Width: | Height: | Size: 32 KiB |
BIN
src/logo_final.png
Normal file
After Width: | Height: | Size: 14 KiB |