Skip to content

Commit b7e2c32

Browse files
committed
lab 7-8
1 parent d7fe187 commit b7e2c32

17 files changed

+539
-41
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package ru.shureck.java2020.Lab7;
2+
3+
public class Chair extends Funrniture{
4+
5+
public Chair(int cost, int numberOfDetal) {
6+
super(cost, numberOfDetal);
7+
}
8+
9+
@Override
10+
public int timeToBuild() {
11+
return getNumberOfDetal()*5;
12+
}
13+
14+
@Override
15+
public String toString() {
16+
return "Chair "+super.toString();
17+
}
18+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package ru.shureck.java2020.Lab7;
2+
3+
public abstract class Funrniture {
4+
private int cost;
5+
private int numberOfDetal;
6+
7+
public Funrniture(int cost, int numberOfDetal) {
8+
this.cost = cost;
9+
this.numberOfDetal = numberOfDetal;
10+
}
11+
12+
public int getCost() {
13+
return cost;
14+
}
15+
16+
public void setCost(int cost) {
17+
this.cost = cost;
18+
}
19+
20+
public int getNumberOfDetal() {
21+
return numberOfDetal;
22+
}
23+
24+
public void setNumberOfDetal(int numberOfDetal) {
25+
this.numberOfDetal = numberOfDetal;
26+
}
27+
28+
public abstract int timeToBuild();
29+
30+
public int totalCost(){
31+
return timeToBuild() * 10 + cost;
32+
}
33+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package ru.shureck.java2020.Lab7;
2+
3+
public class Lab7 {
4+
public static void main(String[] args) {
5+
Shop shop = new Shop();
6+
Person person = new Person(shop);
7+
shop.addElement(new Chair(40,13));
8+
shop.addElement(new Table(600,80));
9+
shop.addElement(new Chair(11,9));
10+
shop.addElement(new Table(86,20));
11+
12+
person.addToBasket(2);
13+
person.addToBasket(1);
14+
System.out.println(person.getTotalCost());
15+
}
16+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package ru.shureck.java2020.Lab7;
2+
3+
import java.util.ArrayList;
4+
5+
public class Person {
6+
private ArrayList<Funrniture> basket = new ArrayList<>();
7+
private Shop shop;
8+
9+
public Person(Shop shop) {
10+
this.shop = shop;
11+
}
12+
13+
public void addToBasket(int i){
14+
if(shop.getElement(i) != null) {
15+
basket.add(shop.getElement(i));
16+
}
17+
}
18+
19+
public Funrniture getFromBasket(int i){
20+
if (basket.size()>i){
21+
return basket.get(i);
22+
}
23+
return null;
24+
}
25+
26+
public int getTotalCost(){
27+
int sum=0;
28+
for (int i = 0; i < basket.size(); i++) {
29+
sum += basket.get(i).totalCost();
30+
}
31+
return sum;
32+
}
33+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package ru.shureck.java2020.Lab7;
2+
3+
import java.util.ArrayList;
4+
5+
public class Shop {
6+
private ArrayList<Funrniture> list = new ArrayList<>();
7+
8+
public Shop(ArrayList<Funrniture> list) {
9+
this.list = list;
10+
}
11+
12+
public Shop(){
13+
14+
}
15+
16+
public void addElement(Funrniture f){
17+
list.add(f);
18+
}
19+
20+
public Funrniture getElement(int i){
21+
if (list.size()>i){
22+
return list.get(i);
23+
}
24+
return null;
25+
}
26+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package ru.shureck.java2020.Lab7;
2+
3+
public class Table extends Funrniture{
4+
5+
public Table(int cost, int numberOfDetal) {
6+
super(cost, numberOfDetal);
7+
}
8+
9+
@Override
10+
public int timeToBuild() {
11+
return getNumberOfDetal()*10;
12+
}
13+
14+
@Override
15+
public String toString() {
16+
return "Table "+super.toString();
17+
}
18+
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package ru.shureck.java2020.Lab8;
2+
3+
import javax.swing.*;
4+
import java.awt.*;
5+
import java.util.ArrayList;
6+
7+
public class AnimImg extends JFrame{
8+
9+
private static Image image;
10+
private static JFrame jFrame;
11+
private static String text;
12+
private static ArrayList<Image> framlist = new ArrayList<>();
13+
14+
AnimImg(){
15+
super("Test");
16+
setLayout(new FlowLayout());
17+
setSize(1280,800);
18+
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
19+
setVisible(true);
20+
}
21+
22+
@Override
23+
public void paint(Graphics g) {
24+
Graphics2D gr2d = (Graphics2D) g;
25+
//gr2d.drawImage(new ImageIcon("src/ru/shureck/java2020/Lab8/IMG_20190702_203114.jpg").getImage(),0,0, 1280, 900, null);
26+
//image = new ImageIcon(text).getImage();
27+
gr2d.drawImage(image,0,0, 1280, 800, null);
28+
}
29+
30+
public static void main(String[] args) {
31+
new AnimImg();
32+
framlist.add(new ImageIcon("src/ru/shureck/java2020/Lab8/IMG_20190702_201700.jpg").getImage());
33+
framlist.add(new ImageIcon("src/ru/shureck/java2020/Lab8/IMG_20190702_203114.jpg").getImage());
34+
AnimImg animImg = new AnimImg();
35+
while(true){
36+
for (int i = 0; i < 2; i++) {
37+
image = framlist.get(i);
38+
animImg.repaint();
39+
try {
40+
Thread.sleep(2500);
41+
} catch (InterruptedException e) {
42+
e.printStackTrace();
43+
}
44+
}
45+
}
46+
}
47+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package ru.shureck.java2020.Lab8;
2+
3+
public class Circle extends Shape{
4+
5+
public Circle(int x1, int y1, int radius) {
6+
super(x1, y1, radius, 0);
7+
}
8+
9+
@Override
10+
public int[] getCords() {
11+
return new int[]{getX1(),getY1(),getX2()};
12+
}
13+
14+
@Override
15+
public void setSize() {
16+
17+
}
18+
19+
@Override
20+
public String toString() {
21+
return "Circle";
22+
}
23+
}
Loading
Loading
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package ru.shureck.java2020.Lab8;
2+
3+
import ru.shureck.java2020.Lab6.MovableCircle;
4+
5+
import javax.swing.*;
6+
import java.awt.*;
7+
import java.awt.event.ActionEvent;
8+
import java.awt.event.ActionListener;
9+
import java.util.ArrayList;
10+
import java.util.Random;
11+
12+
public class Lab8 extends JFrame {
13+
Lab8(){
14+
super("Test");
15+
setLayout(new FlowLayout());
16+
setSize(1920,1080);
17+
setVisible(true);
18+
}
19+
20+
@Override
21+
public void paint(Graphics g) {
22+
Graphics2D gr2d = (Graphics2D) g;
23+
// Рисуем простые линии
24+
ArrayList<Shape> list = new ArrayList<>();
25+
Random random = new Random();
26+
for (int i = 0; i < 20; i++) {
27+
if(random.nextBoolean()) {
28+
list.add(new Circle(random.nextInt(800),random.nextInt(800),random.nextInt(120)));
29+
}
30+
else{
31+
list.add(new Rectangle(random.nextInt(800),random.nextInt(800),random.nextInt(120),random.nextInt(120)));
32+
}
33+
}
34+
for (int i = 0; i < list.size(); i++) {
35+
float hue = random.nextFloat();
36+
float saturation = (random.nextInt(2000) + 1000) / 10000f;
37+
float luminance = 0.9f;
38+
final Color color = Color.getHSBColor(hue, saturation, luminance);
39+
BasicStroke с = new BasicStroke(random.nextInt(1000)/100);
40+
gr2d.setColor(color);
41+
gr2d.setStroke(с);
42+
if(list.get(i).toString().equals("Rec")){
43+
gr2d.drawRect(list.get(i).getX1(),list.get(i).getY1(),list.get(i).getX2(),list.get(i).getY2());
44+
}
45+
else {
46+
gr2d.drawOval(list.get(i).getX1(),list.get(i).getY1(),list.get(i).getX2(),list.get(i).getX2());
47+
}
48+
}
49+
}
50+
51+
public static void main(String[] args) {
52+
new Lab8();
53+
}
54+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package ru.shureck.java2020.Lab8;
2+
3+
public class Rectangle extends Shape{
4+
5+
public Rectangle(int x1, int y1, int x2, int y2) {
6+
super(x1, y1, x2, y2);
7+
setSize();
8+
}
9+
10+
@Override
11+
public int[] getCords() {
12+
return new int[]{getX1(),getY1(),getX2(),getY2()};
13+
}
14+
15+
@Override
16+
public void setSize() {
17+
int x = getX2();
18+
int y = getY2();
19+
setX2(getX1()+x+y);
20+
setY2(getY1()+x+y);
21+
}
22+
23+
@Override
24+
public String toString() {
25+
return "Rec";
26+
}
27+
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package ru.shureck.java2020.Lab8;
2+
3+
public abstract class Shape {
4+
private int x1,y1,x2,y2;
5+
6+
public Shape(int x1, int y1, int x2, int y2) {
7+
this.x1 = x1;
8+
this.y1 = y1;
9+
this.x2 = x2;
10+
this.y2 = y2;
11+
}
12+
13+
public int getX1() {
14+
return x1;
15+
}
16+
17+
public int getY1() {
18+
return y1;
19+
}
20+
21+
public int getX2() {
22+
return x2;
23+
}
24+
25+
public int getY2() {
26+
return y2;
27+
}
28+
29+
public void setX1(int x1) {
30+
this.x1 = x1;
31+
}
32+
33+
public void setY1(int y1) {
34+
this.y1 = y1;
35+
}
36+
37+
public void setX2(int x2) {
38+
this.x2 = x2;
39+
}
40+
41+
public void setY2(int y2) {
42+
this.y2 = y2;
43+
}
44+
45+
public abstract int[] getCords();
46+
47+
public abstract void setSize();
48+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package ru.shureck.java2020.Lab8;
2+
3+
import javax.swing.*;
4+
import java.awt.*;
5+
6+
public class ShowImg extends JFrame{
7+
8+
private static Image image;
9+
private static JFrame jFrame;
10+
private static String text;
11+
12+
ShowImg(){
13+
super("Test");
14+
setLayout(new FlowLayout());
15+
setSize(1280,800);
16+
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
17+
setVisible(true);
18+
}
19+
20+
@Override
21+
public void paint(Graphics g) {
22+
Graphics2D gr2d = (Graphics2D) g;
23+
//gr2d.drawImage(new ImageIcon("src/ru/shureck/java2020/Lab8/IMG_20190702_203114.jpg").getImage(),0,0, 1280, 900, null);
24+
Image image = new ImageIcon(text).getImage();
25+
gr2d.drawImage(image,0,0, 1280, 800, null);
26+
}
27+
28+
public static void main(String[] args) {
29+
text = args[0];
30+
new ShowImg();
31+
}
32+
}

0 commit comments

Comments
 (0)