diff --git a/source/core/assets/images/HelpScreen/Demonbosshelp.png b/source/core/assets/images/HelpScreen/Demonbosshelp.png new file mode 100644 index 000000000..30a8e60a7 Binary files /dev/null and b/source/core/assets/images/HelpScreen/Demonbosshelp.png differ diff --git a/source/core/assets/images/HelpScreen/IceBosshelp.png b/source/core/assets/images/HelpScreen/IceBosshelp.png new file mode 100644 index 000000000..53d0167f4 Binary files /dev/null and b/source/core/assets/images/HelpScreen/IceBosshelp.png differ diff --git a/source/core/assets/images/HelpScreen/Patrickbosshelp.png b/source/core/assets/images/HelpScreen/Patrickbosshelp.png new file mode 100644 index 000000000..75626d846 Binary files /dev/null and b/source/core/assets/images/HelpScreen/Patrickbosshelp.png differ diff --git a/source/core/src/main/com/csse3200/game/screens/HelpScreen/BossDescriptionHelpScreen.java b/source/core/src/main/com/csse3200/game/screens/HelpScreen/BossDescriptionHelpScreen.java index ddd30f078..61a1f3a46 100644 --- a/source/core/src/main/com/csse3200/game/screens/HelpScreen/BossDescriptionHelpScreen.java +++ b/source/core/src/main/com/csse3200/game/screens/HelpScreen/BossDescriptionHelpScreen.java @@ -3,6 +3,7 @@ import com.badlogic.gdx.Gdx; import com.badlogic.gdx.ScreenAdapter; import com.badlogic.gdx.graphics.Texture; +import com.badlogic.gdx.graphics.g2d.BitmapFont; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.scenes.scene2d.Stage; @@ -75,6 +76,55 @@ public void clicked(com.badlogic.gdx.scenes.scene2d.InputEvent event, float x, f table2.pad(20); // Add padding to the middle-right corner table2.add(buttonTable1).row(); // Add button table and move to the next row stage.addActor(table2); + + Table imageTextTable = new Table(); + imageTextTable.setFillParent(true); + imageTextTable.center(); + + float leftPadding = 30f; + imageTextTable.padLeft(leftPadding); + + // Create an array of image file names + String[] imageFileNames = { + "images/HelpScreen/Patrickbosshelp.png", + "images/HelpScreen/IceBosshelp.png", + "images/HelpScreen/Demonbosshelp.png" + }; + + // Create an array of text descriptions + String[] textDescriptions = { + "Patrick is able to teleport to the closest entity and do damage as well as shoot projectiles and melee attack. Once Patrick hits half health, it will shoot 5 projectiles of random effect.", + "The Ice Baby is able to spawn water mobs and do AOE damage.", + "Demon boss is able to shoot burn projectiles and do AOE damage. Demon boss is also able to regenerate health once it hits half health.", + }; + + // Add images and text to the table + for (int i = 0; i < imageFileNames.length; i++) { + // Create an image from the file + Image imager = new Image(new Texture(imageFileNames[i])); + float imageSize = 200f; + imager.setSize(imageSize, imageSize); + + // Create a label for text description + Label.LabelStyle labelStyle = new Label.LabelStyle(); + BitmapFont customFont = new BitmapFont(Gdx.files.internal("images/ui/buttons/dot_gothic_16.fnt")); // Replace "your-font.fnt" with your font file path + customFont.getData().setScale(1.2f); // Adjust the scale factor to change the text size + labelStyle.font = customFont; + + Label label = new Label(textDescriptions[i], labelStyle); + label.setWrap(true); + + // Add the image and label to the table in two columns + Cell imageCell = imageTextTable.add(imager).expandX().pad(10); // Add spacing around the image + Cell