Skip to content

Commit

Permalink
proga (lab 4)
Browse files Browse the repository at this point in the history
  • Loading branch information
kihort-si committed Jan 23, 2024
1 parent 514038a commit 4144c33
Show file tree
Hide file tree
Showing 29 changed files with 740 additions and 0 deletions.
29 changes: 29 additions & 0 deletions proga/lab4/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
### IntelliJ IDEA ###
out/
!**/src/main/**/out/
!**/src/test/**/out/

### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/

### Mac OS ###
.DS_Store
8 changes: 8 additions & 0 deletions proga/lab4/.idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions proga/lab4/.idea/artifacts/lab4_jar.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions proga/lab4/.idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions proga/lab4/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions proga/lab4/.idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

124 changes: 124 additions & 0 deletions proga/lab4/.idea/uiDesigner.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added proga/lab4/UML.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file added proga/lab4/UML.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions proga/lab4/lab4.iml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
3 changes: 3 additions & 0 deletions proga/lab4/src/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Manifest-Version: 1.0
Main-Class: ru.itmo.programming.Main

96 changes: 96 additions & 0 deletions proga/lab4/src/ru/itmo/programming/Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
package ru.itmo.programming;
import ru.itmo.programming.characters.*;
import ru.itmo.programming.characters.Character;
import ru.itmo.programming.enums.Forms;
import ru.itmo.programming.enums.Nature;
import ru.itmo.programming.enums.Tenses;
import ru.itmo.programming.exceptions.EventProcessingException;

public class Main {
public static void main(String[] args) {
Freken freken = new Freken();
Woman woman = new Woman();

freken.climb(freken.getName(), "по " + Nature.Rocks.getRussian(), " далёкого " + Nature.Cape.getRussian());

freken.cover(freken.getAnatomy(7), " венком из морских " + Nature.Lilies.getRussian() + " ");

try {
freken.dream(freken.getForms(), "о такой находке, чтобы все ахнули. ", "А затем " + freken.getForms() + " отдаст ее Муми-троллю.");
} catch (EventProcessingException e) {
System.err.println(e.getMessage());
}

System.out.print(" (Разумеется, если находка не украшение.) ");

freken.look("Вздыхая " + freken.getForms(), Nature.Coast.getRussian() + " ");

freken.fall(" вдруг", "в " + freken.getAnatomy(8), true);

System.out.print(" В конце " + Nature.Cape.getRussian() + " ");

woman.unrecognize();

freken.runTo("Сейчас же ", " за остальными --", Tenses.FUTURE);

try {
freken.makeThink(Character.Type.PLAN, freken.getForms());
} catch (EventProcessingException e) {
System.err.println(e.getMessage());
}

freken.runTo(", но не ", ".", Tenses.PAST);

try {
freken.makeThink(Character.Type.DONE, freken.getForms() + " себе 'Смелей! Давай посмотрим, кто это!' ");
} catch (EventProcessingException e) {
System.err.println(e.getMessage());
}

try {
freken.comeTo("И вся дрожа,", "к тому, что лежало в воде. ");
} catch (EventProcessingException e) {
System.err.println(e.getMessage());
}

freken.make(freken.getName(), "несколько робких шагов и ");

freken.fall("словно к земле", "от изумления: ", false);

woman.be("Это", woman.getName() + ". ", Forms.SHE);

woman.be(woman.getName(), "деревянная! ", Forms.SHE);

woman.be(woman.getForms(), "ещё и удивительно красивая. ", Forms.SHE);

woman.smile(woman.getAnatomy(0), " её безмятежно" );

woman.be("у неё", "румяные " + woman.getAnatomy(3) + " и " + woman.getAnatomy(4) + ", круглые, широко раскрытые голубые " + woman.getAnatomy(2), Forms.THEY);

woman.fall(" " + woman.getAnatomy(1) + " ее, тоже голубые, длинными крашеными локонами", woman.getAnatomy(6) + " ", false);

Woman queen = new Woman() {
@Override
public String getName() {
return " королева";
}
};

try {
freken.makeThink(Character.Type.PLAN, freken.getName() + ": Это\" + queen.getName() + \".");
} catch (EventProcessingException e) {
System.err.println(e.getMessage());
e.printStackTrace();
}

woman.be(woman.getAnatomy(10), "скрещены на " + woman.getAnatomy(8) +", блиставшей золотыми " + Nature.Flowers.getRussian(), Forms.THEY);

Woman.Dress dress = new Woman.Dress("платье");

dress.flow(" " + dress.getName(), "мягкими красными складками.");
dress.be(" " + Forms.IT.getRussian(), "из крашеного дерева.", Forms.IT);

woman.be("У " + woman.getName() + " не", "спины", Forms.IT);

}
}
Binary file added proga/lab4/src/ru/itmo/programming/UML.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions proga/lab4/src/ru/itmo/programming/actions/Beable.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package ru.itmo.programming.actions;

import ru.itmo.programming.enums.Forms;

public interface Beable {
void be(String object, String description, Forms forms);
}
5 changes: 5 additions & 0 deletions proga/lab4/src/ru/itmo/programming/actions/Fallable.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package ru.itmo.programming.actions;

public interface Fallable {
void fall(String describe, String condition, boolean isMoral);
}
13 changes: 13 additions & 0 deletions proga/lab4/src/ru/itmo/programming/actions/FrekenBehave.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package ru.itmo.programming.actions;

import ru.itmo.programming.enums.Tenses;
import ru.itmo.programming.exceptions.EventProcessingException;

public interface FrekenBehave {
void climb(String object, String place, String where);
void comeTo(String condition, String toObject) throws EventProcessingException;
void cover(String object, String byObject);
void dream(String object, String about, String action) throws EventProcessingException;
void look(String description, String direction);
void runTo(String object, String direction, Tenses tenses);
}
8 changes: 8 additions & 0 deletions proga/lab4/src/ru/itmo/programming/actions/Layable.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package ru.itmo.programming.actions;

import ru.itmo.programming.enums.Forms;
import ru.itmo.programming.enums.Nature;

public interface Layable {
void lie(Nature nature, Forms forms);
}
5 changes: 5 additions & 0 deletions proga/lab4/src/ru/itmo/programming/actions/Makeable.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package ru.itmo.programming.actions;

public interface Makeable {
void make(String object, String something);
}
5 changes: 5 additions & 0 deletions proga/lab4/src/ru/itmo/programming/actions/Smileable.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package ru.itmo.programming.actions;

public interface Smileable {
void smile(String object, String description);
}
Loading

0 comments on commit 4144c33

Please sign in to comment.