Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file added Demo1UML-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
225 changes: 144 additions & 81 deletions Test2.puml → Demo1UML.puml
Original file line number Diff line number Diff line change
@@ -1,4 +1,26 @@
@startuml
class Game.GUI.GamePlaying {
- GameLevelManager gameLevelManager
- GameCharacter player
- {static} Logger LOGGER
+ <<Create>> GamePlaying(Game)
+ void initClass()
+ GameCharacter getPlayer()
+ void windowLostFocus()
+ void update()
+ void render(Graphics)
+ void mouseClicked(MouseEvent)
+ void mousePressed(MouseEvent)
+ void mouseReleased(MouseEvent)
+ void mouseEntered(MouseEvent)
+ void mouseExited(MouseEvent)
+ void mouseDragged(MouseEvent)
+ void mouseMoved(MouseEvent)
- void keyEventToPlayerMove(KeyEvent,boolean)
+ void keyTyped(KeyEvent)
+ void keyPressed(KeyEvent)
+ void keyReleased(KeyEvent)
}
class main.Main {
+ {static} void main(String[])
}
Expand All @@ -10,73 +32,62 @@ enum base.loader.FileNameFormatter {
+ String type()
+ {static} String of(String,FileNameFormatter)
}
enum Game.gameConstant.PlayerState {
+ IDLE
+ MOVING
+ JUMP
+ ATTACKING
+ HIT
+ int num
~ <<Create>> PlayerState(int)
+ int getAnimationFrameNumbs()
}
class com.company.Main {
+ {static} void main(String[])
}
class Game.DataPass {
+ {static} int[] stringDataToIntArray(String)
+ {static} double[] stringDataToDouble(String)
+ {static} T build(int[],Class<T>)
}
interface Game.PLUG.GameCalculatorLambda {
+ int calculate(int)
}
class main.Game {
- GameWindow gameWindow
- GamePanel gamePanel
- TranslatorTester translator
- GameMenu gameMenu
- GamePlaying gamePlaying
- Thread gameThread
- {static} double FPS
- {static} double UPS
- MouseInputs mouseInputs
- KeyboardInputs keyboardInputs
- {static} Logger LOGGER
+ <<Create>> Game()
- void initClasses()
- void gamePanelSetting()
+ void runGame()
+ void run()
+ TranslatorTester getTranslator()
+ GameMenu getGameMenu()
+ GamePlaying getGamePlaying()
+ void update()
+ void render(Graphics)
+ void windowLostFocus()
}
class logic.input.KeyboardInputs {
- Game game
+ <<Create>> KeyboardInputs(Game)
- Direction keyEventToMoveCommand(KeyEvent)
- void updatePlayerMoveState(Direction,boolean)
+ void keyTyped(KeyEvent)
+ void keyPressed(KeyEvent)
+ void keyReleased(KeyEvent)
}
abstract class Game.GUI.GameStateBase {
# Game game
+ <<Create>> GameStateBase(Game)
+ Game getGame()
}
enum logic.input.Direction {
+ UP
+ DOWN
+ LEFT
+ RIGHT
+ NONE
~ String cmd
~ <<Create>> Direction(String)
+ String cmd
+ int index
~ <<Create>> Direction(String,int)
+ boolean isMoving()
+ int index()
}
class Game.GameElementFactory {
+ <<Create>> GameElementFactory()
+ GameCharacter gameCharacterFactory()
}
class logic.Controller.GameHelpMethods {
- {static} boolean outOfGameWindow(float,float,GameLevel)
- {static} boolean outOfWindow(float,float)
- {static} boolean IsSolid(float,float,GameLevel)
+ {static} boolean canMoveHere(GamePoint,float,float,GameLevel)
+ {static} boolean isOnTheFloor(GamePoint,float,float,GameLevel)
}
class logic.input.MouseInputs {
- Game game
Expand All @@ -89,6 +100,14 @@ class logic.input.MouseInputs {
+ void mouseEntered(MouseEvent)
+ void mouseExited(MouseEvent)
}
enum Game.state.GameState {
+ PLAYING
+ MENU
- {static} GameState state
- {static} Logger LOGGER
+ {static} GameState getState()
+ {static} void setState(GameState)
}
enum Game.gameBase.GameCalculator {
+ ADD
+ SUB
Expand All @@ -102,9 +121,9 @@ class Game.Loader.ImageNamePath {
+ {static} String imagePath(String,String)
}
class Game.GameSourceFilePath {
+ {static} String PLAYER_MAIN_CHARACTER
+ {static} String PLAYER_MAIN_CHARACTER_TEXT_FILE
+ {static} String BACKGROUND_IMAGE_PATH
+ {static} String BACKGROUND_SKIN_FOLDER_PATH
+ {static} String BACKGROUND_LEVEL_1
}
class Game.gameBase.GamePoint {
Expand All @@ -129,6 +148,24 @@ class Game.gameBase.GamePoint {
+ {static} GamePoint mul(GameUnitPair,GameUnitPair)
+ {static} double dot(GameUnitPair,GameUnitPair)
}
interface Game.PLUG.gameMath.GameLambda {
+ T func(T,T)
}
class Game.gameBackground.GameLevelManager {
+ {static} int HEIGHT_BLOCK_NUM
+ {static} int WIDTH_BLOCK_NUM
+ {static} int PIXEL
- Game game
- BufferedImage[] bgMapImage
- GameLevel gameLevel1
+ <<Create>> GameLevelManager(Game)
+ void render(Graphics)
+ GameLevel getGameLevel()
+ void update()
}
interface Game.PLUG.gameDrawer.GameUpdateInterface {
+ void update()
}
abstract class Game.ABC.BasicMoveABC {
+ {static} int HIT_BOX_WIDTH
+ {static} int HIT_BOX_HEIGHT
Expand All @@ -139,6 +176,11 @@ abstract class Game.ABC.BasicMoveABC {
# Direction direction
# int[] dirMove
# Rectangle2D.Float hitBox
# float airSpeed
# float gravity
# float jumpSpeed
# float fallSpeedAfterCollision
# boolean inAir
+ <<Create>> BasicMoveABC()
+ <<Create>> BasicMoveABC(PlayerState,GamePoint,Direction,boolean)
+ {abstract}void updatePosition()
Expand All @@ -155,41 +197,31 @@ abstract class Game.ABC.BasicMoveABC {
+ void setPlayerState(PlayerState)
+ void stopDirection()
+ void setDirection(Direction,boolean)
+ void setJump(boolean)
}
class Game.Loader.ImageLoader {
+ {static} BufferedImage loadImage(String,String)
+ {static} BufferedImage loadImage(String)
+ {static} BufferedImage[][] loadCharacter(String,int,int)
+ {static} BufferedImage[] loadBackground(String,int,int,int)
}
class gameBackground.GameLevel {
- int[][] levelData
+ <<Create>> GameLevel(int[][])
+ {static} GameLevel loadFromFile(String)
+ int getImageIndex(int,int)
+ int getImageIndex(GameUnitPair)
+ int[][] getLevel2D()
}
class GUI.Test.TranslatorTester {
- {static} Logger LOGGER
- Game game
- GameLevelManager gameMapLevelManager
- GameCharacter player
+ <<Create>> TranslatorTester(Game)
+ void updateLogic()
+ GameCharacter getPlayer()
+ void setPlayMove(Direction,boolean)
+ void render(Graphics)
+ void stopPlayerMoving()
- {static} BufferedImage[] loadCharacterImageByState(String,PlayerState)
+ {static} BufferedImage[][] loadCharacterImage(String,int,int)
+ {static} BufferedImage[] loadBackgroundImage(String,int,int,int)
}
class main.GamePanel {
- Game game
- MouseInputs mouseInputs
- KeyboardInputs keyboardInputs
+ <<Create>> GamePanel(Game)
+ void init()
+ void paintComponent(Graphics)
+ Game getGame()
}
class GUI.Translator {
+ void render(Graphics)
class Game.gameBackground.GameLevel {
- int[][] levelData
+ <<Create>> GameLevel(int[][])
+ {static} GameLevel loadFromFile(String)
+ int getImageIndex(int,int)
+ int getImageIndex(GameUnitPair)
+ int[][] getLevel2D()
}
abstract class Game.ABC.GameCharacterABC {
# BufferedImage[][] animations
Expand All @@ -206,6 +238,21 @@ abstract class Game.ABC.GameCharacterABC {
- int scaleFunction(int)
+ GameUnitPair getImageScalePoint(BufferedImage)
}
class Game.GUI.GameMenu {
+ <<Create>> GameMenu(Game)
+ void render(Graphics)
+ void update()
+ void mouseClicked(MouseEvent)
+ void mousePressed(MouseEvent)
+ void mouseReleased(MouseEvent)
+ void mouseEntered(MouseEvent)
+ void mouseExited(MouseEvent)
+ void mouseDragged(MouseEvent)
+ void mouseMoved(MouseEvent)
+ void keyTyped(KeyEvent)
+ void keyPressed(KeyEvent)
+ void keyReleased(KeyEvent)
}
class Game.gameBase.GameUnitPair {
+ float x
+ <<Create>> GameUnitPair()
Expand All @@ -227,9 +274,6 @@ class Game.gameBase.GameUnitPair {
+ GameUnitPair mul(float)
+ GameUnitPair div(float)
}
interface Game.PLUG.GameLambda {
+ T func(T,T)
}
class Game.builder.GameCharacterBuilder {
- GameCharacter gameCharacter
+ <<Create>> GameCharacterBuilder()
Expand All @@ -239,34 +283,30 @@ class Game.builder.GameCharacterBuilder {
+ GameCharacterBuilder setAnimationImage(String,int,int)
+ GameCharacter build()
}
class gameBackground.GameLevelManager {
+ {static} int HEIGHT_BLOCK_NUM
+ {static} int WIDTH_BLOCK_NUM
+ {static} int PIXEL
- Game game
- BufferedImage[] bgMapImage
- GameLevel gameLevel1
+ <<Create>> GameLevelManager(Game)
+ void render(Graphics)
+ GameLevel getGameLevel()
+ void update()
}
class main.Translator {
}
class Game.Loader.GameElementLoader {
+ GameCharacter gameCharacter()
+ {static} GameCharacter getTestingGameCharacter()
+ {static} GameCharacter getTestingGameCharacter(String)
+ {static} BufferedImage[] loadBackgroundSkinImageFromTextList(String)
+ {static} GameCharacter loadCharacterByPath(String)
+ {static} int[][] loadGameLevelData(String,int,int)
}
class main.GameWindow {
+ <<Create>> GameWindow()
+ void init(GamePanel)
+ WindowFocusListener settingWindowFocusListener(GamePanel)
- WindowFocusListener settingWindowFocusListener(GamePanel)
}
interface Game.PLUG.GameRenderInterface {
+ void render(Graphics)
enum Game.state.PlayerState {
+ IDLE
+ MOVING
+ JUMP
+ ATTACKING
+ HIT
+ FALLING
+ int num
+ int frameNumber
+ String imageString
~ <<Create>> PlayerState(int,int,String)
}
class Game.GameCharacter {
- {static} Logger LOGGER
Expand All @@ -276,7 +316,11 @@ class Game.GameCharacter {
+ <<Create>> GameCharacter(AniData,ImageScaleData,GamePlayerSpeedData)
+ void initWithPoint_testing(float,float)
+ void init(float,float)
- void updateXPos(int)
- void updateYPos()
+ void updatePosition()
- void jump()
- void resetInAir()
+ void render(Graphics)
+ void setAnimationImage(String,int,int)
+ void setAnimationImage()
Expand All @@ -286,18 +330,22 @@ class Game.GameCharacter {
+ void updateAnimationTick()
+ void update()
}
interface Game.PLUG.gameMath.GameCalculatorLambda {
+ int calculate(int)
}
interface Game.PLUG.GameCharacterInterface {
+ void setAnimationImage()
+ void setAnimationState()
+ void updateAnimationTick()
}
class base.loader.BaseLoader {
+ {static} InputStream loadFile(Object,String)
+ {static} InputStream loadFile(Class<T>,String)
- {static} Logger LOGGER
- {static} String pathToAbsolutePath(String)
+ {static} InputStream loadFile(String)
+ {static} BufferedImage convertToImage(InputStream)
+ {static} BufferedImage loadImage(Class<T>,String)
+ {static} BufferedImage loadImage(String)
+ {static} URI getURI(Class<T>,String)
+ {static} List<String> loadTextFile(Class<T>,String)
+ {static} List<String> loadTextFile(String)
}
class base.BaseGameConstant {
+ {static} int TILES_DEFAULT_SIZE
Expand All @@ -308,22 +356,37 @@ class base.BaseGameConstant {
+ {static} int GAME_WIDTH
+ {static} int GAME_HEIGHT
}
interface Game.PLUG.GameStateMethod {
}
interface Game.PLUG.gameDrawer.GameAnimatedDrawer {
}
interface Game.PLUG.gameDrawer.GameRenderInterface {
+ void render(Graphics)
}


Game.PLUG.GameStateMethod <|.. Game.GUI.GamePlaying
Game.GUI.GameStateBase <|-- Game.GUI.GamePlaying
main.Runnable <|.. main.Game
Game.PLUG.GameRenderInterface <|.. main.Game
Game.PLUG.gameDrawer.GameAnimatedDrawer <|.. main.Game
base.BaseGameConstant <|-- main.Game
java.awt.event.KeyListener <|.. logic.input.KeyboardInputs
java.awt.event.MouseListener <|.. logic.input.MouseInputs
java.awt.event.MouseMotionListener <|.. logic.input.MouseInputs
Game.gameBase.GameUnitPair <|-- Game.gameBase.GamePoint
Game.PLUG.GameRenderInterface <|.. GUI.Test.TranslatorTester
Game.PLUG.gameDrawer.GameAnimatedDrawer <|.. Game.gameBackground.GameLevelManager
javax.swing.JPanel <|-- main.GamePanel
Game.PLUG.GameRenderInterface <|.. GUI.Translator
Game.ABC.BasicMoveABC <|-- Game.ABC.GameCharacterABC
Game.PLUG.GameRenderInterface <|.. gameBackground.GameLevelManager
Game.PLUG.GameStateMethod <|.. Game.GUI.GameMenu
Game.GUI.GameStateBase <|-- Game.GUI.GameMenu
javax.swing.JFrame <|-- main.GameWindow
Game.PLUG.GameCharacterInterface <|.. Game.GameCharacter
Game.PLUG.GameRenderInterface <|.. Game.GameCharacter
Game.PLUG.gameDrawer.GameAnimatedDrawer <|.. Game.GameCharacter
Game.ABC.GameCharacterABC <|-- Game.GameCharacter
Game.PLUG.gameDrawer.GameAnimatedDrawer <|-- Game.PLUG.GameStateMethod
java.awt.event.MouseListener <|-- Game.PLUG.GameStateMethod
java.awt.event.MouseMotionListener <|-- Game.PLUG.GameStateMethod
java.awt.event.KeyListener <|-- Game.PLUG.GameStateMethod
Game.PLUG.gameDrawer.GameUpdateInterface <|-- Game.PLUG.gameDrawer.GameAnimatedDrawer
Game.PLUG.gameDrawer.GameRenderInterface <|-- Game.PLUG.gameDrawer.GameAnimatedDrawer
@enduml
Binary file modified JavaFinalProject2023.jar
Binary file not shown.
Binary file modified README.md
Binary file not shown.
Loading