From 961f5a3b0e5cda30412427607e28b37c82874cda Mon Sep 17 00:00:00 2001 From: iryupnik Date: Mon, 2 Mar 2020 13:31:22 +0200 Subject: [PATCH] Grafics and animation update --- src/main/java/Block.java | 33 ++++----- src/main/java/Cell.java | 1 - src/main/java/EventMoveToCell.java | 1 + src/main/java/Game.java | 6 +- src/main/java/ImagePerson.java | 51 ++++++++++++++ src/main/java/Map.java | 4 +- src/main/java/Person.java | 56 +++++++++++---- src/main/java/WindowOfFreeMove.java | 90 ++++++++++++++----------- src/main/resources/main-walk-down.gif | Bin 0 -> 4003 bytes src/main/resources/main-walk-left.gif | Bin 0 -> 3448 bytes src/main/resources/main-walk-right.gif | Bin 0 -> 3446 bytes src/main/resources/main-walk-up.gif | Bin 0 -> 3574 bytes src/main/resources/mainpng.png | Bin 0 -> 24601 bytes 13 files changed, 165 insertions(+), 77 deletions(-) create mode 100644 src/main/java/ImagePerson.java create mode 100644 src/main/resources/main-walk-down.gif create mode 100644 src/main/resources/main-walk-left.gif create mode 100644 src/main/resources/main-walk-right.gif create mode 100644 src/main/resources/main-walk-up.gif create mode 100644 src/main/resources/mainpng.png diff --git a/src/main/java/Block.java b/src/main/java/Block.java index 44577d7..a6e3e36 100644 --- a/src/main/java/Block.java +++ b/src/main/java/Block.java @@ -1,32 +1,23 @@ import java.awt.*; -import java.util.Random; public class Block extends Cell { -// private Random random; - public Block(){ - super(-1, - 1, WindowOfFreeMove.CELL_SIZE, Color.BLUE); -// this.random = new Random(); + public Block() { + super(-1, -1, WindowOfFreeMove.CELL_SIZE, Color.BLUE); } - public Block(int x, int y){ - super(x,y, WindowOfFreeMove.CELL_SIZE, Color.BLUE); -// this.random = new Random(); + public Block(int x, int y) { + super(x, y, WindowOfFreeMove.CELL_SIZE, Color.BLUE); } public boolean isInBlock(int x, int y) { - if ((this. - getX() == x) && (this.getY() == y)) - return true; - return false; + return (this. + getX() == x) && (this.getY() == y); } -// public void randomAppear() { -// int x, y; -// do { -// x = random.nextInt(WindowOfFreeMove.CANVAS_HEIGHT); -// y = random.nextInt(WindowOfFreeMove.CANVAS_WIDTH); -// } while (WindowOfFreeMove.getMap().isBusyCell(x, y)); -// set(x, y); -// } -} + @Override + public void paint(Graphics2D g) { + super.paint(g); + g.fillOval(getX() * WindowOfFreeMove.CELL_SIZE, getY() * WindowOfFreeMove.CELL_SIZE, WindowOfFreeMove.CELL_SIZE, WindowOfFreeMove.CELL_SIZE); + } +} \ No newline at end of file diff --git a/src/main/java/Cell.java b/src/main/java/Cell.java index 28a407d..8d8aba9 100644 --- a/src/main/java/Cell.java +++ b/src/main/java/Cell.java @@ -26,6 +26,5 @@ public class Cell { public void paint(Graphics2D g) { g.setColor(color); - g.fillOval(x * size, y * size, size, size); } } diff --git a/src/main/java/EventMoveToCell.java b/src/main/java/EventMoveToCell.java index ca777b9..2e6532f 100644 --- a/src/main/java/EventMoveToCell.java +++ b/src/main/java/EventMoveToCell.java @@ -42,6 +42,7 @@ public class EventMoveToCell extends Cell { @Override public void paint(Graphics2D g) { super.paint(g); + g.fillOval(getX() * WindowOfFreeMove.CELL_SIZE, getY() * WindowOfFreeMove.CELL_SIZE, WindowOfFreeMove.CELL_SIZE, WindowOfFreeMove.CELL_SIZE); g.drawString(Integer.toString(getId()), getX()*WindowOfFreeMove.CELL_SIZE, getY()*WindowOfFreeMove.CELL_SIZE); } } diff --git a/src/main/java/Game.java b/src/main/java/Game.java index 2ea6563..9db5f16 100644 --- a/src/main/java/Game.java +++ b/src/main/java/Game.java @@ -1,5 +1,5 @@ public class Game { public static void main(String[] args) { - new WindowOfFreeMove().start(); - } -} \ No newline at end of file + new WindowOfFreeMove().start(); } +} + diff --git a/src/main/java/ImagePerson.java b/src/main/java/ImagePerson.java new file mode 100644 index 0000000..f256cc4 --- /dev/null +++ b/src/main/java/ImagePerson.java @@ -0,0 +1,51 @@ +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.*; +import java.io.IOException; + +public class ImagePerson { + private BufferedImage image; + private BufferedImage[] imagesOfDirection; + private Image[] animationOfMoving; + + public void setAllImagesOfDirection(Rectangle[] rectangles){ + imagesOfDirection = new BufferedImage[4]; + + if (rectangles.length < 4) + throw new IllegalArgumentException(); + + for (int i = 0; i < imagesOfDirection.length; i++) { + imagesOfDirection[i] = image.getSubimage(rectangles[i].x, rectangles[i].y, rectangles[i].height, rectangles[i].width); + } + } + + public void setAnimationOfMoving(String[] animationOfMovingNames) { + animationOfMoving = new Image[4]; + + if (animationOfMovingNames.length < 4) + throw new IllegalArgumentException(); + + for (int i = 0; i < animationOfMoving.length; i++){ + animationOfMoving[i] = Toolkit.getDefaultToolkit().createImage(getClass().getResource(animationOfMovingNames[i])); + } + } + + public ImagePerson(String name, Rectangle[] rectangles) { + try { + image = ImageIO.read(getClass().getResource(name)); + } catch (IOException e) { + e.printStackTrace(); + } + + setAllImagesOfDirection(rectangles); + } + + + public BufferedImage[] getImagesOfDirection() { + return imagesOfDirection; + } + + public Image[] getAnimationOfMoving() { + return animationOfMoving; + } +} diff --git a/src/main/java/Map.java b/src/main/java/Map.java index 380b2f7..a159ae1 100644 --- a/src/main/java/Map.java +++ b/src/main/java/Map.java @@ -50,12 +50,12 @@ public class Map { type = TypeOfCell.EMPTY; for (int i = 0; i < mapArray.length; i++) { - for (int j = 0; j < mapArray.length; j++) { + for (int j = 0; j < mapArray[0].length; j++) { mapArray[0][j] = type; mapArray[mapArray.length - 1][j] = type; } mapArray[i][0] = type; - mapArray[i][mapArray.length - 1] = type; + mapArray[i][mapArray[0].length - 1] = type; } } diff --git a/src/main/java/Person.java b/src/main/java/Person.java index 9d74bad..42c7434 100644 --- a/src/main/java/Person.java +++ b/src/main/java/Person.java @@ -1,49 +1,65 @@ import java.awt.*; public class Person extends Cell { - private int direction; + private ImagePerson imagePerson; + private int directionMove; + private int directionSight; public Person() { super(-1, -1, WindowOfFreeMove.CELL_SIZE, Color.RED); - this.direction = 0; + this.directionMove = 0; + this.directionSight = 3; } public Person(int x, int y) { super(x, y, WindowOfFreeMove.CELL_SIZE, Color.RED); - this.direction = 0; + this.directionMove = 0; + this.directionSight = 3; } - public void setDirection(int direction) { - if ((direction >= WindowOfFreeMove.KEY_LEFT) && (direction <= WindowOfFreeMove.KEY_DOWN)) - this.direction = direction; + public void setDirectionMove(int directionMove) { + if ((directionMove >= WindowOfFreeMove.KEY_LEFT) && (directionMove <= WindowOfFreeMove.KEY_DOWN)) + this.directionMove = directionMove; + } + + public void setImagePerson(String name, Rectangle[] rectangles) { + this.imagePerson = new ImagePerson(name, rectangles); + } + + public void setAnimation(String[] names){ + this.imagePerson.setAnimationOfMoving(names); } public void move() { int x = this.getX(); int y = this.getY(); - switch (direction) { + switch (directionMove) { case WindowOfFreeMove.KEY_LEFT: + directionSight = 1; x--; if (x < 0) x = WindowOfFreeMove.CANVAS_WIDTH - 1; break; case WindowOfFreeMove.KEY_RIGHT: + directionSight = 3; x++; if (x == WindowOfFreeMove.CANVAS_WIDTH) x = 0; break; case WindowOfFreeMove.KEY_UP: + directionSight = 2; y--; if (y < 0) y = WindowOfFreeMove.CANVAS_HEIGHT - 1; break; case WindowOfFreeMove.KEY_DOWN: + directionSight = 0; y++; if (y == WindowOfFreeMove.CANVAS_HEIGHT) y = 0; break; } - this.direction = 0; + this.directionMove = 0; if (WindowOfFreeMove.getMap().isCellMoveTo(x, y)) { WindowOfFreeMove.getMap().findEventByXY(x, y).moveToMap(); @@ -56,14 +72,30 @@ public class Person extends Cell { } public boolean isInPerson(int x, int y) { - if (this.getX() == x && this.getY() == y) - return true; - return false; + return this.getX() == x && this.getY() == y; } @Override public void paint(Graphics2D g) { super.paint(g); - g.drawString(Integer.toString(WindowOfFreeMove.getMap().getIdExit()), getX() * WindowOfFreeMove.CELL_SIZE, getY() * WindowOfFreeMove.CELL_SIZE); + if (directionMove == 0) + g.drawImage(imagePerson.getImagesOfDirection()[directionSight], getX()*WindowOfFreeMove.CELL_SIZE, + getY()*WindowOfFreeMove.CELL_SIZE, WindowOfFreeMove.CELL_SIZE, WindowOfFreeMove.CELL_SIZE, null); + else{ + switch (directionMove){ + case WindowOfFreeMove.KEY_LEFT: + g.drawImage(imagePerson.getAnimationOfMoving()[3], getX()*WindowOfFreeMove.CELL_SIZE, getY()*WindowOfFreeMove.CELL_SIZE, null); + break; + case WindowOfFreeMove.KEY_RIGHT: + g.drawImage(imagePerson.getAnimationOfMoving()[1], getX()*WindowOfFreeMove.CELL_SIZE, getY()*WindowOfFreeMove.CELL_SIZE, null); + break; + case WindowOfFreeMove.KEY_UP: + g.drawImage(imagePerson.getAnimationOfMoving()[0], getX()*WindowOfFreeMove.CELL_SIZE, getY()*WindowOfFreeMove.CELL_SIZE, null); + break; + case WindowOfFreeMove.KEY_DOWN: + g.drawImage(imagePerson.getAnimationOfMoving()[2], getX()*WindowOfFreeMove.CELL_SIZE, getY()*WindowOfFreeMove.CELL_SIZE, null); + break; + } + } } } diff --git a/src/main/java/WindowOfFreeMove.java b/src/main/java/WindowOfFreeMove.java index e8c486a..893eb02 100644 --- a/src/main/java/WindowOfFreeMove.java +++ b/src/main/java/WindowOfFreeMove.java @@ -4,9 +4,9 @@ import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; public class WindowOfFreeMove extends JFrame { - static final int CELL_SIZE = 40; - static final int CANVAS_WIDTH = 20; - static final int CANVAS_HEIGHT = 20; + static final int CELL_SIZE = 50; + static final int CANVAS_WIDTH = 10; + static final int CANVAS_HEIGHT = 10; private static boolean canPersonMove; @@ -64,7 +64,7 @@ public class WindowOfFreeMove extends JFrame { @Override public void keyPressed(KeyEvent e) { if (canPersonMove) - map.getPerson().setDirection(e.getKeyCode()); + map.getPerson().setDirectionMove(e.getKeyCode()); } }); @@ -74,64 +74,78 @@ public class WindowOfFreeMove extends JFrame { setTitle("Ahoj"); setDefaultCloseOperation(EXIT_ON_CLOSE); - setBounds(0, 0, CELL_SIZE * CANVAS_WIDTH, CELL_SIZE * CANVAS_HEIGHT); + setBounds(0, 0, CELL_SIZE * CANVAS_WIDTH + 15, CELL_SIZE * CANVAS_HEIGHT + 35); setLocationRelativeTo(null); setResizable(true); setVisible(true); } + public Canvas getCanvas() { + return canvas; + } + public void start() { + String[] strings = {"main-walk-up.gif", "main-walk-right.gif", "main-walk-down.gif", "main-walk-left.gif"}; + Rectangle[] rec = new Rectangle[4]; + for (int i = 0; i < rec.length; i++){ + rec[i] = new Rectangle(40, 40*i, 40, 40); + } + Map m1 = new Map(CANVAS_HEIGHT, CANVAS_WIDTH, true); + m1.getPerson().setImagePerson("mainpng.png", rec); + m1.getPerson().setAnimation(strings); m1.setName("1"); m1.setSpawnPoint(1, 1); Map m2 = new Map(CANVAS_HEIGHT, CANVAS_WIDTH, false); + m2.getPerson().setImagePerson("mainpng.png", rec); m2.setName("2"); Map m3 = new Map(CANVAS_HEIGHT, CANVAS_WIDTH, true); + m3.getPerson().setImagePerson("mainpng.png", rec); m3.setName("3"); Map m4 = new Map(CANVAS_HEIGHT, CANVAS_WIDTH, false); + m4.getPerson().setImagePerson("mainpng.png", rec); m4.setName("4"); + m1.addMoveToEvent(new EventMoveToCell(1, 1, 8, 8, m2)); + m1.addMoveToEvent(new EventMoveToCell(4, 3, 8, 1, m4)); - m1.addMoveToEvent(new EventMoveToCell(1, 1, 18, 18, m2)); - m1.addMoveToEvent(new EventMoveToCell(4, 3, 18, 1, m4)); + m2.addMoveToEvent(new EventMoveToCell(2, 1, 8, 8, m3)); + m2.addMoveToEvent(new EventMoveToCell(1, 3, 8, 1, m1)); - m2.addMoveToEvent(new EventMoveToCell(2, 1, 18, 18, m3)); - m2.addMoveToEvent(new EventMoveToCell(1, 3, 18, 1, m1)); + m3.addMoveToEvent(new EventMoveToCell(3, 1, 8, 8, m4)); + m3.addMoveToEvent(new EventMoveToCell(2, 3, 8, 1, m2)); - m3.addMoveToEvent(new EventMoveToCell(3, 1, 18, 18, m4)); - m3.addMoveToEvent(new EventMoveToCell(2, 3, 18, 1, m2)); - - m4.addMoveToEvent(new EventMoveToCell(4, 1, 18, 18, m1)); - m4.addMoveToEvent(new EventMoveToCell(3, 3, 18, 1, m3)); + m4.addMoveToEvent(new EventMoveToCell(4, 1, 9, 9, m1)); + m4.addMoveToEvent(new EventMoveToCell(3, 3, 9, 1, m3)); setMap(m1); map.createMap(); - - lp.remove(dialogBar); - - - JPanel jf = new JPanel() { - Font f = new Font("Times New Roman", Font.ITALIC, 50); - - @Override - public void paint(Graphics g) { - super.paint(g); - g.setColor(Color.green); - g.setFont(f); - g.drawString("> Test", 10, 50); - } - }; - - jf.setBounds(0, WindowOfFreeMove.CELL_SIZE * WindowOfFreeMove.CANVAS_HEIGHT * 3 / 4, WindowOfFreeMove.CELL_SIZE * WindowOfFreeMove.CANVAS_WIDTH, WindowOfFreeMove.CELL_SIZE * WindowOfFreeMove.CANVAS_HEIGHT / 4); - jf.setBackground(Color.BLACK); - jf.setVisible(false); - - setDialogBar(jf); - dialogBar.setVisible(true); - lp.add(jf, JLayeredPane.POPUP_LAYER); - +// +// lp.remove(dialogBar); +// +// +// JPanel jf = new JPanel() { +// Font f = new Font("Times New Roman", Font.ITALIC, 50); +// +// @Override +// public void paint(Graphics g) { +// super.paint(g); +// g.setColor(Color.green); +// g.setFont(f); +// g.drawString("> Test", 10, 50); +// } +// }; +// +// jf.setBounds(0, WindowOfFreeMove.CELL_SIZE * WindowOfFreeMove.CANVAS_HEIGHT * 3 / 4, WindowOfFreeMove.CELL_SIZE * WindowOfFreeMove.CANVAS_WIDTH, WindowOfFreeMove.CELL_SIZE * WindowOfFreeMove.CANVAS_HEIGHT / 4); +// jf.setBackground(Color.BLACK); +// jf.setVisible(false); +// +// setDialogBar(jf); +// dialogBar.setVisible(true); + //setCanPersonMove(false); +// lp.add(jf, JLayeredPane.POPUP_LAYER); while (true) { map.getPerson().move(); diff --git a/src/main/resources/main-walk-down.gif b/src/main/resources/main-walk-down.gif new file mode 100644 index 0000000000000000000000000000000000000000..e4f310885d16b95ec8553b7401f4410d30a6ef0f GIT binary patch literal 4003 zcmeI!`BT$(8o==<;Y&gSXb2(X_y!UIIVA@n1VY;cG>JJN2#H|9As7y=xPqW~fPrQ; z9D+hvZM%hlmPNw2Xkm3LI{;2Hw}1He{*Y=9hqZJ0Ovy8yXZFkoS;2N*nHD*^^Q7zkh>g25Z~ zK5sJkf`J1105DKNPXz-F^bF85L63r-Z8_2`D6gIwVuF8>fW?l3p*2$y%57q>^CJ;D=I^LW)f{`)*uHJ@L@=N;v9 zEqqqBAl@v9{k?#7Ou*bHR9WL_^>G0e@#=bEK!cEC6{1b?zV-3w{seVnJoSVKcOXIC zEW$O3{Od&_Rbo}62(1=xY)U|z#OMhz^Mn{}7BiZ~%p*za>ZHvriPXBJr251SEs23G ziL{f6)RT#UHImJzlE|$|YmdHJ{9BVqZ4zRuWKEmI+a~d{NeDIxv01`tmaJ<}M%t4- zTi;@~zs+oTM`n}p&ZI`SZ;I}avp-OTcPnT;s=yuUBdIGcE=y4bIxRye->(gGEv7&Mjl{qesZVt?cWtLNXC&{wM-%6)iX_<`BQ9} z-__I`Pj3+;l*@HfLkrwgE{}GNZYI$3@;V=r4fW}D7ehQ~H|j*+r{^>iZy4cncW%t} zZ3~x%9FbXhjt}i$K0Mw1Ra`dXr@o>0%%?k~m0`2pMf|^?Ex(J%5bt&eY$@nc4V}Lm zndKO?yz(o$?fS^WGC|+l-Pj)Ey+v0mD3n^chW`1Sa_I{*gv1R1wCGV&NXxBZ-2dvU=)KK zJlTUnGUMpTUJDB|VOJCvBiVknCH7N`a9p`%%s#r$Z&vF6p^1wpJ6K*K@1s0 zI$x4T117`nk3@gopKWgpC}n?6OrKYp*I%*KO||KoQ>J56{?g0Y6y`Z#LCaAZk*oW% zTg}rmUUsLV8Yg&=tH25QSkIeOj0sX%#ls00d_sHHTqWQ3L%qtftAI$4b(%-W@)&-t zKBUwsgJ`e1vqqZQZoiSC$1s^Q?|tz#tt5q5Zd5le15TQ z`yh^g^@-Q$XUqSXQE{(XvE=hTBAaxLn(Z9p4t@1F)RwM#*1F!~>z^Y^lK1*KStHAr z?qwDvp+pQJLB~zSn6Vll%_ly*6|0!qbyxDZ}pEcou&(k3_)}a&6GLvRfxpezH{ha?#4AkXDtfD*1IP z@yn;U(*H+^xf9N1^>$es{;TB3*DgHv-^qPFA1~D6{W+{gTc=6*%bkT`0Zt^#Y55p}s|J4=FD-7f)cUL+BON%!G}$jBj})HB zs)|(=zfKjaf5+;DwR&OwUl*3Ms>~1QZ3q9Ag2^Ql!A#uNtLme07I2vCA2&nzSyYM_ z`jqeNLA=<5Gw_m7ryM7K!EwlWMn|X4HEi^$$*;l%jmp0-p2NMm⪪b*oZ_5o46> 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 AJOBUy literal 0 HcmV?d00001 diff --git a/src/main/resources/main-walk-up.gif b/src/main/resources/main-walk-up.gif new file mode 100644 index 0000000000000000000000000000000000000000..2b816832b033f67a5c8dee214c44094625e3eaf8 GIT binary patch literal 3574 zcmeH}TTGJ&6vxl^(b@~BrO*o$YQZXZXt6+{h;5-jTTn#4iV8}xTvWWEpeQJ%Lv0bH zRm2NSVe3%i4KGts7K;jk*A`u}sd0)ZqNrfpqH&Ye?8%oUdtAcFKPTt;*LFEb<4ODc%7=SSW za|etCmd zmb)^=T{)Yj$n=WWaHY%rrmylBmHD$v0z=D#*c(Flr6JSGLU^UTX)8jL%Xpz1dHjuh z{w6-JoF7uj_uS0))P@Fc4)rVwQ*IS_>II%_Bb0_P&uwA!brH(ya2G@PO|yS(YRgF_+2rqsu_~~@tp4xm@NwCp(Ms(dy*MPl3kC^oOm3IyfD}0 zbb9#ZOiHIZuroWLE8D*-JK$QjfA?a)9*u90#{as;r$-ZTC&$s6L%xyYW6dSs%$aJ- zCHLl$Zs&6E=8^8@6MtSpc(9!MXoW*xA@mg@PYdDcYUp1L&(^^6H85cBMew2s28-dP zJ!@geo^|lH1V+c|KW@Nl)N!UPZBDEtMHU*&b3p6|;q?(ma)nU{w9ob<@dY4$hEbA7 zVr!FyM09q~=x$X@g3`SG3lmSOwcAjgW}m=7WuuG`RYA!U9d1hL%R}7$M3XXZP1+;F z8_?Jj$NLH1u zSztoChv&$bR66;gKaBkLy{VaKnoKkf-qkua58k{#VnYP`Tj{9z?Cbk6^{sCjbHrK` zP0^ot>f-s4zSM&D56LH`RYBLjpR`-|OT3U*-+6p$F$auRHgs^>P(|c2vTz zJ7PA}4_!Pr%(*kHBT#2VjS@|xCH3^l86Ed&Ts=i1n}TnRrOz7@!-P}CYi0Criz}p{ zIz!juYr`r#9LT=ImW+||8ZRySiT-}D zCYZ}Hw!eP^%eoxYMvIJ;HJsbVNS435!Mox?8N+rA+pn=b@DH{bXpd@E(7Wzqr4-I9 z^jmjVExQi)7~)OQGLka`;T23la0^nPa0r1KFq?bNmh;q7vNvuxo^AWWu3!bnazQ~A zTaal5w$3u|XNP@iKD_C9TAxy#7n1t1H?hUgJ}5rWfUxj+TiQuYmP;^j6t~6E;7ZZaYQ`Dob`^(#zhz6 N15YQJ8xRCUe*^YGSK0so literal 0 HcmV?d00001 diff --git a/src/main/resources/mainpng.png b/src/main/resources/mainpng.png new file mode 100644 index 0000000000000000000000000000000000000000..e97d338b104a64fd59c4e1ca9a2f887286800cf6 GIT binary patch literal 24601 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 literal 0 HcmV?d00001