From 3ae4c12387087208aa4b9bcb5e956b16f26e9f52 Mon Sep 17 00:00:00 2001 From: Thomas Smits Date: Sun, 15 Sep 2024 15:44:10 +0200 Subject: [PATCH] Update of exercises --- _001/kafka.txt | 11 + _001/readme.md | 36 + _002/readme.md | 27 + _003/kafka.txt | 11 + _003/readme.md | 34 + _004/img/schnick.png | Bin 0 -> 21428 bytes _004/kafka.txt | 11 + _004/readme.md | 26 + _005/daten.dat | Bin 0 -> 10 bytes _005/games.txt | 994 ++++++++ _005/readme.md | 32 + _006/games.txt | 994 ++++++++ _006/readme.md | 26 + _007/games.txt | 994 ++++++++ _007/kafka.txt | 11 + _007/readme.md | 26 + _008/readme.md | 28 + _009/readme.md | 26 + _010/readme.md | 28 + _011/readme.md | 41 + _012/data.dat | Bin 0 -> 100 bytes _012/readme.md | 32 + _013/kafka.txt | 11 + _013/readme.md | 26 + _014/readme.md | 36 + _015/readme.md | 39 + _016/readme.md | 34 + _016/testdata.dat | Bin 0 -> 443 bytes help/softwareausstattung.md | 9 + readme.md | 123 + solutions/checkstyle.xml | 203 ++ solutions/pmd.xml | 2253 +++++++++++++++++ solutions/pom.xml | 132 + sources/.classpath | 12 + sources/checkstyle.xml | 203 ++ sources/lib/game_framework.jar | Bin 0 -> 53692 bytes sources/lib/jcommon-1.0.23.jar | Bin 0 -> 330246 bytes sources/lib/jfreechart-1.0.19.jar | Bin 0 -> 1565065 bytes sources/pmd.xml | 2253 +++++++++++++++++ sources/pom.xml | 132 + .../auffrischung/grossmacher/Grossmacher.java | 6 + .../labeled_break/ArraySucher.java | 19 + .../password/PasswortChecker.java | 22 + .../auffrischung/printf/DoubleFormatter.java | 18 + .../auffrischung/suchemax/GroessteZahl.java | 19 + .../taschenrechner/Taschenrechner.java | 18 + .../pr2/collections/iterator/SimpleStack.java | 57 + .../iterator/test/SimpleStackTest.java | 87 + .../pr2/collections/list/WordCollector.java | 159 ++ .../pr2/collections/list_iterator/Liste.java | 39 + .../java/pr2/collections/map/WordCount.java | 76 + .../pr2/collections/map/WordFrequency.java | 45 + .../pr2/collections/reverser/Reverser.java | 12 + .../reverser/test/ReverserTest.java | 18 + .../reverser_generic/Reverser.java | 13 + .../reverser_generic/test/ReverserTest.java | 18 + .../pr2/collections/set/WordCollector.java | 158 ++ .../sorter_1/CommandLineSorter.java | 12 + .../sorter_2/CommandLineSorter.java | 12 + .../pr2/collections/sortieren/Sorter.java | 58 + .../sortieren/test/SorterTest.java | 75 + .../collections/woerterbuch/Woerterbuch.java | 12 + .../main/java/pr2/enums/eigene/Wuerfel.java | 52 + .../pr2/enums/eigene/test/WuerfelTest.java | 59 + .../java/pr2/enums/filme/LieblingsFilme.java | 5 + .../src/main/java/pr2/enums/filme/Main.java | 7 + .../src/main/java/pr2/enums/schnick/Move.java | 4 + .../enums/schnick/SchnickSchnackSchnuck.java | 11 + .../main/java/pr2/enums/singleton/MyEnum.java | 7 + .../pr2/enums/singleton/SingletonBeweis.java | 8 + .../ausnahmen_testen/CrypterCaesar.java | 164 ++ .../ausnahmen_testen/IllegalKeyException.java | 31 + .../IllegalMessageException.java | 31 + .../ausnahmen_testen/test/CaesarTest.java | 36 + .../pr2/exceptions/eigene_ausnahme/Fuse.java | 49 + .../eigene_ausnahme/FuseTrippedException.java | 9 + .../IllegalCurrentException.java | 9 + .../eigene_ausnahme/test/FuseTest.java | 159 ++ .../pr2/exceptions/fakultaet/Fakultaet.java | 12 + .../fakultaet/FakultaetException.java | 5 + .../fakultaet/test/FakultaetTest.java | 31 + .../handle_or_declare/Buchstabenzaehler.java | 104 + .../handle_or_declare/StatistikException.java | 31 + .../pr2/exceptions/try_catch/Zahlenraten.java | 55 + .../main/java/pr2/generics/einfach/Liste.java | 87 + .../java/pr2/generics/einfach/ListeNode.java | 22 + .../pr2/generics/einfach/test/ListeTest.java | 61 + .../java/pr2/generics/number_pair/Main.java | 16 + .../pr2/generics/number_pair/NumberPair.java | 5 + .../java/pr2/generics/number_pair/Pair.java | 20 + .../src/main/java/pr2/generics/pair/Main.java | 18 + .../src/main/java/pr2/generics/pair/Pair.java | 5 + .../main/java/pr2/generics/pairlist/Main.java | 20 + .../main/java/pr2/generics/pairlist/Pair.java | 20 + .../java/pr2/generics/pairlist/PairList.java | 5 + .../generics/printer/CollectionPrinter.java | 6 + .../main/java/pr2/generics/printer/Main.java | 24 + .../main/java/pr2/generics/queue/Queue.java | 6 + .../java/pr2/generics/same_pair/Main.java | 16 + .../java/pr2/generics/same_pair/Pair.java | 20 + .../java/pr2/generics/same_pair/SamePair.java | 5 + .../pr2/generics/super_extends/Liste.java | 102 + .../pr2/generics/super_extends/ListeNode.java | 28 + .../super_extends/test/ListeTest.java | 43 + .../pr2/generics/wildcards/ListHelper.java | 23 + .../java/pr2/generics/wildcards/Main.java | 39 + .../pr2/generics/wildcards/SimpleList.java | 12 + .../pr2/interfaces/abstrakt_form/Form.java | 5 + .../abstrakte_klassen_e/Dreieck.java | 33 + .../abstrakte_klassen_e/Geometer.java | 46 + .../interfaces/abstrakte_klassen_e/Kreis.java | 28 + .../comparable_student/Student.java | 22 + .../interfaces_e/api/DigitalController.java | 36 + .../impl/DigitalControllerImpl.java | 53 + .../test/AnalogControllerTest.java | 53 + .../test/DigitalControllerTest.java | 63 + .../interfaces_e/test/DualShock4Test.java | 43 + .../main/java/pr2/interfaces/stack/Stack.java | 5 + .../java/pr2/interfaces/stack/StackImpl.java | 5 + .../pr2/interfaces/stack/test/StackTest.java | 36 + .../interfaces/uebersetzer/Uebersetzer.java | 13 + .../intro/coding_standard/CodingStandard.java | 51 + .../main/java/pr2/intro/javadoc/Waehrung.java | 90 + .../pr2/intro/junit_faculty/Fakultaet.java | 14 + .../junit_faculty/test/FakultaetTest.java | 13 + .../io/buffered_reader/LineNumberPrinter.java | 25 + .../main/java/pr2/io/data_output/Board.java | 134 + .../main/java/pr2/io/data_output/Color.java | 30 + .../pr2/io/data_output/test/BoardTest.java | 63 + .../pr2/io/datainputoutput_1/DateReader.java | 16 + .../pr2/io/datainputoutput_1/DateWriter.java | 28 + .../pr2/io/datainputoutput_2/DateReader.java | 17 + .../pr2/io/datainputoutput_2/DateWriter.java | 28 + .../java/pr2/io/datei_lesen/ReadData.java | 29 + .../pr2/io/datei_schreiben/WriteData.java | 28 + .../pr2/io/datei_schreiben/test/DataTest.java | 39 + .../java/pr2/io/file/FilesystemWalker.java | 66 + .../main/java/pr2/io/filetest/FileInfo.java | 13 + .../main/java/pr2/io/filter/UCaseReader.java | 13 + .../pr2/io/filter/test/UCaseReaderTest.java | 35 + .../java/pr2/io/konsole/ConsoleToFile.java | 32 + .../java/pr2/io/linecounter/LineCounter.java | 17 + .../java/pr2/io/random_access/FileSort.java | 21 + .../io/random_access/test/FileSortTest.java | 63 + .../io/reader_writer/ReadAndPrintFile.java | 25 + sources/src/main/java/pr2/io/rot13/Rot13.java | 17 + .../main/java/pr2/io/rot13/Rot13Reader.java | 10 + .../main/java/pr2/io/scrambler/Scrambler.java | 16 + .../java/pr2/io/serialisierung/Board.java | 124 + .../java/pr2/io/serialisierung/Color.java | 30 + .../pr2/io/serialisierung/test/BoardTest.java | 46 + .../pr2/lambda/array_sorter/ReverseSort.java | 22 + .../main/java/pr2/lambda/callback/Main.java | 36 + .../pr2/lambda/callback/NumberSelector.java | 30 + .../java/pr2/lambda/callback/Predicate.java | 20 + .../pr2/lambda/comparator/SortLambda.java | 12 + .../main/java/pr2/lambda/lambdas/Main.java | 33 + .../pr2/lambda/lambdas/NumberSelector.java | 30 + .../java/pr2/lambda/lambdas/Predicate.java | 20 + .../pr2/lambda/matrixsuche/MatrixSuche.java | 5 + .../matrixsuche/test/MatrixSucheTest.java | 33 + .../lambda/mogrifier_1/StringFunction.java | 4 + .../mogrifier_1/StringTransmogrifier.java | 6 + .../test/StringTransmogrifierTest.java | 15 + .../lambda/mogrifier_2/StringFunction.java | 6 + .../mogrifier_2/StringTransmogrifier.java | 14 + .../test/StringTransmogrifierTest.java | 38 + .../java/pr2/lambda/observer/Beobachter.java | 5 + .../java/pr2/object/clone_alien/Alien.java | 91 + .../pr2/object/clone_alien/Raumanzug.java | 68 + .../clone_alien/test/AlienCloneTest.java | 38 + .../java/pr2/object/clone_person/Person.java | 22 + .../java/pr2/object/equals_hashcode/Ork.java | 29 + .../pr2/object/equals_hashcode/Wesen.java | 66 + .../equals_hashcode/test/WesenTest.java | 87 + .../java/pr2/object/equals_person/Person.java | 10 + .../main/java/pr2/object/tostring/Alien.java | 47 + .../java/pr2/object/tostring/Ausgabe.java | 24 + .../java/pr2/object/tostring/Raumanzug.java | 44 + .../object/wrapper_boxsearch/BoxSearcher.java | 8 + .../object/wrapper_umwandler/Umwandler.java | 45 + .../pr2/reflection/analyzer/Analyzer.java | 17 + .../pr2/reflection/reflector/Reflector.java | 16 + .../pr2/streams/chars_1/CountLetters.java | 11 + .../chars_1/test/CountLettersTest.java | 13 + .../pr2/streams/chars_2/CountLetters.java | 14 + .../chars_2/test/CountLettersTest.java | 16 + .../pr2/streams/chars_3/CountLetters.java | 14 + .../chars_3/test/CountLettersTest.java | 16 + .../java/pr2/streams/filter/FilterList.java | 14 + .../streams/filter/test/FilterListTest.java | 25 + .../interne_iteration/ComputerGame.java | 87 + .../interne_iteration/GameDatabase.java | 61 + .../streams/interne_iteration/ListGames.java | 35 + .../pr2/streams/map_filter/ComputerGame.java | 88 + .../pr2/streams/map_filter/GameDatabase.java | 61 + .../streams/map_filter/MapFilterGames.java | 30 + .../main/java/pr2/streams/reduce/Squarer.java | 21 + .../pr2/streams/reduce/test/SquarerTest.java | 26 + .../streams/reduce_critics/ComputerGame.java | 88 + .../streams/reduce_critics/GameDatabase.java | 61 + .../reduce_critics/MapReduceGames.java | 32 + .../java/pr2/streams/summieren/SumUp.java | 10 + .../pr2/streams/summieren/test/SumUpTest.java | 18 + .../pr2/streams/word_count/WordCount.java | 16 + .../word_count/test/WordCountTest.java | 21 + .../information_hiding/Rechner.java | 51 + .../information_hiding/test/RechnerTest.java | 38 + .../jars_einbinden/PieChart.java | 59 + .../threads/fakultaet/FakultaetParallel.java | 20 + .../main/java/pr2/threads/fakultaet/Main.java | 7 + .../pr2/threads/interrupt/ThreadsBeenden.java | 8 + .../main/java/pr2/threads/notifier/Main.java | 13 + .../java/pr2/threads/notifier/Notifier.java | 8 + .../paralleldrucker/ParallelDrucker.java | 8 + .../java/pr2/threads/race_condition/Main.java | 41 + .../race_condition/NumberIncrementer.java | 40 + .../threads/race_condition/NumberList.java | 60 + .../pr2/threads/stack_heap/ThreadProblem.java | 8 + .../pr2/threads/synchronize/Synchronizer.java | 14 + .../pr2/threads/timer/FakultaetTimer.java | 21 + .../src/main/java/pr2/threads/timer/Main.java | 14 + .../src/main/java/pr2/vererbung/finals/A.java | 32 + .../src/main/java/pr2/vererbung/finals/B.java | 22 + .../java/pr2/vererbung/geometrie1/Figur.java | 5 + .../java/pr2/vererbung/geometrie1/Main.java | 8 + .../pr2/vererbung/geometrie1/Rechteck.java | 5 + .../java/pr2/vererbung/geometrie2/Figur.java | 14 + .../java/pr2/vererbung/geometrie2/Main.java | 8 + .../pr2/vererbung/geometrie2/Rechteck.java | 9 + .../pr2/vererbung/geometrie3/Dreieck.java | 5 + .../java/pr2/vererbung/geometrie3/Figur.java | 16 + .../java/pr2/vererbung/geometrie3/Gerade.java | 5 + .../java/pr2/vererbung/geometrie3/Main.java | 7 + .../pr2/vererbung/geometrie3/Quadrat.java | 5 + .../pr2/vererbung/geometrie3/Rechteck.java | 8 + .../pr2/vererbung/konstruktoren/Nachtelf.java | 28 + .../pr2/vererbung/konstruktoren/Untoter.java | 28 + .../pr2/vererbung/konstruktoren/Wesen.java | 30 + .../konstruktoren/test/WesenTest.java | 49 + .../java/pr2/vererbung/polymorphie/Affe.java | 16 + .../vererbung/polymorphie/Futterstelle.java | 35 + .../pr2/vererbung/polymorphie/Giraffe.java | 16 + .../pr2/vererbung/polymorphie/Gorilla.java | 16 + .../vererbung/polymorphie/ZooSimulation.java | 41 + .../pr2/vererbung/polymorphie/ZooTier.java | 41 + .../singleton_einfach/Singleton.java | 5 + .../java/pr2/vererbung/statics/Spiel.java | 37 + .../java/pr2/vererbung/statics/Wuerfel.java | 44 + .../vererbung/ueberladen_summe/Summator.java | 5 + .../ueberladen_summe/test/SummatorTest.java | 23 + .../ueberschreiben_lebewesen/Amoebe.java | 5 + .../ueberschreiben_lebewesen/Dackel.java | 5 + .../ueberschreiben_lebewesen/Lebewesen.java | 5 + .../ueberschreiben_lebewesen/Main.java | 8 + .../pr2/vererbung/vararg_summe/Summator.java | 5 + .../vararg_summe/test/SummatorTest.java | 24 + .../vererbung_geometrie/Dreieck.java | 9 + .../vererbung/vererbung_geometrie/Figur.java | 14 + .../vererbung/vererbung_geometrie/Gerade.java | 14 + .../vererbung_geometrie/Quadrat.java | 9 + .../vererbung_geometrie/Rechteck.java | 9 + .../vererbung_geometrie/test/FigurenTest.java | 71 + .../pr2/collections/iterieren/10c.png | Bin 0 -> 34316 bytes .../pr2/collections/iterieren/1c.png | Bin 0 -> 24960 bytes .../pr2/collections/iterieren/1e.png | Bin 0 -> 46929 bytes .../pr2/collections/iterieren/20c.png | Bin 0 -> 42920 bytes .../pr2/collections/iterieren/2c.png | Bin 0 -> 31957 bytes .../pr2/collections/iterieren/2e.png | Bin 0 -> 53871 bytes .../pr2/collections/iterieren/50c.png | Bin 0 -> 50518 bytes .../pr2/collections/iterieren/5c.png | Bin 0 -> 42564 bytes .../resources/pr2/collections/list/kafka.txt | 11 + .../resources/pr2/collections/map/kafka.txt | 11 + .../resources/pr2/collections/set/kafka.txt | 11 + .../pr2/enums/use/professor_left.png | Bin 0 -> 6992 bytes .../pr2/enums/use/professor_right.png | Bin 0 -> 7864 bytes .../enums/use/professor_walk_cycle_no_hat.png | Bin 0 -> 26246 bytes .../exceptions/finallys/professor_left.png | Bin 0 -> 6992 bytes .../exceptions/finallys/professor_right.png | Bin 0 -> 7864 bytes .../finallys/professor_walk_cycle_no_hat.png | Bin 0 -> 26246 bytes .../resources/pr2/generics/verwendung/10c.png | Bin 0 -> 34316 bytes .../resources/pr2/generics/verwendung/1c.png | Bin 0 -> 24960 bytes .../resources/pr2/generics/verwendung/1e.png | Bin 0 -> 46929 bytes .../resources/pr2/generics/verwendung/20c.png | Bin 0 -> 42920 bytes .../resources/pr2/generics/verwendung/2c.png | Bin 0 -> 31957 bytes .../resources/pr2/generics/verwendung/2e.png | Bin 0 -> 53871 bytes .../resources/pr2/generics/verwendung/50c.png | Bin 0 -> 50518 bytes .../resources/pr2/generics/verwendung/5c.png | Bin 0 -> 42564 bytes .../pr2/io/buffered_reader/kafka.txt | 11 + .../resources/pr2/io/data_output/.gitkeep | 0 .../resources/pr2/io/datei_lesen/daten.dat | Bin 0 -> 10 bytes .../resources/pr2/io/datei_schreiben/.gitkeep | 0 .../resources/pr2/io/random_access/data.dat | Bin 0 -> 100 bytes .../pr2/io/random_access/output/.gitkeep | 0 .../resources/pr2/io/reader_writer/kafka.txt | 11 + .../pr2/io/serialisierung/testdata.dat | Bin 0 -> 443 bytes .../pr2/lambda/anonymous/explosion_1.png | Bin 0 -> 250553 bytes .../resources/pr2/lambda/anonymous/ship01.png | Bin 0 -> 4961 bytes .../resources/pr2/lambda/anonymous/ship02.png | Bin 0 -> 4976 bytes .../resources/pr2/lambda/anonymous/ship03.png | Bin 0 -> 4958 bytes .../pr2/lambda/local/explosion_1.png | Bin 0 -> 250553 bytes .../resources/pr2/lambda/local/ship01.png | Bin 0 -> 4961 bytes .../resources/pr2/lambda/local/ship02.png | Bin 0 -> 4976 bytes .../resources/pr2/lambda/local/ship03.png | Bin 0 -> 4958 bytes .../pr2/lambda/nonstatic/explosion_1.png | Bin 0 -> 250553 bytes .../resources/pr2/lambda/nonstatic/ship01.png | Bin 0 -> 4961 bytes .../resources/pr2/lambda/nonstatic/ship02.png | Bin 0 -> 4976 bytes .../resources/pr2/lambda/nonstatic/ship03.png | Bin 0 -> 4958 bytes .../pr2/lambda/static_member/explosion_1.png | Bin 0 -> 250553 bytes .../pr2/lambda/static_member/ship01.png | Bin 0 -> 4961 bytes .../pr2/lambda/static_member/ship02.png | Bin 0 -> 4976 bytes .../pr2/lambda/static_member/ship03.png | Bin 0 -> 4958 bytes .../pr2/streams/interne_iteration/games.txt | 994 ++++++++ .../pr2/streams/map_filter/games.txt | 994 ++++++++ .../pr2/streams/reduce_critics/games.txt | 994 ++++++++ .../pr2/threads/beenden/background-0.jpg | Bin 0 -> 43616 bytes .../pr2/threads/beenden/background-1.jpg | Bin 0 -> 62333 bytes .../pr2/threads/beenden/background-2.jpg | Bin 0 -> 81844 bytes .../pr2/threads/beenden/background-3.jpg | Bin 0 -> 51282 bytes .../pr2/threads/beenden/explosion.png | Bin 0 -> 225857 bytes .../pr2/threads/beenden/red-button.png | Bin 0 -> 8800 bytes .../pr2/threads/beenden/spaceship.png | Bin 0 -> 8427 bytes .../resources/pr2/threads/beenden/ufo.png | Bin 0 -> 36153 bytes .../pr2/threads/runnable/background-0.jpg | Bin 0 -> 43616 bytes .../pr2/threads/runnable/background-1.jpg | Bin 0 -> 62333 bytes .../pr2/threads/runnable/background-2.jpg | Bin 0 -> 81844 bytes .../pr2/threads/runnable/background-3.jpg | Bin 0 -> 51282 bytes .../resources/pr2/threads/runnable/ufo.png | Bin 0 -> 10489 bytes .../pr2/threads/vereinigen/background-0.jpg | Bin 0 -> 43616 bytes .../pr2/threads/vereinigen/background-1.jpg | Bin 0 -> 62333 bytes .../pr2/threads/vereinigen/background-2.jpg | Bin 0 -> 81844 bytes .../pr2/threads/vereinigen/background-3.jpg | Bin 0 -> 51282 bytes .../pr2/threads/vereinigen/explosion.png | Bin 0 -> 225857 bytes .../pr2/threads/vereinigen/red-button.png | Bin 0 -> 8800 bytes .../pr2/threads/vereinigen/spaceship.png | Bin 0 -> 8427 bytes .../resources/pr2/threads/vereinigen/ufo.png | Bin 0 -> 36153 bytes .../pr2/threads/wait_notify/background-0.jpg | Bin 0 -> 43616 bytes .../pr2/threads/wait_notify/background-1.jpg | Bin 0 -> 62333 bytes .../pr2/threads/wait_notify/background-2.jpg | Bin 0 -> 81844 bytes .../pr2/threads/wait_notify/background-3.jpg | Bin 0 -> 51282 bytes .../pr2/threads/wait_notify/explosion.png | Bin 0 -> 225857 bytes .../pr2/threads/wait_notify/red-button.png | Bin 0 -> 8800 bytes .../pr2/threads/wait_notify/spaceship.png | Bin 0 -> 8427 bytes .../resources/pr2/threads/wait_notify/ufo.png | Bin 0 -> 36153 bytes 344 files changed, 18770 insertions(+) create mode 100644 _001/kafka.txt create mode 100644 _001/readme.md create mode 100644 _002/readme.md create mode 100644 _003/kafka.txt create mode 100644 _003/readme.md create mode 100644 _004/img/schnick.png create mode 100644 _004/kafka.txt create mode 100644 _004/readme.md create mode 100644 _005/daten.dat create mode 100644 _005/games.txt create mode 100644 _005/readme.md create mode 100644 _006/games.txt create mode 100644 _006/readme.md create mode 100644 _007/games.txt create mode 100644 _007/kafka.txt create mode 100644 _007/readme.md create mode 100644 _008/readme.md create mode 100644 _009/readme.md create mode 100644 _010/readme.md create mode 100644 _011/readme.md create mode 100644 _012/data.dat create mode 100644 _012/readme.md create mode 100644 _013/kafka.txt create mode 100644 _013/readme.md create mode 100644 _014/readme.md create mode 100644 _015/readme.md create mode 100644 _016/readme.md create mode 100644 _016/testdata.dat create mode 100644 help/softwareausstattung.md create mode 100644 readme.md create mode 100644 solutions/checkstyle.xml create mode 100644 solutions/pmd.xml create mode 100644 solutions/pom.xml create mode 100644 sources/.classpath create mode 100644 sources/checkstyle.xml create mode 100644 sources/lib/game_framework.jar create mode 100644 sources/lib/jcommon-1.0.23.jar create mode 100644 sources/lib/jfreechart-1.0.19.jar create mode 100644 sources/pmd.xml create mode 100644 sources/pom.xml create mode 100644 sources/src/main/java/pr2/auffrischung/grossmacher/Grossmacher.java create mode 100644 sources/src/main/java/pr2/auffrischung/labeled_break/ArraySucher.java create mode 100644 sources/src/main/java/pr2/auffrischung/password/PasswortChecker.java create mode 100644 sources/src/main/java/pr2/auffrischung/printf/DoubleFormatter.java create mode 100644 sources/src/main/java/pr2/auffrischung/suchemax/GroessteZahl.java create mode 100644 sources/src/main/java/pr2/auffrischung/taschenrechner/Taschenrechner.java create mode 100644 sources/src/main/java/pr2/collections/iterator/SimpleStack.java create mode 100644 sources/src/main/java/pr2/collections/iterator/test/SimpleStackTest.java create mode 100644 sources/src/main/java/pr2/collections/list/WordCollector.java create mode 100644 sources/src/main/java/pr2/collections/list_iterator/Liste.java create mode 100644 sources/src/main/java/pr2/collections/map/WordCount.java create mode 100644 sources/src/main/java/pr2/collections/map/WordFrequency.java create mode 100644 sources/src/main/java/pr2/collections/reverser/Reverser.java create mode 100644 sources/src/main/java/pr2/collections/reverser/test/ReverserTest.java create mode 100644 sources/src/main/java/pr2/collections/reverser_generic/Reverser.java create mode 100644 sources/src/main/java/pr2/collections/reverser_generic/test/ReverserTest.java create mode 100644 sources/src/main/java/pr2/collections/set/WordCollector.java create mode 100644 sources/src/main/java/pr2/collections/sorter_1/CommandLineSorter.java create mode 100644 sources/src/main/java/pr2/collections/sorter_2/CommandLineSorter.java create mode 100644 sources/src/main/java/pr2/collections/sortieren/Sorter.java create mode 100644 sources/src/main/java/pr2/collections/sortieren/test/SorterTest.java create mode 100644 sources/src/main/java/pr2/collections/woerterbuch/Woerterbuch.java create mode 100644 sources/src/main/java/pr2/enums/eigene/Wuerfel.java create mode 100644 sources/src/main/java/pr2/enums/eigene/test/WuerfelTest.java create mode 100644 sources/src/main/java/pr2/enums/filme/LieblingsFilme.java create mode 100644 sources/src/main/java/pr2/enums/filme/Main.java create mode 100644 sources/src/main/java/pr2/enums/schnick/Move.java create mode 100644 sources/src/main/java/pr2/enums/schnick/SchnickSchnackSchnuck.java create mode 100644 sources/src/main/java/pr2/enums/singleton/MyEnum.java create mode 100644 sources/src/main/java/pr2/enums/singleton/SingletonBeweis.java create mode 100644 sources/src/main/java/pr2/exceptions/ausnahmen_testen/CrypterCaesar.java create mode 100644 sources/src/main/java/pr2/exceptions/ausnahmen_testen/IllegalKeyException.java create mode 100644 sources/src/main/java/pr2/exceptions/ausnahmen_testen/IllegalMessageException.java create mode 100644 sources/src/main/java/pr2/exceptions/ausnahmen_testen/test/CaesarTest.java create mode 100644 sources/src/main/java/pr2/exceptions/eigene_ausnahme/Fuse.java create mode 100644 sources/src/main/java/pr2/exceptions/eigene_ausnahme/FuseTrippedException.java create mode 100644 sources/src/main/java/pr2/exceptions/eigene_ausnahme/IllegalCurrentException.java create mode 100644 sources/src/main/java/pr2/exceptions/eigene_ausnahme/test/FuseTest.java create mode 100644 sources/src/main/java/pr2/exceptions/fakultaet/Fakultaet.java create mode 100644 sources/src/main/java/pr2/exceptions/fakultaet/FakultaetException.java create mode 100644 sources/src/main/java/pr2/exceptions/fakultaet/test/FakultaetTest.java create mode 100644 sources/src/main/java/pr2/exceptions/handle_or_declare/Buchstabenzaehler.java create mode 100644 sources/src/main/java/pr2/exceptions/handle_or_declare/StatistikException.java create mode 100644 sources/src/main/java/pr2/exceptions/try_catch/Zahlenraten.java create mode 100644 sources/src/main/java/pr2/generics/einfach/Liste.java create mode 100644 sources/src/main/java/pr2/generics/einfach/ListeNode.java create mode 100644 sources/src/main/java/pr2/generics/einfach/test/ListeTest.java create mode 100644 sources/src/main/java/pr2/generics/number_pair/Main.java create mode 100644 sources/src/main/java/pr2/generics/number_pair/NumberPair.java create mode 100644 sources/src/main/java/pr2/generics/number_pair/Pair.java create mode 100644 sources/src/main/java/pr2/generics/pair/Main.java create mode 100644 sources/src/main/java/pr2/generics/pair/Pair.java create mode 100644 sources/src/main/java/pr2/generics/pairlist/Main.java create mode 100644 sources/src/main/java/pr2/generics/pairlist/Pair.java create mode 100644 sources/src/main/java/pr2/generics/pairlist/PairList.java create mode 100644 sources/src/main/java/pr2/generics/printer/CollectionPrinter.java create mode 100644 sources/src/main/java/pr2/generics/printer/Main.java create mode 100644 sources/src/main/java/pr2/generics/queue/Queue.java create mode 100644 sources/src/main/java/pr2/generics/same_pair/Main.java create mode 100644 sources/src/main/java/pr2/generics/same_pair/Pair.java create mode 100644 sources/src/main/java/pr2/generics/same_pair/SamePair.java create mode 100644 sources/src/main/java/pr2/generics/super_extends/Liste.java create mode 100644 sources/src/main/java/pr2/generics/super_extends/ListeNode.java create mode 100644 sources/src/main/java/pr2/generics/super_extends/test/ListeTest.java create mode 100644 sources/src/main/java/pr2/generics/wildcards/ListHelper.java create mode 100644 sources/src/main/java/pr2/generics/wildcards/Main.java create mode 100644 sources/src/main/java/pr2/generics/wildcards/SimpleList.java create mode 100644 sources/src/main/java/pr2/interfaces/abstrakt_form/Form.java create mode 100644 sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Dreieck.java create mode 100644 sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Geometer.java create mode 100644 sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Kreis.java create mode 100644 sources/src/main/java/pr2/interfaces/comparable_student/Student.java create mode 100644 sources/src/main/java/pr2/interfaces/interfaces_e/api/DigitalController.java create mode 100644 sources/src/main/java/pr2/interfaces/interfaces_e/impl/DigitalControllerImpl.java create mode 100644 sources/src/main/java/pr2/interfaces/interfaces_e/test/AnalogControllerTest.java create mode 100644 sources/src/main/java/pr2/interfaces/interfaces_e/test/DigitalControllerTest.java create mode 100644 sources/src/main/java/pr2/interfaces/interfaces_e/test/DualShock4Test.java create mode 100644 sources/src/main/java/pr2/interfaces/stack/Stack.java create mode 100644 sources/src/main/java/pr2/interfaces/stack/StackImpl.java create mode 100644 sources/src/main/java/pr2/interfaces/stack/test/StackTest.java create mode 100644 sources/src/main/java/pr2/interfaces/uebersetzer/Uebersetzer.java create mode 100644 sources/src/main/java/pr2/intro/coding_standard/CodingStandard.java create mode 100644 sources/src/main/java/pr2/intro/javadoc/Waehrung.java create mode 100644 sources/src/main/java/pr2/intro/junit_faculty/Fakultaet.java create mode 100644 sources/src/main/java/pr2/intro/junit_faculty/test/FakultaetTest.java create mode 100644 sources/src/main/java/pr2/io/buffered_reader/LineNumberPrinter.java create mode 100644 sources/src/main/java/pr2/io/data_output/Board.java create mode 100644 sources/src/main/java/pr2/io/data_output/Color.java create mode 100644 sources/src/main/java/pr2/io/data_output/test/BoardTest.java create mode 100644 sources/src/main/java/pr2/io/datainputoutput_1/DateReader.java create mode 100644 sources/src/main/java/pr2/io/datainputoutput_1/DateWriter.java create mode 100644 sources/src/main/java/pr2/io/datainputoutput_2/DateReader.java create mode 100644 sources/src/main/java/pr2/io/datainputoutput_2/DateWriter.java create mode 100644 sources/src/main/java/pr2/io/datei_lesen/ReadData.java create mode 100644 sources/src/main/java/pr2/io/datei_schreiben/WriteData.java create mode 100644 sources/src/main/java/pr2/io/datei_schreiben/test/DataTest.java create mode 100644 sources/src/main/java/pr2/io/file/FilesystemWalker.java create mode 100644 sources/src/main/java/pr2/io/filetest/FileInfo.java create mode 100644 sources/src/main/java/pr2/io/filter/UCaseReader.java create mode 100644 sources/src/main/java/pr2/io/filter/test/UCaseReaderTest.java create mode 100644 sources/src/main/java/pr2/io/konsole/ConsoleToFile.java create mode 100644 sources/src/main/java/pr2/io/linecounter/LineCounter.java create mode 100644 sources/src/main/java/pr2/io/random_access/FileSort.java create mode 100644 sources/src/main/java/pr2/io/random_access/test/FileSortTest.java create mode 100644 sources/src/main/java/pr2/io/reader_writer/ReadAndPrintFile.java create mode 100644 sources/src/main/java/pr2/io/rot13/Rot13.java create mode 100644 sources/src/main/java/pr2/io/rot13/Rot13Reader.java create mode 100644 sources/src/main/java/pr2/io/scrambler/Scrambler.java create mode 100644 sources/src/main/java/pr2/io/serialisierung/Board.java create mode 100644 sources/src/main/java/pr2/io/serialisierung/Color.java create mode 100644 sources/src/main/java/pr2/io/serialisierung/test/BoardTest.java create mode 100644 sources/src/main/java/pr2/lambda/array_sorter/ReverseSort.java create mode 100644 sources/src/main/java/pr2/lambda/callback/Main.java create mode 100644 sources/src/main/java/pr2/lambda/callback/NumberSelector.java create mode 100644 sources/src/main/java/pr2/lambda/callback/Predicate.java create mode 100644 sources/src/main/java/pr2/lambda/comparator/SortLambda.java create mode 100644 sources/src/main/java/pr2/lambda/lambdas/Main.java create mode 100644 sources/src/main/java/pr2/lambda/lambdas/NumberSelector.java create mode 100644 sources/src/main/java/pr2/lambda/lambdas/Predicate.java create mode 100644 sources/src/main/java/pr2/lambda/matrixsuche/MatrixSuche.java create mode 100644 sources/src/main/java/pr2/lambda/matrixsuche/test/MatrixSucheTest.java create mode 100644 sources/src/main/java/pr2/lambda/mogrifier_1/StringFunction.java create mode 100644 sources/src/main/java/pr2/lambda/mogrifier_1/StringTransmogrifier.java create mode 100644 sources/src/main/java/pr2/lambda/mogrifier_1/test/StringTransmogrifierTest.java create mode 100644 sources/src/main/java/pr2/lambda/mogrifier_2/StringFunction.java create mode 100644 sources/src/main/java/pr2/lambda/mogrifier_2/StringTransmogrifier.java create mode 100644 sources/src/main/java/pr2/lambda/mogrifier_2/test/StringTransmogrifierTest.java create mode 100644 sources/src/main/java/pr2/lambda/observer/Beobachter.java create mode 100644 sources/src/main/java/pr2/object/clone_alien/Alien.java create mode 100644 sources/src/main/java/pr2/object/clone_alien/Raumanzug.java create mode 100644 sources/src/main/java/pr2/object/clone_alien/test/AlienCloneTest.java create mode 100644 sources/src/main/java/pr2/object/clone_person/Person.java create mode 100644 sources/src/main/java/pr2/object/equals_hashcode/Ork.java create mode 100644 sources/src/main/java/pr2/object/equals_hashcode/Wesen.java create mode 100644 sources/src/main/java/pr2/object/equals_hashcode/test/WesenTest.java create mode 100644 sources/src/main/java/pr2/object/equals_person/Person.java create mode 100644 sources/src/main/java/pr2/object/tostring/Alien.java create mode 100644 sources/src/main/java/pr2/object/tostring/Ausgabe.java create mode 100644 sources/src/main/java/pr2/object/tostring/Raumanzug.java create mode 100644 sources/src/main/java/pr2/object/wrapper_boxsearch/BoxSearcher.java create mode 100644 sources/src/main/java/pr2/object/wrapper_umwandler/Umwandler.java create mode 100644 sources/src/main/java/pr2/reflection/analyzer/Analyzer.java create mode 100644 sources/src/main/java/pr2/reflection/reflector/Reflector.java create mode 100644 sources/src/main/java/pr2/streams/chars_1/CountLetters.java create mode 100644 sources/src/main/java/pr2/streams/chars_1/test/CountLettersTest.java create mode 100644 sources/src/main/java/pr2/streams/chars_2/CountLetters.java create mode 100644 sources/src/main/java/pr2/streams/chars_2/test/CountLettersTest.java create mode 100644 sources/src/main/java/pr2/streams/chars_3/CountLetters.java create mode 100644 sources/src/main/java/pr2/streams/chars_3/test/CountLettersTest.java create mode 100644 sources/src/main/java/pr2/streams/filter/FilterList.java create mode 100644 sources/src/main/java/pr2/streams/filter/test/FilterListTest.java create mode 100644 sources/src/main/java/pr2/streams/interne_iteration/ComputerGame.java create mode 100644 sources/src/main/java/pr2/streams/interne_iteration/GameDatabase.java create mode 100644 sources/src/main/java/pr2/streams/interne_iteration/ListGames.java create mode 100644 sources/src/main/java/pr2/streams/map_filter/ComputerGame.java create mode 100644 sources/src/main/java/pr2/streams/map_filter/GameDatabase.java create mode 100644 sources/src/main/java/pr2/streams/map_filter/MapFilterGames.java create mode 100644 sources/src/main/java/pr2/streams/reduce/Squarer.java create mode 100644 sources/src/main/java/pr2/streams/reduce/test/SquarerTest.java create mode 100644 sources/src/main/java/pr2/streams/reduce_critics/ComputerGame.java create mode 100644 sources/src/main/java/pr2/streams/reduce_critics/GameDatabase.java create mode 100644 sources/src/main/java/pr2/streams/reduce_critics/MapReduceGames.java create mode 100644 sources/src/main/java/pr2/streams/summieren/SumUp.java create mode 100644 sources/src/main/java/pr2/streams/summieren/test/SumUpTest.java create mode 100644 sources/src/main/java/pr2/streams/word_count/WordCount.java create mode 100644 sources/src/main/java/pr2/streams/word_count/test/WordCountTest.java create mode 100644 sources/src/main/java/pr2/strukturierung/information_hiding/Rechner.java create mode 100644 sources/src/main/java/pr2/strukturierung/information_hiding/test/RechnerTest.java create mode 100644 sources/src/main/java/pr2/strukturierung/jars_einbinden/PieChart.java create mode 100644 sources/src/main/java/pr2/threads/fakultaet/FakultaetParallel.java create mode 100644 sources/src/main/java/pr2/threads/fakultaet/Main.java create mode 100644 sources/src/main/java/pr2/threads/interrupt/ThreadsBeenden.java create mode 100644 sources/src/main/java/pr2/threads/notifier/Main.java create mode 100644 sources/src/main/java/pr2/threads/notifier/Notifier.java create mode 100644 sources/src/main/java/pr2/threads/paralleldrucker/ParallelDrucker.java create mode 100644 sources/src/main/java/pr2/threads/race_condition/Main.java create mode 100644 sources/src/main/java/pr2/threads/race_condition/NumberIncrementer.java create mode 100644 sources/src/main/java/pr2/threads/race_condition/NumberList.java create mode 100644 sources/src/main/java/pr2/threads/stack_heap/ThreadProblem.java create mode 100644 sources/src/main/java/pr2/threads/synchronize/Synchronizer.java create mode 100644 sources/src/main/java/pr2/threads/timer/FakultaetTimer.java create mode 100644 sources/src/main/java/pr2/threads/timer/Main.java create mode 100644 sources/src/main/java/pr2/vererbung/finals/A.java create mode 100644 sources/src/main/java/pr2/vererbung/finals/B.java create mode 100644 sources/src/main/java/pr2/vererbung/geometrie1/Figur.java create mode 100644 sources/src/main/java/pr2/vererbung/geometrie1/Main.java create mode 100644 sources/src/main/java/pr2/vererbung/geometrie1/Rechteck.java create mode 100644 sources/src/main/java/pr2/vererbung/geometrie2/Figur.java create mode 100644 sources/src/main/java/pr2/vererbung/geometrie2/Main.java create mode 100644 sources/src/main/java/pr2/vererbung/geometrie2/Rechteck.java create mode 100644 sources/src/main/java/pr2/vererbung/geometrie3/Dreieck.java create mode 100644 sources/src/main/java/pr2/vererbung/geometrie3/Figur.java create mode 100644 sources/src/main/java/pr2/vererbung/geometrie3/Gerade.java create mode 100644 sources/src/main/java/pr2/vererbung/geometrie3/Main.java create mode 100644 sources/src/main/java/pr2/vererbung/geometrie3/Quadrat.java create mode 100644 sources/src/main/java/pr2/vererbung/geometrie3/Rechteck.java create mode 100644 sources/src/main/java/pr2/vererbung/konstruktoren/Nachtelf.java create mode 100644 sources/src/main/java/pr2/vererbung/konstruktoren/Untoter.java create mode 100644 sources/src/main/java/pr2/vererbung/konstruktoren/Wesen.java create mode 100644 sources/src/main/java/pr2/vererbung/konstruktoren/test/WesenTest.java create mode 100644 sources/src/main/java/pr2/vererbung/polymorphie/Affe.java create mode 100644 sources/src/main/java/pr2/vererbung/polymorphie/Futterstelle.java create mode 100644 sources/src/main/java/pr2/vererbung/polymorphie/Giraffe.java create mode 100644 sources/src/main/java/pr2/vererbung/polymorphie/Gorilla.java create mode 100644 sources/src/main/java/pr2/vererbung/polymorphie/ZooSimulation.java create mode 100644 sources/src/main/java/pr2/vererbung/polymorphie/ZooTier.java create mode 100644 sources/src/main/java/pr2/vererbung/singleton_einfach/Singleton.java create mode 100644 sources/src/main/java/pr2/vererbung/statics/Spiel.java create mode 100644 sources/src/main/java/pr2/vererbung/statics/Wuerfel.java create mode 100644 sources/src/main/java/pr2/vererbung/ueberladen_summe/Summator.java create mode 100644 sources/src/main/java/pr2/vererbung/ueberladen_summe/test/SummatorTest.java create mode 100644 sources/src/main/java/pr2/vererbung/ueberschreiben_lebewesen/Amoebe.java create mode 100644 sources/src/main/java/pr2/vererbung/ueberschreiben_lebewesen/Dackel.java create mode 100644 sources/src/main/java/pr2/vererbung/ueberschreiben_lebewesen/Lebewesen.java create mode 100644 sources/src/main/java/pr2/vererbung/ueberschreiben_lebewesen/Main.java create mode 100644 sources/src/main/java/pr2/vererbung/vararg_summe/Summator.java create mode 100644 sources/src/main/java/pr2/vererbung/vararg_summe/test/SummatorTest.java create mode 100644 sources/src/main/java/pr2/vererbung/vererbung_geometrie/Dreieck.java create mode 100644 sources/src/main/java/pr2/vererbung/vererbung_geometrie/Figur.java create mode 100644 sources/src/main/java/pr2/vererbung/vererbung_geometrie/Gerade.java create mode 100644 sources/src/main/java/pr2/vererbung/vererbung_geometrie/Quadrat.java create mode 100644 sources/src/main/java/pr2/vererbung/vererbung_geometrie/Rechteck.java create mode 100644 sources/src/main/java/pr2/vererbung/vererbung_geometrie/test/FigurenTest.java create mode 100644 sources/src/main/resources/pr2/collections/iterieren/10c.png create mode 100644 sources/src/main/resources/pr2/collections/iterieren/1c.png create mode 100644 sources/src/main/resources/pr2/collections/iterieren/1e.png create mode 100644 sources/src/main/resources/pr2/collections/iterieren/20c.png create mode 100644 sources/src/main/resources/pr2/collections/iterieren/2c.png create mode 100644 sources/src/main/resources/pr2/collections/iterieren/2e.png create mode 100644 sources/src/main/resources/pr2/collections/iterieren/50c.png create mode 100644 sources/src/main/resources/pr2/collections/iterieren/5c.png create mode 100644 sources/src/main/resources/pr2/collections/list/kafka.txt create mode 100644 sources/src/main/resources/pr2/collections/map/kafka.txt create mode 100644 sources/src/main/resources/pr2/collections/set/kafka.txt create mode 100644 sources/src/main/resources/pr2/enums/use/professor_left.png create mode 100644 sources/src/main/resources/pr2/enums/use/professor_right.png create mode 100644 sources/src/main/resources/pr2/enums/use/professor_walk_cycle_no_hat.png create mode 100644 sources/src/main/resources/pr2/exceptions/finallys/professor_left.png create mode 100644 sources/src/main/resources/pr2/exceptions/finallys/professor_right.png create mode 100644 sources/src/main/resources/pr2/exceptions/finallys/professor_walk_cycle_no_hat.png create mode 100644 sources/src/main/resources/pr2/generics/verwendung/10c.png create mode 100644 sources/src/main/resources/pr2/generics/verwendung/1c.png create mode 100644 sources/src/main/resources/pr2/generics/verwendung/1e.png create mode 100644 sources/src/main/resources/pr2/generics/verwendung/20c.png create mode 100644 sources/src/main/resources/pr2/generics/verwendung/2c.png create mode 100644 sources/src/main/resources/pr2/generics/verwendung/2e.png create mode 100644 sources/src/main/resources/pr2/generics/verwendung/50c.png create mode 100644 sources/src/main/resources/pr2/generics/verwendung/5c.png create mode 100644 sources/src/main/resources/pr2/io/buffered_reader/kafka.txt create mode 100644 sources/src/main/resources/pr2/io/data_output/.gitkeep create mode 100644 sources/src/main/resources/pr2/io/datei_lesen/daten.dat create mode 100644 sources/src/main/resources/pr2/io/datei_schreiben/.gitkeep create mode 100644 sources/src/main/resources/pr2/io/random_access/data.dat create mode 100644 sources/src/main/resources/pr2/io/random_access/output/.gitkeep create mode 100644 sources/src/main/resources/pr2/io/reader_writer/kafka.txt create mode 100644 sources/src/main/resources/pr2/io/serialisierung/testdata.dat create mode 100644 sources/src/main/resources/pr2/lambda/anonymous/explosion_1.png create mode 100644 sources/src/main/resources/pr2/lambda/anonymous/ship01.png create mode 100644 sources/src/main/resources/pr2/lambda/anonymous/ship02.png create mode 100644 sources/src/main/resources/pr2/lambda/anonymous/ship03.png create mode 100644 sources/src/main/resources/pr2/lambda/local/explosion_1.png create mode 100644 sources/src/main/resources/pr2/lambda/local/ship01.png create mode 100644 sources/src/main/resources/pr2/lambda/local/ship02.png create mode 100644 sources/src/main/resources/pr2/lambda/local/ship03.png create mode 100644 sources/src/main/resources/pr2/lambda/nonstatic/explosion_1.png create mode 100644 sources/src/main/resources/pr2/lambda/nonstatic/ship01.png create mode 100644 sources/src/main/resources/pr2/lambda/nonstatic/ship02.png create mode 100644 sources/src/main/resources/pr2/lambda/nonstatic/ship03.png create mode 100644 sources/src/main/resources/pr2/lambda/static_member/explosion_1.png create mode 100644 sources/src/main/resources/pr2/lambda/static_member/ship01.png create mode 100644 sources/src/main/resources/pr2/lambda/static_member/ship02.png create mode 100644 sources/src/main/resources/pr2/lambda/static_member/ship03.png create mode 100644 sources/src/main/resources/pr2/streams/interne_iteration/games.txt create mode 100644 sources/src/main/resources/pr2/streams/map_filter/games.txt create mode 100644 sources/src/main/resources/pr2/streams/reduce_critics/games.txt create mode 100644 sources/src/main/resources/pr2/threads/beenden/background-0.jpg create mode 100644 sources/src/main/resources/pr2/threads/beenden/background-1.jpg create mode 100644 sources/src/main/resources/pr2/threads/beenden/background-2.jpg create mode 100644 sources/src/main/resources/pr2/threads/beenden/background-3.jpg create mode 100644 sources/src/main/resources/pr2/threads/beenden/explosion.png create mode 100644 sources/src/main/resources/pr2/threads/beenden/red-button.png create mode 100644 sources/src/main/resources/pr2/threads/beenden/spaceship.png create mode 100644 sources/src/main/resources/pr2/threads/beenden/ufo.png create mode 100644 sources/src/main/resources/pr2/threads/runnable/background-0.jpg create mode 100644 sources/src/main/resources/pr2/threads/runnable/background-1.jpg create mode 100644 sources/src/main/resources/pr2/threads/runnable/background-2.jpg create mode 100644 sources/src/main/resources/pr2/threads/runnable/background-3.jpg create mode 100644 sources/src/main/resources/pr2/threads/runnable/ufo.png create mode 100644 sources/src/main/resources/pr2/threads/vereinigen/background-0.jpg create mode 100644 sources/src/main/resources/pr2/threads/vereinigen/background-1.jpg create mode 100644 sources/src/main/resources/pr2/threads/vereinigen/background-2.jpg create mode 100644 sources/src/main/resources/pr2/threads/vereinigen/background-3.jpg create mode 100644 sources/src/main/resources/pr2/threads/vereinigen/explosion.png create mode 100644 sources/src/main/resources/pr2/threads/vereinigen/red-button.png create mode 100644 sources/src/main/resources/pr2/threads/vereinigen/spaceship.png create mode 100644 sources/src/main/resources/pr2/threads/vereinigen/ufo.png create mode 100644 sources/src/main/resources/pr2/threads/wait_notify/background-0.jpg create mode 100644 sources/src/main/resources/pr2/threads/wait_notify/background-1.jpg create mode 100644 sources/src/main/resources/pr2/threads/wait_notify/background-2.jpg create mode 100644 sources/src/main/resources/pr2/threads/wait_notify/background-3.jpg create mode 100644 sources/src/main/resources/pr2/threads/wait_notify/explosion.png create mode 100644 sources/src/main/resources/pr2/threads/wait_notify/red-button.png create mode 100644 sources/src/main/resources/pr2/threads/wait_notify/spaceship.png create mode 100644 sources/src/main/resources/pr2/threads/wait_notify/ufo.png diff --git a/_001/kafka.txt b/_001/kafka.txt new file mode 100644 index 0000000..b5695c5 --- /dev/null +++ b/_001/kafka.txt @@ -0,0 +1,11 @@ +Verhaftung - Gespräch mit Frau Grubach - Dann Fräulein Bürstner + +Jemand mußte Josef K. verleumdet haben, denn ohne daß er etwas Böses getan hätte, wurde er eines Morgens verhaftet. Die Köchin der Frau Grubach, seiner Zimmervermieterin, die ihm jeden Tag gegen acht Uhr früh das Frühstück brachte, kam diesmal nicht. Das war noch niemals geschehen. K. wartete noch ein Weilchen, sah von seinem Kopfkissen aus die alte Frau, die ihm gegenüber wohnte und die ihn mit einer an ihr ganz ungewöhnlichen Neugierde beobachtete, dann aber, gleichzeitig befremdet und hungrig, läutete er. Sofort klopfte es und ein Mann, den er in dieser Wohnung noch niemals gesehen hatte, trat ein. Er war schlank und doch fest gebaut, er trug ein anliegendes schwarzes Kleid, das, ähnlich den Reiseanzügen, mit verschiedenen Falten, Taschen, Schnallen, Knöpfen und einem Gürtel versehen war und infolgedessen, ohne daß man sich darüber klar wurde, wozu es dienen sollte, besonders praktisch erschien. "Wer sind Sie?" fragte K. und saß gleich halb aufrecht im Bett. Der Mann aber ging über die Frage hinweg, als müsse man seine Erscheinung hinnehmen, und sagte bloß seinerseits: "Sie haben geläutet?" "Anna soll mir das Frühstück bringen", sagte K. und versuchte, zunächst stillschweigend, durch Aufmerksamkeit und Überlegung festzustellen, wer der Mann eigentlich war. Aber dieser setzte sich nicht allzulange seinen Blicken aus, sondern wandte sich zur Tür, die er ein wenig öffnete, um jemandem, der offenbar knapp hinter der Tür stand, zu sagen: "Er will, daß Anna ihm das Frühstück bringt." Ein kleines Gelächter im Nebenzimmer folgte, es war nach dem Klang nicht sicher, ob nicht mehrere Personen daran beteiligt waren. Obwohl der fremde Mann dadurch nichts erfahren haben konnte, was er nicht schon früher gewußt hätte, sagte er nun doch zu K. im Tone einer Meldung: "Es ist unmöglich." "Das wäre neu", sagte K., sprang aus dem Bett und zog rasch seine Hosen an. "Ich will doch sehen, was für Leute im Nebenzimmer sind und wie Frau Grubach diese Störung mir gegenüber verantworten wird." Es fiel ihm zwar gleich ein, daß er das nicht hätte laut sagen müssen und daß er dadurch gewissermaßen ein Beaufsichtigungsrecht des Fremden anerkannte, aber es schien ihm jetzt nicht wichtig. Immerhin faßte es der Fremde so auf, denn er sagte: "Wollen Sie nicht lieber hierbleiben?" "Ich will weder hierbleiben, noch von Ihnen angesprochen werden, solange Sie sich mir nicht vorstellen." "Es war gut gemeint", sagte der Fremde und öffnete nun freiwillig die Tür. Im Nebenzimmer, in das K. langsamer eintrat, als er wollte, sah es auf den ersten Blick fast genau so aus wie am Abend vorher. Es war das Wohnzimmer der Frau Grubach, vielleicht war in diesem mit Möbeln, Decken, Porzellan und Photographien überfüllten Zimmer heute ein wenig mehr Raum als sonst, man erkannte das nicht gleich, um so weniger, als die Hauptveränderung in der Anwesenheit eines Mannes bestand, der beim offenen Fenster mit einem Buch saß, von dem er jetzt aufblickte. "Sie hätten in Ihrem Zimmer bleiben sollen! Hat es Ihnen denn Franz nicht gesagt?" "Ja, was wollen Sie denn?" sagte K. und sah von der neuen Bekanntschaft zu dem mit Franz Benannten, der in der Tür stehengeblieben war, und dann wieder zurück. Durch das offene Fenster erblickte man wieder die alte Frau, die mit wahrhaft greisenhafter Neugierde zu dem jetzt gegenüberliegenden Fenster getreten war, um auch weiterhin alles zu sehen. "Ich will doch Frau Grubach -", sagte K., machte eine Bewegung, als reiße er sich von den zwei Männern los, die aber weit von ihm entfernt standen, und wollte weitergehen. "Nein", sagte der Mann beim Fenster, warf das Buch auf ein Tischchen und stand auf. "Sie dürfen nicht weggehen, Sie sind ja verhaftet." "Es sieht so aus", sagte K. "Und warum denn?" fragte er dann. "Wir sind nicht dazu bestellt, Ihnen das zu sagen. Gehen Sie in Ihr Zimmer und warten Sie. Das Verfahren ist nun einmal eingeleitet, und Sie werden alles zur richtigen Zeit erfahren. Ich gehe über meinen Auftrag hinaus, wenn ich Ihnen so freundschaftlich zurede. Aber ich hoffe, es hört es niemand sonst als Franz, und der ist selbst gegen alle Vorschrift freundlich zu Ihnen. Wenn Sie auch weiterhin so viel Glück haben wie bei der Bestimmung Ihrer Wächter, dann können Sie zuversichtlich sein." K. wollte sich setzen, aber nun sah er, daß im ganzen Zimmer keine Sitzgelegenheit war, außer dem Sessel beim Fenster. "Sie werden noch einsehen, wie wahr das alles ist", sagte Franz und ging gleichzeitig mit dem andern Mann auf ihn zu. Besonders der letztere überragte K. bedeutend und klopfte ihm öfters auf die Schulter. Beide prüften K.s Nachthemd und sagten, daß er jetzt ein viel schlechteres Hemd werde anziehen müssen, daß sie aber dieses Hemd wie auch seine übrige Wäsche aufbewahren und, wenn seine Sache günstig ausfallen sollte, ihm wieder zurückgeben würden. "Es ist besser, Sie geben die Sachen uns als ins Depot", sagten sie, "denn im Depot kommen öfters Unterschleife vor und außerdem verkauft man dort alle Sachen nach einer gewissen Zeit, ohne Rücksicht, ob das betreffende Verfahren zu Ende ist oder nicht. Und wie lange dauern doch derartige Prozesse, besonders in letzter Zeit! Sie bekämen dann schließlich allerdings vom Depot den Erlös, aber dieser Erlös ist erstens an sich schon gering, denn beim Verkauf entscheidet nicht die Höhe des Angebotes, sondern die Höhe der Bestechung, und weiter verringern sich solche Erlöse erfahrungsgemäß, wenn sie von Hand zu Hand und von Jahr zu Jahr weitergegeben werden." K. achtete auf diese Reden kaum, das Verfügungsrecht über seine Sachen, das er vielleicht noch besaß, schätzte er nicht hoch ein, viel wichtiger war es ihm, Klarheit über seine Lage zu bekommen; in Gegenwart dieser Leute konnte er aber nicht einmal nachdenken, immer wieder stieß der Bauch des zweiten Wächters - es konnten ja nur Wächter sein - förmlich freundschaftlich an ihn, sah er aber auf, dann erblickte er ein zu diesem dicken Körper gar nicht passendes trockenes, knochiges Gesicht mit starker, seitlich gedrehter Nase, das sich über ihn hinweg mit dem anderen Wächter verständigte. Was waren denn das für Menschen? Wovon sprachen sie? Welcher Behörde gehörten sie an? K. lebte doch in einem Rechtsstaat, überall herrschte Friede, alle Gesetze bestanden aufrecht, wer wagte, ihn in seiner Wohnung zu überfallen? Er neigte stets dazu, alles möglichst leicht zu nehmen, das Schlimmste erst beim Eintritt des Schlimmsten zu glauben, keine Vorsorge für die Zukunft zu treffen, selbst wenn alles drohte. Hier schien ihm das aber nicht richtig, man konnte zwar das Ganze als Spaß ansehen, als einen groben Spaß, den ihm aus unbekannten Gründen, vielleicht weil heute sein dreißigster Geburtstag war, die Kollegen in der Bank veranstaltet hatten, es war natürlich möglich, vielleicht brauchte er nur auf irgendeine Weise den Wächtern ins Gesicht zu lachen, und sie würden mitlachen, vielleicht waren es Dienstmänner von der Straßenecke, sie sahen ihnen nicht unähnlich - trotzdem war er diesmal, förmlich schon seit dem ersten Anblick des Wächters Franz, entschlossen, nicht den geringsten Vorteil, den er vielleicht gegenüber diesen Leuten besaß, aus der Hand zu geben. Darin, daß man später sagen würde, er habe keinen Spaß verstanden, sah K. eine ganz geringe Gefahr, wohl aber erinnerte er sich - ohne daß es sonst seine Gewohnheit gewesen wäre, aus Erfahrungen zu lernen - an einige, an sich unbedeutende Fälle, in denen er zum Unterschied von seinen Freunden mit Bewußtsein, ohne das geringste Gefühl für die möglichen Folgen, sich unvorsichtig benommen hatte und dafür durch das Ergebnis gestraft worden war. Es sollte nicht wieder geschehen, zumindest nicht diesmal; war es eine Komödie, so wollte er mitspielen. + +Noch war er frei. "Erlauben Sie", sagte er und ging eilig zwischen den Wächtern durch in sein Zimmer. "Er scheint vernünftig zu sein", hörte er hinter sich sagen. In seinem Zimmer riß er gleich die Schubladen des Schreibtischs auf, es lag dort alles in großer Ordnung, aber gerade die Legitimationspapiere, die er suchte, konnte er in der Aufregung nicht gleich finden. Schließlich fand er seine Radfahrlegitimation und wollte schon mit ihr zu den Wächtern gehen, dann aber schien ihm das Papier zu geringfügig und er suchte weiter, bis er den Geburtsschein fand. Als er wieder in das Nebenzimmer zurückkam, öffnete sich gerade die gegenüberliegende Tür und Frau Grubach wollte dort eintreten. Man sah sie nur einen Augenblick, denn kaum hatte sie K. erkannt, als sie offenbar verlegen wurde, um Verzeihung bat, verschwand und äußerst vorsichtig die Tür schloß. "Kommen Sie doch herein", hatte K. gerade noch sagen können. Nun aber stand er mit seinen Papieren in der Mitte des Zimmers, sah noch auf die Tür hin, die sich nicht wieder öffnete, und wurde erst durch einen Anruf der Wächter aufgeschreckt, die bei dem Tischchen am offenen Fenster saßen und, wie K. jetzt erkannte, sein Frühstück verzehrten. "Warum ist sie nicht eingetreten?" fragte er. "Sie darf nicht", sagte der große Wächter. "Sie sind doch verhaftet." "Wie kann ich denn verhaftet sein? Und gar auf diese Weise?" "Nun fangen Sie also wieder an", sagte der Wächter und tauchte ein Butterbrot ins Honigfäßchen. "Solche Fragen beantworten wir nicht." "Sie werden sie beantworten müssen", sagte K. "Hier sind meine Legitimationspapiere, zeigen Sie mir jetzt die Ihrigen und vor allem den Verhaftbefehl." "Du lieber Himmel!" sagte der Wächter. "Daß Sie sich in Ihre Lage nicht fügen können und daß Sie es darauf angelegt zu haben scheinen, uns, die wir Ihnen jetzt wahrscheinlich von allen Ihren Mitmenschen am nächsten stehen, nutzlos zu reizen!" "Es ist so, glauben Sie es doch", sagte Franz, führte die Kaffeetasse, die er in der Hand hielt, nicht zum Mund, sondern sah K. mit einem langen, wahrscheinlich bedeutungsvollen, aber unverständlichen Blick an. K. ließ sich, ohne es zu wollen, in ein Zwiegespräch der Blicke mit Franz ein, schlug dann aber doch auf seine Papiere und sagte: "Hier sind meine Legitimationspapiere." "Was kümmern uns denn die?" rief nun schon der große Wächter. "Sie führen sich ärger auf als ein Kind. Was wollen Sie denn? Wollen Sie Ihren großen, verfluchten Prozeß dadurch zu einem raschen Ende bringen, daß Sie mit uns, den Wächtern, über Legitimation und Verhaftbefehl diskutieren? Wir sind niedrige Angestellte, die sich in einem Legitimationspapier kaum auskennen und die mit Ihrer Sache nichts anderes zu tun haben, als daß sie zehn Stunden täglich bei Ihnen Wache halten und dafür bezahlt werden. Das ist alles, was wir sind, trotzdem aber sind wir fähig, einzusehen, daß die hohen Behörden, in deren Dienst wir stehen, ehe sie eine solche Verhaftung verfügen, sich sehr genau über die Gründe der Verhaftung und die Person des Verhafteten unterrichten. Es gibt darin keinen Irrtum. Unsere Behörde, soweit ich sie kenne, und ich kenne nur die niedrigsten Grade, sucht doch nicht etwa die Schuld in der Bevölkerung, sondern wird, wie es im Gesetz heißt, von der Schuld angezogen und muß uns Wächter ausschicken. Das ist Gesetz. Wo gäbe es da einen Irrtum?" "Dieses Gesetz kenne ich nicht", sagte K. "Desto schlimmer für Sie", sagte der Wächter. "Es besteht wohl auch nur in Ihren Köpfen", sagte K., er wollte sich irgendwie in die Gedanken der Wächter einschleichen, sie zu seinen Gunsten wenden oder sich dort einbürgern. Aber der Wächter sagte nur abweisend: "Sie werden es zu fühlen bekommen." Franz mischte sich ein und sagte: "Sieh, Willem, er gibt zu, er kenne das Gesetz nicht, und behauptet gleichzeitig, schuldlos zu sein." "Du hast ganz recht, aber ihm kann man nichts begreiflich machen", sagte der andere. K. antwortete nichts mehr; muß ich, dachte er, durch das Geschwätz dieser niedrigsten Organe - sie geben selbst zu, es zu sein - mich noch mehr verwirren lassen? Sie reden doch jedenfalls von Dingen, die sie gar nicht verstehen. Ihre Sicherheit ist nur durch ihre Dummheit möglich. Ein paar Worte, die ich mit einem mir ebenbürtigen Menschen sprechen werde, werden alles unvergleichlich klarer machen als die längsten Reden mit diesen. Er ging einige Male in dem freien Raum des Zimmers auf und ab, drüben sah er die alte Frau, die einen noch viel älteren Greis zum Fenster gezerrt hatte, den sie umschlungen hielt. K. mußte dieser Schaustellung ein Ende machen: "Führen Sie mich zu Ihrem Vorgesetzten", sagte er. "Wenn er es wünscht; nicht früher", sagte der Wächter, der Willem genannt worden war. "Und nun rate ich Ihnen", fügte er hinzu, "in Ihr Zimmer zu gehen, sich ruhig zu verhalten und darauf zu warten, was über Sie verfügt werden wird. Wir raten Ihnen, zerstreuen Sie sich nicht durch nutzlose Gedanken, sondern sammeln Sie sich, es werden große Anforderungen an Sie gestellt werden. Sie haben uns nicht so behandelt, wie es unser Entgegenkommen verdient hätte, Sie haben vergessen, daß wir, mögen wir auch sein was immer, zumindest jetzt Ihnen gegenüber freie Männer sind, das ist kein kleines Übergewicht. Trotzdem sind wir bereit, falls Sie Geld haben, Ihnen ein kleines Frühstück aus dem Kaffeehaus drüben zu bringen." + +Ohne auf dieses Angebot zu antworten, stand K. ein Weilchen lang still. Vielleicht würden ihn die beiden, wenn er die Tür des folgenden Zimmers oder gar die Tür des Vorzimmers öffnete, gar nicht zu hindern wagen, vielleicht wäre es die einfachste Lösung des Ganzen, daß er es auf die Spitze trieb. Aber vielleicht würden sie ihn doch packen und, war er einmal niedergeworfen, so war auch alle Überlegenheit verloren, die er jetzt ihnen gegenüber in gewisser Hinsicht doch wahrte. Deshalb zog er die Sicherheit der Lösung vor, wie sie der natürliche Verlauf bringen mußte, und ging in sein Zimmer zurück, ohne daß von seiner Seite oder von Seite der Wächter ein weiteres Wort gefallen wäre. + +Er warf sich auf sein Bett und nahm vom Waschtisch einen schönen Apfel, den er sich gestern abend für das Frühstück vorbereitet hatte. Jetzt war er sein einziges Frühstück und jedenfalls, wie er sich beim ersten großen Bissen versicherte, viel besser, als das Frühstück aus dem schmutzigen Nachtcafé gewesen wäre, das er durch die Gnade der Wächter hätte bekommen können. Er fühlte sich wohl und zuversichtlich, in der Bank versäumte er zwar heute vormittag seinen Dienst, aber das war bei der verhältnismäßig hohen Stellung, die er dort einnahm, leicht entschuldigt. Sollte er die wirkliche Entschuldigung anführen? Er gedachte es zu tun, Würde man ihm nicht glauben, was in diesem Fall begreiflich war, so konnte er Frau Grubach als Zeugin führen oder auch die beiden Alten von drüben, die wohl jetzt auf dem Marsch zum gegenüberliegenden Fenster waren. Es wunderte K., wenigstens aus dem Gedankengang der Wächter wunderte es ihn, daß sie ihn in das Zimmer getrieben und ihn hier allein gelassen hatten, wo er doch zehnfache Möglichkeit hatte, sich umzubringen. Gleichzeitig allerdings fragte er sich, diesmal aus seinem Gedankengang, was für einen Grund er haben könnte, es zu tun. Etwa weil die zwei nebenan saßen und sein Frühstück abgefangen hatten? Es wäre so sinnlos gewesen, sich umzubringen, daß er, selbst wenn er es hätte tun wollen, infolge der Sinnlosigkeit dazu nicht imstande gewesen wäre. Wäre die geistige Beschränktheit der Wächter nicht so auffallend gewesen, so hätte man annehmen können, daß auch sie, infolge der gleichen Überzeugung, keine Gefahr darin gesehen hätten, ihn allein zu lassen. Sie mochten jetzt, wenn sie wollten, zusehen, wie er zu einem Wandschränkchen ging, in dem er einen guten Schnaps aufbewahrte, wie er ein Gläschen zuerst zum Ersatz des Frühstücks leerte und wie er ein zweites Gläschen dazu bestimmte, sich Mut zu machen, das letztere nur aus Vorsicht für den unwahrscheinlichen Fall, daß es nötig sein sollte. + + diff --git a/_001/readme.md b/_001/readme.md new file mode 100644 index 0000000..4010670 --- /dev/null +++ b/_001/readme.md @@ -0,0 +1,36 @@ +# Klasse per Reflection analysieren +## Lernziel + + + +Reflection einsetzen, um Klassen zu untersuchen. + +## Aufgabe + +Gehen Sie in das Paket [pr2.reflection.analyzer](../sources/src/main/java/pr2/reflection/analyzer/). + +Schreiben Sie eine Klasse `Analyzer`, der man auf der Kommandozeile den Namen einer Klasse übergeben kann. Diese Klasse wird dann von `Analyzer` geladen und alle öffentlichen Methoden und Attribute der angegebenen Klasse werden auf der Konsole ausgegeben. + +```console +> java Analyzer java.awt.Point +public int java.awt.Point.x +public int java.awt.Point.y +public boolean java.awt.Point.equals(java.lang.Object) +public java.lang.String java.awt.Point.toString() +public java.awt.Point java.awt.Point.getLocation( +... +``` + + + \ No newline at end of file diff --git a/_002/readme.md b/_002/readme.md new file mode 100644 index 0000000..7834440 --- /dev/null +++ b/_002/readme.md @@ -0,0 +1,27 @@ +# Objekte per Reflection erzeugen +## Lernziel + + + +Objekte per Reflection erzeugen. + +## Aufgabe + +Gehen Sie in das Paket [pr2.reflection.reflector](../sources/src/main/java/pr2/reflection/reflector/). + +Schreiben Sie eine Klasse `Reflector`, die über Reflection ein neues Objekt vom Typ `java.util.Date` erzeugt und auf diesem Objekt die `toString`-Methode aufruft. Das Ergebnis des Aufrufs soll dann auf der Konsole ausgegeben werden. + + + + \ No newline at end of file diff --git a/_003/kafka.txt b/_003/kafka.txt new file mode 100644 index 0000000..b5695c5 --- /dev/null +++ b/_003/kafka.txt @@ -0,0 +1,11 @@ +Verhaftung - Gespräch mit Frau Grubach - Dann Fräulein Bürstner + +Jemand mußte Josef K. verleumdet haben, denn ohne daß er etwas Böses getan hätte, wurde er eines Morgens verhaftet. Die Köchin der Frau Grubach, seiner Zimmervermieterin, die ihm jeden Tag gegen acht Uhr früh das Frühstück brachte, kam diesmal nicht. Das war noch niemals geschehen. K. wartete noch ein Weilchen, sah von seinem Kopfkissen aus die alte Frau, die ihm gegenüber wohnte und die ihn mit einer an ihr ganz ungewöhnlichen Neugierde beobachtete, dann aber, gleichzeitig befremdet und hungrig, läutete er. Sofort klopfte es und ein Mann, den er in dieser Wohnung noch niemals gesehen hatte, trat ein. Er war schlank und doch fest gebaut, er trug ein anliegendes schwarzes Kleid, das, ähnlich den Reiseanzügen, mit verschiedenen Falten, Taschen, Schnallen, Knöpfen und einem Gürtel versehen war und infolgedessen, ohne daß man sich darüber klar wurde, wozu es dienen sollte, besonders praktisch erschien. "Wer sind Sie?" fragte K. und saß gleich halb aufrecht im Bett. Der Mann aber ging über die Frage hinweg, als müsse man seine Erscheinung hinnehmen, und sagte bloß seinerseits: "Sie haben geläutet?" "Anna soll mir das Frühstück bringen", sagte K. und versuchte, zunächst stillschweigend, durch Aufmerksamkeit und Überlegung festzustellen, wer der Mann eigentlich war. Aber dieser setzte sich nicht allzulange seinen Blicken aus, sondern wandte sich zur Tür, die er ein wenig öffnete, um jemandem, der offenbar knapp hinter der Tür stand, zu sagen: "Er will, daß Anna ihm das Frühstück bringt." Ein kleines Gelächter im Nebenzimmer folgte, es war nach dem Klang nicht sicher, ob nicht mehrere Personen daran beteiligt waren. Obwohl der fremde Mann dadurch nichts erfahren haben konnte, was er nicht schon früher gewußt hätte, sagte er nun doch zu K. im Tone einer Meldung: "Es ist unmöglich." "Das wäre neu", sagte K., sprang aus dem Bett und zog rasch seine Hosen an. "Ich will doch sehen, was für Leute im Nebenzimmer sind und wie Frau Grubach diese Störung mir gegenüber verantworten wird." Es fiel ihm zwar gleich ein, daß er das nicht hätte laut sagen müssen und daß er dadurch gewissermaßen ein Beaufsichtigungsrecht des Fremden anerkannte, aber es schien ihm jetzt nicht wichtig. Immerhin faßte es der Fremde so auf, denn er sagte: "Wollen Sie nicht lieber hierbleiben?" "Ich will weder hierbleiben, noch von Ihnen angesprochen werden, solange Sie sich mir nicht vorstellen." "Es war gut gemeint", sagte der Fremde und öffnete nun freiwillig die Tür. Im Nebenzimmer, in das K. langsamer eintrat, als er wollte, sah es auf den ersten Blick fast genau so aus wie am Abend vorher. Es war das Wohnzimmer der Frau Grubach, vielleicht war in diesem mit Möbeln, Decken, Porzellan und Photographien überfüllten Zimmer heute ein wenig mehr Raum als sonst, man erkannte das nicht gleich, um so weniger, als die Hauptveränderung in der Anwesenheit eines Mannes bestand, der beim offenen Fenster mit einem Buch saß, von dem er jetzt aufblickte. "Sie hätten in Ihrem Zimmer bleiben sollen! Hat es Ihnen denn Franz nicht gesagt?" "Ja, was wollen Sie denn?" sagte K. und sah von der neuen Bekanntschaft zu dem mit Franz Benannten, der in der Tür stehengeblieben war, und dann wieder zurück. Durch das offene Fenster erblickte man wieder die alte Frau, die mit wahrhaft greisenhafter Neugierde zu dem jetzt gegenüberliegenden Fenster getreten war, um auch weiterhin alles zu sehen. "Ich will doch Frau Grubach -", sagte K., machte eine Bewegung, als reiße er sich von den zwei Männern los, die aber weit von ihm entfernt standen, und wollte weitergehen. "Nein", sagte der Mann beim Fenster, warf das Buch auf ein Tischchen und stand auf. "Sie dürfen nicht weggehen, Sie sind ja verhaftet." "Es sieht so aus", sagte K. "Und warum denn?" fragte er dann. "Wir sind nicht dazu bestellt, Ihnen das zu sagen. Gehen Sie in Ihr Zimmer und warten Sie. Das Verfahren ist nun einmal eingeleitet, und Sie werden alles zur richtigen Zeit erfahren. Ich gehe über meinen Auftrag hinaus, wenn ich Ihnen so freundschaftlich zurede. Aber ich hoffe, es hört es niemand sonst als Franz, und der ist selbst gegen alle Vorschrift freundlich zu Ihnen. Wenn Sie auch weiterhin so viel Glück haben wie bei der Bestimmung Ihrer Wächter, dann können Sie zuversichtlich sein." K. wollte sich setzen, aber nun sah er, daß im ganzen Zimmer keine Sitzgelegenheit war, außer dem Sessel beim Fenster. "Sie werden noch einsehen, wie wahr das alles ist", sagte Franz und ging gleichzeitig mit dem andern Mann auf ihn zu. Besonders der letztere überragte K. bedeutend und klopfte ihm öfters auf die Schulter. Beide prüften K.s Nachthemd und sagten, daß er jetzt ein viel schlechteres Hemd werde anziehen müssen, daß sie aber dieses Hemd wie auch seine übrige Wäsche aufbewahren und, wenn seine Sache günstig ausfallen sollte, ihm wieder zurückgeben würden. "Es ist besser, Sie geben die Sachen uns als ins Depot", sagten sie, "denn im Depot kommen öfters Unterschleife vor und außerdem verkauft man dort alle Sachen nach einer gewissen Zeit, ohne Rücksicht, ob das betreffende Verfahren zu Ende ist oder nicht. Und wie lange dauern doch derartige Prozesse, besonders in letzter Zeit! Sie bekämen dann schließlich allerdings vom Depot den Erlös, aber dieser Erlös ist erstens an sich schon gering, denn beim Verkauf entscheidet nicht die Höhe des Angebotes, sondern die Höhe der Bestechung, und weiter verringern sich solche Erlöse erfahrungsgemäß, wenn sie von Hand zu Hand und von Jahr zu Jahr weitergegeben werden." K. achtete auf diese Reden kaum, das Verfügungsrecht über seine Sachen, das er vielleicht noch besaß, schätzte er nicht hoch ein, viel wichtiger war es ihm, Klarheit über seine Lage zu bekommen; in Gegenwart dieser Leute konnte er aber nicht einmal nachdenken, immer wieder stieß der Bauch des zweiten Wächters - es konnten ja nur Wächter sein - förmlich freundschaftlich an ihn, sah er aber auf, dann erblickte er ein zu diesem dicken Körper gar nicht passendes trockenes, knochiges Gesicht mit starker, seitlich gedrehter Nase, das sich über ihn hinweg mit dem anderen Wächter verständigte. Was waren denn das für Menschen? Wovon sprachen sie? Welcher Behörde gehörten sie an? K. lebte doch in einem Rechtsstaat, überall herrschte Friede, alle Gesetze bestanden aufrecht, wer wagte, ihn in seiner Wohnung zu überfallen? Er neigte stets dazu, alles möglichst leicht zu nehmen, das Schlimmste erst beim Eintritt des Schlimmsten zu glauben, keine Vorsorge für die Zukunft zu treffen, selbst wenn alles drohte. Hier schien ihm das aber nicht richtig, man konnte zwar das Ganze als Spaß ansehen, als einen groben Spaß, den ihm aus unbekannten Gründen, vielleicht weil heute sein dreißigster Geburtstag war, die Kollegen in der Bank veranstaltet hatten, es war natürlich möglich, vielleicht brauchte er nur auf irgendeine Weise den Wächtern ins Gesicht zu lachen, und sie würden mitlachen, vielleicht waren es Dienstmänner von der Straßenecke, sie sahen ihnen nicht unähnlich - trotzdem war er diesmal, förmlich schon seit dem ersten Anblick des Wächters Franz, entschlossen, nicht den geringsten Vorteil, den er vielleicht gegenüber diesen Leuten besaß, aus der Hand zu geben. Darin, daß man später sagen würde, er habe keinen Spaß verstanden, sah K. eine ganz geringe Gefahr, wohl aber erinnerte er sich - ohne daß es sonst seine Gewohnheit gewesen wäre, aus Erfahrungen zu lernen - an einige, an sich unbedeutende Fälle, in denen er zum Unterschied von seinen Freunden mit Bewußtsein, ohne das geringste Gefühl für die möglichen Folgen, sich unvorsichtig benommen hatte und dafür durch das Ergebnis gestraft worden war. Es sollte nicht wieder geschehen, zumindest nicht diesmal; war es eine Komödie, so wollte er mitspielen. + +Noch war er frei. "Erlauben Sie", sagte er und ging eilig zwischen den Wächtern durch in sein Zimmer. "Er scheint vernünftig zu sein", hörte er hinter sich sagen. In seinem Zimmer riß er gleich die Schubladen des Schreibtischs auf, es lag dort alles in großer Ordnung, aber gerade die Legitimationspapiere, die er suchte, konnte er in der Aufregung nicht gleich finden. Schließlich fand er seine Radfahrlegitimation und wollte schon mit ihr zu den Wächtern gehen, dann aber schien ihm das Papier zu geringfügig und er suchte weiter, bis er den Geburtsschein fand. Als er wieder in das Nebenzimmer zurückkam, öffnete sich gerade die gegenüberliegende Tür und Frau Grubach wollte dort eintreten. Man sah sie nur einen Augenblick, denn kaum hatte sie K. erkannt, als sie offenbar verlegen wurde, um Verzeihung bat, verschwand und äußerst vorsichtig die Tür schloß. "Kommen Sie doch herein", hatte K. gerade noch sagen können. Nun aber stand er mit seinen Papieren in der Mitte des Zimmers, sah noch auf die Tür hin, die sich nicht wieder öffnete, und wurde erst durch einen Anruf der Wächter aufgeschreckt, die bei dem Tischchen am offenen Fenster saßen und, wie K. jetzt erkannte, sein Frühstück verzehrten. "Warum ist sie nicht eingetreten?" fragte er. "Sie darf nicht", sagte der große Wächter. "Sie sind doch verhaftet." "Wie kann ich denn verhaftet sein? Und gar auf diese Weise?" "Nun fangen Sie also wieder an", sagte der Wächter und tauchte ein Butterbrot ins Honigfäßchen. "Solche Fragen beantworten wir nicht." "Sie werden sie beantworten müssen", sagte K. "Hier sind meine Legitimationspapiere, zeigen Sie mir jetzt die Ihrigen und vor allem den Verhaftbefehl." "Du lieber Himmel!" sagte der Wächter. "Daß Sie sich in Ihre Lage nicht fügen können und daß Sie es darauf angelegt zu haben scheinen, uns, die wir Ihnen jetzt wahrscheinlich von allen Ihren Mitmenschen am nächsten stehen, nutzlos zu reizen!" "Es ist so, glauben Sie es doch", sagte Franz, führte die Kaffeetasse, die er in der Hand hielt, nicht zum Mund, sondern sah K. mit einem langen, wahrscheinlich bedeutungsvollen, aber unverständlichen Blick an. K. ließ sich, ohne es zu wollen, in ein Zwiegespräch der Blicke mit Franz ein, schlug dann aber doch auf seine Papiere und sagte: "Hier sind meine Legitimationspapiere." "Was kümmern uns denn die?" rief nun schon der große Wächter. "Sie führen sich ärger auf als ein Kind. Was wollen Sie denn? Wollen Sie Ihren großen, verfluchten Prozeß dadurch zu einem raschen Ende bringen, daß Sie mit uns, den Wächtern, über Legitimation und Verhaftbefehl diskutieren? Wir sind niedrige Angestellte, die sich in einem Legitimationspapier kaum auskennen und die mit Ihrer Sache nichts anderes zu tun haben, als daß sie zehn Stunden täglich bei Ihnen Wache halten und dafür bezahlt werden. Das ist alles, was wir sind, trotzdem aber sind wir fähig, einzusehen, daß die hohen Behörden, in deren Dienst wir stehen, ehe sie eine solche Verhaftung verfügen, sich sehr genau über die Gründe der Verhaftung und die Person des Verhafteten unterrichten. Es gibt darin keinen Irrtum. Unsere Behörde, soweit ich sie kenne, und ich kenne nur die niedrigsten Grade, sucht doch nicht etwa die Schuld in der Bevölkerung, sondern wird, wie es im Gesetz heißt, von der Schuld angezogen und muß uns Wächter ausschicken. Das ist Gesetz. Wo gäbe es da einen Irrtum?" "Dieses Gesetz kenne ich nicht", sagte K. "Desto schlimmer für Sie", sagte der Wächter. "Es besteht wohl auch nur in Ihren Köpfen", sagte K., er wollte sich irgendwie in die Gedanken der Wächter einschleichen, sie zu seinen Gunsten wenden oder sich dort einbürgern. Aber der Wächter sagte nur abweisend: "Sie werden es zu fühlen bekommen." Franz mischte sich ein und sagte: "Sieh, Willem, er gibt zu, er kenne das Gesetz nicht, und behauptet gleichzeitig, schuldlos zu sein." "Du hast ganz recht, aber ihm kann man nichts begreiflich machen", sagte der andere. K. antwortete nichts mehr; muß ich, dachte er, durch das Geschwätz dieser niedrigsten Organe - sie geben selbst zu, es zu sein - mich noch mehr verwirren lassen? Sie reden doch jedenfalls von Dingen, die sie gar nicht verstehen. Ihre Sicherheit ist nur durch ihre Dummheit möglich. Ein paar Worte, die ich mit einem mir ebenbürtigen Menschen sprechen werde, werden alles unvergleichlich klarer machen als die längsten Reden mit diesen. Er ging einige Male in dem freien Raum des Zimmers auf und ab, drüben sah er die alte Frau, die einen noch viel älteren Greis zum Fenster gezerrt hatte, den sie umschlungen hielt. K. mußte dieser Schaustellung ein Ende machen: "Führen Sie mich zu Ihrem Vorgesetzten", sagte er. "Wenn er es wünscht; nicht früher", sagte der Wächter, der Willem genannt worden war. "Und nun rate ich Ihnen", fügte er hinzu, "in Ihr Zimmer zu gehen, sich ruhig zu verhalten und darauf zu warten, was über Sie verfügt werden wird. Wir raten Ihnen, zerstreuen Sie sich nicht durch nutzlose Gedanken, sondern sammeln Sie sich, es werden große Anforderungen an Sie gestellt werden. Sie haben uns nicht so behandelt, wie es unser Entgegenkommen verdient hätte, Sie haben vergessen, daß wir, mögen wir auch sein was immer, zumindest jetzt Ihnen gegenüber freie Männer sind, das ist kein kleines Übergewicht. Trotzdem sind wir bereit, falls Sie Geld haben, Ihnen ein kleines Frühstück aus dem Kaffeehaus drüben zu bringen." + +Ohne auf dieses Angebot zu antworten, stand K. ein Weilchen lang still. Vielleicht würden ihn die beiden, wenn er die Tür des folgenden Zimmers oder gar die Tür des Vorzimmers öffnete, gar nicht zu hindern wagen, vielleicht wäre es die einfachste Lösung des Ganzen, daß er es auf die Spitze trieb. Aber vielleicht würden sie ihn doch packen und, war er einmal niedergeworfen, so war auch alle Überlegenheit verloren, die er jetzt ihnen gegenüber in gewisser Hinsicht doch wahrte. Deshalb zog er die Sicherheit der Lösung vor, wie sie der natürliche Verlauf bringen mußte, und ging in sein Zimmer zurück, ohne daß von seiner Seite oder von Seite der Wächter ein weiteres Wort gefallen wäre. + +Er warf sich auf sein Bett und nahm vom Waschtisch einen schönen Apfel, den er sich gestern abend für das Frühstück vorbereitet hatte. Jetzt war er sein einziges Frühstück und jedenfalls, wie er sich beim ersten großen Bissen versicherte, viel besser, als das Frühstück aus dem schmutzigen Nachtcafé gewesen wäre, das er durch die Gnade der Wächter hätte bekommen können. Er fühlte sich wohl und zuversichtlich, in der Bank versäumte er zwar heute vormittag seinen Dienst, aber das war bei der verhältnismäßig hohen Stellung, die er dort einnahm, leicht entschuldigt. Sollte er die wirkliche Entschuldigung anführen? Er gedachte es zu tun, Würde man ihm nicht glauben, was in diesem Fall begreiflich war, so konnte er Frau Grubach als Zeugin führen oder auch die beiden Alten von drüben, die wohl jetzt auf dem Marsch zum gegenüberliegenden Fenster waren. Es wunderte K., wenigstens aus dem Gedankengang der Wächter wunderte es ihn, daß sie ihn in das Zimmer getrieben und ihn hier allein gelassen hatten, wo er doch zehnfache Möglichkeit hatte, sich umzubringen. Gleichzeitig allerdings fragte er sich, diesmal aus seinem Gedankengang, was für einen Grund er haben könnte, es zu tun. Etwa weil die zwei nebenan saßen und sein Frühstück abgefangen hatten? Es wäre so sinnlos gewesen, sich umzubringen, daß er, selbst wenn er es hätte tun wollen, infolge der Sinnlosigkeit dazu nicht imstande gewesen wäre. Wäre die geistige Beschränktheit der Wächter nicht so auffallend gewesen, so hätte man annehmen können, daß auch sie, infolge der gleichen Überzeugung, keine Gefahr darin gesehen hätten, ihn allein zu lassen. Sie mochten jetzt, wenn sie wollten, zusehen, wie er zu einem Wandschränkchen ging, in dem er einen guten Schnaps aufbewahrte, wie er ein Gläschen zuerst zum Ersatz des Frühstücks leerte und wie er ein zweites Gläschen dazu bestimmte, sich Mut zu machen, das letztere nur aus Vorsicht für den unwahrscheinlichen Fall, daß es nötig sein sollte. + + diff --git a/_003/readme.md b/_003/readme.md new file mode 100644 index 0000000..714bd4b --- /dev/null +++ b/_003/readme.md @@ -0,0 +1,34 @@ +# wait und notify benutzen +## Lernziel + + + +Thread-Koordination über Condition-Variablen. + +## Aufgabe + +Gehen Sie in das Paket +[pr2.threads.notifier](../sources/src/main/java/pr2/threads/notifier/). + +Schreiben Sie eine Klasse `Notifier`, die ein einziges `String`-Attribut enthält. Sie soll weiterhin zwei Methoden haben: + + * `setString(String string)` -- Diese Methode setzt den String auf einen neuen Wert, aber nur, wenn der String `null` ist. Ist der String bereits gesetzt, wartet die Methode darauf, dass ein anderer Thread den String über die `getString()`-Methode liest und wieder zurücksetzt. + * `getString()` -- Liest den String aus, gibt das Ergebnis zurück und setzt das Attribut wieder zurück auf `null`. Wenn kein String vorhanden ist (d.h. wenn das Attribut bereits `null` ist), wartet die Methode, bis ein anderer Thread mit `setString(String string)` einen String abspeichert. + +Schreinben Sie eine Klasse `Main` mit einer `main`-Methode. Starten Sie zwei Threads, die Strings in einer `Notifier`-Instanz abspeichern und drei Threads, die Strings auslesen. Lassen Sie die Threads nach jeder Operation für 200 Millisekunden schlafen. + +Verwenden Sie bitte `wait` und `notify` bzw. `notifyAll`, um die Threads entsprechend zu koordinieren. + + + \ No newline at end of file diff --git a/_004/img/schnick.png b/_004/img/schnick.png new file mode 100644 index 0000000000000000000000000000000000000000..9066a36a2e91065f492aae80f5eaff5d490c1b4b GIT binary patch literal 21428 zcmXV11yJ2w7Yy$3pg0t1DNb>xxVsg1cXxM(;_g=5-Cc^iTcNnS^S^KApEpV7C6h^R za?ja4yC>oDvSKKR_=o@iph$=dD}uKp|1I#a;B}>1RW^77Z7Lum006bWkY4p+!2d}M z#T8`$z=IqB{DJ`B8NAEy5CEJR0N_{;0Ju^C0LLz~O@Rk|0M1a1c&{u2nODMOtB0L2ywVF6{g)iZ5pH|60apM&$xa(e*`vY?>Y?Q;ws(7Jh? z!8f&9#V%|OpWr6(QhBWiOxNEn?J%K0Z{Se<_nS9+3J{6^sma%A?;Hxb_>HU;Pt*NQ zvHeVDKPXg=?f}683xr zsABS*KzoM4aDH{CzmfegqA-Jjk*(*7w78xDaXn~~ng=aF95=4ewsDRjUl^hVb{p2O z{M0qx5Rnjilx7=385V??%l1`-^j^myUE~GeM^1qJwY)V|`ACH4=T&hrzr_m#0Ev+D zndp&_EeP8jeg%MR&4p`^KrEpUClHNCb96)Hn+9B|>Xx4B-K=6}%l|s2! z3h#W!=-~y{fKzDDNva^+Y4jh!2f{9r?im`;1d!q6vscjFQ4j%V2(RH0O9MVJh$wx< zVF)-YQ3*f^ST`tuZvV4F|%#jO8eVHT$@UjBwfxPW% zqHC8k?fnO6fT}_8Bl5%Up)O`B4yN%djxpZh7XUs%@c199ufpWgG57H~yFuV0Z$l;| znx+-TL0*O&eshf7zUPFfqcoV2i$bWSEAEvdV$Z0M!uEhKq&$=x>^8e72H)_s*Q%ZACtJT3;wvm++h0(&`MAQWE?59_YSwkU z1Qy!xrI$x6fZH=)!Xb*BW~jy_ECbL0nfe%eu)?-F7{XI2yLs0Lc|?BVVV*!eNgMYW z1RCH7!4ri01p`Ts(+@JuN{%m|aU9KFu87`G0%+q-Uiclz2M`9eK-tKh8o~OYhn?>z z2Yy^qh=bsG_2F0Mt5N^*_O6v>{t6^PIdI-Y=q9smk&GBdXV5X7tT_tkD*-(ujIq@sRsqO-B?eRx$mmBid!mW1J z{c-(0Qa}dJVMBE+%tlb8q7&x^Y$F9MIqJwW(XXF`tEbh%1cLMm)sXZEHBUPMZFEw=EcZ%mMfYdVwOfWK(v(7}c(W*cDlv|P-+gnZWp=DdcJu;X zT3&nD7L1lMtB#Y32iAZKhTxx{L6Cl;U0EuvqNbBBP-(l`98i?~d>V^h}Tk zX^kmC=OsD-TxHS6#B}qDPUkDFeesb}Ei_ZrMyAB;d*SCNZxGKnim$jWf{@Q82wTj=T@EMu7&OEGbgV%1d$%F+Z9 zj!x|P8V*W5rzJ09cu=mwSKr%n?cV7s?V15ShBHO#qODJYlmEB`D2uRIMJK*QODO&Q z-Oo3=pOYasFY4TcY&X%z%GmYpru~+G7cTq-Z_NK?Zqr~v)C$TDzDF_4lVlUYK{+Tk9^ol1YYBZd`9LMG4{Y-o{JuTPcPvCwv~-`1Wsns!3{=J*_JAs zjePP_<=GTa9oI0tAQfFPqXpX!NiXI6jdYjma{8*(f5m$pgr5kch10x@FYmIe?T^%l z9H|mUE)5TVCGW6?WN`dJ`RnfE-_Mx#n@15bYm#HlKwv5R2fM^lWqUHs(oCrm6|Khn z>WIA>bqZ1-0%@DoH~6B4h+eDZ_Sad5!Q9V*(3PXS*=%U7a8+nsF!H)oz1sR1f0P3G)`!&ToT$>m*^fpYbcU~ ze`Z9>uYqUpop1Ei6P0A1rS2hV!jyvY9fgnuTp^J!(ttJ?0u_ z3<|Ir-1wvXqG{hOZ>)o*F0CkyR4LJ(*_!cr#NENovT>+@fK7{rkf=+rYGMCW$98w< zJ(abblgkC!{oqIRP}t=qR-H_S4fdi%wAk`cqqj1xq&Z&Tik-vWd0YhEZ_{PxD=bHv z5KSRl(!p5BYAT%?HCpkf?=Tt#*x5=INKJS4_q}O8rnlLMQ>_jH?@5NE`;?rS4H|Q` zZ!ZOb8qGT2#>!3>@mXw%!Z;oK6k2M=%9l*0cmp5ZKEooHAg4(O_`bIWg@v7MyQ5~X zyE4vKU$|g_|BCz(;TE8xpp=y(Z(hUY% zN6pMxmvNNQtftU^Tv!H*vZ(cQh|Jav-^4ca#R*Mgy5uK-D)uGb3TP*h9D zL_*6&r-A#kjqQ_@s3e-|T&-44w`Ud@bo8H>XU)!fwen6VTh zL@OQaK`sMLbKa;1?6lJA1+$|Xwdk|!!tlwHIZT4v*t-HC};uz_-wSvk|qu2 z^^!I$8msBj#k_3bdGp-5S%_xaUEH}YJ>k+RKwpF-x`-R@rp?ny7B8~f#dGQJ z-bFL0A+tSn(peCg z9?dr83mt5&RX@AkQX*)#SEXpsrb`t3N_U??O zA-$R!{7lVpKR?wV_$c#++)3`D+3D6}*3$6l=Y9%&3@BRcF~8Gvil)bqnh!C4T4085 z;?W0i?S+kQGmna76~3Q zRHu_|=i}Wrhofa{Uhrh`n?9RTN2h1E;V@l=u5Xr7If`QidDv#f$J1-VO$1ho>hc>o z)DK97c5!Ph4;KW@{3Zafz^w9zl!dW7-C^vQ?%-p}EwlZZdFqKVWG`xUT!+x!elc{# zJG`ZW!f3a~-x{7?Tr*-*T<|Br>hs&mj9JJ2uprfsrXCj-PK(6M5Tj@MK!Ujtc%+!3JUEtdx#-nv}N zFN9DEy{!%J5`_|24d^Df-J1+so1tI|95V7qb2YZ{r7h6Sv|P={Z+>K1trve63eq8S z>%i2tOPm4dGE{RJst#18DJwqg;^Mc*#e-r2>B8r=O{iQI0t(qoH(|GTo)@7gav6)D z?hhN3#?`Rve+PQQsP;(P?H9*-ixt@75{x92X0S2DzVJYa$^=fiinE`rsj%KQ@_4p4 zHgysv7B!|CpysQx<~Xgx+>ec8Bru?Wz@&r;4}_pn`UZYF+fy6xWxY6txI(%<~6%e;dHxMB4d z)7V+lO&}&}TF3S=ONEbx;79Skt#Iv`vI+huHfc5LwM;e);Vf#16E$4lIeE#5jm@ps z?BYmTx*7eg!&->Z+BxtE17)T7YG+#BCn77_wT?(1_LRk;qan}R|jfuFZ0!@ z`X3sCf5!^~vEuM$D%yTXIN2mj*HVdenm||A+~wYAhAC=m+aJ&;=Gk0jL>UB9I9+Wi zSoZJCsVL~5(B#IG9lj%J&;by=UaSsq%jvkU9{yv5G|3^Ar4+rdKTy7-g_|R$$Ea@m`7Q+>;YxHgUWdbOn+Ts(0}@Gz z#P_WcK{TeqKZTwZ9`X4E%e{+JuZCb^Z~YQjP`$u&OTC2z1}bGMOx~?a&dGsH_XQKRJN?vEH)^+-;ieL6v-&a= zrt1cjYF3hqX-%>F$*j~IqpK5qEB4Q zAOvcv4|wf@Jcp%z*6N9@ySYQ*C%{HWvWxbmLf@87!`Y{E1XaU}O-JRb?p?-uk~r{_ z`Pe>lH;~iysRkAN`;+XJL*Oy^4@>?s;yQ8GAm*Pnj#HP%T`Ot%9vJF}e?9msQsw%7 zRK|{ye<3p>r&gx)izeU(licZ|u{QRRS_flKVPWN7@N9*LPkoOdmZ~~?CNgS0!j2%02#yjJb^b`5Shv-Vp0}L_O(Rh1 z=JLq?;0iu#ZtC{fn3_Q28Quj$wc4@;sf%|PlB7WR1)A3{ukL-%-TJeDHBu8JWb^ zGvl(K_t5n7k_`|5HRehUFExw*LV?tq8tVe|{a1Nx&X2{~bQ?9j%LzH{h;+Lrkbc=S%)N|mNM z3ub%Id6%CNq~FGCJL)TRB%lQpUwZu8)sKJMZbiT&A@vMK$}zf}`bg&xg(&@g?%UAz zZ*`m^CDD7PDIfr;1tF_&JfkoSd07?`G z;R?i-ph?bM#mNYZWjsG_?6m?g$~QyZ?bN!I@9p`c|@Lc)|ar7 zqp)o(LuW~ZQVkd9F6RvD;OzjQJ-nddufzpPrLrwo*RWo`H-qWrmK9wgfe&bceGtv8A6~%aRFtfh=!9uY>;?nhDcyf)~{%!EiiEqxvx!v_nDQ0;6vi0z17Y?BJ zcPAXzRWEa5$^PFH7NuJ-LD76PD1KY*pos?B^?cwcS~OAy4)N)^ZF{>{2cRUE<_IcR zg%co8(A(;2H{0}54{;G}w6Gc7f(=on^Ff_F=mB&_sLS0%0?Kc}lgoT~%U7gwFIKchOz~~` zVSMBHuVUlz$&A9H;nix}K3+KR0?(Ikvq>a8J4nBO+SUd9;Z3@dYxmV-AdolLDUx18 zii7&1@ZFcQB>LEi{k<+AR00jsvT}vYutOt99*N{@9cEmA*)=87Ez{hvPi?c@Bq#h zOo6?GvAhBtI%$Pd9-P?Ust4Y)Uj+C;O|-}lpDs+xvJ$p~9G(U@oFO5j1q_!)Wv0J@ zmZ`)qx)BRz{$?i@HkY22D6k4p>9Hw|gL8nk=2vEhG}_DC%=~^oqL-=Mi8wj&NG4}q{XsHD zqg9`UMZw4H?+tvIZo8ufdPd?{r;DV_wYpvjy`QZ{opdE6JW?mHn_WB95*1^<5;CgS zC0|}!?&>P!>A}!OXa#|5KD7;>#WeN9jwH0N({BhWTQ*Ou|KFGec zx|VhqIutNt2Zzd;WK0N3WS-bBhp>nU5wk-KzyR@lzBC%0xLWA$_@*)`mL%xYCMi7W zfI(dyy4i!Khp2E$**)A_3CnsnUIF*T!vU zQg%421kzDi*+sEtw9gtSiHg!0F6%a`eK&-Q)fdPGGf^6i1A6~*N$9Os=V3$(V3MdO zyc^R})mvId_~9|ONa2B0TJo&=aW<3zsiR;z?Ph-4*@DHbMyoFKG~tk$M$z4?kzvZC zpV!fkT{z0LtmrVZqK=r2(+sgm8a89#b+mhGI5(Jm=m^QA6M|~VwOurHkDHZI z%U*jr%YtucWRT>%D6-*)0MtcBwSPXXCE`(f8Q^mYUSPqP%;FFFpf}mWpTKy{f{w_wMZ=?IUAM6`b zvmFZ^cGYsfcacPlU)>F_88cvYKt3ry?SbUXoqI&>2wm%?(_U2uThIvAV6c$}!DUF@ zNn?eMH-0qy=|V`quyO5M{P;qZod3JG=Tv4Q!;tV)rA%l8Gm zA7c*#l`WdMH4{EZTi#8#{xb%`XI~o6W_1y!Fc>t)OHK2+^|)=4DR-!9iv{#@DQq?( zylq*mRi>M5MH zjb|Qny_>xt4v3kn8JDAKl{k%QT$U6BQsQya;>16cMdyi%#FC{MfuC%*JIc$Yk1ujs zS$vBW{YdOu94S0ws1&H(U++|LkztuF7Bo_ex*#EWwohr3AX`$=1yHe_s43}>HE!Rc zDwlDlx_x5OCQSQ`81s(miruPee_7~~>*Dd?zr(A3sp=7=JM3=k)_%5D=}6m@IBuYW z5`2`Gg!_G{Qj~hD@@l$8;EfE3qVPGUp^|t|VEy*Zl`oP`pmVx&s^k z_+fKu^dArQcdOta=vu^?*&>|!e;%lWhcK;~VmZ7SSFi4iY{>*{v>}O@{YCThR=imm za^kb!Hp~<|Bt~9uE}nmtKdJOL*{p3B-3H7U49rGKF@jSD_zq4T>Kh~Hhy1hQdK`Jc z3FELUk2|~2=#7M`R5${55FZq?d*3Azg>Mn)(GjeHpB2gZdkv#e#QpioTzF8FR3Qbv zQUWO{S5TojzYcT}yDi^6-Q&`G_B`g6HY7bU$6?0|PZ~}<2l+d(448+MS1)HxW=x}f zqQfrR=Ez5fKCjjKt`)2X`b$Piwn68Z6tRU*r1QmYrw^$vYUDrE-J7cJi^Q=&CTKeO zsT2C+>Y_WRz~ZN_)w&zhShDe3SnA~^h6fJLO1bu6l%kDTmWS7|?*fjpF9m6_p}5$% z884KkjZJTCmQXJ93cb4SHuU<_F{)RVH>1~*oircohK+YK)e0=lYIWGp%ZS$?5OYz3 z-(q1F6={5O{nYsWJI~#3vU)}{p5d<@!W=#&4}omUG|MEr#zOFhx2li!3su3Gl*OGgG@9`1Kk#Yaid6oy^ZEoq`STCK@Gm~EM!0yamiDo$*QX_u z>;vjTqLD;&0Yr_GfBHSQKzJu44qwo#>=XKvF&QEUR!`I%GlS6qsQtdX=mgtajeprm z;7e3-BHMJv-N}RK#ZTmAHvW4`iG~#@9!OAiv{(fj+uWNA%^XU-#`r8)={!T!nc4LY zj&+Q~#bUwV720?<&zdUMS~5hP}~GlEmeQcmHX_ z$Ei-tYA{gM^K|2Q5B&9dN^Eg5C%HaQ-I>mNDbe+<)qZ}v9+P~$TOw!A%rdV2v*3Vt zm@3yGde#LlUyUcj396K9F!Do13;dKIUY(!m+Y<^>H5r3og06Um=?fEG7}KLaVwPF^ zSiM9ZX&eeA(^3j_|H@YjQSK+V&fkHR5E3Jku+u*`G!tNz-CnZPl;}&yfEkM%7-)Z+ zPVp-B4j-_C3tequve0F04*S38&ktLFaK671bbH(-agitdD+B9m>Cbo+6i2$czS>Gs z4wt#%J^X0vT|Y3NZpv%G6skQga2LMoy{&k0RN{GwK+A1vTV*ceRt)JwC-p- zfckzA%VRlhT8M3t{q+E7?UdMv4+U7_|Sh0&;a zTGLTuSA;Ruj~QtMD_get+b2TEL zMSqbrC)mfoxY2nE~2MKy0K*u)bXxTpcWU*3V#Yavi9do$JdZXut(C2Xn z0CPvH=B~A7w4v*NXP=Ci!qG^DUjzaG{yN^L$Bz1&vY2&dCQTl;a_$Pz--=nej27~~ z_TKFwiG_Vz8^r8zTP#I&v{qNlj0C^ zOe-CnoYbl2ZLg`(;(G56McNyWO{y3j#KGzMs3X*yHv0_<&J+w6OMl}v#;({7WFzT$ zg9{gCVpYNjLUB@07<8(d?T~zZL7i*RkoJK7%U=z3>3lEZIU3u?#D!tm;; zNP8ss(fVVRn)cBaOFCq75{&$L+j%oyaNuhH2wO%9sq&sXbprFN*!dqj_SH4baAwoz z6GTiq4YC9YQH#c6?gG)X?+liUX;unN$=|I5&o{1Su1$qke9=^Ih?J*q+mYMHpYB z{V;mZeuG~5=%M)*i3HwWm?~>!|UsAb=Uzh`jHaVh4u1Rr|*YymM#|h+SfYkJWPAK0I<+UP>69P zp0IMe0G5U@MaM#+pzpUf&}@s?U)Nu2F3x!yzOSqvUu@cWLxIJT9Tf8Z62fF6k#Uoo z#47Eju{uTR=i8&Fj}Jd$1&05xQ@+ zfgkMi)?~0yhFYS#MZYoidNU;=EXw;cRXUjw5#~c=Fak#B_0h0o0!@*g{u?&EP4wQL zEjn0krPsAks9g2(divL7g;yQ^i9qd7^2CF59>|JMKO$}qdDy#pxNEsQe#x7r)td~jcTwgKp}hEdvj1QU2p0R z_E)C6KU6R&FKH$-!$*^^j@O#Md}hoK(J4&~`6Q@VCkz5&L8G*3!uMx-2c^RqQ`&?IMSb!p_6O~`w1T*4@^=EV0BzQi|l>)w(9M> z24?uxE}Fr^`8lO-R}c3EF^?PC!^N-?aE3q{7tqs~&ip&L)cGV=+IM(wG+LoDoxV!P z+rL;QrFYmAzs~WdRwg4J?6S2=fLfAEx%bt{;ekuSkIGLM4W~}sbI%WW)d+3SZn9Ux zd2|^JBaMv+Lj3e!<-23zgQjlM5KFEeya}{=jPd^IqC~bV0zt>Vuu#}N}xYB zL3hz81grWv>OY*EoaPRDAx8xlXr3a8Z!<5P^(*Tn6z95?Y%aPDluVj2<*B@Hm?{-5 z;J4sOLVK!Ry}9KpMy;e6wUO3TD+VIVsn%YbS?=^)k-pn1TadI{|3#@}!sc=@xoNoW zaYy}&)shPrM&KHc)MyKi6{9?RI!HcPd1gxFnCZ-DD!IV0USAD5;6Y48VtGDz&HZV z6lLr4U+TnwI)0Zm(nLi$3JP<-A697m>ntz-QbN?ayFPu_j_}iXqx;V?R8_^ZSo;1t zdGK%=9wI%okehgIl~sWbEm0nfqnu@oGk z$*Em2_)hp4hYrq<=$}Wf=gRpsE-RRK{k2Wt?f>BHBL&Bbck}JwThPmY!jFoU&Xp*& z{n~aDxLu+boYa4?-wD5L-<#pAqvj;NA@dPEqoZLEho$GZ@#;CTp$et7aAbWaC+8f) z*aLG+eAa6*Wo24$O!Qv=OR+yup#@h<{o`p9`n4UFI^Z+`GmK8LM<-G)8YHDjmEc&EGeWOAREq2^<;d#nEtplt>?P}FL74l zLmQ9nEg5z={zU${xh+_(NH6&h0^86HNH(E3$2jnp@I7F&1N<;WIq9d)xwPJAX6#)g z7HCvX<;vGmrLlRu)AMicoDsyo!G9f9moyijNEcBN7D1`vGa8Xy0o!B(=93lZf__tc z^pQt%{kMu#&AO$SykCRVif(Sy+W`y-Dinl!L?Yk1i&6c^FF5*rc?hrlg`q1JmQHjV zSV|ev3!G9}wg?z`4{LeL)m6VRzD|WVyMZlR*fZRqt@L+TPWs`61Jx^rBT}6bU4Cn2 zA#3@s5;;LeLQM0ptn;F*7)}V_R=r2F|4h0pNoT?KZ5Q}^RMC}JAWwOTpB&fQ;$@Cs@1WPL7MKhTouOO99^JAAmzD-uvsf|2s8E!spU#nR zn%*6^d#JA!3S7qIGDkKm4#3ju?vifCAy_IeNg5>+0xCwN$xF2n`e6A{wk;)(wsMl* zPn+rg_|CYk6dCXH$-PlUd*Pcm6SyR`=1U!Y$JKPLm=rpSE8I&mgrN1(wCKn~lr*CM zfk~9CtZ6y9!nsV)iSwWM4Q|&nzE1IPo+Y3zMWhyhF->FEGWs41nz5>tN5an3^#eO{ z+u-QuaQJ{{)7c8cNyqt*l4a#P*EF7}44Cio!wX0|AbVwcPy5Jt9!hgj!hC}cCxM9F zK=_GKFq2sh&4^FO4-50O+@~c;wV_xf*?Sd==F7MZ#`yglAFllM&X<^th>00Z-O(7g#~#(M^!R63%d`(0>ax4!+newj&G{sByK)4u1Y=xZY^0n*KrhQy%uFi}H{54|0V#(lsMn)W4 z_ka;2o?DD>{KSdU*)etV9=U*)b`dmj3Hwk?Cax&eTdBp*t(}ua=ZNVe>FXk?uff)9 zHWD$PJ%P%_whf0OMgB^S;F&sO1jmQ-f6`2N)#%VRY*UWipT3ONO=UDc@H2Khm`avf z`ib$s)ZPuWGHB?<%)2V)qg>`AP`doTVw(fPa1~Lez6hTs2m>O_(#QqCCM;mHrV08<4FHS_1Rs3y{ z=aZLoj9p4l!B#rv-zOzVCL16uk4Gm8)hHhglT4ORzDPNc7lV|R$Zu!Fz^C+0`1<6_vgei;8@s8+!pQ$)pC}+ytA+nVQlX{EfY~H z4q!QOPCMrZ2{-{;ZQD^1Toy;1vW3mPpE@ynRPRr?U2s@NRd8bX*!Wynvokv7tM}4WL8@g0KDehUdRT7v zl(A3@yN;)7m}E^h}S{5IIuS$S_G@f(8}_1h5Kke z{|CCi5{SCFoY{Xkfi+0mPqS81&?S?uhf;J^im8(r zo|Uw@KM(={Kdo3akpk!Ge7>zIG z-L}pDD9vjt<9OVh#5V?(qZW6wzDgp+iEziJczz@lYG0b~e0LSw zitwHp=|*?iT8UOSH4(7HIEe^$3)M5ZNo&Iowm3BIsK6rKvmju~M9W$REO;p+Fi(dK?v(C_?_OZFE2iCbH_+pLoowoqbLS|}$D0pq zlZYN1mGTrRB3P?wVG%;tqKJ^fRt!^3z20y-tC)g`Uk?V!Mv6v&|1r+^+A@}L2)!jldHzd69>API>J{)({YUv)Bshad=4CmU_5GR|cV9=;=N<|6@!xz0MRxiP?Zp>Y}BJ+%PTJ*EhTfcg3&dzaI~P$3>t zWmJBM+<3zn!V!^{+ARcke-c7JdB7BKgG@!xiv{m@L+Xa4Ozejq{RCIJ2wC%qAC7#H z2Uv%S-Kr%g)T2b(CU=g;R0(}48y^BEr)>c@ys9p}+X{()Z{IX|7 zj}UHsizeCrI0+;>Dh)^GV$QV0e!#HDxZ@$>Hl$xa=wZ|W(lM^TbTdta$1gAKQOiE8 z>$n}%sk@{8x@j+M@I(JN`%mrn8%%tl1$vv-50UfIyB%1o|6I>Zy!RdWkoG!90sf=u!Wu0cn-y{~&r& z!Z)BmKXmDsW~!(LTB?;XO^6~Jbm}ii+ps>5{Gf%af$8}Ws4#Bau6zhaYrxUdT-W<) zf|N3eSYMBHup&s88a_1yVFu0ULzBqJ%Z!C>A&C41C8TqkuI z#1NN-PBM_6;~DN+dHj9?*!4~Q%R)*cd#qV{vOq@Mh6uqVP+~K9unPo1JfieSfg2FM z?lM69@Y^{Z#rPA|H3f{z-r%{qI+R?W!02RqQyYjQDzJPz8Zw;2adaD(XDeV__h&ImtIU_3MS(edFx4NX<2RGTs3 z^7Kdy!o5ArLHJot0RA-Q;A~=uSe=i3`QRFoF;TSBCt}cuN%U+vPjj_}@r`(R=BfwI zw-^q3x*&l(4Fx~CH&=xi%$COkZ#EI~GrEQFk7fyaoWmrf;?lhAiqnB_X&Q?o5te3s zr&$K-t#PN567<8c1>~Px(+0`dazCw*c#k>FevsY>m_iCS|NW@#=C1#(Xp>M-p-{eo z;d!F+Ug`ZjVmO)ISW4X5&W$gVZd5Vd&JHt-k|0i2e}gL_c*S*kNOKD#+LW!?{bE@)D z9NfsvhyhDB7pu2N-cu6wiZm)PJveN*mZFO|mcgEaucYY1e&ocg?&Gb~3$ZVvfuhGg z5Q}yp9s3o;PXj=uLaPlnz-__?oHvK+CvB+pE0bADFlB`=_>!K7uo(_%koo-q6q(G} zQS&q0a0lcQ8t#*+a7Jf(44BT=7rVRd^k?#&hO<(}c62&8GLf)@6bgD1kZ|;7E%;7X z;E@M#LQ#+Qh=?4aTfN-A#|!onS->o>e>SRaXQYyk`%%M$86`bOIY`zczaQ)n?0l}R zYSMoXQ$tq$X%A^%f^y{hDt;pDCE9?DFi!Ctk#SJ?c(k8^u48a0oFJDI|0tWae1!m%yky+<9zvn4EGSWOeWe~wL9_Xb#Tr{l4&T%zcZX!M z@Q338a)9DW4ycYS#l{(lx#pK3GOvtY_eHUSC*PjK8QM&dX1F;-9_V2%Thsn?4usmD z#fiBNS&*DdTvN@HoJ+#YI6pB8W0M8ORWyn}%eGtOHH*8Y$>)cS%}M}{YIPkN2(v;S;+sa3u>4pu zrF<6;Q4Vi(hGz5M*8rI54!5gGR~Qz{knfsJxZeWgzfw$ob4S8T%TmiORe14JQhll+*+advG?SXJ`ImeBs+wgaleQD#rx|AE+7@>} z;Pgl-z0?i*?~tK$7@S8jxsx%U!1(?Q0vd5l4mxHb!^z-rbS6peTLjjKZWFBw>gNdV zcHUENyZbwl|L$_Gl0YjGd+^xh>~e3tozU#@W-8f2D0CB~Tvo@a)-4Ih=alw-ol|f} zxFIhN#RkZku`*4mSJ6$Hmm$9;ux-`CStZ9RiEfC7RcTt%P@JUdw4?RVhIx|Z5t|tr z>|F-6gx2}r)y9^3io~^Y(0hub;na`b_TNK5>BK<+>2L4cJWxqf)3zm1#1Cayb+4AdrZ@W8@KfrQfPSBJ6*cF8t zL}#U0ZWYQHZ`Cjy{f|tbaGYD8?%l8D$~7eXuxvcRiaM{Tawu+2h|TrIT!6Z!V`l+ z#^+E%vJndt?h#UQp#|gWW@EGl5n}n!XC{dc&W!35z+%~r?(>R<`z0g#9^(MZ*d|+; z4PO|6$Q9^8smp+RJ`^#%^omQ?67$C5NyrI;cxt=-6cLu_|Pdm)# zaqRTK`tANh@8FmwQPEeR^tQdp=Z%1<+^>cqGmDwxRj(-Ml>y=3tlvm3 zYJN-D?vth=*wdhB+a zb$W!gJ0pcZoF!~y`yQa)``n;t&}%@qzGR4?+n%jcEq(iD++0}%$q?<1#V5CWD1@8QI5Djs5(}on+qi(1imUu9r)_ffn2SEwroZzUGFegexz=FQI_y(wHh)>KH zqTw09r4Bsf))HYr?KcWY`|>v~I@$PS`y`KM!JPUnSJ)24FzI;)t^QsO)&hwQ z`S*qclzk_&K3xzyGPmZ;KK`8Hn&3DqA3|-75M9_mnT@o_8M?rGiE%S2XDS{4R5^J# zgU1MVW{fk$1dY#_#Gl_p&nSNV9YoI%S^N5ICQ;Fy zZNiwc9)(*d$_}(F$OkY^xW8&1pC{dBI!5XF*22xV&}vPof<6_XdXGbghqSCcvs$eM zKE;))nqScml-$6g3Qc7Jn|6&HV-`9K{bu2*o-{BC)4^9CV-qh_ z@K0}K^?atR;9K#gCekkM&X zR?QQvU*gC{v~(#1%dQXLb~p-o+~es2pSPD8Ij|^!6v6yX8dpcDasv~X1(JO`GUh4e zW6^CnX=e3!fZmc%Du7 zH%g4lt^Y*zz=E`UiN>Yw*Wgx*B;#kL;|m3+c+@*j?^}LS+O*-&zyJAZ&K9PyiJ^Xv ziOE7nA@p{Nrxh7-gm(V^&S2hn6%<=Rn;szj?LAq-!nPRIzf^fCEyCG9&X{5V^y`+8 zXoB?Ioi?P!vkTII|1Wh|)uuT}`)X0=!Y+)UXT_n-&Ia9xW}s$Yg00CHn$hGpjpijq zTH9?NL!z>TfwY*n864^RMKf#5v&UCB0n}g|ZWF)?6Oe^eVL4dMy?@bB~T;!(VuNH_0Q7*e9v!cb^E>^~ZT@7aw#}B*)kX@5$3+n;b&G(GsNeprXEBrvyXqAzVxco40T=np3W!Dvj1Zh$C=My@|u z_q5hmI3%r>Q_Y;+`1Ye6+uR0Yk716_S8y>uVy)-dLqo4@1)u!d7yRX{l;;K^>0XsW zK{%?-$1`TzSH6#^ZI?57&M$rEf$GlFBs?4r&}~7`BU;)!TQ#Ip*f}yOXpDMxOgeD* z$$^JN%`Q2;J*Np9QP4R;$Um-vTS}X`kh05p$2ns&wIf-Y(N;Q886O@==M1d{AQMDC z7_g36gqzQ7$KCj{1={aG>`lCZEpwKx(vMH3n-f#j=PR6!(7^Q2(BG@0IkWdAU3d#{ zuHEIQ!w3IRlfeAz==ol?4+9TEqsm6F3yw-iYc7CK$?ijv%GJJ=DmaHEc4|MaZA zbBmqP*A(;itXT{O#_nT%;^E-`Le#1(AR3*w1VzO*WiJYakzR{AyzG~(@K9gv^dtDf zz>LoA2Ned755fq4fuQtm>^(T$4UCQXtN?yRWPI)c%*>{O$EU~_u^>z&6p^mkB74uJ z?^@3X#9CW55ZDPNUF_*RD_X|WxhINAWtpF+9MFPOT|iSr{Bdb!1$t=RRG_aV1ho`z z;vH3X21rJyFBi;>j|mj;sba_UVHwg*Wg2s&Z8jIoolSHDSugA04>UUz3R>OlN8>Tp z;7}X7{e+MWDW?HCLS@-MeX(1oqHP_0ih6!swW^$+XZ>jl2RFCdWKZ`P&o zuZMjGb5vezgTeF%?=Iq(SCp{QX)w>>;|;amIn`quUix1h*BRAB*R2Bv3_a321Vfh+ zdWS$z2#83HC>=r-={FqDD|aERit?5{qFs7?~l9IteGFP z&dixJyFAa{XK$!HZvVm@!e`qYNo_}n?EM&KwC!>^Kt3KnV)}j9BLi%a^l^Zw6)QA0 zM$8ej-(%uTx^fz42ba`Kz*h6zJGtZ?YBY64(8wge^H+*mFA%9O#7?}U2*=qG?kS-I zZeZP+yW`TbE>+36MyG47lt1>WdQj)xDjFGom@{2IpT14C&qgtk zQf?o?T0SpAMSmF*U$efasGZU&fHa~AA+YV4rg^!~oGPE!F6g+?ske7zhcoTd_&M*fxwFP_P#w)Q+xbUC3xS; z@F;HaEEkC^n`^0U+gk2rc9r8{F{!wUPAgN9iv!y|u0ID5$F?RlMX-mKwfKmaPhR=( zi@!=ppg6CUttabES17JxK1<`)BYFB-x|2as)Il9r5t%b+|1AWdy5kyIAd#Pzk;iA8UjT2fWJuY-#a=bj3`a08#vY zUIu;9J$;qOa;)n{=ng})>e27c8v*p!fqIHT7TIgkNP@JopdC^E19pgojY4ApuiQ!-WjQkmIE+memE>+Zm zv}MI@cu+rlxWRVcU08jZ@kh5=$~+ej6%vHF{vF;&Qyv@`9@Bli9Q&Cc^G+1%*rUL{1rR~tlJB0qU5B{ko-Vyqx zK(0&QVmCE*)giSgQ*c;9?BVUD0Q^(gWiZK8TiY^(E561vnVnNMXG71S9&qYe{l~cUbrJ$yJFZphibLVdD{6(4la0o_ww!EOlyl~YG(UW zqR!64YIgRk!^Cc#Y76oN6D87~Z~oMn5f7d0noia~gd{X=n1!=QfvC z$J?$L{nuWgkGU5sbl#p9feH7CJ})&r&rczFvU-9FibNLt&}np9DG!OF*@_?KUUsLq zEe{7E+b8ne59V(U8h8ihG=8P|+S)o)`L%IyN-_GuQ^06fUtP^(3WI!PYYiLuqd7;4 zj)bEE`+T(G&#ljoras`3z$ASp6Sdi>Gf}$q_v2+V-0cC&8doQa?So6=oLL-YO3u*7 zhv)kO3B1R=(N#nCM?#LP&Ulu=0|Wzj1e4b{ASFPTR#dE8svPWc=AHG}I!xF>z#U#{ z$fv?doUN5d2Zkx6>tNT@hmDZb;?-ncH|6i$CJP+_-n-NMjbJH7-?l1Iif5MF_H`N` z$zG{*>w~B@9UE9_rYreP;KsQbBr;Fn(N%yz4bn}Dvh~3G>pI(e)chksc72$lw#AGuYFgVH(6A?}l;M0pPxG`K(!25+Gse5Q3vvNU=#_$?ue zh2<9o)Pap-^Y)Ie30&~)Lh+1vvZBvNry~~YRTpniPxbEn!G0R7Q@7Uop76=(#aDCzpdOmaY5bUoj(L1R8uM-7n z5K@o*C7SX~28Xe+iO$dj0LH(vZiTXQ$Z;xHSv?lI!Obl!^jx+9f#Pqn3)_laGmNh} z!$GOc1;eQmw~YC8wu-BwFif7{z9E4xB^FEwj^q}zMrT;^QbT_Y?%bq2axdgmV{eNR z(8$C=uvLN1KA)$@RjB*;8Aw-=EV z-il#HB8X}m2BREAtya(XB=03yH<1}S{7gV|L|C`pydOVh2v}FQ_P1}-4yVI%ro96K zl7jy*@`8Ot&H55WYv~*htIcS3vn1k1Mrk_r$s2kjqW+%qu;0t2whUEyefAr3iCgsF znK+M$70(i3#O)~TnZj~E9mw~o9CJV$6pPe9YWLyZfxplqYMfrE0(E}3lh^x=!>1fC$lKf;BEqC^A@*Z`fkYw`wll5{OGm@f=gqS0#y?vR2O>9- z!cAHB@44)>v%w&SY}Xm?X2C8+_&`57+J&j1*Yo1nyO^L5?Nw5Z9DY5+nmcr;{V!4B zFGE|GyNs_cSg$s3DCAym!n~<+F-Gk-E%}^(86&pa6%qg}_Fo(0f?vkiSR^6|@W^y)lpOLQxA8P=yi{GUW*6a0VB&>f-q^k4% zGkFuLIq~@1zm-W8dlJBtBc)BN8GIkz5L`cQgLPA}P04r*!$!V%8c5!CYX9m<9JtOP zcwm%VYiH_qGM+AFPEe{)hp4paw+T%W7ACB3Q)zh%bmno!Nzihm(v|FNwE#&=*|-t1 z&5Xqh*{)IYva&H0`H2`V`)Cft-l{6HfL5lKsh21Q=s>rjualGc=~B3x9>x*n-9bVh zegvOL-Ju1&!MrK+uyo&=p$hQdkJT0Ac35L$jUT#3ju{R{i9g_zcac$TINXWA3BEC&h_e|wxVO+TVZ^c zs7&$w%<#qKW<(TkbFYJB^x|SmYKwU|K%k$(_{q+@FXh}mmrO1LSPKLK;H!>hl`{L~ zWCBAzUc~0%$&KqsP7u%`0C0f=QTC@4Dq^#5U=B4kt@T4{!tC=m`8<6O9XwT1XQ`@{ z`A6L)mmfG3=d#VvDnRTQ&;(y4V{iQ=OC`OK0eQNPNs5ar#{d=WZJDBO@%RW@_3$k#>TAPzjC?O-PBfC%T0UaG8@nGNF`io{7<9|P&yY1}! zVYMAuv-4Acas7NU4FR|rVq@(4zC}}n`vkTEcfz!g$n>7L*x}{+$G7rp``Ou39r)yb zf9Zm+n1zV}JcBNmA5#|WCzC5h7UMb%>QB^qb$BdHo5b-;1m3sgEcKY(m70eZXGCw- z;^yQRQoC$ZWKz<;`Jcb_LCk;;280BFSed9LQ^nX^U73^($mHzk8i;;x@%>3MhnM$P z8NeLAQe_azT1mWlXW6(->fc)nluR~y1v{i`!yGo3NO{^w1>Q(#;U__UO9_h>kMb6Z zsjxM4wC^S;Wy5xA+skj1edp|t8(b|gt@^V`erV9KQXo{y+#Db`DbK%uZ)Q6k8~Yb} zksurvpElB|^+PdrX(knquaY_5dd1^<(a#Mle4L6^aL+8?$E^sqac(OGjQM+;Y%X$K zjuWG%zp!=0(zRrBf(#oyED0xnFq-l2$-Q*as#FYGE%{%{^9ZD)ZRO%sg1q-Q!;FM% zX19HIq+D@FH0+m$RMf7r%%7{>jKy^=@a~IW!71~51e-YUpa|`a1h^uwKQx)eCxeqF z{ERGF;BKTij3oTIP`aZxU}N!nUuSL&tR-@N+UC_U+l3~gL@Z6}tkrQIq2Z+`+xJ68 zSpSVmf4jU$J6zR$aZddo9!{TrCzZz&==;VYnVZKjQN^~;hW9CF$mK`d4D8NBJU-L@ zD+F}m;j9@u##@zpb9EL-@xLoKm4+vfX)5B{h2@j2HG2Wy*y_(a0EV*Jj8i6GY$XW@ z4}XMdg&v8T$9}NMs})~r6zemN*-R@pYn#p!}f-lIfzr1BaB2QYGv( z3|X)Btd-!`z8M}zbEKdg;PK+)WVsDeCR>TAM9Gg-5Hi6pVE2uHP*8RG zkdOayP;NYTG%6qH`P;ME`pH}p+d5@e$TtSYXZ6w0WP5U;0MbMFU5;-%5m=`3rdBJ} zm;==Wv;i4q{_y(f&uR;%Y4?xSMCH1s@bHcuCkJxbJE_glSHFv1W(|rkXclrdZ1CzB zq@!G>ol{g*{BH$1ZqG_(o-S&x|Lgi_!v9d9_rG_}%9=O13y-I?o6l+(iri3hNz(fFv*n@;$4I9X@;k7a#H@bECGs?iQ+(XZ_LIMJF;%Zn1c0Os~DFu?T zq=L`oI@64qMr|Wfy@*NeYn79tO-U# zRiEh!dYod5;e$;y9K`{@_MR^&2SQ(FNl4Gcp+sVyG`R}R=92)ndX`bh+`wbXm5x$m zMjw>J*#{`7G4C@*4e7+mxdp)G>Y7&Y0r`tXAf-Ag@nj)w>&FV27MfB&SQS9SX&oIo zi_e&6LddVb|ImNO1CcF*EjoB(Qu3A7MisW2ZEph12T!p=!wc4+0EK~GC0kTqCn}wGM{uDZpd?R~yOyX(;(K@7>>PQO`YkPo>{90BtS#eYG*Z4z|9IO7`B4 zzy%~FiI5kQQ~(YWgrX8cPDxTyR8kT+H?WpI`ac66KXGuu2L1m7-f8nJ0|P+1+6Jf^ IO`FL70u`ppoB#j- literal 0 HcmV?d00001 diff --git a/_004/kafka.txt b/_004/kafka.txt new file mode 100644 index 0000000..b5695c5 --- /dev/null +++ b/_004/kafka.txt @@ -0,0 +1,11 @@ +Verhaftung - Gespräch mit Frau Grubach - Dann Fräulein Bürstner + +Jemand mußte Josef K. verleumdet haben, denn ohne daß er etwas Böses getan hätte, wurde er eines Morgens verhaftet. Die Köchin der Frau Grubach, seiner Zimmervermieterin, die ihm jeden Tag gegen acht Uhr früh das Frühstück brachte, kam diesmal nicht. Das war noch niemals geschehen. K. wartete noch ein Weilchen, sah von seinem Kopfkissen aus die alte Frau, die ihm gegenüber wohnte und die ihn mit einer an ihr ganz ungewöhnlichen Neugierde beobachtete, dann aber, gleichzeitig befremdet und hungrig, läutete er. Sofort klopfte es und ein Mann, den er in dieser Wohnung noch niemals gesehen hatte, trat ein. Er war schlank und doch fest gebaut, er trug ein anliegendes schwarzes Kleid, das, ähnlich den Reiseanzügen, mit verschiedenen Falten, Taschen, Schnallen, Knöpfen und einem Gürtel versehen war und infolgedessen, ohne daß man sich darüber klar wurde, wozu es dienen sollte, besonders praktisch erschien. "Wer sind Sie?" fragte K. und saß gleich halb aufrecht im Bett. Der Mann aber ging über die Frage hinweg, als müsse man seine Erscheinung hinnehmen, und sagte bloß seinerseits: "Sie haben geläutet?" "Anna soll mir das Frühstück bringen", sagte K. und versuchte, zunächst stillschweigend, durch Aufmerksamkeit und Überlegung festzustellen, wer der Mann eigentlich war. Aber dieser setzte sich nicht allzulange seinen Blicken aus, sondern wandte sich zur Tür, die er ein wenig öffnete, um jemandem, der offenbar knapp hinter der Tür stand, zu sagen: "Er will, daß Anna ihm das Frühstück bringt." Ein kleines Gelächter im Nebenzimmer folgte, es war nach dem Klang nicht sicher, ob nicht mehrere Personen daran beteiligt waren. Obwohl der fremde Mann dadurch nichts erfahren haben konnte, was er nicht schon früher gewußt hätte, sagte er nun doch zu K. im Tone einer Meldung: "Es ist unmöglich." "Das wäre neu", sagte K., sprang aus dem Bett und zog rasch seine Hosen an. "Ich will doch sehen, was für Leute im Nebenzimmer sind und wie Frau Grubach diese Störung mir gegenüber verantworten wird." Es fiel ihm zwar gleich ein, daß er das nicht hätte laut sagen müssen und daß er dadurch gewissermaßen ein Beaufsichtigungsrecht des Fremden anerkannte, aber es schien ihm jetzt nicht wichtig. Immerhin faßte es der Fremde so auf, denn er sagte: "Wollen Sie nicht lieber hierbleiben?" "Ich will weder hierbleiben, noch von Ihnen angesprochen werden, solange Sie sich mir nicht vorstellen." "Es war gut gemeint", sagte der Fremde und öffnete nun freiwillig die Tür. Im Nebenzimmer, in das K. langsamer eintrat, als er wollte, sah es auf den ersten Blick fast genau so aus wie am Abend vorher. Es war das Wohnzimmer der Frau Grubach, vielleicht war in diesem mit Möbeln, Decken, Porzellan und Photographien überfüllten Zimmer heute ein wenig mehr Raum als sonst, man erkannte das nicht gleich, um so weniger, als die Hauptveränderung in der Anwesenheit eines Mannes bestand, der beim offenen Fenster mit einem Buch saß, von dem er jetzt aufblickte. "Sie hätten in Ihrem Zimmer bleiben sollen! Hat es Ihnen denn Franz nicht gesagt?" "Ja, was wollen Sie denn?" sagte K. und sah von der neuen Bekanntschaft zu dem mit Franz Benannten, der in der Tür stehengeblieben war, und dann wieder zurück. Durch das offene Fenster erblickte man wieder die alte Frau, die mit wahrhaft greisenhafter Neugierde zu dem jetzt gegenüberliegenden Fenster getreten war, um auch weiterhin alles zu sehen. "Ich will doch Frau Grubach -", sagte K., machte eine Bewegung, als reiße er sich von den zwei Männern los, die aber weit von ihm entfernt standen, und wollte weitergehen. "Nein", sagte der Mann beim Fenster, warf das Buch auf ein Tischchen und stand auf. "Sie dürfen nicht weggehen, Sie sind ja verhaftet." "Es sieht so aus", sagte K. "Und warum denn?" fragte er dann. "Wir sind nicht dazu bestellt, Ihnen das zu sagen. Gehen Sie in Ihr Zimmer und warten Sie. Das Verfahren ist nun einmal eingeleitet, und Sie werden alles zur richtigen Zeit erfahren. Ich gehe über meinen Auftrag hinaus, wenn ich Ihnen so freundschaftlich zurede. Aber ich hoffe, es hört es niemand sonst als Franz, und der ist selbst gegen alle Vorschrift freundlich zu Ihnen. Wenn Sie auch weiterhin so viel Glück haben wie bei der Bestimmung Ihrer Wächter, dann können Sie zuversichtlich sein." K. wollte sich setzen, aber nun sah er, daß im ganzen Zimmer keine Sitzgelegenheit war, außer dem Sessel beim Fenster. "Sie werden noch einsehen, wie wahr das alles ist", sagte Franz und ging gleichzeitig mit dem andern Mann auf ihn zu. Besonders der letztere überragte K. bedeutend und klopfte ihm öfters auf die Schulter. Beide prüften K.s Nachthemd und sagten, daß er jetzt ein viel schlechteres Hemd werde anziehen müssen, daß sie aber dieses Hemd wie auch seine übrige Wäsche aufbewahren und, wenn seine Sache günstig ausfallen sollte, ihm wieder zurückgeben würden. "Es ist besser, Sie geben die Sachen uns als ins Depot", sagten sie, "denn im Depot kommen öfters Unterschleife vor und außerdem verkauft man dort alle Sachen nach einer gewissen Zeit, ohne Rücksicht, ob das betreffende Verfahren zu Ende ist oder nicht. Und wie lange dauern doch derartige Prozesse, besonders in letzter Zeit! Sie bekämen dann schließlich allerdings vom Depot den Erlös, aber dieser Erlös ist erstens an sich schon gering, denn beim Verkauf entscheidet nicht die Höhe des Angebotes, sondern die Höhe der Bestechung, und weiter verringern sich solche Erlöse erfahrungsgemäß, wenn sie von Hand zu Hand und von Jahr zu Jahr weitergegeben werden." K. achtete auf diese Reden kaum, das Verfügungsrecht über seine Sachen, das er vielleicht noch besaß, schätzte er nicht hoch ein, viel wichtiger war es ihm, Klarheit über seine Lage zu bekommen; in Gegenwart dieser Leute konnte er aber nicht einmal nachdenken, immer wieder stieß der Bauch des zweiten Wächters - es konnten ja nur Wächter sein - förmlich freundschaftlich an ihn, sah er aber auf, dann erblickte er ein zu diesem dicken Körper gar nicht passendes trockenes, knochiges Gesicht mit starker, seitlich gedrehter Nase, das sich über ihn hinweg mit dem anderen Wächter verständigte. Was waren denn das für Menschen? Wovon sprachen sie? Welcher Behörde gehörten sie an? K. lebte doch in einem Rechtsstaat, überall herrschte Friede, alle Gesetze bestanden aufrecht, wer wagte, ihn in seiner Wohnung zu überfallen? Er neigte stets dazu, alles möglichst leicht zu nehmen, das Schlimmste erst beim Eintritt des Schlimmsten zu glauben, keine Vorsorge für die Zukunft zu treffen, selbst wenn alles drohte. Hier schien ihm das aber nicht richtig, man konnte zwar das Ganze als Spaß ansehen, als einen groben Spaß, den ihm aus unbekannten Gründen, vielleicht weil heute sein dreißigster Geburtstag war, die Kollegen in der Bank veranstaltet hatten, es war natürlich möglich, vielleicht brauchte er nur auf irgendeine Weise den Wächtern ins Gesicht zu lachen, und sie würden mitlachen, vielleicht waren es Dienstmänner von der Straßenecke, sie sahen ihnen nicht unähnlich - trotzdem war er diesmal, förmlich schon seit dem ersten Anblick des Wächters Franz, entschlossen, nicht den geringsten Vorteil, den er vielleicht gegenüber diesen Leuten besaß, aus der Hand zu geben. Darin, daß man später sagen würde, er habe keinen Spaß verstanden, sah K. eine ganz geringe Gefahr, wohl aber erinnerte er sich - ohne daß es sonst seine Gewohnheit gewesen wäre, aus Erfahrungen zu lernen - an einige, an sich unbedeutende Fälle, in denen er zum Unterschied von seinen Freunden mit Bewußtsein, ohne das geringste Gefühl für die möglichen Folgen, sich unvorsichtig benommen hatte und dafür durch das Ergebnis gestraft worden war. Es sollte nicht wieder geschehen, zumindest nicht diesmal; war es eine Komödie, so wollte er mitspielen. + +Noch war er frei. "Erlauben Sie", sagte er und ging eilig zwischen den Wächtern durch in sein Zimmer. "Er scheint vernünftig zu sein", hörte er hinter sich sagen. In seinem Zimmer riß er gleich die Schubladen des Schreibtischs auf, es lag dort alles in großer Ordnung, aber gerade die Legitimationspapiere, die er suchte, konnte er in der Aufregung nicht gleich finden. Schließlich fand er seine Radfahrlegitimation und wollte schon mit ihr zu den Wächtern gehen, dann aber schien ihm das Papier zu geringfügig und er suchte weiter, bis er den Geburtsschein fand. Als er wieder in das Nebenzimmer zurückkam, öffnete sich gerade die gegenüberliegende Tür und Frau Grubach wollte dort eintreten. Man sah sie nur einen Augenblick, denn kaum hatte sie K. erkannt, als sie offenbar verlegen wurde, um Verzeihung bat, verschwand und äußerst vorsichtig die Tür schloß. "Kommen Sie doch herein", hatte K. gerade noch sagen können. Nun aber stand er mit seinen Papieren in der Mitte des Zimmers, sah noch auf die Tür hin, die sich nicht wieder öffnete, und wurde erst durch einen Anruf der Wächter aufgeschreckt, die bei dem Tischchen am offenen Fenster saßen und, wie K. jetzt erkannte, sein Frühstück verzehrten. "Warum ist sie nicht eingetreten?" fragte er. "Sie darf nicht", sagte der große Wächter. "Sie sind doch verhaftet." "Wie kann ich denn verhaftet sein? Und gar auf diese Weise?" "Nun fangen Sie also wieder an", sagte der Wächter und tauchte ein Butterbrot ins Honigfäßchen. "Solche Fragen beantworten wir nicht." "Sie werden sie beantworten müssen", sagte K. "Hier sind meine Legitimationspapiere, zeigen Sie mir jetzt die Ihrigen und vor allem den Verhaftbefehl." "Du lieber Himmel!" sagte der Wächter. "Daß Sie sich in Ihre Lage nicht fügen können und daß Sie es darauf angelegt zu haben scheinen, uns, die wir Ihnen jetzt wahrscheinlich von allen Ihren Mitmenschen am nächsten stehen, nutzlos zu reizen!" "Es ist so, glauben Sie es doch", sagte Franz, führte die Kaffeetasse, die er in der Hand hielt, nicht zum Mund, sondern sah K. mit einem langen, wahrscheinlich bedeutungsvollen, aber unverständlichen Blick an. K. ließ sich, ohne es zu wollen, in ein Zwiegespräch der Blicke mit Franz ein, schlug dann aber doch auf seine Papiere und sagte: "Hier sind meine Legitimationspapiere." "Was kümmern uns denn die?" rief nun schon der große Wächter. "Sie führen sich ärger auf als ein Kind. Was wollen Sie denn? Wollen Sie Ihren großen, verfluchten Prozeß dadurch zu einem raschen Ende bringen, daß Sie mit uns, den Wächtern, über Legitimation und Verhaftbefehl diskutieren? Wir sind niedrige Angestellte, die sich in einem Legitimationspapier kaum auskennen und die mit Ihrer Sache nichts anderes zu tun haben, als daß sie zehn Stunden täglich bei Ihnen Wache halten und dafür bezahlt werden. Das ist alles, was wir sind, trotzdem aber sind wir fähig, einzusehen, daß die hohen Behörden, in deren Dienst wir stehen, ehe sie eine solche Verhaftung verfügen, sich sehr genau über die Gründe der Verhaftung und die Person des Verhafteten unterrichten. Es gibt darin keinen Irrtum. Unsere Behörde, soweit ich sie kenne, und ich kenne nur die niedrigsten Grade, sucht doch nicht etwa die Schuld in der Bevölkerung, sondern wird, wie es im Gesetz heißt, von der Schuld angezogen und muß uns Wächter ausschicken. Das ist Gesetz. Wo gäbe es da einen Irrtum?" "Dieses Gesetz kenne ich nicht", sagte K. "Desto schlimmer für Sie", sagte der Wächter. "Es besteht wohl auch nur in Ihren Köpfen", sagte K., er wollte sich irgendwie in die Gedanken der Wächter einschleichen, sie zu seinen Gunsten wenden oder sich dort einbürgern. Aber der Wächter sagte nur abweisend: "Sie werden es zu fühlen bekommen." Franz mischte sich ein und sagte: "Sieh, Willem, er gibt zu, er kenne das Gesetz nicht, und behauptet gleichzeitig, schuldlos zu sein." "Du hast ganz recht, aber ihm kann man nichts begreiflich machen", sagte der andere. K. antwortete nichts mehr; muß ich, dachte er, durch das Geschwätz dieser niedrigsten Organe - sie geben selbst zu, es zu sein - mich noch mehr verwirren lassen? Sie reden doch jedenfalls von Dingen, die sie gar nicht verstehen. Ihre Sicherheit ist nur durch ihre Dummheit möglich. Ein paar Worte, die ich mit einem mir ebenbürtigen Menschen sprechen werde, werden alles unvergleichlich klarer machen als die längsten Reden mit diesen. Er ging einige Male in dem freien Raum des Zimmers auf und ab, drüben sah er die alte Frau, die einen noch viel älteren Greis zum Fenster gezerrt hatte, den sie umschlungen hielt. K. mußte dieser Schaustellung ein Ende machen: "Führen Sie mich zu Ihrem Vorgesetzten", sagte er. "Wenn er es wünscht; nicht früher", sagte der Wächter, der Willem genannt worden war. "Und nun rate ich Ihnen", fügte er hinzu, "in Ihr Zimmer zu gehen, sich ruhig zu verhalten und darauf zu warten, was über Sie verfügt werden wird. Wir raten Ihnen, zerstreuen Sie sich nicht durch nutzlose Gedanken, sondern sammeln Sie sich, es werden große Anforderungen an Sie gestellt werden. Sie haben uns nicht so behandelt, wie es unser Entgegenkommen verdient hätte, Sie haben vergessen, daß wir, mögen wir auch sein was immer, zumindest jetzt Ihnen gegenüber freie Männer sind, das ist kein kleines Übergewicht. Trotzdem sind wir bereit, falls Sie Geld haben, Ihnen ein kleines Frühstück aus dem Kaffeehaus drüben zu bringen." + +Ohne auf dieses Angebot zu antworten, stand K. ein Weilchen lang still. Vielleicht würden ihn die beiden, wenn er die Tür des folgenden Zimmers oder gar die Tür des Vorzimmers öffnete, gar nicht zu hindern wagen, vielleicht wäre es die einfachste Lösung des Ganzen, daß er es auf die Spitze trieb. Aber vielleicht würden sie ihn doch packen und, war er einmal niedergeworfen, so war auch alle Überlegenheit verloren, die er jetzt ihnen gegenüber in gewisser Hinsicht doch wahrte. Deshalb zog er die Sicherheit der Lösung vor, wie sie der natürliche Verlauf bringen mußte, und ging in sein Zimmer zurück, ohne daß von seiner Seite oder von Seite der Wächter ein weiteres Wort gefallen wäre. + +Er warf sich auf sein Bett und nahm vom Waschtisch einen schönen Apfel, den er sich gestern abend für das Frühstück vorbereitet hatte. Jetzt war er sein einziges Frühstück und jedenfalls, wie er sich beim ersten großen Bissen versicherte, viel besser, als das Frühstück aus dem schmutzigen Nachtcafé gewesen wäre, das er durch die Gnade der Wächter hätte bekommen können. Er fühlte sich wohl und zuversichtlich, in der Bank versäumte er zwar heute vormittag seinen Dienst, aber das war bei der verhältnismäßig hohen Stellung, die er dort einnahm, leicht entschuldigt. Sollte er die wirkliche Entschuldigung anführen? Er gedachte es zu tun, Würde man ihm nicht glauben, was in diesem Fall begreiflich war, so konnte er Frau Grubach als Zeugin führen oder auch die beiden Alten von drüben, die wohl jetzt auf dem Marsch zum gegenüberliegenden Fenster waren. Es wunderte K., wenigstens aus dem Gedankengang der Wächter wunderte es ihn, daß sie ihn in das Zimmer getrieben und ihn hier allein gelassen hatten, wo er doch zehnfache Möglichkeit hatte, sich umzubringen. Gleichzeitig allerdings fragte er sich, diesmal aus seinem Gedankengang, was für einen Grund er haben könnte, es zu tun. Etwa weil die zwei nebenan saßen und sein Frühstück abgefangen hatten? Es wäre so sinnlos gewesen, sich umzubringen, daß er, selbst wenn er es hätte tun wollen, infolge der Sinnlosigkeit dazu nicht imstande gewesen wäre. Wäre die geistige Beschränktheit der Wächter nicht so auffallend gewesen, so hätte man annehmen können, daß auch sie, infolge der gleichen Überzeugung, keine Gefahr darin gesehen hätten, ihn allein zu lassen. Sie mochten jetzt, wenn sie wollten, zusehen, wie er zu einem Wandschränkchen ging, in dem er einen guten Schnaps aufbewahrte, wie er ein Gläschen zuerst zum Ersatz des Frühstücks leerte und wie er ein zweites Gläschen dazu bestimmte, sich Mut zu machen, das letztere nur aus Vorsicht für den unwahrscheinlichen Fall, daß es nötig sein sollte. + + diff --git a/_004/readme.md b/_004/readme.md new file mode 100644 index 0000000..4f73019 --- /dev/null +++ b/_004/readme.md @@ -0,0 +1,26 @@ +# Parallele Ausgaben erzeugen +## Lernziel + + + +Erste Schritte mit Threads. + +## Aufgabe + +Gehen Sie in das Paket [pr2.threads.paralleldrucker](../sources/src/main/java/pr2/threads/paralleldrucker/). + +Schreiben Sie ein Java-Programm `Paralleldrucker`, das zwei Threads startet, die beide in einer Endlosschleife einen Text auf der Konsole ausgeben, zum Beispiel "Thread 1 speaking". Parallel dazu soll der Main-Thread ebenfalls eine wiederkehrende Ausgabe erzeugen, z.B. "Hier spricht der Main-Thread". Verwenden Sie bitte für die Erzeugung der Threads anonyme innere Klassen, die `Runnable` implementieren. + + + \ No newline at end of file diff --git a/_005/daten.dat b/_005/daten.dat new file mode 100644 index 0000000000000000000000000000000000000000..8d3eacd7ecd6a943f577be019bf3c9cd194adbf8 GIT binary patch literal 10 ScmX^0|KF~C4ENUVdk+9ANe6fU literal 0 HcmV?d00001 diff --git a/_005/games.txt b/_005/games.txt new file mode 100644 index 0000000..3390355 --- /dev/null +++ b/_005/games.txt @@ -0,0 +1,994 @@ +96;Half-Life 2;9.2;Nov 16, 2004 +96;Grand Theft Auto V;7.8;Apr 14, 2015 +96;The Orange Box;9.3;Oct 10, 2007 +96;Half-Life;9.1;Oct 31, 1998 +96;BioShock;8.4;Aug 21, 2007 +95;Baldur's Gate II: Shadows of Amn;9.2;Sep 24, 2000 +95;Portal 2;8.8;Apr 19, 2011 +94;The Elder Scrolls V: Skyrim;8.1;Nov 11, 2011 +94;Mass Effect 2;8.7;Jan 26, 2010 +94;Grand Theft Auto: Vice City;8.8;May 12, 2003 +94;Civilization II;9.0;Feb 29, 1996 +94;Quake;8.8;Jun 22, 1996 +94;BioShock Infinite;8.5;Mar 26, 2013 +94;The Elder Scrolls IV: Oblivion;8.0;Mar 20, 2006 +94;Grim Fandango;9.1;Sep 30, 1998 +94;Diablo;8.7;Nov 30, 1996 +94;Sid Meier's Civilization IV;8.2;Oct 25, 2005 +93;The Witcher 3: Wild Hunt;9.1;May 19, 2015 +93;Company of Heroes;8.8;Sep 13, 2006 +93;Unreal Tournament 2004;8.9;Mar 16, 2004 +93;Starcraft II: Wings of Liberty;8.2;Jul 27, 2010 +93;Minecraft;7.4;May 10, 2009 +93;Grand Theft Auto III;8.4;May 20, 2002 +93;Homeworld;8.9;Aug 31, 1999 +93;Star Wars: Knights of the Old Republic;9.0;Nov 18, 2003 +93;World of Warcraft;7.2;Nov 23, 2004 +93;Grand Theft Auto: San Andreas;8.8;Jun 7, 2005 +92;Call of Duty 4: Modern Warfare;8.5;Nov 5, 2007 +92;Warcraft III: Reign of Chaos;9.1;Jul 3, 2002 +92;The Sims;7.9;Jan 31, 2000 +92;Sid Meier's Gettysburg!;7.7;Sep 30, 1997 +92;World Soccer Winning Eleven 7 International;7.9;Apr 9, 2004 +92;Team Fortress 2;9.2;Apr 8, 2008 +92;System Shock 2;9.1;Aug 11, 1999 +92;Tom Clancy's Splinter Cell: Chaos Theory;8.8;Mar 28, 2005 +92;Undertale;8.2;Sep 15, 2015 +92;Rome: Total War;9.1;Sep 22, 2004 +92;Thief: The Dark Project;9.1;Nov 30, 1998 +92;Age of Empires II: The Age of Kings;9.0;Sep 30, 1999 +92;Unreal Tournament (1999);9.1;Nov 30, 1999 +92;Sid Meier's Alpha Centauri;9.1;Feb 12, 1999 +92;Galactic Civilizations II: Twilight of the Arnor;8.4;Apr 30, 2008 +92;Tiger Woods PGA Tour 2003;6.0;Oct 31, 2002 +91;Dishonored;8.4;Oct 9, 2012 +91;Medal of Honor: Allied Assault;8.6;Jan 20, 2002 +91;Myth: The Fallen Lords;8.8;Oct 31, 1997 +91;World of Warcraft: Wrath of the Lich King;7.4;Nov 13, 2008 +91;F1 Challenge '99-'02;8.3;Jun 24, 2003 +91;Baldur's Gate;9.0;Nov 30, 1998 +91;IL-2 Sturmovik;8.7;Nov 18, 2001 +91;FreeSpace 2;8.8;Sep 30, 1999 +91;Metal Gear Solid V: The Phantom Pain;7.7;Sep 1, 2015 +91;Tom Clancy's Splinter Cell;8.6;Feb 19, 2003 +91;Crysis;8.0;Nov 13, 2007 +91;World of Warcraft: The Burning Crusade;7.9;Jan 16, 2007 +91;Tiger Woods PGA Tour 2005;4.6;Sep 20, 2004 +91;The Longest Journey;8.9;Nov 16, 2000 +91;Tony Hawk's Pro Skater 2;8.5;Oct 31, 2000 +91;Star Wars Jedi Knight: Dark Forces II;8.5;Sep 30, 1997 +91;Batman: Arkham Asylum;8.7;Sep 15, 2009 +91;Galactic Civilizations II: Dark Avatar;8.2;Feb 14, 2007 +91;The Operative: No One Lives Forever;8.9;Nov 9, 2000 +91;Battlefield 2;8.4;Jun 21, 2005 +91;Street Fighter IV;8.0;Jul 1, 2009 +91;Fallout 3;7.9;Oct 28, 2008 +91;Batman: Arkham City;8.6;Nov 22, 2011 +91;Fez;6.5;May 1, 2013 +91;Planescape: Torment;9.3;Nov 30, 1999 +91;Neverwinter Nights;8.1;Jun 16, 2002 +91;No One Lives Forever 2: A Spy in H.A.R.M.'s Way;8.7;Sep 30, 2002 +91;Dragon Age: Origins;8.6;Nov 3, 2009 +91;Mark of the Ninja;8.0;Oct 16, 2012 +91;Dark Souls II;7.1;Apr 25, 2014 +91;Call of Duty;8.5;Oct 29, 2003 +91;Madden NFL 2004;8.2;Aug 12, 2003 +90;The Sims 2;8.8;Sep 14, 2004 +90;World of Warcraft: Cataclysm;5.5;Dec 7, 2010 +90;World of Goo;8.5;Oct 21, 2008 +90;Spelunky;7.2;Aug 8, 2013 +90;Black & White;7.6;Mar 26, 2001 +90;Portal;9.3;Apr 8, 2008 +90;NHL 2001;6.9;Sep 28, 2000 +90;Tony Hawk's Pro Skater 3;8.6;Mar 28, 2002 +90;Deus Ex;9.3;Jun 26, 2000 +90;Half-Life 2: Episode Two;9.2;Oct 10, 2007 +90;Braid;8.6;Jan 26, 2010 +90;The Chronicles of Riddick: Escape From Butcher Bay - Developer's Cut;8.7;Dec 8, 2004 +90;Sid Meier's Civilization III;8.4;Oct 30, 2001 +90;Silent Hunter III;7.8;Mar 15, 2005 +90;Sid Meier's Civilization V;7.8;Sep 21, 2010 +90;Falcon 4.0: Allied Force;8.6;Jun 28, 2005 +90;Deus Ex: Human Revolution;8.5;Aug 23, 2011 +90;Dark Souls III;8.2;Apr 12, 2016 +90;Flight Simulator 2002;8.4;Oct 19, 2001 +90;Brothers: A Tale of Two Sons;8.5;Sep 3, 2013 +90;Dota 2;6.2;Jul 9, 2013 +90;Guild Wars 2;7.9;Aug 28, 2012 +90;Freedom Force;8.0;Mar 24, 2002 +90;GTR 2;8.7;Sep 29, 2006 +90;Grand Theft Auto IV;6.5;Dec 2, 2008 +90;Total War: Shogun 2;8.3;Mar 15, 2011 +90;Empire: Total War;6.9;Mar 3, 2009 +90;Command & Conquer: Red Alert;8.9;Oct 31, 1996 +89;Star Wars Jedi Knight II: Jedi Outcast;8.6;Mar 26, 2002 +89;The Walking Dead: A Telltale Games Series;8.7;Dec 11, 2012 +89;Age of Mythology;8.9;Nov 1, 2002 +89;Sacrifice;8.8;Nov 5, 2000 +89;The Witcher 3: Wild Hunt - Hearts of Stone;8.4;Oct 13, 2015 +89;Pillars of Eternity;8.3;Mar 26, 2015 +89;The Elder Scrolls III: Morrowind;9.0;May 1, 2002 +89;Rocksmith 2014 Edition;7.9;Oct 22, 2013 +89;Fallout;8.9;Sep 30, 1997 +89;World Soccer Winning Eleven 9;8.4;Apr 28, 2006 +89;Worldwide Soccer Manager 2005;8.7;Dec 7, 2004 +89;Left 4 Dead;9.2;Nov 18, 2008 +89;Left 4 Dead 2;8.5;Nov 17, 2009 +89;NASCAR Racing 2002 Season;5.8;Feb 14, 2002 +89;Mass Effect;8.6;May 28, 2008 +89;Combat Mission: Barbarossa to Berlin;8.3;Oct 29, 2002 +89;Homeworld: Cataclysm;8.9;Sep 7, 2000 +89;The Walking Dead: Episode 5 - No Time Left;8.9;Nov 21, 2012 +89;Guild Wars;8.4;Apr 26, 2005 +89;Borderlands 2;8.2;Sep 18, 2012 +89;Max Payne;9.1;Jul 23, 2001 +89;Out of the Park Baseball 15;7.2;Apr 21, 2014 +89;World in Conflict;8.1;Sep 18, 2007 +89;NASCAR Racing 4;8.2;Feb 6, 2001 +89;Duke Nukem 3D;8.8;Jan 31, 1996 +89;Far Cry;8.0;Mar 23, 2004 +89;FIFA Soccer 12;7.1;Sep 27, 2011 +89;XCOM: Enemy Unknown;8.2;Oct 9, 2012 +89;Mass Effect 3;5.4;Mar 6, 2012 +89;Rise of Nations;9.0;May 20, 2003 +89;NASCAR Racing 2003 Season;8.6;Feb 14, 2003 +89;Descent 3;8.3;Jun 14, 2000 +89;The Curse of Monkey Island;9.1;Oct 31, 1997 +89;Battlefield 3;7.5;Oct 25, 2011 +89;Battlefield 1942;8.6;Sep 10, 2002 +89;Madden NFL 2003;8.4;Aug 12, 2002 +89;DiRT 2;8.3;Dec 10, 2009 +89;Stardew Valley;8.5;Feb 26, 2016 +89;Prince of Persia: The Sands of Time;8.6;Nov 30, 2003 +89;Railroad Tycoon II;8.4;Oct 31, 1998 +88;Microsoft Flight Simulator 2004: A Century of Flight;8.2;Jul 29, 2003 +88;Medieval: Total War;8.8;Aug 19, 2002 +88;Mafia;9.1;Aug 27, 2002 +88;LIMBO;8.1;Aug 2, 2011 +88;Nuclear Throne;7.4;Dec 5, 2015 +88;Crusader Kings II: The Old Gods;8.8;May 28, 2013 +88;Assassin's Creed: Brotherhood;8.2;Mar 22, 2011 +88;Superbike 2001;6.5;Oct 9, 2000 +88;F.E.A.R.;8.3;Oct 17, 2005 +88;Kerbal Space Program;8.1;Apr 27, 2015 +88;Tribes 2;8.5;Mar 28, 2001 +88;Age of Empires II: The Conquerors Expansion;9.0;Aug 24, 2000 +88;Tiger Woods PGA Tour 2004;8.8;Sep 22, 2003 +88;Warcraft III: The Frozen Throne;9.0;Jul 1, 2003 +88;Starcraft;9.1;Apr 1, 1998 +88;Far Cry 3;8.2;Dec 4, 2012 +88;XCOM 2;7.0;Feb 5, 2016 +88;World Soccer Winning Eleven 8 International;8.5;Feb 16, 2005 +88;Torchlight II;8.6;Sep 20, 2012 +88;Myth II: Soulblighter;9.0;Nov 30, 1998 +88;Return to Castle Wolfenstein;8.7;Nov 19, 2001 +88;Shogo: Mobile Armor Division;8.9;Sep 30, 1998 +88;Thirty Flights of Loving;5.0;Aug 20, 2012 +88;Hearthstone: Heroes of Warcraft;6.3;Mar 11, 2014 +88;Medieval II: Total War;8.9;Nov 13, 2006 +88;F1 2002;7.6;Jun 13, 2002 +88;The Stanley Parable;8.0;Oct 17, 2013 +88;BioShock 2;8.0;Feb 9, 2010 +88;Counter-Strike: Source;8.9;Sep 26, 2005 +88;Starcraft II: Legacy of the Void;8.3;Nov 10, 2015 +88;Diablo III;4.0;May 15, 2012 +88;Rise of Nations: Thrones & Patriots;8.8;Apr 27, 2004 +88;Sid Meier's Pirates!;8.3;Nov 22, 2004 +88;EVE Online: Special Edition;7.8;Mar 10, 2009 +88;Guacamelee! Gold Edition;7.3;Aug 8, 2013 +88;Armadillo Run;8.2;Apr 22, 2006 +88;Dark Age of Camelot;8.9;Sep 1, 2001 +88;Baldur's Gate II: Throne of Bhaal;8.9;Jun 21, 2001 +88;Counter-Strike;9.3;Nov 8, 2000 +88;Tony Hawk's Pro Skater 4;8.4;Aug 27, 2003 +88;Ori and the Blind Forest;8.7;Mar 11, 2015 +88;Diablo II;8.8;Jun 29, 2000 +88;The Witcher 2: Assassins of Kings;8.5;May 17, 2011 +87;Plants vs. Zombies;8.9;Aug 18, 2009 +87;Doom 3;7.5;Aug 3, 2004 +87;Super Meat Boy;8.3;Apr 5, 2011 +87;Football Manager 2010;9.1;Nov 3, 2009 +87;Oddworld: Abe's Oddysee - New 'n' Tasty;7.8;Feb 25, 2015 +87;Tom Clancy's Splinter Cell: Pandora Tomorrow;8.0;Mar 23, 2004 +87;Europa Universalis II;8.8;Nov 12, 2001 +87;Burnout Paradise: The Ultimate Box;7.5;Feb 5, 2009 +87;Battlefield: Bad Company 2;8.3;Mar 2, 2010 +87;GRID;7.9;Jun 3, 2008 +87;Crypt of the NecroDancer;7.7;Apr 23, 2015 +87;Sins of a Solar Empire;8.2;Feb 4, 2008 +87;MechWarrior 4: Vengeance;8.2;Nov 23, 2000 +87;Thief II: The Metal Age;9.1;Feb 29, 2000 +87;Diablo II: Lord of Destruction;9.1;Jun 27, 2001 +87;Monkey Island 2 Special Edition: LeChuck's Revenge;9.0;Jul 7, 2010 +87;Half-Life 2: Episode One;8.6;Jun 1, 2006 +87;The Swapper;8.7;May 30, 2013 +87;Hitman 2: Silent Assassin;8.2;Oct 1, 2002 +87;Year Walk;7.0;Mar 6, 2014 +87;Max Payne 3;7.6;Jun 1, 2012 +87;TowerFall Ascension;6.6;Mar 11, 2014 +87;Battlefield 3: Armored Kill;7.0;Sep 11, 2012 +87;NHL 2002;8.7;Sep 17, 2001 +87;Icewind Dale;8.3;Jun 29, 2000 +87;The Witness;6.6;Jan 26, 2016 +87;Brothers in Arms: Road to Hill 30;7.1;Mar 15, 2005 +87;Kohan: Immortal Sovereigns;8.6;Mar 14, 2001 +87;Day of the Tentacle Remastered;7.9;Mar 21, 2016 +87;Dead Space 2;8.3;Jan 25, 2011 +87;Diablo III: Reaper of Souls;6.6;Mar 25, 2014 +87;Shogun: Total War Warlord Edition;8.7;Aug 13, 2001 +87;Serious Sam: The First Encounter;8.4;Mar 21, 2001 +87;Grand Prix 3;8.3;Aug 24, 2000 +87;Call of Duty: United Offensive;8.3;Sep 14, 2004 +87;Divinity: Original Sin;8.7;Jan 17, 2014 +87;Company of Heroes: Opposing Fronts;8.6;Sep 24, 2007 +87;Psychonauts;8.9;Apr 19, 2005 +87;Gears of War;7.8;Nov 6, 2007 +87;Out of the Park Baseball 4;7.8;Feb 28, 2002 +87;Europa Universalis IV;8.7;Aug 13, 2013 +87;NHL 2004;8.2;Sep 22, 2003 +87;Zeus: Master of Olympus;9.0;Oct 22, 2000 +87;World of Warcraft: Warlords of Draenor;6.0;Nov 13, 2014 +87;Warhammer 40,000: Dawn of War - Dark Crusade;8.9;Oct 9, 2006 +87;Commandos 2: Men of Courage;8.8;Sep 20, 2001 +86;Tales From The Borderlands: Episode 5 - The Vault of the Traveler;8.7;Oct 20, 2015 +86;Bastion;8.6;Aug 16, 2011 +86;Gone Home;5.4;Aug 15, 2013 +86;Pac-Man Championship Edition DX +;7.3;Sep 24, 2013 +86;Supreme Commander;8.3;Feb 20, 2007 +86;Total War: Shogun 2 - Fall of the Samurai;8.4;Mar 23, 2012 +86;Startopia;8.7;Jun 19, 2001 +86;Enemy Engaged: RAH-66 Comanche Versus Ka-52 Hokum;8.3;Jul 31, 2000 +86;Fallout 2;9.2;Sep 30, 1998 +86;Final Fantasy XIV: Heavensward;7.7;Jun 23, 2015 +86;Football Manager 2013;6.7;Nov 1, 2012 +86;Out of the Park Baseball 14;8.6;Apr 15, 2013 +86;The Witcher: Enhanced Edition;8.5;Sep 16, 2008 +86;Borderlands: The Secret Armory of General Knoxx;7.6;Feb 25, 2010 +86;Call of Duty 2;8.3;Oct 25, 2005 +86;Astebreed;7.3;May 30, 2014 +86;Ground Control;7.8;May 31, 2000 +86;Rise of the Tomb Raider;8.0;Jan 28, 2016 +86;Resident Evil 5;7.1;Sep 18, 2009 +86;Saints Row IV;7.4;Aug 20, 2013 +86;Black Mesa;9.0;Sep 14, 2012 +86;EverQuest: Omens of War;7.7;Sep 13, 2004 +86;Steel Beasts;8.4;Sep 24, 2000 +86;Total Annihilation;8.9;Sep 30, 1997 +86;Need for Speed: Hot Pursuit;6.7;Nov 16, 2010 +86;FIFA Soccer 13;6.6;Sep 25, 2012 +86;Sid Meier's Civilization IV: Beyond the Sword;8.6;Jul 23, 2007 +86;The Sims 3;7.6;Jun 2, 2009 +86;Freedom Force vs The 3rd Reich;7.7;Mar 8, 2005 +86;The Binding of Isaac: Rebirth;8.3;Nov 4, 2014 +86;Tribes: Ascend;7.7;Apr 12, 2012 +86;Titanfall;6.1;Mar 11, 2014 +86;Rayman Origins;8.4;Mar 29, 2012 +86;Her Story;5.7;Jun 24, 2015 +86;Starcraft II: Heart of the Swarm;7.9;Mar 12, 2013 +86;Mass Effect 2: Lair of the Shadow Broker;8.5;Sep 7, 2010 +86;LEGO Star Wars II: The Original Trilogy;8.3;Sep 12, 2006 +86;Dungeon Siege;7.9;Mar 31, 2002 +86;Crysis 2;6.7;Mar 22, 2011 +86;Call of Duty: Modern Warfare 2;4.1;Nov 10, 2009 +86;The Secret of Monkey Island: Special Edition;9.1;Jul 15, 2009 +86;Max Payne 2: The Fall of Max Payne;9.0;Oct 14, 2003 +86;Homeworld Remastered Collection;8.2;Feb 25, 2015 +86;Galactic Civilizations II: Dread Lords;8.0;Feb 21, 2006 +86;Tomb Raider;8.5;Mar 5, 2013 +86;Star Trek: Voyager Elite Force;8.2;Sep 20, 2000 +86;Worldwide Soccer Manager 2008;8.4;Oct 23, 2007 +86;IL-2 Sturmovik: Forgotten Battles;8.6;Mar 2, 2003 +86;Hyper Light Drifter;8.1;Mar 31, 2016 +86;DiRT 3;6.9;May 24, 2011 +86;Unreal Tournament 2003;8.1;Sep 30, 2002 +86;Age of Wonders II: The Wizard's Throne;8.4;Jun 12, 2002 +86;Links 2001;6.8;Oct 24, 2000 +86;EverQuest: The Ruins of Kunark;8.8;Mar 31, 2000 +86;Full Throttle;8.8;Apr 30, 1995 +86;The Lord of the Rings Online: Shadows of Angmar;8.1;Apr 24, 2007 +86;Pony Island;6.8;Jan 4, 2016 +86;Warhammer 40,000: Dawn of War;8.8;Sep 20, 2004 +86;Warhammer Online: Age of Reckoning;7.9;Sep 16, 2008 +86;Dead Space;8.0;Oct 20, 2008 +86;Bionic Commando Rearmed;7.0;Aug 13, 2008 +86;Command & Conquer: Red Alert 2 - Yuri's Revenge;9.0;Oct 10, 2001 +86;Europa Universalis;8.1;Feb 2, 2001 +86;Escape from Monkey Island;8.2;Nov 8, 2000 +86;IL-2 Sturmovik: 1946;8.8;Mar 13, 2007 +86;XCOM: Enemy Within;7.9;Nov 12, 2013 +86;Battlefield 3: Back to Karkand;7.2;Dec 13, 2011 +86;Heroes of the Storm;6.7;Jun 2, 2015 +86;Civilization III: Conquests;8.4;Nov 4, 2003 +86;Path of Exile;8.0;Jan 25, 2013 +86;Battlefield: Bad Company 2 Vietnam;8.1;Dec 18, 2010 +86;Assassin's Creed II;6.8;Mar 9, 2010 +86;The Elder Scrolls IV: Shivering Isles;8.4;Mar 26, 2007 +86;DiRT Rally;8.8;Dec 7, 2015 +86;Rocket League;8.1;Jul 7, 2015 +86;Allegiance;8.2;Mar 31, 2000 +85;The Talos Principle;8.5;Dec 11, 2014 +85;Cities: Skylines;8.9;Mar 10, 2015 +85;Falcon 4.0;8.0;Nov 30, 1998 +85;Tom Clancy's Rainbow Six;8.6;Jul 31, 1998 +85;Madden NFL 2005;6.4;Sep 14, 2004 +85;Legend of Grimrock II;8.0;Oct 15, 2014 +85;Sam & Max Episode 205: What's New, Beelzebub?;8.6;Apr 10, 2008 +85;Dragon Age: Inquisition;5.8;Nov 18, 2014 +85;Tales from the Borderlands: A Telltale Game Series;8.7;Apr 26, 2016 +85;Tom Clancy's Rainbow Six: Vegas;7.7;Dec 12, 2006 +85;City of Heroes;8.5;Apr 27, 2004 +85;SWAT 4;8.6;Apr 5, 2005 +85;Clive Barker's Undying;8.7;Feb 21, 2001 +85;EverQuest;8.2;Mar 16, 1999 +85;Warhammer 40,000: Dawn of War II;8.1;Feb 18, 2009 +85;Command & Conquer 3: Tiberium Wars;8.0;Mar 26, 2007 +85;Bit.Trip Presents...Runner2: Future Legend of Rhythm Alien;8.2;Feb 26, 2013 +85;Hotline Miami;8.5;Oct 23, 2012 +85;Out of the Park Baseball 13;8.2;Apr 9, 2012 +85;Wizardry 8;8.6;Nov 14, 2001 +85;Aliens Versus Predator 2;8.7;Oct 31, 2001 +85;Operation Flashpoint: Cold War Crisis;9.0;Aug 30, 2001 +85;Tropico;8.4;Apr 5, 2001 +85;Giants: Citizen Kabuto;8.9;Dec 6, 2000 +85;NASCAR SimRacing;4.9;Feb 15, 2005 +85;The Lord of the Rings Online: Mines of Moria;8.3;Nov 17, 2008 +85;The Binding of Isaac: Afterbirth;8.1;Oct 30, 2015 +85;Amnesia: The Dark Descent;8.6;Feb 17, 2011 +85;GTR FIA Racing;8.6;May 3, 2005 +85;Football Manager 2011;8.4;Nov 23, 2010 +85;Dust: An Elysian Tail;8.5;May 24, 2013 +85;South Park: The Stick of Truth;8.6;Mar 4, 2014 +85;Dark Souls: Prepare to Die Edition;7.4;Aug 24, 2012 +85;Medieval II: Total War Kingdoms;8.8;Aug 28, 2007 +85;Shovel Knight;7.9;Jun 26, 2014 +85;DmC: Devil May Cry;6.7;Jan 24, 2013 +85;Peggle Deluxe;8.1;Feb 19, 2008 +85;Monopoly Tycoon;8.0;Sep 24, 2001 +85;Indigo Prophecy;8.3;Oct 2, 2005 +85;Prince of Persia: The Two Thrones;8.0;Dec 1, 2005 +85;Sam & Max Episode 204: Chariots of the Dogs;8.1;Mar 13, 2008 +85;Assetto Corsa;8.4;Dec 19, 2014 +85;Machinarium;8.8;Oct 16, 2009 +85;Frozen Synapse;7.7;May 26, 2011 +85;Valkyria Chronicles;8.3;Nov 11, 2014 +85;Freelancer;8.9;Mar 3, 2003 +85;Zenzizenzic;5.9;Jul 23, 2015 +85;The Wolf Among Us: Episode 1 - Faith;9.0;Oct 11, 2013 +85;Mega Man Legacy Collection;7.3;Aug 25, 2015 +85;Warhammer 40,000: Dawn of War II - Chaos Rising;8.7;Mar 11, 2010 +85;Far Cry 2;5.8;Oct 21, 2008 +85;The Walking Dead: Episode 3 - Long Road Ahead;8.4;Aug 29, 2012 +85;AudioSurf;8.8;Feb 15, 2008 +85;BattleBlock Theater;8.0;May 15, 2014 +85;Star Wars: Knights of the Old Republic II - The Sith Lords;8.4;Feb 8, 2005 +85;MVP Baseball 2005;8.1;Feb 22, 2005 +85;The Elder Scrolls III: Bloodmoon;8.5;Jun 3, 2003 +85;Rogue Legacy;7.9;Jun 27, 2013 +85;Chaos Reborn;8.4;Oct 26, 2015 +85;Thief: Deadly Shadows;8.4;May 25, 2004 +85;Football Manager 2014;5.4;Oct 30, 2013 +85;System Shock: Enhanced Edition;7.9;Sep 22, 2015 +85;EverQuest: Gates of Discord;6.8;Feb 9, 2004 +85;FIFA 2001 Major League Soccer;7.3;Oct 30, 2000 +85;Sid Meier's Civilization V: Brave New World;8.6;Jul 9, 2013 +85;Final Fantasy XI;7.5;Oct 28, 2003 +85;Serious Sam: The Second Encounter;8.5;Feb 4, 2002 +85;The Sims: Hot Date;7.9;Nov 12, 2001 +85;American McGee's Alice;8.2;Dec 6, 2000 +85;Trials Evolution: Gold Edition;6.7;Mar 21, 2013 +85;Warhammer 40,000: Dawn of War - Winter Assault;8.3;Sep 21, 2005 +85;Tony Hawk's Underground 2;7.9;Oct 4, 2004 +85;Papers, Please;8.5;Aug 8, 2013 +85;Star Wars: The Old Republic;5.9;Dec 20, 2011 +85;Anarchy Online: Shadowlands;8.7;Sep 8, 2003 +85;Dark Age of Camelot: Shrouded Isles;8.8;Dec 2, 2002 +85;Obsidian;8.3;Dec 31, 1996 +84;The Walking Dead: Episode 2 - Starved for Help;8.6;Jun 29, 2012 +84;Saints Row: The Third;8.1;Nov 15, 2011 +84;Fallout: New Vegas;8.5;Oct 19, 2010 +84;The Movies;8.3;Nov 8, 2005 +84;Neverwinter Nights: Hordes of the Underdark;8.6;Dec 2, 2003 +84;Command & Conquer: Generals;8.3;Feb 10, 2003 +84;Sid Meier's SimGolf;8.2;Jan 23, 2002 +84;Middle-earth: Shadow of Mordor;8.0;Sep 30, 2014 +84;SpaceChem;8.4;Mar 2, 2011 +84;Downwell;6.2;Oct 15, 2015 +84;Pinball FX 2;8.0;Oct 27, 2012 +84;Devil Daggers;6.7;Feb 18, 2016 +84;PlanetSide 2;7.0;Nov 20, 2012 +84;Enter the Gungeon;7.4;Apr 5, 2016 +84;GT Legends;8.6;Jan 23, 2006 +84;Hearthstone: Goblins Vs. Gnomes;6.6;Dec 8, 2014 +84;Space Rangers 2: Rise of the Dominators;9.0;Mar 27, 2006 +84;Tales From The Borderlands: Episode 1 - Zer0 Sum;8.4;Nov 25, 2014 +84;Puzzle Quest: Challenge of the Warlords;8.3;Oct 10, 2007 +84;Heroes of Might and Magic IV;7.6;Mar 29, 2002 +84;Command & Conquer: Red Alert 2;8.9;Oct 21, 2000 +84;Shogun: Total War;8.7;Jun 13, 2000 +84;DiRT;7.2;Jun 19, 2007 +84;Darkest Dungeon;8.0;Jan 19, 2016 +84;Super Street Fighter IV: Arcade Edition;7.8;Jul 13, 2011 +84;Football Manager 2012;8.0;Oct 20, 2011 +84;Guild Wars Factions;8.5;Apr 28, 2006 +84;80 Days (2015);6.1;Sep 29, 2015 +84;Spore;5.2;Sep 7, 2008 +84;Unity of Command;7.2;Nov 15, 2011 +84;Hearthstone: The Grand Tournament;4.0;Aug 24, 2015 +84;Metro Redux;8.0;Aug 26, 2014 +84;Time Gentlemen, Please!;7.6;Jul 2, 2009 +84;Europa Universalis IV: Wealth of Nations;8.4;May 29, 2014 +84;Mass Effect 3: Citadel;7.8;Mar 5, 2013 +84;Disciples II: Dark Prophecy;8.6;Jan 22, 2002 +84;Just Cause 2;7.7;Mar 23, 2010 +84;Crysis Warhead;7.9;Sep 16, 2008 +84;Assassin's Creed IV: Black Flag;7.7;Nov 19, 2013 +84;Age of Mythology: The Titans;8.7;Sep 30, 2003 +84;SimCity 4;8.7;Jan 12, 2003 +84;Microsoft Train Simulator;8.4;May 31, 2001 +84;Rise of Nations: Rise of Legends;8.5;May 9, 2006 +84;TOCA Race Driver 3;7.8;Feb 24, 2006 +84;FTL: Faster Than Light;8.4;Sep 14, 2012 +84;SOMA;8.2;Sep 22, 2015 +84;DEFCON: Everybody Dies;8.3;Mar 26, 2007 +84;Tron 2.0;8.3;Aug 26, 2003 +84;Brothers in Arms: Earned in Blood;7.3;Oct 6, 2005 +84;Grim Fandango Remastered;8.0;Jan 27, 2015 +84;The Lord of the Rings: The Battle for Middle-Earth II;7.5;Mar 2, 2006 +84;Battlefield Vietnam;7.4;Mar 16, 2004 +84;Medieval: Total War - Viking Invasion;8.8;May 7, 2003 +84;Fallout 4;5.4;Nov 10, 2015 +84;Guild Wars Nightfall;8.7;Oct 26, 2006 +84;The Binding of Isaac;8.3;Sep 28, 2011 +84;Enemy Territory: Quake Wars;8.3;Oct 2, 2007 +84;Trine 2;8.4;Dec 7, 2011 +84;Rift;7.3;Mar 1, 2011 +84;The Wolf Among Us: Episode 5 - Cry Wolf;8.8;Jul 8, 2014 +84;Shift 2: Unleashed;6.1;Mar 29, 2011 +84;Sid Meier's Civilization IV: Warlords;8.2;Jul 24, 2006 +84;Battlefield 1942: The Road to Rome;7.9;Feb 2, 2003 +84;Poseidon;8.4;Jun 25, 2001 +84;F1 2010;6.6;Sep 22, 2010 +84;Shatter;7.4;Mar 15, 2010 +84;Darwinia;7.9;Jun 12, 2006 +84;Ultimate General: Gettysburg;8.0;Oct 16, 2014 +83;Final Fantasy XI: Treasures of Aht Urhgan;7.6;Apr 18, 2006 +83;MDK2;8.4;May 31, 2000 +83;Gunpoint;8.4;Jun 3, 2013 +83;Beyond Good & Evil;8.7;Nov 19, 2003 +83;Anno 2070;7.0;Nov 17, 2011 +83;SMITE;8.3;Mar 25, 2014 +83;Halo: Combat Evolved;7.4;Sep 30, 2003 +83;Grim Dawn;8.9;Feb 25, 2016 +83;Silent Storm;8.9;Jan 20, 2004 +83;Command & Conquer: Generals - Zero Hour;9.0;Sep 22, 2003 +83;Homeworld 2;8.3;Sep 16, 2003 +83;Galactic Civilizations;8.1;Mar 26, 2003 +83;EverQuest: The Shadows of Luclin;7.2;Dec 2, 2001 +83;Orcs Must Die!;8.1;Oct 11, 2011 +83;Life is Strange;8.6;Jan 19, 2016 +83;Fable: The Lost Chapters;8.7;Sep 20, 2005 +83;Unreal Tournament III;8.0;Nov 19, 2007 +83;The Blackwell Epiphany;7.6;Apr 24, 2014 +83;The Lord of the Rings Online: Siege of Mirkwood;7.1;Dec 1, 2009 +83;Out of the Park Baseball 10;8.3;Jun 2, 2009 +83;Tomb Raider: Anniversary;8.0;Jun 5, 2007 +83;Need for Speed: Shift;5.7;Sep 15, 2009 +83;Hearts of Iron II;8.6;Jan 4, 2005 +83;FIFA Soccer 11;7.6;Sep 28, 2010 +83;Project CARS;7.0;May 6, 2015 +83;FIFA Soccer 2003;6.8;Nov 2, 2002 +83;Icewind Dale II;8.3;Aug 26, 2002 +83;Age of Empires;8.8;Sep 30, 1997 +83;EverQuest II: Echoes of Faydwer;8.4;Nov 13, 2006 +83;EverQuest II;7.3;Nov 8, 2004 +83;Terraria;8.5;May 16, 2011 +83;Final Fantasy XIV Online: A Realm Reborn;6.7;Aug 27, 2013 +83;Card Hunter (2013);7.9;Sep 12, 2013 +83;Sam & Max: The Devil's Playhouse - Episode 2: The Tomb of Sammun-Mak;7.9;May 18, 2010 +83;This War of Mine;8.4;Nov 14, 2014 +83;Darksiders;7.7;Sep 23, 2010 +83;Tom Clancy's Rainbow Six 3: Raven Shield;8.9;Mar 19, 2003 +83;World of Outlaws: Sprint Cars;7.9;Feb 11, 2003 +83;Colin McRae Rally 2.0;8.4;Feb 14, 2001 +83;Combat Flight Simulator 2: WWII Pacific Theater;8.1;Oct 13, 2000 +83;Orcs Must Die! 2;7.9;Jul 30, 2012 +83;Prey;7.9;Jul 11, 2006 +83;Metal Gear Rising: Revengeance;7.9;Jan 9, 2014 +83;Starseed Pilgrim;6.3;Apr 16, 2013 +83;Age of Conan: Rise of the Godslayer;8.4;May 11, 2010 +83;Alan Wake;8.0;Feb 16, 2012 +83;Tiger Woods PGA Tour 2002;5.0;Feb 24, 2002 +83;Monaco: What's Yours Is Mine;7.7;Apr 24, 2013 +83;Transistor;8.3;May 20, 2014 +83;Helldivers;6.9;Dec 7, 2015 +83;Worldwide Soccer Manager 2009;8.1;Nov 18, 2008 +83;Call of Duty: World at War;7.5;Nov 10, 2008 +83;Torchlight;8.0;Jan 5, 2010 +83;Prison Architect;8.3;Oct 6, 2015 +83;Valdis Story: Abyssal City;8.1;Oct 30, 2013 +83;Crimson Skies;8.2;Sep 17, 2000 +83;RACE 07: Official WTCC Game;9.0;Oct 9, 2007 +83;SUPERHOT;7.6;Feb 25, 2016 +83;EverQuest II: Rise of Kunark;7.9;Nov 13, 2007 +83;Dark Age of Camelot: Catacombs;8.6;Dec 7, 2004 +83;Spore Creature Creator;8.1;Jun 17, 2008 +83;Colin McRae Rally 2005;7.0;Oct 28, 2004 +83;Tom Clancy's Splinter Cell: Conviction;5.2;Apr 27, 2010 +83;Tribes: Vengeance;7.6;Oct 12, 2004 +83;L.A. Noire: The Complete Edition;7.9;Nov 8, 2011 +83;GTR Evolution;8.2;Sep 2, 2008 +83;Life is Strange: Episode 5 - Polarized;8.4;Oct 20, 2015 +83;BROFORCE;8.0;Oct 15, 2015 +83;Independence War 2: Edge of Chaos;8.4;Aug 22, 2001 +83;Myst III: Exile;8.2;May 8, 2001 +83;Superbrothers: Sword & Sworcery EP;6.4;Apr 16, 2012 +83;Sid Meier's Civilization IV: Colonization;6.7;Sep 22, 2008 +83;Europa Universalis III;8.4;Jan 23, 2007 +83;F1 2011;7.2;Sep 20, 2011 +83;Prince of Persia: Warrior Within;8.4;Nov 30, 2004 +83;Danganronpa: Trigger Happy Havoc;7.6;Feb 18, 2016 +83;Counter-Strike: Global Offensive;7.8;Aug 21, 2012 +83;Outland;7.1;Sep 29, 2014 +83;MechWarrior 4: Mercenaries;8.6;Nov 7, 2002 +83;Metal Gear Solid;9.0;Sep 24, 2000 +82;Invisible, Inc.;8.0;May 12, 2015 +82;Dark Souls II: Crown of the Ivory King;7.8;Sep 29, 2014 +82;Red Faction: Guerrilla;7.5;Sep 15, 2009 +82;The Book of Unwritten Tales;8.2;Oct 28, 2011 +82;Capitalism II;9.0;Dec 16, 2001 +82;Rally Trophy;8.5;Nov 20, 2001 +82;Dawn of Discovery;8.8;Jun 17, 2009 +82;City of Villains;8.1;Oct 31, 2005 +82;Kentucky Route Zero - Act II;8.0;May 31, 2013 +82;Tom Clancy's Splinter Cell: Blacklist;7.4;Aug 20, 2013 +82;Act of War: Direct Action;8.5;Mar 15, 2005 +82;Sokobond;7.8;Aug 27, 2013 +82;Sam & Max Episode 105: Reality 2.0;8.4;Mar 29, 2007 +82;Bejeweled 3;8.0;Dec 7, 2010 +82;Dangerous Waters;8.8;Feb 22, 2005 +82;Tomb Raider: Legend;7.8;Apr 11, 2006 +82;Asheron's Call 2: Fallen Kings;8.8;Nov 20, 2002 +82;Gemini Rue;8.4;Feb 24, 2011 +82;Antichamber;8.2;Jan 31, 2013 +82;Neverwinter Nights 2;6.5;Oct 31, 2006 +82;Dragon Age: Origins - Awakening;7.7;Mar 16, 2010 +82;Door Kickers;8.2;Oct 20, 2014 +82;Hearthstone: Blackrock Mountain;6.4;Apr 2, 2015 +82;Rome: Total War Barbarian Invasion;8.4;Sep 27, 2005 +82;Hacknet;7.3;Aug 12, 2015 +82;Tales of Monkey Island Chapter 3: Lair of the Leviathan;7.8;Sep 29, 2009 +82;Neverwinter Nights 2: Mask of The Betrayer;8.8;Oct 9, 2007 +82;Sins of a Solar Empire: Rebellion;7.8;Jun 12, 2012 +82;Broken Sword: The Sleeping Dragon;7.6;Nov 17, 2003 +82;Age of Wonders: Shadow Magic;8.5;Jul 25, 2003 +82;Tom Clancy's Ghost Recon: Desert Siege;8.4;Mar 27, 2002 +82;Warlords Battlecry II;8.5;Mar 11, 2002 +82;Football Manager Live;2.9;Jan 23, 2009 +82;Marvel: Ultimate Alliance;8.3;Oct 24, 2006 +82;The Talos Principle: Road To Gehenna;7.6;Jul 23, 2015 +82;Lara Croft and the Guardian of Light;8.2;Sep 28, 2010 +82;Aquaria;8.3;Dec 7, 2007 +82;Need for Speed: Underground;8.3;Nov 17, 2003 +82;TrackMania Sunrise;8.5;May 6, 2005 +82;King's Quest Chapter 1: A Knight to Remember;7.2;Jul 28, 2015 +82;Dragon Age II;4.4;Mar 8, 2011 +82;Endless Legend;7.9;Apr 24, 2014 +82;Tom Clancy's Ghost Recon: Island Thunder;8.3;Sep 25, 2002 +82;S.T.A.L.K.E.R.: Shadow of Chernobyl;8.4;Mar 20, 2007 +82;Kero Blaster;6.9;May 11, 2014 +82;Monday Night Combat;7.3;Jan 24, 2011 +82;The Wolf Among Us: Episode 3 - A Crooked Mile;8.6;Apr 8, 2014 +82;Airborne Assault: Red Devils Over Arnhem;7.4;Jun 17, 2002 +82;Fallout Tactics: Brotherhood of Steel;7.9;Mar 14, 2001 +82;Need for Speed: Underground 2;8.5;Nov 9, 2004 +82;NHL Eastside Hockey Manager 2005;6.6;Oct 5, 2005 +82;Legend of Grimrock;8.1;Apr 11, 2012 +82;Dominions 3: The Awakening;8.1;Sep 29, 2006 +82;Bulletstorm;7.7;Feb 22, 2011 +82;Borderlands 2: Mr. Torgue's Campaign of Carnage;7.3;Nov 20, 2012 +82;Desktop Dungeons;8.2;Oct 17, 2010 +82;Fallout: New Vegas - Old World Blues;7.8;Jul 19, 2011 +82;Crusader Kings II;8.7;Feb 14, 2012 +82;MVP Baseball 2004;7.9;Mar 9, 2004 +82;Europa 1400: The Guild;8.6;Nov 18, 2002 +82;Battle Realms;8.6;Nov 7, 2001 +82;Warlords Battlecry;8.2;Jul 9, 2000 +82;Sam & Max Episode 201: Ice Station Santa;8.6;Nov 8, 2007 +82;Technobabylon;7.8;May 21, 2015 +82;World of Warcraft: Mists of Pandaria;4.8;Sep 25, 2012 +82;FIFA 15;4.2;Sep 23, 2014 +82;Recettear: An Item Shop's Tale;8.6;Sep 10, 2010 +82;ETHER One;6.9;Mar 25, 2014 +82;The Vanishing of Ethan Carter;8.1;Sep 25, 2014 +82;Flight Simulator X: Acceleration;7.3;Oct 23, 2007 +82;Blood;9.0;May 31, 1997 +82;Command & Conquer: Red Alert 3;6.8;Oct 28, 2008 +82;The Walking Dead: Episode 1 - A New Day;8.4;Apr 24, 2012 +82;Links 2003;6.8;Sep 16, 2002 +82;Earth & Beyond;7.1;Sep 2, 2002 +82;Syberia;8.5;Sep 1, 2002 +82;Virtual Pool 3;7.3;Nov 14, 2000 +82;The Sims: Livin' Large;6.6;Aug 27, 2000 +82;DCS: Black Shark;8.5;Apr 13, 2009 +82;King's Bounty: Armored Princess;8.7;Sep 10, 2010 +82;Age of Wonders III - Golden Realms;8.5;Sep 18, 2014 +82;Strong Bad's Cool Game for Attractive People Episode 5: 8-Bit Is Enough;7.5;Dec 15, 2008 +82;Prince of Persia;7.2;Dec 2, 2008 +82;Joint Operations: Typhoon Rising;8.7;Jun 15, 2004 +82;Xpand Rally;7.4;Apr 20, 2006 +82;Dark Souls II: Crown of the Sunken King;7.3;Jul 22, 2014 +82;Resident Evil HD Remaster;8.2;Jan 20, 2015 +82;Celtic Kings: Rage of War;8.5;Aug 21, 2002 +82;B-17 Flying Fortress: The Mighty 8th;7.3;Dec 13, 2000 +82;EverQuest: The Scars of Velious;7.8;Dec 4, 2000 +82;Metro: Last Light;8.6;May 14, 2013 +82;Rising Storm;8.5;May 30, 2013 +82;Lethal League;7.4;Aug 27, 2014 +82;Botanicula;8.3;Apr 19, 2012 +82;Pro Evolution Soccer 2015;5.8;Nov 13, 2014 +82;Bookworm Adventures Deluxe;7.9;Dec 20, 2006 +82;The Lord of the Rings: The Battle for Middle-Earth;8.6;Dec 6, 2004 +82;Hitman: Blood Money;8.8;May 30, 2006 +82;Need for Speed: Most Wanted;8.5;Nov 15, 2005 +82;OlliOlli2: Welcome to Olliwood;5.2;Aug 11, 2015 +82;WildStar;7.4;Jun 3, 2014 +82;Broken Age: Act 1;7.7;Jan 28, 2014 +82;Divinity II: The Dragon Knight Saga;8.2;Nov 5, 2010 +82;Out of the Park Baseball 9;7.4;Jun 1, 2008 +82;The Simpsons: Hit & Run;8.0;Nov 13, 2003 +82;America's Army;6.1;Aug 28, 2002 +82;Star Trek Bridge Commander;8.1;Feb 27, 2002 +82;The Last Express;8.9;Mar 31, 1997 +81;Quake 4;7.5;Oct 11, 2005 +81;Nidhogg;7.0;Jan 13, 2014 +81;Battlefield 4;6.0;Oct 29, 2013 +81;To the Moon;8.9;Sep 7, 2012 +81;The Sims 3: World Adventures;8.0;Nov 16, 2009 +81;Painkiller;8.0;Apr 12, 2004 +81;Airborne Assault: Highway to the Reich;6.1;Dec 10, 2003 +81;Nancy Drew: Danger on Deception Island;7.7;Oct 1, 2003 +81;Shadowrun: Hong Kong;7.7;Aug 20, 2015 +81;Supreme Commander: Forged Alliance;8.9;Nov 6, 2007 +81;Sunless Sea;7.4;Jul 1, 2014 +81;The Walking Dead: Season Two Episode 3 - In Harm's Way;8.3;May 13, 2014 +81;Marvel Heroes 2015;7.9;Jun 4, 2014 +81;Football Manager 2016;6.4;Nov 13, 2015 +81;VVVVVV;8.1;Jan 11, 2010 +81;Darksiders II;7.9;Aug 14, 2012 +81;Wolfenstein: The New Order;8.2;May 20, 2014 +81;Lone Survivor;7.2;Apr 23, 2012 +81;Alien: Isolation;8.4;Oct 6, 2014 +81;The Witcher;8.8;Oct 30, 2007 +81;Kentucky Route Zero - Act I;7.5;Jan 7, 2013 +81;Jade Empire: Special Edition;8.3;Feb 26, 2007 +81;SWAT 3: Elite Edition;8.4;Oct 6, 2000 +81;Asheron's Call;8.8;Oct 31, 1999 +81;Unravel;8.1;Feb 9, 2016 +81;Midnight Club II;8.0;Jun 30, 2003 +81;Chessmaster 10th Edition;7.4;Aug 12, 2004 +81;Age of Empires III;7.7;Oct 18, 2005 +81;Tales of Monkey Island Chapter 5: Rise of the Pirate God;8.4;Dec 8, 2009 +81;Castlevania: Lords of Shadow Ultimate Edition;7.3;Aug 27, 2013 +81;Strong Bad's Cool Game for Attractive People Episode 2: Strong Badia the Free;8.2;Sep 15, 2008 +81;The Cat Lady;8.7;Dec 4, 2013 +81;Vessel;7.9;Mar 1, 2012 +81;Metro 2033;8.1;Mar 16, 2010 +81;OutRun 2006: Coast 2 Coast;7.8;Jun 27, 2006 +81;Blur;7.3;May 25, 2010 +81;Empires: Dawn of the Modern World;8.2;Oct 21, 2003 +81;Chessmaster 9000;7.7;Aug 31, 2002 +81;Gothic;8.6;Nov 23, 2001 +81;Arcanum: Of Steamworks and Magick Obscura;8.9;Aug 22, 2001 +81;NASCAR Heat;8.6;Sep 27, 2000 +81;Company of Heroes 2: Ardennes Assault;6.1;Nov 17, 2014 +81;PlanetSide;7.3;May 20, 2003 +81;Tales From The Borderlands: Episode 3 - Catch A Ride;8.4;Jun 23, 2015 +81;The Walking Dead: Season Two Episode 2 - A House Divided;8.6;Mar 4, 2014 +81;Kingdoms of Amalur: Reckoning;6.6;Feb 7, 2012 +81;Sam & Max: The Devil's Playhouse - Episode 1: The Penal Zone;8.5;Apr 15, 2010 +81;Borderlands;7.8;Oct 26, 2009 +81;DG2: Defense Grid 2;6.7;Sep 23, 2014 +81;Napoleon: Total War;7.9;Feb 23, 2010 +81;Overlord;8.1;Jun 26, 2007 +81;Firewatch;7.2;Feb 9, 2016 +81;Victoria II: Heart of Darkness;8.7;Apr 16, 2013 +81;Waveform;7.6;Jan 25, 2013 +81;The Elder Scrolls IV: Knights of the Nine;7.5;Nov 21, 2006 +81;Red Orchestra: Ostfront 41-45;8.6;Mar 14, 2006 +81;Stronghold;8.9;Oct 21, 2001 +81;Strong Bad's Cool Game for Attractive People Episode 4: Dangeresque 3: The Criminal Projective;8.5;Nov 17, 2008 +81;Rochard;8.0;Nov 15, 2011 +81;Fallout 3: Broken Steel;7.3;May 5, 2009 +81;Tiger Woods PGA Tour 06;8.1;Sep 20, 2005 +81;RollerCoaster Tycoon 3;4.9;Oct 26, 2004 +81;Dragon's Dogma: Dark Arisen;8.3;Jan 15, 2016 +81;Guild Wars 2: Heart of Thorns;7.3;Oct 23, 2015 +81;AaaaaAAaaaAAAaaAAAAaAAAAA!!! - A Reckless Disregard for Gravity;7.2;Sep 3, 2009 +81;The Sims 2 University;7.8;Feb 28, 2005 +81;Far Cry 3: Blood Dragon;8.1;May 1, 2013 +81;Sid Meier's Civilization: Beyond Earth;5.5;Oct 24, 2014 +81;Disney's Toontown Online;8.7;Oct 6, 2005 +81;Combat Mission 3: Afrika Korps;8.4;Dec 3, 2003 +81;EverQuest: The Planes of Power;8.2;Oct 28, 2002 +81;Rails Across America;8.0;Sep 18, 2001 +81;Wasteland 2;7.3;Sep 19, 2014 +81;Jamestown: Legend of the Lost Colony;7.5;Jun 8, 2011 +81;Call of Duty: Black Ops;5.1;Nov 9, 2010 +81;Kohan II: Kings of War;7.9;Sep 20, 2004 +81;The Age of Decadence;7.9;Oct 15, 2015 +81;Samorost 3;8.3;Mar 24, 2016 +81;Order of Battle: Pacific;6.4;Apr 30, 2015 +81;Empire Earth;8.3;Nov 12, 2001 +81;Star Trek: Deep Space Nine: The Fallen;7.9;Nov 15, 2000 +81;Sam & Max Episode 101: Culture Shock;8.7;Oct 18, 2006 +81;Mirror's Edge (2008);8.1;Jan 12, 2009 +81;TrackMania 2 Canyon;7.7;Sep 14, 2011 +81;Sleeping Dogs;8.2;Aug 14, 2012 +81;Star Wars Jedi Knight: Jedi Academy;8.6;Sep 17, 2003 +81;Mortal Kombat Komplete Edition;8.7;Aug 6, 2013 +81;Shadowrun: Dragonfall;8.3;Feb 27, 2014 +81;Eets;6.4;Mar 29, 2006 +81;World of Warships;6.6;Sep 17, 2015 +81;TOCA Race Driver 2: The Ultimate Racing Simulator;8.0;Apr 15, 2004 +81;Wargame: European Escalation;8.2;Feb 22, 2012 +81;Dungeon Defenders;7.3;Oct 18, 2011 +81;Sam & Max: The Devil's Playhouse - Episode 5: The City That Dares Not Sleep;7.9;Aug 30, 2010 +81;Age of Empires III: The Asian Dynasties;8.5;Oct 23, 2007 +81;Defense Grid: The Awakening;8.8;Jul 29, 2009 +81;Codename: Panzers, Phase One;8.8;Sep 30, 2004 +81;FIFA 16;4.4;Sep 22, 2015 +81;Europa Universalis IV: Conquest of Paradise;7.7;Jan 14, 2014 +81;Ghost Master;8.0;Aug 26, 2003 +81;Divine Divinity;8.5;Sep 22, 2002 +80;The Book of Unwritten Tales 2;7.7;Feb 20, 2015 +80;Galactic Civilizations III;6.6;May 14, 2015 +80;Lovers in a Dangerous Spacetime;7.2;Sep 9, 2015 +80;Age of Conan: Hyborian Adventures;7.3;May 20, 2008 +80;Company of Heroes 2: The Western Front Armies;6.8;Jun 23, 2014 +80;Sid Meier's Civilization V: Gods & Kings;7.7;Jun 19, 2012 +80;Age of Empires III: The WarChiefs;8.1;Oct 17, 2006 +80;Metal Gear Solid V: Ground Zeroes;7.7;Dec 18, 2014 +80;Trials Fusion;6.8;Apr 16, 2014 +80;Syberia II;8.3;Mar 30, 2004 +80;Tom Clancy's Ghost Recon;8.4;Nov 13, 2001 +80;Conquest: Frontier Wars;8.3;Aug 14, 2001 +80;Gabriel Knight 3: Blood of the Sacred, Blood of the Damned;8.8;Oct 5, 1999 +80;Westerado: Double Barreled;7.4;Apr 16, 2015 +80;Anomaly: Warzone Earth;7.3;Apr 8, 2011 +80;Volume;7.2;Aug 18, 2015 +80;GRID 2;5.7;May 27, 2013 +80;The Banner Saga;7.9;Jan 14, 2014 +80;Sam & Max Episode 202: Moai Better Blues;7.7;Jan 10, 2008 +80;Age of Wonders III - Eternal Lords;8.4;Apr 14, 2015 +80;Pro Evolution Soccer 2013;6.8;Sep 25, 2012 +80;Osmos;7.5;Aug 18, 2009 +80;Dungeon Siege II;7.9;Aug 16, 2005 +80;Dead Island;6.8;Sep 6, 2011 +80;Sam & Max Episode 104: Abe Lincoln Must Die!;7.8;Feb 22, 2007 +80;Deus Ex: Invisible War;6.3;Dec 2, 2003 +80;The Sims: Makin' Magic;8.6;Oct 28, 2003 +80;Tom Clancy's Splinter Cell: Double Agent;5.7;Nov 7, 2006 +80;Medal of Honor: Pacific Assault;7.4;Nov 4, 2004 +80;Assassin's Creed: Revelations;7.4;Nov 29, 2011 +80;Grandia II Anniversary Edition;7.6;Aug 24, 2015 +80;Assassin's Creed III;6.2;Nov 20, 2012 +80;Madden NFL 07;7.3;Aug 22, 2006 +80;Outlast;8.4;Sep 4, 2013 +80;The Chronicles of Riddick: Assault on Dark Athena;8.0;Apr 7, 2009 +80;Hearts of Iron II: Doomsday;8.8;Apr 7, 2006 +80;Dishonored: The Brigmore Witches;8.5;Aug 13, 2013 +80;Codename: Panzers, Phase Two;8.0;Jul 25, 2005 +80;Full Spectrum Warrior;7.0;Sep 21, 2004 +80;AI War: Fleet Command;8.4;May 14, 2009 +80;Freedom Fighters;8.3;Oct 1, 2003 +80;NBA Live 2003;8.3;Nov 14, 2002 +80;The Elder Scrolls III: Tribunal;8.2;Nov 6, 2002 +80;Elite: Dangerous;6.4;Dec 16, 2014 +80;Pure;6.9;Sep 16, 2008 +80;Goodbye Deponia;8.1;Oct 17, 2013 +80;SWAT 4: The Stetchkov Syndicate;8.3;Feb 28, 2006 +80;Dropsy;7.3;Sep 10, 2015 +80;Company of Heroes 2: The British Forces;5.9;Sep 3, 2015 +80;Ground Control II: Operation Exodus;8.8;Jun 23, 2004 +80;NBA Live 2004;9.0;Nov 11, 2003 +80;Brutal Legend;7.8;Feb 26, 2013 +80;Tomb Raider: Underworld;7.6;Nov 18, 2008 +80;Oxenfree;7.7;Jan 15, 2016 +80;Titan Quest: Immortal Throne;8.7;Mar 5, 2007 +80;La-Mulana (Remake);7.1;Jul 13, 2012 +80;X-Men Legends II: Rise of Apocalypse;8.4;Sep 20, 2005 +80;SpellForce 2: Shadow Wars;7.6;May 5, 2006 +80;Fritz 8 Deluxe;7.8;Dec 1, 2004 +80;Trine;8.2;Sep 11, 2009 +80;Dishonored: The Knife of Dunwall;8.1;Apr 16, 2013 +80;Company of Heroes 2;2.0;Jun 25, 2013 +80;Natural Selection 2;8.4;Oct 30, 2012 +80;Read Only Memories;7.2;Oct 5, 2015 +80;The Sims 3: Into the Future;5.4;Oct 22, 2013 +80;Borderlands 2: Captain Scarlett and Her Pirate's Booty;7.4;Oct 16, 2012 +80;FATE;8.3;Sep 19, 2006 +80;2002 FIFA World Cup;7.9;Apr 30, 2002 +80;Asheron's Call Dark Majesty;8.1;Nov 4, 2001 +80;The Bug Butcher;8.2;Jan 19, 2016 +80;Dragonshard;7.4;Oct 2, 2005 +80;Icewind Dale: Enhanced Edition;7.6;Oct 30, 2014 +80;The Magic Circle;7.3;Jul 9, 2015 +80;Far Cry 4;6.6;Nov 18, 2014 +80;Super Time Force Ultra;6.6;Aug 25, 2014 +80;Day of Defeat: Source;9.1;Feb 7, 2006 +80;Battlefield 2142;6.8;Oct 17, 2006 +80;World of Tanks;3.8;Sep 6, 2011 +80;Vampire: The Masquerade - Bloodlines;9.0;Nov 16, 2004 +80;Dark Souls II: Scholar of the First Sin;7.4;Apr 1, 2015 +80;Warhammer 40,000: Dawn of War II - Retribution;7.8;Mar 1, 2011 +80;Panzer Corps;7.5;Jul 11, 2011 +80;Men of War;8.1;Mar 16, 2009 +80;Fallen Enchantress: Legendary Heroes;7.7;May 22, 2013 +80;The Walking Dead: Episode 4 - Around Every Corner;8.5;Oct 10, 2012 +80;Tales of Monkey Island Chapter 4: The Trial and Execution of Guybrush Threepwood;8.4;Oct 30, 2009 +80;Penny Arcade Adventures: Episode Two;7.7;Nov 7, 2008 +80;Time Commando;8.9;Jul 31, 1996 +80;Sins of a Solar Empire: Entrenchment;8.1;Feb 25, 2009 +80;F1 2012;6.9;Sep 18, 2012 +80;Luftrausers;6.8;Mar 18, 2014 +80;Naruto Shippuden: Ultimate Ninja Storm 3 Full Burst;7.9;Oct 24, 2013 +80;Stealth Bastard Deluxe;8.3;Nov 28, 2012 +80;Tom Clancy's Ghost Recon Advanced Warfighter;7.7;May 3, 2006 +80;LEGO Batman: The Videogame;7.9;Sep 23, 2008 +80;Stacking;7.9;Mar 6, 2012 +80;Age of Wonders III;7.8;Mar 31, 2014 +80;Life is Strange: Episode 3 - Chaos Theory;9.0;May 19, 2015 +80;The Legend of Heroes: Trails in the Sky SC;8.4;Oct 29, 2015 +80;Proteus;5.6;Jan 30, 2013 +80;Robin Hood: The Legend of Sherwood;8.3;Nov 14, 2002 +80;Soldier of Fortune II: Double Helix;7.3;May 20, 2002 +80;RollerCoaster Tycoon: Loopy Landscapes;9.0;Sep 30, 2000 +80;Toki Tori;7.9;Jan 28, 2010 +80;RoboBlitz;8.3;Nov 7, 2006 +80;Wargame: AirLand Battle;8.1;May 29, 2013 +80;Football Manager 2015;6.0;Nov 7, 2014 +80;The Suffering;8.2;Jun 8, 2004 +80;Gish;7.2;Sep 17, 2004 +80;Axiom Verge;8.2;May 14, 2015 +80;Driver: San Francisco;7.0;Sep 27, 2011 +80;The Corporate Machine;7.5;Jul 14, 2001 +80;Dungeons & Dragons: Chronicles of Mystara;6.7;Jun 18, 2013 +80;Disciples II: Rise of the Elves;8.1;Nov 25, 2003 +80;MechCommander 2;8.3;Jul 18, 2001 +80;Waterloo: Napoleon's Last Battle;7.5;Mar 25, 2001 +80;Chessmaster 8000;6.4;Nov 14, 2000 +80;Circle of Blood;8.6;Sep 30, 1996 +80;BioShock Infinite: Burial at Sea - Episode Two;8.5;Mar 25, 2014 +80;S.T.A.L.K.E.R.: Call of Pripyat;8.7;Feb 2, 2010 +80;The Walking Dead: Season Two - A Telltale Games Series;8.3;Dec 17, 2013 +80;FLY'N;8.2;Nov 9, 2012 +80;Total War: Attila;7.3;Feb 17, 2015 +80;The Wolf Among Us;8.8;Oct 11, 2013 +80;Nancy Drew: Secret of the Old Clock;8.1;Jul 26, 2005 +80;ArcheAge;3.6;Sep 16, 2014 +80;CAPSIZED;7.1;Apr 29, 2011 +80;Microsoft Flight Simulator X;7.6;Oct 17, 2006 +80;Myst V: End of Ages;7.8;Sep 19, 2005 +80;Railroad Tycoon 3;7.7;Oct 23, 2003 +80;Hostile Waters: Antaeus Rising;8.1;Jun 13, 2001 +79;Dustforce;7.9;Jan 17, 2012 +79;Empire Earth II;7.0;Apr 26, 2005 +79;Fallout 3: Point Lookout;7.8;Jun 23, 2009 +79;Test Drive Unlimited;8.1;Mar 20, 2007 +79;Dying Light: The Following;8.3;Feb 9, 2016 +79;The Path;7.0;Mar 18, 2009 +79;Dungeon of the Endless;8.0;Oct 27, 2014 +79;Revenge of the Titans;7.6;May 24, 2010 +79;Bookworm Adventures: Volume 2;7.6;Jul 30, 2009 +79;F1 2001;7.5;Oct 14, 2001 +79;Brothers in Arms: Hell's Highway;7.9;Oct 7, 2008 +79;Star Wars: Empire at War;8.4;Feb 15, 2006 +79;Dariusburst: Chronicle Saviours;8.3;Dec 3, 2015 +79;Europa Universalis: Rome - Vae Victis;8.6;Nov 19, 2008 +79;Silent Hunter: Wolves of the Pacific;6.5;Mar 20, 2007 +79;Pillars of Eternity: The White March - Part 2;6.7;Feb 16, 2016 +79;1701 A.D.;8.3;Nov 6, 2006 +79;Stasis;7.6;Aug 31, 2015 +79;Pro Evolution Soccer 2009;7.4;Nov 12, 2008 +79;Return to Mysterious Island;8.5;Nov 2, 2004 +79;Jotun;7.0;Sep 29, 2015 +79;Else Heart.Break();7.5;Sep 24, 2015 +79;Kohan: Ahriman's Gift;8.7;Nov 5, 2001 +79;Emperor: Battle for Dune;8.3;Jun 12, 2001 +79;Trackmania Turbo;6.9;Mar 24, 2016 +79;Cart Life;5.9;Jul 29, 2010 +79;Sword of the Stars: Born of Blood;8.1;Jun 5, 2007 +79;Worms Reloaded;6.7;Aug 26, 2010 +79;Warhammer: End Times - Vermintide;7.9;Oct 23, 2015 +79;Euro Truck Simulator 2;8.7;Jan 16, 2013 +79;Tropico 3;8.2;Oct 20, 2009 +79;Cities: Skylines - After Dark;7.9;Sep 24, 2015 +79;Runaway: A Twist of Fate;8.5;Apr 21, 2011 +79;Tales of Monkey Island Chapter 1: Launch of the Screaming Narwhal;8.2;Jul 7, 2009 +79;Bloodline Champions;8.0;Jan 13, 2011 +79;The Sims: Superstar;8.2;May 12, 2003 +79;NBA Live 2005;8.5;Oct 26, 2004 +79;Valiant Hearts: The Great War;8.6;Jun 25, 2014 +79;Payday 2;3.4;Aug 13, 2013 +79;Dungeons of Dredmor;7.8;Jul 13, 2011 +79;Geometry Wars 3: Dimensions;6.2;Nov 25, 2014 +79;Assassin's Creed: Director's Cut Edition;7.5;Apr 8, 2008 +79;Puzzle Dimension;7.6;Jun 21, 2010 +79;Split/Second;8.2;May 18, 2010 +79;Sang-Froid: Tales of Werewolves;7.9;Apr 5, 2013 +79;The Incredible Adventures of Van Helsing: Final Cut;7.2;Oct 7, 2015 +79;Hitman: Absolution;7.0;Nov 19, 2012 +79;Call of Juarez: Gunslinger;8.2;May 22, 2013 +79;Rome: Total War Alexander;7.6;Jun 19, 2006 +79;Strong Bad's Cool Game for Attractive People Episode 3: Baddest of the Bands;8.1;Oct 27, 2008 +79;Sam & Max Episode 102: Situation: Comedy;7.9;Dec 20, 2006 +79;Tropico 3: Absolute Power;7.7;May 17, 2010 +79;Sam & Max Episode 106: Bright Side of the Moon;7.3;Apr 26, 2007 +79;Day of Defeat;9.3;May 6, 2003 +79;Space Empires: IV;8.3;Nov 6, 2000 +79;Resident Evil 4: Ultimate HD Edition;7.7;Feb 27, 2014 +79;Sam & Max Episode 203: Night of the Raving Dead;8.2;Feb 12, 2008 +79;FlatOut: Ultimate Carnage;7.6;Sep 2, 2008 +79;Guitar Hero III: Legends of Rock;7.2;Nov 13, 2007 +79;Sid Meier's Civilization: Beyond Earth - Rising Tide;5.9;Oct 9, 2015 +79;Memoria;8.5;Aug 29, 2013 +79;The Last Door;7.8;May 20, 2014 +79;Shadowgrounds Survivor;7.8;Dec 6, 2007 +79;Gothic II;8.8;Oct 28, 2003 +79;Port Royale;8.2;Jun 4, 2003 +79;Deadly Dozen: Pacific Theater;7.9;Oct 31, 2002 +79;Shattered Galaxy;8.3;Aug 21, 2001 +79;Close Combat: Invasion: Normandy;8.2;Oct 10, 2000 +79;King's Bounty: The Legend;8.6;Sep 23, 2008 +79;Rage;5.1;Oct 4, 2011 +79;The Misadventures of P.B. Winterbottom;8.3;Apr 20, 2010 +79;Uru: Ages Beyond Myst;7.4;Nov 11, 2003 +79;Guild Wars: Eye of the North;8.6;Aug 28, 2007 +79;Tales From The Borderlands: Episode 4 - Escape Plan Bravo;8.4;Aug 18, 2015 +79;EverQuest: Lost Dungeons of Norrath;7.0;Sep 8, 2003 +79;Battlefield 1942: Secret Weapons of WWII;8.5;Sep 4, 2003 +79;The Sims: Unleashed;8.0;Sep 23, 2002 +79;Race the Sun;7.5;Aug 19, 2013 +79;The Sims 3: Pets;6.1;Oct 18, 2011 +79;Prototype;7.9;Jun 10, 2009 +79;Stick it to the Man!;7.2;Dec 13, 2013 +79;Street Fighter X Tekken;6.4;May 11, 2012 +79;Frozen Cortex;6.5;Feb 19, 2015 +79;Free Realms;6.4;Apr 29, 2009 +79;Homeworld: Deserts of Kharak;8.0;Jan 20, 2016 +79;Don't Starve;8.3;Apr 23, 2013 +79;Assault Android Cactus;7.0;Sep 23, 2015 +79;Trainz;7.2;Feb 10, 2002 +79;King Arthur: The Role-Playing Wargame;7.9;Nov 24, 2009 +79;Chivalry: Medieval Warfare;7.8;Oct 16, 2012 +79;Overlord II;8.1;Jun 23, 2009 +79;F.E.A.R. 2: Project Origin;7.8;Feb 10, 2009 +79;Tom Clancy's Rainbow Six Siege;6.9;Dec 1, 2015 +79;The Settlers 7: Paths to a Kingdom;5.2;Mar 23, 2010 +79;RollerCoaster Tycoon 3: Soaked!;2.9;Jun 23, 2005 +79;Dark Souls II: Crown of the Old Iron King;7.6;Aug 26, 2014 +79;TrackMania 2 Valley;8.3;Jul 4, 2013 +79;State of Decay;6.8;Nov 5, 2013 +79;LEGO Harry Potter: Years 1-4;7.8;Jun 29, 2010 +79;Rift: Storm Legion;7.8;Nov 13, 2012 +79;Crayon Physics Deluxe;7.6;Jan 7, 2009 +79;Nancy Drew: Legend of the Crystal Skull;8.5;Oct 8, 2007 +79;EverQuest II: Desert of Flames;7.8;Sep 12, 2005 +79;SimCity 4: Rush Hour;8.6;Sep 22, 2003 +79;Uncommon Valor: Campaign for the South Pacific;7.6;Dec 2, 2002 +79;Global Operations;8.3;Mar 25, 2002 +78;Apotheon;7.8;Feb 3, 2015 +78;Need for Speed: Most Wanted - A Criterion Game;4.4;Oct 30, 2012 +78;Star Wars: Battlefront II;8.8;Oct 31, 2005 +78;The Walking Dead: Season Two Episode 1 - All That Remains;8.5;Dec 17, 2013 +78;The Journey Down: Chapter Two;7.1;Aug 25, 2014 +78;Star Trek: Elite Force II;7.6;Jun 25, 2003 +78;Zuma's Revenge!;7.9;Sep 15, 2009 +78;Baldur's Gate: Enhanced Edition;7.0;Nov 28, 2012 +78;Doom 3: Resurrection of Evil;6.0;Apr 4, 2005 +78;LEGO Indiana Jones: The Original Adventures;7.7;Jun 3, 2008 +78;NASCAR Thunder 2004;7.5;Sep 16, 2003 +78;Transformers: Fall of Cybertron;7.8;Aug 21, 2012 +78;FIFA Soccer 06;6.7;Oct 4, 2005 +78;DeadCore;6.8;Oct 17, 2014 +78;The Walking Dead: Season Two Episode 5 - No Going Back;8.5;Aug 26, 2014 \ No newline at end of file diff --git a/_005/readme.md b/_005/readme.md new file mode 100644 index 0000000..b0892d6 --- /dev/null +++ b/_005/readme.md @@ -0,0 +1,32 @@ +# Race-Condition finden und beheben +## Lernziel + + + +In einem gegebenen Programm Race-Conditions finden und durch den Einsatz von kritischen Abschnitten beheben. + +## Aufgabe + +Gehen Sie in das Paket [pr2.threads.race_condition](../sources/src/main/java/pr2/threads/race_condition/). + +In dieser Aufgabe haben Sie ein defektes Programm vor sich, das aufgrund von Race-Conditions nicht richtig funktionieren kann. + +Schauen Sie sich den Quelltext des Programms genau an und versuchen Sie die Funktionsweise zu verstehen. Lassen Sie das Programm laufen und betrachten Sie die Fehlermeldungen und Ausgaben. Mit großer Wahrscheinlichkeit wird das Programm abstürzen. Wenn nicht, starten Sie es mehrmals, bis ein Fehler auftritt. + +Versuchen Sie die Ursache des Fehlers zu verstehen und überlegen Sie sich, wo genau die Race-Condition vorliegt. Wahrscheinlich wird der erste Fehler aus der Klasse `ArrayList` stammen. Dies ist aber nicht die einzige Race-Condition im Programm, es gibt noch eine zweite. + +Beheben Sie die Race-Condition durch die Verwendung von kritischen Abschnitten und lassen Sie das Programm danach erneut mehrfach laufen. Wenn bei keinem der Durchläufe ein Fehler auftritt, gilt die Aufgabe als gelöst. + + + \ No newline at end of file diff --git a/_006/games.txt b/_006/games.txt new file mode 100644 index 0000000..3390355 --- /dev/null +++ b/_006/games.txt @@ -0,0 +1,994 @@ +96;Half-Life 2;9.2;Nov 16, 2004 +96;Grand Theft Auto V;7.8;Apr 14, 2015 +96;The Orange Box;9.3;Oct 10, 2007 +96;Half-Life;9.1;Oct 31, 1998 +96;BioShock;8.4;Aug 21, 2007 +95;Baldur's Gate II: Shadows of Amn;9.2;Sep 24, 2000 +95;Portal 2;8.8;Apr 19, 2011 +94;The Elder Scrolls V: Skyrim;8.1;Nov 11, 2011 +94;Mass Effect 2;8.7;Jan 26, 2010 +94;Grand Theft Auto: Vice City;8.8;May 12, 2003 +94;Civilization II;9.0;Feb 29, 1996 +94;Quake;8.8;Jun 22, 1996 +94;BioShock Infinite;8.5;Mar 26, 2013 +94;The Elder Scrolls IV: Oblivion;8.0;Mar 20, 2006 +94;Grim Fandango;9.1;Sep 30, 1998 +94;Diablo;8.7;Nov 30, 1996 +94;Sid Meier's Civilization IV;8.2;Oct 25, 2005 +93;The Witcher 3: Wild Hunt;9.1;May 19, 2015 +93;Company of Heroes;8.8;Sep 13, 2006 +93;Unreal Tournament 2004;8.9;Mar 16, 2004 +93;Starcraft II: Wings of Liberty;8.2;Jul 27, 2010 +93;Minecraft;7.4;May 10, 2009 +93;Grand Theft Auto III;8.4;May 20, 2002 +93;Homeworld;8.9;Aug 31, 1999 +93;Star Wars: Knights of the Old Republic;9.0;Nov 18, 2003 +93;World of Warcraft;7.2;Nov 23, 2004 +93;Grand Theft Auto: San Andreas;8.8;Jun 7, 2005 +92;Call of Duty 4: Modern Warfare;8.5;Nov 5, 2007 +92;Warcraft III: Reign of Chaos;9.1;Jul 3, 2002 +92;The Sims;7.9;Jan 31, 2000 +92;Sid Meier's Gettysburg!;7.7;Sep 30, 1997 +92;World Soccer Winning Eleven 7 International;7.9;Apr 9, 2004 +92;Team Fortress 2;9.2;Apr 8, 2008 +92;System Shock 2;9.1;Aug 11, 1999 +92;Tom Clancy's Splinter Cell: Chaos Theory;8.8;Mar 28, 2005 +92;Undertale;8.2;Sep 15, 2015 +92;Rome: Total War;9.1;Sep 22, 2004 +92;Thief: The Dark Project;9.1;Nov 30, 1998 +92;Age of Empires II: The Age of Kings;9.0;Sep 30, 1999 +92;Unreal Tournament (1999);9.1;Nov 30, 1999 +92;Sid Meier's Alpha Centauri;9.1;Feb 12, 1999 +92;Galactic Civilizations II: Twilight of the Arnor;8.4;Apr 30, 2008 +92;Tiger Woods PGA Tour 2003;6.0;Oct 31, 2002 +91;Dishonored;8.4;Oct 9, 2012 +91;Medal of Honor: Allied Assault;8.6;Jan 20, 2002 +91;Myth: The Fallen Lords;8.8;Oct 31, 1997 +91;World of Warcraft: Wrath of the Lich King;7.4;Nov 13, 2008 +91;F1 Challenge '99-'02;8.3;Jun 24, 2003 +91;Baldur's Gate;9.0;Nov 30, 1998 +91;IL-2 Sturmovik;8.7;Nov 18, 2001 +91;FreeSpace 2;8.8;Sep 30, 1999 +91;Metal Gear Solid V: The Phantom Pain;7.7;Sep 1, 2015 +91;Tom Clancy's Splinter Cell;8.6;Feb 19, 2003 +91;Crysis;8.0;Nov 13, 2007 +91;World of Warcraft: The Burning Crusade;7.9;Jan 16, 2007 +91;Tiger Woods PGA Tour 2005;4.6;Sep 20, 2004 +91;The Longest Journey;8.9;Nov 16, 2000 +91;Tony Hawk's Pro Skater 2;8.5;Oct 31, 2000 +91;Star Wars Jedi Knight: Dark Forces II;8.5;Sep 30, 1997 +91;Batman: Arkham Asylum;8.7;Sep 15, 2009 +91;Galactic Civilizations II: Dark Avatar;8.2;Feb 14, 2007 +91;The Operative: No One Lives Forever;8.9;Nov 9, 2000 +91;Battlefield 2;8.4;Jun 21, 2005 +91;Street Fighter IV;8.0;Jul 1, 2009 +91;Fallout 3;7.9;Oct 28, 2008 +91;Batman: Arkham City;8.6;Nov 22, 2011 +91;Fez;6.5;May 1, 2013 +91;Planescape: Torment;9.3;Nov 30, 1999 +91;Neverwinter Nights;8.1;Jun 16, 2002 +91;No One Lives Forever 2: A Spy in H.A.R.M.'s Way;8.7;Sep 30, 2002 +91;Dragon Age: Origins;8.6;Nov 3, 2009 +91;Mark of the Ninja;8.0;Oct 16, 2012 +91;Dark Souls II;7.1;Apr 25, 2014 +91;Call of Duty;8.5;Oct 29, 2003 +91;Madden NFL 2004;8.2;Aug 12, 2003 +90;The Sims 2;8.8;Sep 14, 2004 +90;World of Warcraft: Cataclysm;5.5;Dec 7, 2010 +90;World of Goo;8.5;Oct 21, 2008 +90;Spelunky;7.2;Aug 8, 2013 +90;Black & White;7.6;Mar 26, 2001 +90;Portal;9.3;Apr 8, 2008 +90;NHL 2001;6.9;Sep 28, 2000 +90;Tony Hawk's Pro Skater 3;8.6;Mar 28, 2002 +90;Deus Ex;9.3;Jun 26, 2000 +90;Half-Life 2: Episode Two;9.2;Oct 10, 2007 +90;Braid;8.6;Jan 26, 2010 +90;The Chronicles of Riddick: Escape From Butcher Bay - Developer's Cut;8.7;Dec 8, 2004 +90;Sid Meier's Civilization III;8.4;Oct 30, 2001 +90;Silent Hunter III;7.8;Mar 15, 2005 +90;Sid Meier's Civilization V;7.8;Sep 21, 2010 +90;Falcon 4.0: Allied Force;8.6;Jun 28, 2005 +90;Deus Ex: Human Revolution;8.5;Aug 23, 2011 +90;Dark Souls III;8.2;Apr 12, 2016 +90;Flight Simulator 2002;8.4;Oct 19, 2001 +90;Brothers: A Tale of Two Sons;8.5;Sep 3, 2013 +90;Dota 2;6.2;Jul 9, 2013 +90;Guild Wars 2;7.9;Aug 28, 2012 +90;Freedom Force;8.0;Mar 24, 2002 +90;GTR 2;8.7;Sep 29, 2006 +90;Grand Theft Auto IV;6.5;Dec 2, 2008 +90;Total War: Shogun 2;8.3;Mar 15, 2011 +90;Empire: Total War;6.9;Mar 3, 2009 +90;Command & Conquer: Red Alert;8.9;Oct 31, 1996 +89;Star Wars Jedi Knight II: Jedi Outcast;8.6;Mar 26, 2002 +89;The Walking Dead: A Telltale Games Series;8.7;Dec 11, 2012 +89;Age of Mythology;8.9;Nov 1, 2002 +89;Sacrifice;8.8;Nov 5, 2000 +89;The Witcher 3: Wild Hunt - Hearts of Stone;8.4;Oct 13, 2015 +89;Pillars of Eternity;8.3;Mar 26, 2015 +89;The Elder Scrolls III: Morrowind;9.0;May 1, 2002 +89;Rocksmith 2014 Edition;7.9;Oct 22, 2013 +89;Fallout;8.9;Sep 30, 1997 +89;World Soccer Winning Eleven 9;8.4;Apr 28, 2006 +89;Worldwide Soccer Manager 2005;8.7;Dec 7, 2004 +89;Left 4 Dead;9.2;Nov 18, 2008 +89;Left 4 Dead 2;8.5;Nov 17, 2009 +89;NASCAR Racing 2002 Season;5.8;Feb 14, 2002 +89;Mass Effect;8.6;May 28, 2008 +89;Combat Mission: Barbarossa to Berlin;8.3;Oct 29, 2002 +89;Homeworld: Cataclysm;8.9;Sep 7, 2000 +89;The Walking Dead: Episode 5 - No Time Left;8.9;Nov 21, 2012 +89;Guild Wars;8.4;Apr 26, 2005 +89;Borderlands 2;8.2;Sep 18, 2012 +89;Max Payne;9.1;Jul 23, 2001 +89;Out of the Park Baseball 15;7.2;Apr 21, 2014 +89;World in Conflict;8.1;Sep 18, 2007 +89;NASCAR Racing 4;8.2;Feb 6, 2001 +89;Duke Nukem 3D;8.8;Jan 31, 1996 +89;Far Cry;8.0;Mar 23, 2004 +89;FIFA Soccer 12;7.1;Sep 27, 2011 +89;XCOM: Enemy Unknown;8.2;Oct 9, 2012 +89;Mass Effect 3;5.4;Mar 6, 2012 +89;Rise of Nations;9.0;May 20, 2003 +89;NASCAR Racing 2003 Season;8.6;Feb 14, 2003 +89;Descent 3;8.3;Jun 14, 2000 +89;The Curse of Monkey Island;9.1;Oct 31, 1997 +89;Battlefield 3;7.5;Oct 25, 2011 +89;Battlefield 1942;8.6;Sep 10, 2002 +89;Madden NFL 2003;8.4;Aug 12, 2002 +89;DiRT 2;8.3;Dec 10, 2009 +89;Stardew Valley;8.5;Feb 26, 2016 +89;Prince of Persia: The Sands of Time;8.6;Nov 30, 2003 +89;Railroad Tycoon II;8.4;Oct 31, 1998 +88;Microsoft Flight Simulator 2004: A Century of Flight;8.2;Jul 29, 2003 +88;Medieval: Total War;8.8;Aug 19, 2002 +88;Mafia;9.1;Aug 27, 2002 +88;LIMBO;8.1;Aug 2, 2011 +88;Nuclear Throne;7.4;Dec 5, 2015 +88;Crusader Kings II: The Old Gods;8.8;May 28, 2013 +88;Assassin's Creed: Brotherhood;8.2;Mar 22, 2011 +88;Superbike 2001;6.5;Oct 9, 2000 +88;F.E.A.R.;8.3;Oct 17, 2005 +88;Kerbal Space Program;8.1;Apr 27, 2015 +88;Tribes 2;8.5;Mar 28, 2001 +88;Age of Empires II: The Conquerors Expansion;9.0;Aug 24, 2000 +88;Tiger Woods PGA Tour 2004;8.8;Sep 22, 2003 +88;Warcraft III: The Frozen Throne;9.0;Jul 1, 2003 +88;Starcraft;9.1;Apr 1, 1998 +88;Far Cry 3;8.2;Dec 4, 2012 +88;XCOM 2;7.0;Feb 5, 2016 +88;World Soccer Winning Eleven 8 International;8.5;Feb 16, 2005 +88;Torchlight II;8.6;Sep 20, 2012 +88;Myth II: Soulblighter;9.0;Nov 30, 1998 +88;Return to Castle Wolfenstein;8.7;Nov 19, 2001 +88;Shogo: Mobile Armor Division;8.9;Sep 30, 1998 +88;Thirty Flights of Loving;5.0;Aug 20, 2012 +88;Hearthstone: Heroes of Warcraft;6.3;Mar 11, 2014 +88;Medieval II: Total War;8.9;Nov 13, 2006 +88;F1 2002;7.6;Jun 13, 2002 +88;The Stanley Parable;8.0;Oct 17, 2013 +88;BioShock 2;8.0;Feb 9, 2010 +88;Counter-Strike: Source;8.9;Sep 26, 2005 +88;Starcraft II: Legacy of the Void;8.3;Nov 10, 2015 +88;Diablo III;4.0;May 15, 2012 +88;Rise of Nations: Thrones & Patriots;8.8;Apr 27, 2004 +88;Sid Meier's Pirates!;8.3;Nov 22, 2004 +88;EVE Online: Special Edition;7.8;Mar 10, 2009 +88;Guacamelee! Gold Edition;7.3;Aug 8, 2013 +88;Armadillo Run;8.2;Apr 22, 2006 +88;Dark Age of Camelot;8.9;Sep 1, 2001 +88;Baldur's Gate II: Throne of Bhaal;8.9;Jun 21, 2001 +88;Counter-Strike;9.3;Nov 8, 2000 +88;Tony Hawk's Pro Skater 4;8.4;Aug 27, 2003 +88;Ori and the Blind Forest;8.7;Mar 11, 2015 +88;Diablo II;8.8;Jun 29, 2000 +88;The Witcher 2: Assassins of Kings;8.5;May 17, 2011 +87;Plants vs. Zombies;8.9;Aug 18, 2009 +87;Doom 3;7.5;Aug 3, 2004 +87;Super Meat Boy;8.3;Apr 5, 2011 +87;Football Manager 2010;9.1;Nov 3, 2009 +87;Oddworld: Abe's Oddysee - New 'n' Tasty;7.8;Feb 25, 2015 +87;Tom Clancy's Splinter Cell: Pandora Tomorrow;8.0;Mar 23, 2004 +87;Europa Universalis II;8.8;Nov 12, 2001 +87;Burnout Paradise: The Ultimate Box;7.5;Feb 5, 2009 +87;Battlefield: Bad Company 2;8.3;Mar 2, 2010 +87;GRID;7.9;Jun 3, 2008 +87;Crypt of the NecroDancer;7.7;Apr 23, 2015 +87;Sins of a Solar Empire;8.2;Feb 4, 2008 +87;MechWarrior 4: Vengeance;8.2;Nov 23, 2000 +87;Thief II: The Metal Age;9.1;Feb 29, 2000 +87;Diablo II: Lord of Destruction;9.1;Jun 27, 2001 +87;Monkey Island 2 Special Edition: LeChuck's Revenge;9.0;Jul 7, 2010 +87;Half-Life 2: Episode One;8.6;Jun 1, 2006 +87;The Swapper;8.7;May 30, 2013 +87;Hitman 2: Silent Assassin;8.2;Oct 1, 2002 +87;Year Walk;7.0;Mar 6, 2014 +87;Max Payne 3;7.6;Jun 1, 2012 +87;TowerFall Ascension;6.6;Mar 11, 2014 +87;Battlefield 3: Armored Kill;7.0;Sep 11, 2012 +87;NHL 2002;8.7;Sep 17, 2001 +87;Icewind Dale;8.3;Jun 29, 2000 +87;The Witness;6.6;Jan 26, 2016 +87;Brothers in Arms: Road to Hill 30;7.1;Mar 15, 2005 +87;Kohan: Immortal Sovereigns;8.6;Mar 14, 2001 +87;Day of the Tentacle Remastered;7.9;Mar 21, 2016 +87;Dead Space 2;8.3;Jan 25, 2011 +87;Diablo III: Reaper of Souls;6.6;Mar 25, 2014 +87;Shogun: Total War Warlord Edition;8.7;Aug 13, 2001 +87;Serious Sam: The First Encounter;8.4;Mar 21, 2001 +87;Grand Prix 3;8.3;Aug 24, 2000 +87;Call of Duty: United Offensive;8.3;Sep 14, 2004 +87;Divinity: Original Sin;8.7;Jan 17, 2014 +87;Company of Heroes: Opposing Fronts;8.6;Sep 24, 2007 +87;Psychonauts;8.9;Apr 19, 2005 +87;Gears of War;7.8;Nov 6, 2007 +87;Out of the Park Baseball 4;7.8;Feb 28, 2002 +87;Europa Universalis IV;8.7;Aug 13, 2013 +87;NHL 2004;8.2;Sep 22, 2003 +87;Zeus: Master of Olympus;9.0;Oct 22, 2000 +87;World of Warcraft: Warlords of Draenor;6.0;Nov 13, 2014 +87;Warhammer 40,000: Dawn of War - Dark Crusade;8.9;Oct 9, 2006 +87;Commandos 2: Men of Courage;8.8;Sep 20, 2001 +86;Tales From The Borderlands: Episode 5 - The Vault of the Traveler;8.7;Oct 20, 2015 +86;Bastion;8.6;Aug 16, 2011 +86;Gone Home;5.4;Aug 15, 2013 +86;Pac-Man Championship Edition DX +;7.3;Sep 24, 2013 +86;Supreme Commander;8.3;Feb 20, 2007 +86;Total War: Shogun 2 - Fall of the Samurai;8.4;Mar 23, 2012 +86;Startopia;8.7;Jun 19, 2001 +86;Enemy Engaged: RAH-66 Comanche Versus Ka-52 Hokum;8.3;Jul 31, 2000 +86;Fallout 2;9.2;Sep 30, 1998 +86;Final Fantasy XIV: Heavensward;7.7;Jun 23, 2015 +86;Football Manager 2013;6.7;Nov 1, 2012 +86;Out of the Park Baseball 14;8.6;Apr 15, 2013 +86;The Witcher: Enhanced Edition;8.5;Sep 16, 2008 +86;Borderlands: The Secret Armory of General Knoxx;7.6;Feb 25, 2010 +86;Call of Duty 2;8.3;Oct 25, 2005 +86;Astebreed;7.3;May 30, 2014 +86;Ground Control;7.8;May 31, 2000 +86;Rise of the Tomb Raider;8.0;Jan 28, 2016 +86;Resident Evil 5;7.1;Sep 18, 2009 +86;Saints Row IV;7.4;Aug 20, 2013 +86;Black Mesa;9.0;Sep 14, 2012 +86;EverQuest: Omens of War;7.7;Sep 13, 2004 +86;Steel Beasts;8.4;Sep 24, 2000 +86;Total Annihilation;8.9;Sep 30, 1997 +86;Need for Speed: Hot Pursuit;6.7;Nov 16, 2010 +86;FIFA Soccer 13;6.6;Sep 25, 2012 +86;Sid Meier's Civilization IV: Beyond the Sword;8.6;Jul 23, 2007 +86;The Sims 3;7.6;Jun 2, 2009 +86;Freedom Force vs The 3rd Reich;7.7;Mar 8, 2005 +86;The Binding of Isaac: Rebirth;8.3;Nov 4, 2014 +86;Tribes: Ascend;7.7;Apr 12, 2012 +86;Titanfall;6.1;Mar 11, 2014 +86;Rayman Origins;8.4;Mar 29, 2012 +86;Her Story;5.7;Jun 24, 2015 +86;Starcraft II: Heart of the Swarm;7.9;Mar 12, 2013 +86;Mass Effect 2: Lair of the Shadow Broker;8.5;Sep 7, 2010 +86;LEGO Star Wars II: The Original Trilogy;8.3;Sep 12, 2006 +86;Dungeon Siege;7.9;Mar 31, 2002 +86;Crysis 2;6.7;Mar 22, 2011 +86;Call of Duty: Modern Warfare 2;4.1;Nov 10, 2009 +86;The Secret of Monkey Island: Special Edition;9.1;Jul 15, 2009 +86;Max Payne 2: The Fall of Max Payne;9.0;Oct 14, 2003 +86;Homeworld Remastered Collection;8.2;Feb 25, 2015 +86;Galactic Civilizations II: Dread Lords;8.0;Feb 21, 2006 +86;Tomb Raider;8.5;Mar 5, 2013 +86;Star Trek: Voyager Elite Force;8.2;Sep 20, 2000 +86;Worldwide Soccer Manager 2008;8.4;Oct 23, 2007 +86;IL-2 Sturmovik: Forgotten Battles;8.6;Mar 2, 2003 +86;Hyper Light Drifter;8.1;Mar 31, 2016 +86;DiRT 3;6.9;May 24, 2011 +86;Unreal Tournament 2003;8.1;Sep 30, 2002 +86;Age of Wonders II: The Wizard's Throne;8.4;Jun 12, 2002 +86;Links 2001;6.8;Oct 24, 2000 +86;EverQuest: The Ruins of Kunark;8.8;Mar 31, 2000 +86;Full Throttle;8.8;Apr 30, 1995 +86;The Lord of the Rings Online: Shadows of Angmar;8.1;Apr 24, 2007 +86;Pony Island;6.8;Jan 4, 2016 +86;Warhammer 40,000: Dawn of War;8.8;Sep 20, 2004 +86;Warhammer Online: Age of Reckoning;7.9;Sep 16, 2008 +86;Dead Space;8.0;Oct 20, 2008 +86;Bionic Commando Rearmed;7.0;Aug 13, 2008 +86;Command & Conquer: Red Alert 2 - Yuri's Revenge;9.0;Oct 10, 2001 +86;Europa Universalis;8.1;Feb 2, 2001 +86;Escape from Monkey Island;8.2;Nov 8, 2000 +86;IL-2 Sturmovik: 1946;8.8;Mar 13, 2007 +86;XCOM: Enemy Within;7.9;Nov 12, 2013 +86;Battlefield 3: Back to Karkand;7.2;Dec 13, 2011 +86;Heroes of the Storm;6.7;Jun 2, 2015 +86;Civilization III: Conquests;8.4;Nov 4, 2003 +86;Path of Exile;8.0;Jan 25, 2013 +86;Battlefield: Bad Company 2 Vietnam;8.1;Dec 18, 2010 +86;Assassin's Creed II;6.8;Mar 9, 2010 +86;The Elder Scrolls IV: Shivering Isles;8.4;Mar 26, 2007 +86;DiRT Rally;8.8;Dec 7, 2015 +86;Rocket League;8.1;Jul 7, 2015 +86;Allegiance;8.2;Mar 31, 2000 +85;The Talos Principle;8.5;Dec 11, 2014 +85;Cities: Skylines;8.9;Mar 10, 2015 +85;Falcon 4.0;8.0;Nov 30, 1998 +85;Tom Clancy's Rainbow Six;8.6;Jul 31, 1998 +85;Madden NFL 2005;6.4;Sep 14, 2004 +85;Legend of Grimrock II;8.0;Oct 15, 2014 +85;Sam & Max Episode 205: What's New, Beelzebub?;8.6;Apr 10, 2008 +85;Dragon Age: Inquisition;5.8;Nov 18, 2014 +85;Tales from the Borderlands: A Telltale Game Series;8.7;Apr 26, 2016 +85;Tom Clancy's Rainbow Six: Vegas;7.7;Dec 12, 2006 +85;City of Heroes;8.5;Apr 27, 2004 +85;SWAT 4;8.6;Apr 5, 2005 +85;Clive Barker's Undying;8.7;Feb 21, 2001 +85;EverQuest;8.2;Mar 16, 1999 +85;Warhammer 40,000: Dawn of War II;8.1;Feb 18, 2009 +85;Command & Conquer 3: Tiberium Wars;8.0;Mar 26, 2007 +85;Bit.Trip Presents...Runner2: Future Legend of Rhythm Alien;8.2;Feb 26, 2013 +85;Hotline Miami;8.5;Oct 23, 2012 +85;Out of the Park Baseball 13;8.2;Apr 9, 2012 +85;Wizardry 8;8.6;Nov 14, 2001 +85;Aliens Versus Predator 2;8.7;Oct 31, 2001 +85;Operation Flashpoint: Cold War Crisis;9.0;Aug 30, 2001 +85;Tropico;8.4;Apr 5, 2001 +85;Giants: Citizen Kabuto;8.9;Dec 6, 2000 +85;NASCAR SimRacing;4.9;Feb 15, 2005 +85;The Lord of the Rings Online: Mines of Moria;8.3;Nov 17, 2008 +85;The Binding of Isaac: Afterbirth;8.1;Oct 30, 2015 +85;Amnesia: The Dark Descent;8.6;Feb 17, 2011 +85;GTR FIA Racing;8.6;May 3, 2005 +85;Football Manager 2011;8.4;Nov 23, 2010 +85;Dust: An Elysian Tail;8.5;May 24, 2013 +85;South Park: The Stick of Truth;8.6;Mar 4, 2014 +85;Dark Souls: Prepare to Die Edition;7.4;Aug 24, 2012 +85;Medieval II: Total War Kingdoms;8.8;Aug 28, 2007 +85;Shovel Knight;7.9;Jun 26, 2014 +85;DmC: Devil May Cry;6.7;Jan 24, 2013 +85;Peggle Deluxe;8.1;Feb 19, 2008 +85;Monopoly Tycoon;8.0;Sep 24, 2001 +85;Indigo Prophecy;8.3;Oct 2, 2005 +85;Prince of Persia: The Two Thrones;8.0;Dec 1, 2005 +85;Sam & Max Episode 204: Chariots of the Dogs;8.1;Mar 13, 2008 +85;Assetto Corsa;8.4;Dec 19, 2014 +85;Machinarium;8.8;Oct 16, 2009 +85;Frozen Synapse;7.7;May 26, 2011 +85;Valkyria Chronicles;8.3;Nov 11, 2014 +85;Freelancer;8.9;Mar 3, 2003 +85;Zenzizenzic;5.9;Jul 23, 2015 +85;The Wolf Among Us: Episode 1 - Faith;9.0;Oct 11, 2013 +85;Mega Man Legacy Collection;7.3;Aug 25, 2015 +85;Warhammer 40,000: Dawn of War II - Chaos Rising;8.7;Mar 11, 2010 +85;Far Cry 2;5.8;Oct 21, 2008 +85;The Walking Dead: Episode 3 - Long Road Ahead;8.4;Aug 29, 2012 +85;AudioSurf;8.8;Feb 15, 2008 +85;BattleBlock Theater;8.0;May 15, 2014 +85;Star Wars: Knights of the Old Republic II - The Sith Lords;8.4;Feb 8, 2005 +85;MVP Baseball 2005;8.1;Feb 22, 2005 +85;The Elder Scrolls III: Bloodmoon;8.5;Jun 3, 2003 +85;Rogue Legacy;7.9;Jun 27, 2013 +85;Chaos Reborn;8.4;Oct 26, 2015 +85;Thief: Deadly Shadows;8.4;May 25, 2004 +85;Football Manager 2014;5.4;Oct 30, 2013 +85;System Shock: Enhanced Edition;7.9;Sep 22, 2015 +85;EverQuest: Gates of Discord;6.8;Feb 9, 2004 +85;FIFA 2001 Major League Soccer;7.3;Oct 30, 2000 +85;Sid Meier's Civilization V: Brave New World;8.6;Jul 9, 2013 +85;Final Fantasy XI;7.5;Oct 28, 2003 +85;Serious Sam: The Second Encounter;8.5;Feb 4, 2002 +85;The Sims: Hot Date;7.9;Nov 12, 2001 +85;American McGee's Alice;8.2;Dec 6, 2000 +85;Trials Evolution: Gold Edition;6.7;Mar 21, 2013 +85;Warhammer 40,000: Dawn of War - Winter Assault;8.3;Sep 21, 2005 +85;Tony Hawk's Underground 2;7.9;Oct 4, 2004 +85;Papers, Please;8.5;Aug 8, 2013 +85;Star Wars: The Old Republic;5.9;Dec 20, 2011 +85;Anarchy Online: Shadowlands;8.7;Sep 8, 2003 +85;Dark Age of Camelot: Shrouded Isles;8.8;Dec 2, 2002 +85;Obsidian;8.3;Dec 31, 1996 +84;The Walking Dead: Episode 2 - Starved for Help;8.6;Jun 29, 2012 +84;Saints Row: The Third;8.1;Nov 15, 2011 +84;Fallout: New Vegas;8.5;Oct 19, 2010 +84;The Movies;8.3;Nov 8, 2005 +84;Neverwinter Nights: Hordes of the Underdark;8.6;Dec 2, 2003 +84;Command & Conquer: Generals;8.3;Feb 10, 2003 +84;Sid Meier's SimGolf;8.2;Jan 23, 2002 +84;Middle-earth: Shadow of Mordor;8.0;Sep 30, 2014 +84;SpaceChem;8.4;Mar 2, 2011 +84;Downwell;6.2;Oct 15, 2015 +84;Pinball FX 2;8.0;Oct 27, 2012 +84;Devil Daggers;6.7;Feb 18, 2016 +84;PlanetSide 2;7.0;Nov 20, 2012 +84;Enter the Gungeon;7.4;Apr 5, 2016 +84;GT Legends;8.6;Jan 23, 2006 +84;Hearthstone: Goblins Vs. Gnomes;6.6;Dec 8, 2014 +84;Space Rangers 2: Rise of the Dominators;9.0;Mar 27, 2006 +84;Tales From The Borderlands: Episode 1 - Zer0 Sum;8.4;Nov 25, 2014 +84;Puzzle Quest: Challenge of the Warlords;8.3;Oct 10, 2007 +84;Heroes of Might and Magic IV;7.6;Mar 29, 2002 +84;Command & Conquer: Red Alert 2;8.9;Oct 21, 2000 +84;Shogun: Total War;8.7;Jun 13, 2000 +84;DiRT;7.2;Jun 19, 2007 +84;Darkest Dungeon;8.0;Jan 19, 2016 +84;Super Street Fighter IV: Arcade Edition;7.8;Jul 13, 2011 +84;Football Manager 2012;8.0;Oct 20, 2011 +84;Guild Wars Factions;8.5;Apr 28, 2006 +84;80 Days (2015);6.1;Sep 29, 2015 +84;Spore;5.2;Sep 7, 2008 +84;Unity of Command;7.2;Nov 15, 2011 +84;Hearthstone: The Grand Tournament;4.0;Aug 24, 2015 +84;Metro Redux;8.0;Aug 26, 2014 +84;Time Gentlemen, Please!;7.6;Jul 2, 2009 +84;Europa Universalis IV: Wealth of Nations;8.4;May 29, 2014 +84;Mass Effect 3: Citadel;7.8;Mar 5, 2013 +84;Disciples II: Dark Prophecy;8.6;Jan 22, 2002 +84;Just Cause 2;7.7;Mar 23, 2010 +84;Crysis Warhead;7.9;Sep 16, 2008 +84;Assassin's Creed IV: Black Flag;7.7;Nov 19, 2013 +84;Age of Mythology: The Titans;8.7;Sep 30, 2003 +84;SimCity 4;8.7;Jan 12, 2003 +84;Microsoft Train Simulator;8.4;May 31, 2001 +84;Rise of Nations: Rise of Legends;8.5;May 9, 2006 +84;TOCA Race Driver 3;7.8;Feb 24, 2006 +84;FTL: Faster Than Light;8.4;Sep 14, 2012 +84;SOMA;8.2;Sep 22, 2015 +84;DEFCON: Everybody Dies;8.3;Mar 26, 2007 +84;Tron 2.0;8.3;Aug 26, 2003 +84;Brothers in Arms: Earned in Blood;7.3;Oct 6, 2005 +84;Grim Fandango Remastered;8.0;Jan 27, 2015 +84;The Lord of the Rings: The Battle for Middle-Earth II;7.5;Mar 2, 2006 +84;Battlefield Vietnam;7.4;Mar 16, 2004 +84;Medieval: Total War - Viking Invasion;8.8;May 7, 2003 +84;Fallout 4;5.4;Nov 10, 2015 +84;Guild Wars Nightfall;8.7;Oct 26, 2006 +84;The Binding of Isaac;8.3;Sep 28, 2011 +84;Enemy Territory: Quake Wars;8.3;Oct 2, 2007 +84;Trine 2;8.4;Dec 7, 2011 +84;Rift;7.3;Mar 1, 2011 +84;The Wolf Among Us: Episode 5 - Cry Wolf;8.8;Jul 8, 2014 +84;Shift 2: Unleashed;6.1;Mar 29, 2011 +84;Sid Meier's Civilization IV: Warlords;8.2;Jul 24, 2006 +84;Battlefield 1942: The Road to Rome;7.9;Feb 2, 2003 +84;Poseidon;8.4;Jun 25, 2001 +84;F1 2010;6.6;Sep 22, 2010 +84;Shatter;7.4;Mar 15, 2010 +84;Darwinia;7.9;Jun 12, 2006 +84;Ultimate General: Gettysburg;8.0;Oct 16, 2014 +83;Final Fantasy XI: Treasures of Aht Urhgan;7.6;Apr 18, 2006 +83;MDK2;8.4;May 31, 2000 +83;Gunpoint;8.4;Jun 3, 2013 +83;Beyond Good & Evil;8.7;Nov 19, 2003 +83;Anno 2070;7.0;Nov 17, 2011 +83;SMITE;8.3;Mar 25, 2014 +83;Halo: Combat Evolved;7.4;Sep 30, 2003 +83;Grim Dawn;8.9;Feb 25, 2016 +83;Silent Storm;8.9;Jan 20, 2004 +83;Command & Conquer: Generals - Zero Hour;9.0;Sep 22, 2003 +83;Homeworld 2;8.3;Sep 16, 2003 +83;Galactic Civilizations;8.1;Mar 26, 2003 +83;EverQuest: The Shadows of Luclin;7.2;Dec 2, 2001 +83;Orcs Must Die!;8.1;Oct 11, 2011 +83;Life is Strange;8.6;Jan 19, 2016 +83;Fable: The Lost Chapters;8.7;Sep 20, 2005 +83;Unreal Tournament III;8.0;Nov 19, 2007 +83;The Blackwell Epiphany;7.6;Apr 24, 2014 +83;The Lord of the Rings Online: Siege of Mirkwood;7.1;Dec 1, 2009 +83;Out of the Park Baseball 10;8.3;Jun 2, 2009 +83;Tomb Raider: Anniversary;8.0;Jun 5, 2007 +83;Need for Speed: Shift;5.7;Sep 15, 2009 +83;Hearts of Iron II;8.6;Jan 4, 2005 +83;FIFA Soccer 11;7.6;Sep 28, 2010 +83;Project CARS;7.0;May 6, 2015 +83;FIFA Soccer 2003;6.8;Nov 2, 2002 +83;Icewind Dale II;8.3;Aug 26, 2002 +83;Age of Empires;8.8;Sep 30, 1997 +83;EverQuest II: Echoes of Faydwer;8.4;Nov 13, 2006 +83;EverQuest II;7.3;Nov 8, 2004 +83;Terraria;8.5;May 16, 2011 +83;Final Fantasy XIV Online: A Realm Reborn;6.7;Aug 27, 2013 +83;Card Hunter (2013);7.9;Sep 12, 2013 +83;Sam & Max: The Devil's Playhouse - Episode 2: The Tomb of Sammun-Mak;7.9;May 18, 2010 +83;This War of Mine;8.4;Nov 14, 2014 +83;Darksiders;7.7;Sep 23, 2010 +83;Tom Clancy's Rainbow Six 3: Raven Shield;8.9;Mar 19, 2003 +83;World of Outlaws: Sprint Cars;7.9;Feb 11, 2003 +83;Colin McRae Rally 2.0;8.4;Feb 14, 2001 +83;Combat Flight Simulator 2: WWII Pacific Theater;8.1;Oct 13, 2000 +83;Orcs Must Die! 2;7.9;Jul 30, 2012 +83;Prey;7.9;Jul 11, 2006 +83;Metal Gear Rising: Revengeance;7.9;Jan 9, 2014 +83;Starseed Pilgrim;6.3;Apr 16, 2013 +83;Age of Conan: Rise of the Godslayer;8.4;May 11, 2010 +83;Alan Wake;8.0;Feb 16, 2012 +83;Tiger Woods PGA Tour 2002;5.0;Feb 24, 2002 +83;Monaco: What's Yours Is Mine;7.7;Apr 24, 2013 +83;Transistor;8.3;May 20, 2014 +83;Helldivers;6.9;Dec 7, 2015 +83;Worldwide Soccer Manager 2009;8.1;Nov 18, 2008 +83;Call of Duty: World at War;7.5;Nov 10, 2008 +83;Torchlight;8.0;Jan 5, 2010 +83;Prison Architect;8.3;Oct 6, 2015 +83;Valdis Story: Abyssal City;8.1;Oct 30, 2013 +83;Crimson Skies;8.2;Sep 17, 2000 +83;RACE 07: Official WTCC Game;9.0;Oct 9, 2007 +83;SUPERHOT;7.6;Feb 25, 2016 +83;EverQuest II: Rise of Kunark;7.9;Nov 13, 2007 +83;Dark Age of Camelot: Catacombs;8.6;Dec 7, 2004 +83;Spore Creature Creator;8.1;Jun 17, 2008 +83;Colin McRae Rally 2005;7.0;Oct 28, 2004 +83;Tom Clancy's Splinter Cell: Conviction;5.2;Apr 27, 2010 +83;Tribes: Vengeance;7.6;Oct 12, 2004 +83;L.A. Noire: The Complete Edition;7.9;Nov 8, 2011 +83;GTR Evolution;8.2;Sep 2, 2008 +83;Life is Strange: Episode 5 - Polarized;8.4;Oct 20, 2015 +83;BROFORCE;8.0;Oct 15, 2015 +83;Independence War 2: Edge of Chaos;8.4;Aug 22, 2001 +83;Myst III: Exile;8.2;May 8, 2001 +83;Superbrothers: Sword & Sworcery EP;6.4;Apr 16, 2012 +83;Sid Meier's Civilization IV: Colonization;6.7;Sep 22, 2008 +83;Europa Universalis III;8.4;Jan 23, 2007 +83;F1 2011;7.2;Sep 20, 2011 +83;Prince of Persia: Warrior Within;8.4;Nov 30, 2004 +83;Danganronpa: Trigger Happy Havoc;7.6;Feb 18, 2016 +83;Counter-Strike: Global Offensive;7.8;Aug 21, 2012 +83;Outland;7.1;Sep 29, 2014 +83;MechWarrior 4: Mercenaries;8.6;Nov 7, 2002 +83;Metal Gear Solid;9.0;Sep 24, 2000 +82;Invisible, Inc.;8.0;May 12, 2015 +82;Dark Souls II: Crown of the Ivory King;7.8;Sep 29, 2014 +82;Red Faction: Guerrilla;7.5;Sep 15, 2009 +82;The Book of Unwritten Tales;8.2;Oct 28, 2011 +82;Capitalism II;9.0;Dec 16, 2001 +82;Rally Trophy;8.5;Nov 20, 2001 +82;Dawn of Discovery;8.8;Jun 17, 2009 +82;City of Villains;8.1;Oct 31, 2005 +82;Kentucky Route Zero - Act II;8.0;May 31, 2013 +82;Tom Clancy's Splinter Cell: Blacklist;7.4;Aug 20, 2013 +82;Act of War: Direct Action;8.5;Mar 15, 2005 +82;Sokobond;7.8;Aug 27, 2013 +82;Sam & Max Episode 105: Reality 2.0;8.4;Mar 29, 2007 +82;Bejeweled 3;8.0;Dec 7, 2010 +82;Dangerous Waters;8.8;Feb 22, 2005 +82;Tomb Raider: Legend;7.8;Apr 11, 2006 +82;Asheron's Call 2: Fallen Kings;8.8;Nov 20, 2002 +82;Gemini Rue;8.4;Feb 24, 2011 +82;Antichamber;8.2;Jan 31, 2013 +82;Neverwinter Nights 2;6.5;Oct 31, 2006 +82;Dragon Age: Origins - Awakening;7.7;Mar 16, 2010 +82;Door Kickers;8.2;Oct 20, 2014 +82;Hearthstone: Blackrock Mountain;6.4;Apr 2, 2015 +82;Rome: Total War Barbarian Invasion;8.4;Sep 27, 2005 +82;Hacknet;7.3;Aug 12, 2015 +82;Tales of Monkey Island Chapter 3: Lair of the Leviathan;7.8;Sep 29, 2009 +82;Neverwinter Nights 2: Mask of The Betrayer;8.8;Oct 9, 2007 +82;Sins of a Solar Empire: Rebellion;7.8;Jun 12, 2012 +82;Broken Sword: The Sleeping Dragon;7.6;Nov 17, 2003 +82;Age of Wonders: Shadow Magic;8.5;Jul 25, 2003 +82;Tom Clancy's Ghost Recon: Desert Siege;8.4;Mar 27, 2002 +82;Warlords Battlecry II;8.5;Mar 11, 2002 +82;Football Manager Live;2.9;Jan 23, 2009 +82;Marvel: Ultimate Alliance;8.3;Oct 24, 2006 +82;The Talos Principle: Road To Gehenna;7.6;Jul 23, 2015 +82;Lara Croft and the Guardian of Light;8.2;Sep 28, 2010 +82;Aquaria;8.3;Dec 7, 2007 +82;Need for Speed: Underground;8.3;Nov 17, 2003 +82;TrackMania Sunrise;8.5;May 6, 2005 +82;King's Quest Chapter 1: A Knight to Remember;7.2;Jul 28, 2015 +82;Dragon Age II;4.4;Mar 8, 2011 +82;Endless Legend;7.9;Apr 24, 2014 +82;Tom Clancy's Ghost Recon: Island Thunder;8.3;Sep 25, 2002 +82;S.T.A.L.K.E.R.: Shadow of Chernobyl;8.4;Mar 20, 2007 +82;Kero Blaster;6.9;May 11, 2014 +82;Monday Night Combat;7.3;Jan 24, 2011 +82;The Wolf Among Us: Episode 3 - A Crooked Mile;8.6;Apr 8, 2014 +82;Airborne Assault: Red Devils Over Arnhem;7.4;Jun 17, 2002 +82;Fallout Tactics: Brotherhood of Steel;7.9;Mar 14, 2001 +82;Need for Speed: Underground 2;8.5;Nov 9, 2004 +82;NHL Eastside Hockey Manager 2005;6.6;Oct 5, 2005 +82;Legend of Grimrock;8.1;Apr 11, 2012 +82;Dominions 3: The Awakening;8.1;Sep 29, 2006 +82;Bulletstorm;7.7;Feb 22, 2011 +82;Borderlands 2: Mr. Torgue's Campaign of Carnage;7.3;Nov 20, 2012 +82;Desktop Dungeons;8.2;Oct 17, 2010 +82;Fallout: New Vegas - Old World Blues;7.8;Jul 19, 2011 +82;Crusader Kings II;8.7;Feb 14, 2012 +82;MVP Baseball 2004;7.9;Mar 9, 2004 +82;Europa 1400: The Guild;8.6;Nov 18, 2002 +82;Battle Realms;8.6;Nov 7, 2001 +82;Warlords Battlecry;8.2;Jul 9, 2000 +82;Sam & Max Episode 201: Ice Station Santa;8.6;Nov 8, 2007 +82;Technobabylon;7.8;May 21, 2015 +82;World of Warcraft: Mists of Pandaria;4.8;Sep 25, 2012 +82;FIFA 15;4.2;Sep 23, 2014 +82;Recettear: An Item Shop's Tale;8.6;Sep 10, 2010 +82;ETHER One;6.9;Mar 25, 2014 +82;The Vanishing of Ethan Carter;8.1;Sep 25, 2014 +82;Flight Simulator X: Acceleration;7.3;Oct 23, 2007 +82;Blood;9.0;May 31, 1997 +82;Command & Conquer: Red Alert 3;6.8;Oct 28, 2008 +82;The Walking Dead: Episode 1 - A New Day;8.4;Apr 24, 2012 +82;Links 2003;6.8;Sep 16, 2002 +82;Earth & Beyond;7.1;Sep 2, 2002 +82;Syberia;8.5;Sep 1, 2002 +82;Virtual Pool 3;7.3;Nov 14, 2000 +82;The Sims: Livin' Large;6.6;Aug 27, 2000 +82;DCS: Black Shark;8.5;Apr 13, 2009 +82;King's Bounty: Armored Princess;8.7;Sep 10, 2010 +82;Age of Wonders III - Golden Realms;8.5;Sep 18, 2014 +82;Strong Bad's Cool Game for Attractive People Episode 5: 8-Bit Is Enough;7.5;Dec 15, 2008 +82;Prince of Persia;7.2;Dec 2, 2008 +82;Joint Operations: Typhoon Rising;8.7;Jun 15, 2004 +82;Xpand Rally;7.4;Apr 20, 2006 +82;Dark Souls II: Crown of the Sunken King;7.3;Jul 22, 2014 +82;Resident Evil HD Remaster;8.2;Jan 20, 2015 +82;Celtic Kings: Rage of War;8.5;Aug 21, 2002 +82;B-17 Flying Fortress: The Mighty 8th;7.3;Dec 13, 2000 +82;EverQuest: The Scars of Velious;7.8;Dec 4, 2000 +82;Metro: Last Light;8.6;May 14, 2013 +82;Rising Storm;8.5;May 30, 2013 +82;Lethal League;7.4;Aug 27, 2014 +82;Botanicula;8.3;Apr 19, 2012 +82;Pro Evolution Soccer 2015;5.8;Nov 13, 2014 +82;Bookworm Adventures Deluxe;7.9;Dec 20, 2006 +82;The Lord of the Rings: The Battle for Middle-Earth;8.6;Dec 6, 2004 +82;Hitman: Blood Money;8.8;May 30, 2006 +82;Need for Speed: Most Wanted;8.5;Nov 15, 2005 +82;OlliOlli2: Welcome to Olliwood;5.2;Aug 11, 2015 +82;WildStar;7.4;Jun 3, 2014 +82;Broken Age: Act 1;7.7;Jan 28, 2014 +82;Divinity II: The Dragon Knight Saga;8.2;Nov 5, 2010 +82;Out of the Park Baseball 9;7.4;Jun 1, 2008 +82;The Simpsons: Hit & Run;8.0;Nov 13, 2003 +82;America's Army;6.1;Aug 28, 2002 +82;Star Trek Bridge Commander;8.1;Feb 27, 2002 +82;The Last Express;8.9;Mar 31, 1997 +81;Quake 4;7.5;Oct 11, 2005 +81;Nidhogg;7.0;Jan 13, 2014 +81;Battlefield 4;6.0;Oct 29, 2013 +81;To the Moon;8.9;Sep 7, 2012 +81;The Sims 3: World Adventures;8.0;Nov 16, 2009 +81;Painkiller;8.0;Apr 12, 2004 +81;Airborne Assault: Highway to the Reich;6.1;Dec 10, 2003 +81;Nancy Drew: Danger on Deception Island;7.7;Oct 1, 2003 +81;Shadowrun: Hong Kong;7.7;Aug 20, 2015 +81;Supreme Commander: Forged Alliance;8.9;Nov 6, 2007 +81;Sunless Sea;7.4;Jul 1, 2014 +81;The Walking Dead: Season Two Episode 3 - In Harm's Way;8.3;May 13, 2014 +81;Marvel Heroes 2015;7.9;Jun 4, 2014 +81;Football Manager 2016;6.4;Nov 13, 2015 +81;VVVVVV;8.1;Jan 11, 2010 +81;Darksiders II;7.9;Aug 14, 2012 +81;Wolfenstein: The New Order;8.2;May 20, 2014 +81;Lone Survivor;7.2;Apr 23, 2012 +81;Alien: Isolation;8.4;Oct 6, 2014 +81;The Witcher;8.8;Oct 30, 2007 +81;Kentucky Route Zero - Act I;7.5;Jan 7, 2013 +81;Jade Empire: Special Edition;8.3;Feb 26, 2007 +81;SWAT 3: Elite Edition;8.4;Oct 6, 2000 +81;Asheron's Call;8.8;Oct 31, 1999 +81;Unravel;8.1;Feb 9, 2016 +81;Midnight Club II;8.0;Jun 30, 2003 +81;Chessmaster 10th Edition;7.4;Aug 12, 2004 +81;Age of Empires III;7.7;Oct 18, 2005 +81;Tales of Monkey Island Chapter 5: Rise of the Pirate God;8.4;Dec 8, 2009 +81;Castlevania: Lords of Shadow Ultimate Edition;7.3;Aug 27, 2013 +81;Strong Bad's Cool Game for Attractive People Episode 2: Strong Badia the Free;8.2;Sep 15, 2008 +81;The Cat Lady;8.7;Dec 4, 2013 +81;Vessel;7.9;Mar 1, 2012 +81;Metro 2033;8.1;Mar 16, 2010 +81;OutRun 2006: Coast 2 Coast;7.8;Jun 27, 2006 +81;Blur;7.3;May 25, 2010 +81;Empires: Dawn of the Modern World;8.2;Oct 21, 2003 +81;Chessmaster 9000;7.7;Aug 31, 2002 +81;Gothic;8.6;Nov 23, 2001 +81;Arcanum: Of Steamworks and Magick Obscura;8.9;Aug 22, 2001 +81;NASCAR Heat;8.6;Sep 27, 2000 +81;Company of Heroes 2: Ardennes Assault;6.1;Nov 17, 2014 +81;PlanetSide;7.3;May 20, 2003 +81;Tales From The Borderlands: Episode 3 - Catch A Ride;8.4;Jun 23, 2015 +81;The Walking Dead: Season Two Episode 2 - A House Divided;8.6;Mar 4, 2014 +81;Kingdoms of Amalur: Reckoning;6.6;Feb 7, 2012 +81;Sam & Max: The Devil's Playhouse - Episode 1: The Penal Zone;8.5;Apr 15, 2010 +81;Borderlands;7.8;Oct 26, 2009 +81;DG2: Defense Grid 2;6.7;Sep 23, 2014 +81;Napoleon: Total War;7.9;Feb 23, 2010 +81;Overlord;8.1;Jun 26, 2007 +81;Firewatch;7.2;Feb 9, 2016 +81;Victoria II: Heart of Darkness;8.7;Apr 16, 2013 +81;Waveform;7.6;Jan 25, 2013 +81;The Elder Scrolls IV: Knights of the Nine;7.5;Nov 21, 2006 +81;Red Orchestra: Ostfront 41-45;8.6;Mar 14, 2006 +81;Stronghold;8.9;Oct 21, 2001 +81;Strong Bad's Cool Game for Attractive People Episode 4: Dangeresque 3: The Criminal Projective;8.5;Nov 17, 2008 +81;Rochard;8.0;Nov 15, 2011 +81;Fallout 3: Broken Steel;7.3;May 5, 2009 +81;Tiger Woods PGA Tour 06;8.1;Sep 20, 2005 +81;RollerCoaster Tycoon 3;4.9;Oct 26, 2004 +81;Dragon's Dogma: Dark Arisen;8.3;Jan 15, 2016 +81;Guild Wars 2: Heart of Thorns;7.3;Oct 23, 2015 +81;AaaaaAAaaaAAAaaAAAAaAAAAA!!! - A Reckless Disregard for Gravity;7.2;Sep 3, 2009 +81;The Sims 2 University;7.8;Feb 28, 2005 +81;Far Cry 3: Blood Dragon;8.1;May 1, 2013 +81;Sid Meier's Civilization: Beyond Earth;5.5;Oct 24, 2014 +81;Disney's Toontown Online;8.7;Oct 6, 2005 +81;Combat Mission 3: Afrika Korps;8.4;Dec 3, 2003 +81;EverQuest: The Planes of Power;8.2;Oct 28, 2002 +81;Rails Across America;8.0;Sep 18, 2001 +81;Wasteland 2;7.3;Sep 19, 2014 +81;Jamestown: Legend of the Lost Colony;7.5;Jun 8, 2011 +81;Call of Duty: Black Ops;5.1;Nov 9, 2010 +81;Kohan II: Kings of War;7.9;Sep 20, 2004 +81;The Age of Decadence;7.9;Oct 15, 2015 +81;Samorost 3;8.3;Mar 24, 2016 +81;Order of Battle: Pacific;6.4;Apr 30, 2015 +81;Empire Earth;8.3;Nov 12, 2001 +81;Star Trek: Deep Space Nine: The Fallen;7.9;Nov 15, 2000 +81;Sam & Max Episode 101: Culture Shock;8.7;Oct 18, 2006 +81;Mirror's Edge (2008);8.1;Jan 12, 2009 +81;TrackMania 2 Canyon;7.7;Sep 14, 2011 +81;Sleeping Dogs;8.2;Aug 14, 2012 +81;Star Wars Jedi Knight: Jedi Academy;8.6;Sep 17, 2003 +81;Mortal Kombat Komplete Edition;8.7;Aug 6, 2013 +81;Shadowrun: Dragonfall;8.3;Feb 27, 2014 +81;Eets;6.4;Mar 29, 2006 +81;World of Warships;6.6;Sep 17, 2015 +81;TOCA Race Driver 2: The Ultimate Racing Simulator;8.0;Apr 15, 2004 +81;Wargame: European Escalation;8.2;Feb 22, 2012 +81;Dungeon Defenders;7.3;Oct 18, 2011 +81;Sam & Max: The Devil's Playhouse - Episode 5: The City That Dares Not Sleep;7.9;Aug 30, 2010 +81;Age of Empires III: The Asian Dynasties;8.5;Oct 23, 2007 +81;Defense Grid: The Awakening;8.8;Jul 29, 2009 +81;Codename: Panzers, Phase One;8.8;Sep 30, 2004 +81;FIFA 16;4.4;Sep 22, 2015 +81;Europa Universalis IV: Conquest of Paradise;7.7;Jan 14, 2014 +81;Ghost Master;8.0;Aug 26, 2003 +81;Divine Divinity;8.5;Sep 22, 2002 +80;The Book of Unwritten Tales 2;7.7;Feb 20, 2015 +80;Galactic Civilizations III;6.6;May 14, 2015 +80;Lovers in a Dangerous Spacetime;7.2;Sep 9, 2015 +80;Age of Conan: Hyborian Adventures;7.3;May 20, 2008 +80;Company of Heroes 2: The Western Front Armies;6.8;Jun 23, 2014 +80;Sid Meier's Civilization V: Gods & Kings;7.7;Jun 19, 2012 +80;Age of Empires III: The WarChiefs;8.1;Oct 17, 2006 +80;Metal Gear Solid V: Ground Zeroes;7.7;Dec 18, 2014 +80;Trials Fusion;6.8;Apr 16, 2014 +80;Syberia II;8.3;Mar 30, 2004 +80;Tom Clancy's Ghost Recon;8.4;Nov 13, 2001 +80;Conquest: Frontier Wars;8.3;Aug 14, 2001 +80;Gabriel Knight 3: Blood of the Sacred, Blood of the Damned;8.8;Oct 5, 1999 +80;Westerado: Double Barreled;7.4;Apr 16, 2015 +80;Anomaly: Warzone Earth;7.3;Apr 8, 2011 +80;Volume;7.2;Aug 18, 2015 +80;GRID 2;5.7;May 27, 2013 +80;The Banner Saga;7.9;Jan 14, 2014 +80;Sam & Max Episode 202: Moai Better Blues;7.7;Jan 10, 2008 +80;Age of Wonders III - Eternal Lords;8.4;Apr 14, 2015 +80;Pro Evolution Soccer 2013;6.8;Sep 25, 2012 +80;Osmos;7.5;Aug 18, 2009 +80;Dungeon Siege II;7.9;Aug 16, 2005 +80;Dead Island;6.8;Sep 6, 2011 +80;Sam & Max Episode 104: Abe Lincoln Must Die!;7.8;Feb 22, 2007 +80;Deus Ex: Invisible War;6.3;Dec 2, 2003 +80;The Sims: Makin' Magic;8.6;Oct 28, 2003 +80;Tom Clancy's Splinter Cell: Double Agent;5.7;Nov 7, 2006 +80;Medal of Honor: Pacific Assault;7.4;Nov 4, 2004 +80;Assassin's Creed: Revelations;7.4;Nov 29, 2011 +80;Grandia II Anniversary Edition;7.6;Aug 24, 2015 +80;Assassin's Creed III;6.2;Nov 20, 2012 +80;Madden NFL 07;7.3;Aug 22, 2006 +80;Outlast;8.4;Sep 4, 2013 +80;The Chronicles of Riddick: Assault on Dark Athena;8.0;Apr 7, 2009 +80;Hearts of Iron II: Doomsday;8.8;Apr 7, 2006 +80;Dishonored: The Brigmore Witches;8.5;Aug 13, 2013 +80;Codename: Panzers, Phase Two;8.0;Jul 25, 2005 +80;Full Spectrum Warrior;7.0;Sep 21, 2004 +80;AI War: Fleet Command;8.4;May 14, 2009 +80;Freedom Fighters;8.3;Oct 1, 2003 +80;NBA Live 2003;8.3;Nov 14, 2002 +80;The Elder Scrolls III: Tribunal;8.2;Nov 6, 2002 +80;Elite: Dangerous;6.4;Dec 16, 2014 +80;Pure;6.9;Sep 16, 2008 +80;Goodbye Deponia;8.1;Oct 17, 2013 +80;SWAT 4: The Stetchkov Syndicate;8.3;Feb 28, 2006 +80;Dropsy;7.3;Sep 10, 2015 +80;Company of Heroes 2: The British Forces;5.9;Sep 3, 2015 +80;Ground Control II: Operation Exodus;8.8;Jun 23, 2004 +80;NBA Live 2004;9.0;Nov 11, 2003 +80;Brutal Legend;7.8;Feb 26, 2013 +80;Tomb Raider: Underworld;7.6;Nov 18, 2008 +80;Oxenfree;7.7;Jan 15, 2016 +80;Titan Quest: Immortal Throne;8.7;Mar 5, 2007 +80;La-Mulana (Remake);7.1;Jul 13, 2012 +80;X-Men Legends II: Rise of Apocalypse;8.4;Sep 20, 2005 +80;SpellForce 2: Shadow Wars;7.6;May 5, 2006 +80;Fritz 8 Deluxe;7.8;Dec 1, 2004 +80;Trine;8.2;Sep 11, 2009 +80;Dishonored: The Knife of Dunwall;8.1;Apr 16, 2013 +80;Company of Heroes 2;2.0;Jun 25, 2013 +80;Natural Selection 2;8.4;Oct 30, 2012 +80;Read Only Memories;7.2;Oct 5, 2015 +80;The Sims 3: Into the Future;5.4;Oct 22, 2013 +80;Borderlands 2: Captain Scarlett and Her Pirate's Booty;7.4;Oct 16, 2012 +80;FATE;8.3;Sep 19, 2006 +80;2002 FIFA World Cup;7.9;Apr 30, 2002 +80;Asheron's Call Dark Majesty;8.1;Nov 4, 2001 +80;The Bug Butcher;8.2;Jan 19, 2016 +80;Dragonshard;7.4;Oct 2, 2005 +80;Icewind Dale: Enhanced Edition;7.6;Oct 30, 2014 +80;The Magic Circle;7.3;Jul 9, 2015 +80;Far Cry 4;6.6;Nov 18, 2014 +80;Super Time Force Ultra;6.6;Aug 25, 2014 +80;Day of Defeat: Source;9.1;Feb 7, 2006 +80;Battlefield 2142;6.8;Oct 17, 2006 +80;World of Tanks;3.8;Sep 6, 2011 +80;Vampire: The Masquerade - Bloodlines;9.0;Nov 16, 2004 +80;Dark Souls II: Scholar of the First Sin;7.4;Apr 1, 2015 +80;Warhammer 40,000: Dawn of War II - Retribution;7.8;Mar 1, 2011 +80;Panzer Corps;7.5;Jul 11, 2011 +80;Men of War;8.1;Mar 16, 2009 +80;Fallen Enchantress: Legendary Heroes;7.7;May 22, 2013 +80;The Walking Dead: Episode 4 - Around Every Corner;8.5;Oct 10, 2012 +80;Tales of Monkey Island Chapter 4: The Trial and Execution of Guybrush Threepwood;8.4;Oct 30, 2009 +80;Penny Arcade Adventures: Episode Two;7.7;Nov 7, 2008 +80;Time Commando;8.9;Jul 31, 1996 +80;Sins of a Solar Empire: Entrenchment;8.1;Feb 25, 2009 +80;F1 2012;6.9;Sep 18, 2012 +80;Luftrausers;6.8;Mar 18, 2014 +80;Naruto Shippuden: Ultimate Ninja Storm 3 Full Burst;7.9;Oct 24, 2013 +80;Stealth Bastard Deluxe;8.3;Nov 28, 2012 +80;Tom Clancy's Ghost Recon Advanced Warfighter;7.7;May 3, 2006 +80;LEGO Batman: The Videogame;7.9;Sep 23, 2008 +80;Stacking;7.9;Mar 6, 2012 +80;Age of Wonders III;7.8;Mar 31, 2014 +80;Life is Strange: Episode 3 - Chaos Theory;9.0;May 19, 2015 +80;The Legend of Heroes: Trails in the Sky SC;8.4;Oct 29, 2015 +80;Proteus;5.6;Jan 30, 2013 +80;Robin Hood: The Legend of Sherwood;8.3;Nov 14, 2002 +80;Soldier of Fortune II: Double Helix;7.3;May 20, 2002 +80;RollerCoaster Tycoon: Loopy Landscapes;9.0;Sep 30, 2000 +80;Toki Tori;7.9;Jan 28, 2010 +80;RoboBlitz;8.3;Nov 7, 2006 +80;Wargame: AirLand Battle;8.1;May 29, 2013 +80;Football Manager 2015;6.0;Nov 7, 2014 +80;The Suffering;8.2;Jun 8, 2004 +80;Gish;7.2;Sep 17, 2004 +80;Axiom Verge;8.2;May 14, 2015 +80;Driver: San Francisco;7.0;Sep 27, 2011 +80;The Corporate Machine;7.5;Jul 14, 2001 +80;Dungeons & Dragons: Chronicles of Mystara;6.7;Jun 18, 2013 +80;Disciples II: Rise of the Elves;8.1;Nov 25, 2003 +80;MechCommander 2;8.3;Jul 18, 2001 +80;Waterloo: Napoleon's Last Battle;7.5;Mar 25, 2001 +80;Chessmaster 8000;6.4;Nov 14, 2000 +80;Circle of Blood;8.6;Sep 30, 1996 +80;BioShock Infinite: Burial at Sea - Episode Two;8.5;Mar 25, 2014 +80;S.T.A.L.K.E.R.: Call of Pripyat;8.7;Feb 2, 2010 +80;The Walking Dead: Season Two - A Telltale Games Series;8.3;Dec 17, 2013 +80;FLY'N;8.2;Nov 9, 2012 +80;Total War: Attila;7.3;Feb 17, 2015 +80;The Wolf Among Us;8.8;Oct 11, 2013 +80;Nancy Drew: Secret of the Old Clock;8.1;Jul 26, 2005 +80;ArcheAge;3.6;Sep 16, 2014 +80;CAPSIZED;7.1;Apr 29, 2011 +80;Microsoft Flight Simulator X;7.6;Oct 17, 2006 +80;Myst V: End of Ages;7.8;Sep 19, 2005 +80;Railroad Tycoon 3;7.7;Oct 23, 2003 +80;Hostile Waters: Antaeus Rising;8.1;Jun 13, 2001 +79;Dustforce;7.9;Jan 17, 2012 +79;Empire Earth II;7.0;Apr 26, 2005 +79;Fallout 3: Point Lookout;7.8;Jun 23, 2009 +79;Test Drive Unlimited;8.1;Mar 20, 2007 +79;Dying Light: The Following;8.3;Feb 9, 2016 +79;The Path;7.0;Mar 18, 2009 +79;Dungeon of the Endless;8.0;Oct 27, 2014 +79;Revenge of the Titans;7.6;May 24, 2010 +79;Bookworm Adventures: Volume 2;7.6;Jul 30, 2009 +79;F1 2001;7.5;Oct 14, 2001 +79;Brothers in Arms: Hell's Highway;7.9;Oct 7, 2008 +79;Star Wars: Empire at War;8.4;Feb 15, 2006 +79;Dariusburst: Chronicle Saviours;8.3;Dec 3, 2015 +79;Europa Universalis: Rome - Vae Victis;8.6;Nov 19, 2008 +79;Silent Hunter: Wolves of the Pacific;6.5;Mar 20, 2007 +79;Pillars of Eternity: The White March - Part 2;6.7;Feb 16, 2016 +79;1701 A.D.;8.3;Nov 6, 2006 +79;Stasis;7.6;Aug 31, 2015 +79;Pro Evolution Soccer 2009;7.4;Nov 12, 2008 +79;Return to Mysterious Island;8.5;Nov 2, 2004 +79;Jotun;7.0;Sep 29, 2015 +79;Else Heart.Break();7.5;Sep 24, 2015 +79;Kohan: Ahriman's Gift;8.7;Nov 5, 2001 +79;Emperor: Battle for Dune;8.3;Jun 12, 2001 +79;Trackmania Turbo;6.9;Mar 24, 2016 +79;Cart Life;5.9;Jul 29, 2010 +79;Sword of the Stars: Born of Blood;8.1;Jun 5, 2007 +79;Worms Reloaded;6.7;Aug 26, 2010 +79;Warhammer: End Times - Vermintide;7.9;Oct 23, 2015 +79;Euro Truck Simulator 2;8.7;Jan 16, 2013 +79;Tropico 3;8.2;Oct 20, 2009 +79;Cities: Skylines - After Dark;7.9;Sep 24, 2015 +79;Runaway: A Twist of Fate;8.5;Apr 21, 2011 +79;Tales of Monkey Island Chapter 1: Launch of the Screaming Narwhal;8.2;Jul 7, 2009 +79;Bloodline Champions;8.0;Jan 13, 2011 +79;The Sims: Superstar;8.2;May 12, 2003 +79;NBA Live 2005;8.5;Oct 26, 2004 +79;Valiant Hearts: The Great War;8.6;Jun 25, 2014 +79;Payday 2;3.4;Aug 13, 2013 +79;Dungeons of Dredmor;7.8;Jul 13, 2011 +79;Geometry Wars 3: Dimensions;6.2;Nov 25, 2014 +79;Assassin's Creed: Director's Cut Edition;7.5;Apr 8, 2008 +79;Puzzle Dimension;7.6;Jun 21, 2010 +79;Split/Second;8.2;May 18, 2010 +79;Sang-Froid: Tales of Werewolves;7.9;Apr 5, 2013 +79;The Incredible Adventures of Van Helsing: Final Cut;7.2;Oct 7, 2015 +79;Hitman: Absolution;7.0;Nov 19, 2012 +79;Call of Juarez: Gunslinger;8.2;May 22, 2013 +79;Rome: Total War Alexander;7.6;Jun 19, 2006 +79;Strong Bad's Cool Game for Attractive People Episode 3: Baddest of the Bands;8.1;Oct 27, 2008 +79;Sam & Max Episode 102: Situation: Comedy;7.9;Dec 20, 2006 +79;Tropico 3: Absolute Power;7.7;May 17, 2010 +79;Sam & Max Episode 106: Bright Side of the Moon;7.3;Apr 26, 2007 +79;Day of Defeat;9.3;May 6, 2003 +79;Space Empires: IV;8.3;Nov 6, 2000 +79;Resident Evil 4: Ultimate HD Edition;7.7;Feb 27, 2014 +79;Sam & Max Episode 203: Night of the Raving Dead;8.2;Feb 12, 2008 +79;FlatOut: Ultimate Carnage;7.6;Sep 2, 2008 +79;Guitar Hero III: Legends of Rock;7.2;Nov 13, 2007 +79;Sid Meier's Civilization: Beyond Earth - Rising Tide;5.9;Oct 9, 2015 +79;Memoria;8.5;Aug 29, 2013 +79;The Last Door;7.8;May 20, 2014 +79;Shadowgrounds Survivor;7.8;Dec 6, 2007 +79;Gothic II;8.8;Oct 28, 2003 +79;Port Royale;8.2;Jun 4, 2003 +79;Deadly Dozen: Pacific Theater;7.9;Oct 31, 2002 +79;Shattered Galaxy;8.3;Aug 21, 2001 +79;Close Combat: Invasion: Normandy;8.2;Oct 10, 2000 +79;King's Bounty: The Legend;8.6;Sep 23, 2008 +79;Rage;5.1;Oct 4, 2011 +79;The Misadventures of P.B. Winterbottom;8.3;Apr 20, 2010 +79;Uru: Ages Beyond Myst;7.4;Nov 11, 2003 +79;Guild Wars: Eye of the North;8.6;Aug 28, 2007 +79;Tales From The Borderlands: Episode 4 - Escape Plan Bravo;8.4;Aug 18, 2015 +79;EverQuest: Lost Dungeons of Norrath;7.0;Sep 8, 2003 +79;Battlefield 1942: Secret Weapons of WWII;8.5;Sep 4, 2003 +79;The Sims: Unleashed;8.0;Sep 23, 2002 +79;Race the Sun;7.5;Aug 19, 2013 +79;The Sims 3: Pets;6.1;Oct 18, 2011 +79;Prototype;7.9;Jun 10, 2009 +79;Stick it to the Man!;7.2;Dec 13, 2013 +79;Street Fighter X Tekken;6.4;May 11, 2012 +79;Frozen Cortex;6.5;Feb 19, 2015 +79;Free Realms;6.4;Apr 29, 2009 +79;Homeworld: Deserts of Kharak;8.0;Jan 20, 2016 +79;Don't Starve;8.3;Apr 23, 2013 +79;Assault Android Cactus;7.0;Sep 23, 2015 +79;Trainz;7.2;Feb 10, 2002 +79;King Arthur: The Role-Playing Wargame;7.9;Nov 24, 2009 +79;Chivalry: Medieval Warfare;7.8;Oct 16, 2012 +79;Overlord II;8.1;Jun 23, 2009 +79;F.E.A.R. 2: Project Origin;7.8;Feb 10, 2009 +79;Tom Clancy's Rainbow Six Siege;6.9;Dec 1, 2015 +79;The Settlers 7: Paths to a Kingdom;5.2;Mar 23, 2010 +79;RollerCoaster Tycoon 3: Soaked!;2.9;Jun 23, 2005 +79;Dark Souls II: Crown of the Old Iron King;7.6;Aug 26, 2014 +79;TrackMania 2 Valley;8.3;Jul 4, 2013 +79;State of Decay;6.8;Nov 5, 2013 +79;LEGO Harry Potter: Years 1-4;7.8;Jun 29, 2010 +79;Rift: Storm Legion;7.8;Nov 13, 2012 +79;Crayon Physics Deluxe;7.6;Jan 7, 2009 +79;Nancy Drew: Legend of the Crystal Skull;8.5;Oct 8, 2007 +79;EverQuest II: Desert of Flames;7.8;Sep 12, 2005 +79;SimCity 4: Rush Hour;8.6;Sep 22, 2003 +79;Uncommon Valor: Campaign for the South Pacific;7.6;Dec 2, 2002 +79;Global Operations;8.3;Mar 25, 2002 +78;Apotheon;7.8;Feb 3, 2015 +78;Need for Speed: Most Wanted - A Criterion Game;4.4;Oct 30, 2012 +78;Star Wars: Battlefront II;8.8;Oct 31, 2005 +78;The Walking Dead: Season Two Episode 1 - All That Remains;8.5;Dec 17, 2013 +78;The Journey Down: Chapter Two;7.1;Aug 25, 2014 +78;Star Trek: Elite Force II;7.6;Jun 25, 2003 +78;Zuma's Revenge!;7.9;Sep 15, 2009 +78;Baldur's Gate: Enhanced Edition;7.0;Nov 28, 2012 +78;Doom 3: Resurrection of Evil;6.0;Apr 4, 2005 +78;LEGO Indiana Jones: The Original Adventures;7.7;Jun 3, 2008 +78;NASCAR Thunder 2004;7.5;Sep 16, 2003 +78;Transformers: Fall of Cybertron;7.8;Aug 21, 2012 +78;FIFA Soccer 06;6.7;Oct 4, 2005 +78;DeadCore;6.8;Oct 17, 2014 +78;The Walking Dead: Season Two Episode 5 - No Going Back;8.5;Aug 26, 2014 \ No newline at end of file diff --git a/_006/readme.md b/_006/readme.md new file mode 100644 index 0000000..47d08ab --- /dev/null +++ b/_006/readme.md @@ -0,0 +1,26 @@ +# Stack und Heap unterscheiden +## Lernziel + + + +Unterschied zwischen Stack und Heap bei parallelen Programmen verstehen. + +## Aufgabe + +Gehen Sie in das Paket [pr2.threads.stack_heap](../sources/src/main/java/pr2/threads/stack_heap/). + +Schreiben Sie ein kurzes Java-Programm `ThreadProblem`, das den Unterschied zwischen Variablen auf dem Stack und Variablen auf dem Heap bezüglich des gleichzeitigen Zugriffs durch Threads demonstriert. + + + \ No newline at end of file diff --git a/_007/games.txt b/_007/games.txt new file mode 100644 index 0000000..3390355 --- /dev/null +++ b/_007/games.txt @@ -0,0 +1,994 @@ +96;Half-Life 2;9.2;Nov 16, 2004 +96;Grand Theft Auto V;7.8;Apr 14, 2015 +96;The Orange Box;9.3;Oct 10, 2007 +96;Half-Life;9.1;Oct 31, 1998 +96;BioShock;8.4;Aug 21, 2007 +95;Baldur's Gate II: Shadows of Amn;9.2;Sep 24, 2000 +95;Portal 2;8.8;Apr 19, 2011 +94;The Elder Scrolls V: Skyrim;8.1;Nov 11, 2011 +94;Mass Effect 2;8.7;Jan 26, 2010 +94;Grand Theft Auto: Vice City;8.8;May 12, 2003 +94;Civilization II;9.0;Feb 29, 1996 +94;Quake;8.8;Jun 22, 1996 +94;BioShock Infinite;8.5;Mar 26, 2013 +94;The Elder Scrolls IV: Oblivion;8.0;Mar 20, 2006 +94;Grim Fandango;9.1;Sep 30, 1998 +94;Diablo;8.7;Nov 30, 1996 +94;Sid Meier's Civilization IV;8.2;Oct 25, 2005 +93;The Witcher 3: Wild Hunt;9.1;May 19, 2015 +93;Company of Heroes;8.8;Sep 13, 2006 +93;Unreal Tournament 2004;8.9;Mar 16, 2004 +93;Starcraft II: Wings of Liberty;8.2;Jul 27, 2010 +93;Minecraft;7.4;May 10, 2009 +93;Grand Theft Auto III;8.4;May 20, 2002 +93;Homeworld;8.9;Aug 31, 1999 +93;Star Wars: Knights of the Old Republic;9.0;Nov 18, 2003 +93;World of Warcraft;7.2;Nov 23, 2004 +93;Grand Theft Auto: San Andreas;8.8;Jun 7, 2005 +92;Call of Duty 4: Modern Warfare;8.5;Nov 5, 2007 +92;Warcraft III: Reign of Chaos;9.1;Jul 3, 2002 +92;The Sims;7.9;Jan 31, 2000 +92;Sid Meier's Gettysburg!;7.7;Sep 30, 1997 +92;World Soccer Winning Eleven 7 International;7.9;Apr 9, 2004 +92;Team Fortress 2;9.2;Apr 8, 2008 +92;System Shock 2;9.1;Aug 11, 1999 +92;Tom Clancy's Splinter Cell: Chaos Theory;8.8;Mar 28, 2005 +92;Undertale;8.2;Sep 15, 2015 +92;Rome: Total War;9.1;Sep 22, 2004 +92;Thief: The Dark Project;9.1;Nov 30, 1998 +92;Age of Empires II: The Age of Kings;9.0;Sep 30, 1999 +92;Unreal Tournament (1999);9.1;Nov 30, 1999 +92;Sid Meier's Alpha Centauri;9.1;Feb 12, 1999 +92;Galactic Civilizations II: Twilight of the Arnor;8.4;Apr 30, 2008 +92;Tiger Woods PGA Tour 2003;6.0;Oct 31, 2002 +91;Dishonored;8.4;Oct 9, 2012 +91;Medal of Honor: Allied Assault;8.6;Jan 20, 2002 +91;Myth: The Fallen Lords;8.8;Oct 31, 1997 +91;World of Warcraft: Wrath of the Lich King;7.4;Nov 13, 2008 +91;F1 Challenge '99-'02;8.3;Jun 24, 2003 +91;Baldur's Gate;9.0;Nov 30, 1998 +91;IL-2 Sturmovik;8.7;Nov 18, 2001 +91;FreeSpace 2;8.8;Sep 30, 1999 +91;Metal Gear Solid V: The Phantom Pain;7.7;Sep 1, 2015 +91;Tom Clancy's Splinter Cell;8.6;Feb 19, 2003 +91;Crysis;8.0;Nov 13, 2007 +91;World of Warcraft: The Burning Crusade;7.9;Jan 16, 2007 +91;Tiger Woods PGA Tour 2005;4.6;Sep 20, 2004 +91;The Longest Journey;8.9;Nov 16, 2000 +91;Tony Hawk's Pro Skater 2;8.5;Oct 31, 2000 +91;Star Wars Jedi Knight: Dark Forces II;8.5;Sep 30, 1997 +91;Batman: Arkham Asylum;8.7;Sep 15, 2009 +91;Galactic Civilizations II: Dark Avatar;8.2;Feb 14, 2007 +91;The Operative: No One Lives Forever;8.9;Nov 9, 2000 +91;Battlefield 2;8.4;Jun 21, 2005 +91;Street Fighter IV;8.0;Jul 1, 2009 +91;Fallout 3;7.9;Oct 28, 2008 +91;Batman: Arkham City;8.6;Nov 22, 2011 +91;Fez;6.5;May 1, 2013 +91;Planescape: Torment;9.3;Nov 30, 1999 +91;Neverwinter Nights;8.1;Jun 16, 2002 +91;No One Lives Forever 2: A Spy in H.A.R.M.'s Way;8.7;Sep 30, 2002 +91;Dragon Age: Origins;8.6;Nov 3, 2009 +91;Mark of the Ninja;8.0;Oct 16, 2012 +91;Dark Souls II;7.1;Apr 25, 2014 +91;Call of Duty;8.5;Oct 29, 2003 +91;Madden NFL 2004;8.2;Aug 12, 2003 +90;The Sims 2;8.8;Sep 14, 2004 +90;World of Warcraft: Cataclysm;5.5;Dec 7, 2010 +90;World of Goo;8.5;Oct 21, 2008 +90;Spelunky;7.2;Aug 8, 2013 +90;Black & White;7.6;Mar 26, 2001 +90;Portal;9.3;Apr 8, 2008 +90;NHL 2001;6.9;Sep 28, 2000 +90;Tony Hawk's Pro Skater 3;8.6;Mar 28, 2002 +90;Deus Ex;9.3;Jun 26, 2000 +90;Half-Life 2: Episode Two;9.2;Oct 10, 2007 +90;Braid;8.6;Jan 26, 2010 +90;The Chronicles of Riddick: Escape From Butcher Bay - Developer's Cut;8.7;Dec 8, 2004 +90;Sid Meier's Civilization III;8.4;Oct 30, 2001 +90;Silent Hunter III;7.8;Mar 15, 2005 +90;Sid Meier's Civilization V;7.8;Sep 21, 2010 +90;Falcon 4.0: Allied Force;8.6;Jun 28, 2005 +90;Deus Ex: Human Revolution;8.5;Aug 23, 2011 +90;Dark Souls III;8.2;Apr 12, 2016 +90;Flight Simulator 2002;8.4;Oct 19, 2001 +90;Brothers: A Tale of Two Sons;8.5;Sep 3, 2013 +90;Dota 2;6.2;Jul 9, 2013 +90;Guild Wars 2;7.9;Aug 28, 2012 +90;Freedom Force;8.0;Mar 24, 2002 +90;GTR 2;8.7;Sep 29, 2006 +90;Grand Theft Auto IV;6.5;Dec 2, 2008 +90;Total War: Shogun 2;8.3;Mar 15, 2011 +90;Empire: Total War;6.9;Mar 3, 2009 +90;Command & Conquer: Red Alert;8.9;Oct 31, 1996 +89;Star Wars Jedi Knight II: Jedi Outcast;8.6;Mar 26, 2002 +89;The Walking Dead: A Telltale Games Series;8.7;Dec 11, 2012 +89;Age of Mythology;8.9;Nov 1, 2002 +89;Sacrifice;8.8;Nov 5, 2000 +89;The Witcher 3: Wild Hunt - Hearts of Stone;8.4;Oct 13, 2015 +89;Pillars of Eternity;8.3;Mar 26, 2015 +89;The Elder Scrolls III: Morrowind;9.0;May 1, 2002 +89;Rocksmith 2014 Edition;7.9;Oct 22, 2013 +89;Fallout;8.9;Sep 30, 1997 +89;World Soccer Winning Eleven 9;8.4;Apr 28, 2006 +89;Worldwide Soccer Manager 2005;8.7;Dec 7, 2004 +89;Left 4 Dead;9.2;Nov 18, 2008 +89;Left 4 Dead 2;8.5;Nov 17, 2009 +89;NASCAR Racing 2002 Season;5.8;Feb 14, 2002 +89;Mass Effect;8.6;May 28, 2008 +89;Combat Mission: Barbarossa to Berlin;8.3;Oct 29, 2002 +89;Homeworld: Cataclysm;8.9;Sep 7, 2000 +89;The Walking Dead: Episode 5 - No Time Left;8.9;Nov 21, 2012 +89;Guild Wars;8.4;Apr 26, 2005 +89;Borderlands 2;8.2;Sep 18, 2012 +89;Max Payne;9.1;Jul 23, 2001 +89;Out of the Park Baseball 15;7.2;Apr 21, 2014 +89;World in Conflict;8.1;Sep 18, 2007 +89;NASCAR Racing 4;8.2;Feb 6, 2001 +89;Duke Nukem 3D;8.8;Jan 31, 1996 +89;Far Cry;8.0;Mar 23, 2004 +89;FIFA Soccer 12;7.1;Sep 27, 2011 +89;XCOM: Enemy Unknown;8.2;Oct 9, 2012 +89;Mass Effect 3;5.4;Mar 6, 2012 +89;Rise of Nations;9.0;May 20, 2003 +89;NASCAR Racing 2003 Season;8.6;Feb 14, 2003 +89;Descent 3;8.3;Jun 14, 2000 +89;The Curse of Monkey Island;9.1;Oct 31, 1997 +89;Battlefield 3;7.5;Oct 25, 2011 +89;Battlefield 1942;8.6;Sep 10, 2002 +89;Madden NFL 2003;8.4;Aug 12, 2002 +89;DiRT 2;8.3;Dec 10, 2009 +89;Stardew Valley;8.5;Feb 26, 2016 +89;Prince of Persia: The Sands of Time;8.6;Nov 30, 2003 +89;Railroad Tycoon II;8.4;Oct 31, 1998 +88;Microsoft Flight Simulator 2004: A Century of Flight;8.2;Jul 29, 2003 +88;Medieval: Total War;8.8;Aug 19, 2002 +88;Mafia;9.1;Aug 27, 2002 +88;LIMBO;8.1;Aug 2, 2011 +88;Nuclear Throne;7.4;Dec 5, 2015 +88;Crusader Kings II: The Old Gods;8.8;May 28, 2013 +88;Assassin's Creed: Brotherhood;8.2;Mar 22, 2011 +88;Superbike 2001;6.5;Oct 9, 2000 +88;F.E.A.R.;8.3;Oct 17, 2005 +88;Kerbal Space Program;8.1;Apr 27, 2015 +88;Tribes 2;8.5;Mar 28, 2001 +88;Age of Empires II: The Conquerors Expansion;9.0;Aug 24, 2000 +88;Tiger Woods PGA Tour 2004;8.8;Sep 22, 2003 +88;Warcraft III: The Frozen Throne;9.0;Jul 1, 2003 +88;Starcraft;9.1;Apr 1, 1998 +88;Far Cry 3;8.2;Dec 4, 2012 +88;XCOM 2;7.0;Feb 5, 2016 +88;World Soccer Winning Eleven 8 International;8.5;Feb 16, 2005 +88;Torchlight II;8.6;Sep 20, 2012 +88;Myth II: Soulblighter;9.0;Nov 30, 1998 +88;Return to Castle Wolfenstein;8.7;Nov 19, 2001 +88;Shogo: Mobile Armor Division;8.9;Sep 30, 1998 +88;Thirty Flights of Loving;5.0;Aug 20, 2012 +88;Hearthstone: Heroes of Warcraft;6.3;Mar 11, 2014 +88;Medieval II: Total War;8.9;Nov 13, 2006 +88;F1 2002;7.6;Jun 13, 2002 +88;The Stanley Parable;8.0;Oct 17, 2013 +88;BioShock 2;8.0;Feb 9, 2010 +88;Counter-Strike: Source;8.9;Sep 26, 2005 +88;Starcraft II: Legacy of the Void;8.3;Nov 10, 2015 +88;Diablo III;4.0;May 15, 2012 +88;Rise of Nations: Thrones & Patriots;8.8;Apr 27, 2004 +88;Sid Meier's Pirates!;8.3;Nov 22, 2004 +88;EVE Online: Special Edition;7.8;Mar 10, 2009 +88;Guacamelee! Gold Edition;7.3;Aug 8, 2013 +88;Armadillo Run;8.2;Apr 22, 2006 +88;Dark Age of Camelot;8.9;Sep 1, 2001 +88;Baldur's Gate II: Throne of Bhaal;8.9;Jun 21, 2001 +88;Counter-Strike;9.3;Nov 8, 2000 +88;Tony Hawk's Pro Skater 4;8.4;Aug 27, 2003 +88;Ori and the Blind Forest;8.7;Mar 11, 2015 +88;Diablo II;8.8;Jun 29, 2000 +88;The Witcher 2: Assassins of Kings;8.5;May 17, 2011 +87;Plants vs. Zombies;8.9;Aug 18, 2009 +87;Doom 3;7.5;Aug 3, 2004 +87;Super Meat Boy;8.3;Apr 5, 2011 +87;Football Manager 2010;9.1;Nov 3, 2009 +87;Oddworld: Abe's Oddysee - New 'n' Tasty;7.8;Feb 25, 2015 +87;Tom Clancy's Splinter Cell: Pandora Tomorrow;8.0;Mar 23, 2004 +87;Europa Universalis II;8.8;Nov 12, 2001 +87;Burnout Paradise: The Ultimate Box;7.5;Feb 5, 2009 +87;Battlefield: Bad Company 2;8.3;Mar 2, 2010 +87;GRID;7.9;Jun 3, 2008 +87;Crypt of the NecroDancer;7.7;Apr 23, 2015 +87;Sins of a Solar Empire;8.2;Feb 4, 2008 +87;MechWarrior 4: Vengeance;8.2;Nov 23, 2000 +87;Thief II: The Metal Age;9.1;Feb 29, 2000 +87;Diablo II: Lord of Destruction;9.1;Jun 27, 2001 +87;Monkey Island 2 Special Edition: LeChuck's Revenge;9.0;Jul 7, 2010 +87;Half-Life 2: Episode One;8.6;Jun 1, 2006 +87;The Swapper;8.7;May 30, 2013 +87;Hitman 2: Silent Assassin;8.2;Oct 1, 2002 +87;Year Walk;7.0;Mar 6, 2014 +87;Max Payne 3;7.6;Jun 1, 2012 +87;TowerFall Ascension;6.6;Mar 11, 2014 +87;Battlefield 3: Armored Kill;7.0;Sep 11, 2012 +87;NHL 2002;8.7;Sep 17, 2001 +87;Icewind Dale;8.3;Jun 29, 2000 +87;The Witness;6.6;Jan 26, 2016 +87;Brothers in Arms: Road to Hill 30;7.1;Mar 15, 2005 +87;Kohan: Immortal Sovereigns;8.6;Mar 14, 2001 +87;Day of the Tentacle Remastered;7.9;Mar 21, 2016 +87;Dead Space 2;8.3;Jan 25, 2011 +87;Diablo III: Reaper of Souls;6.6;Mar 25, 2014 +87;Shogun: Total War Warlord Edition;8.7;Aug 13, 2001 +87;Serious Sam: The First Encounter;8.4;Mar 21, 2001 +87;Grand Prix 3;8.3;Aug 24, 2000 +87;Call of Duty: United Offensive;8.3;Sep 14, 2004 +87;Divinity: Original Sin;8.7;Jan 17, 2014 +87;Company of Heroes: Opposing Fronts;8.6;Sep 24, 2007 +87;Psychonauts;8.9;Apr 19, 2005 +87;Gears of War;7.8;Nov 6, 2007 +87;Out of the Park Baseball 4;7.8;Feb 28, 2002 +87;Europa Universalis IV;8.7;Aug 13, 2013 +87;NHL 2004;8.2;Sep 22, 2003 +87;Zeus: Master of Olympus;9.0;Oct 22, 2000 +87;World of Warcraft: Warlords of Draenor;6.0;Nov 13, 2014 +87;Warhammer 40,000: Dawn of War - Dark Crusade;8.9;Oct 9, 2006 +87;Commandos 2: Men of Courage;8.8;Sep 20, 2001 +86;Tales From The Borderlands: Episode 5 - The Vault of the Traveler;8.7;Oct 20, 2015 +86;Bastion;8.6;Aug 16, 2011 +86;Gone Home;5.4;Aug 15, 2013 +86;Pac-Man Championship Edition DX +;7.3;Sep 24, 2013 +86;Supreme Commander;8.3;Feb 20, 2007 +86;Total War: Shogun 2 - Fall of the Samurai;8.4;Mar 23, 2012 +86;Startopia;8.7;Jun 19, 2001 +86;Enemy Engaged: RAH-66 Comanche Versus Ka-52 Hokum;8.3;Jul 31, 2000 +86;Fallout 2;9.2;Sep 30, 1998 +86;Final Fantasy XIV: Heavensward;7.7;Jun 23, 2015 +86;Football Manager 2013;6.7;Nov 1, 2012 +86;Out of the Park Baseball 14;8.6;Apr 15, 2013 +86;The Witcher: Enhanced Edition;8.5;Sep 16, 2008 +86;Borderlands: The Secret Armory of General Knoxx;7.6;Feb 25, 2010 +86;Call of Duty 2;8.3;Oct 25, 2005 +86;Astebreed;7.3;May 30, 2014 +86;Ground Control;7.8;May 31, 2000 +86;Rise of the Tomb Raider;8.0;Jan 28, 2016 +86;Resident Evil 5;7.1;Sep 18, 2009 +86;Saints Row IV;7.4;Aug 20, 2013 +86;Black Mesa;9.0;Sep 14, 2012 +86;EverQuest: Omens of War;7.7;Sep 13, 2004 +86;Steel Beasts;8.4;Sep 24, 2000 +86;Total Annihilation;8.9;Sep 30, 1997 +86;Need for Speed: Hot Pursuit;6.7;Nov 16, 2010 +86;FIFA Soccer 13;6.6;Sep 25, 2012 +86;Sid Meier's Civilization IV: Beyond the Sword;8.6;Jul 23, 2007 +86;The Sims 3;7.6;Jun 2, 2009 +86;Freedom Force vs The 3rd Reich;7.7;Mar 8, 2005 +86;The Binding of Isaac: Rebirth;8.3;Nov 4, 2014 +86;Tribes: Ascend;7.7;Apr 12, 2012 +86;Titanfall;6.1;Mar 11, 2014 +86;Rayman Origins;8.4;Mar 29, 2012 +86;Her Story;5.7;Jun 24, 2015 +86;Starcraft II: Heart of the Swarm;7.9;Mar 12, 2013 +86;Mass Effect 2: Lair of the Shadow Broker;8.5;Sep 7, 2010 +86;LEGO Star Wars II: The Original Trilogy;8.3;Sep 12, 2006 +86;Dungeon Siege;7.9;Mar 31, 2002 +86;Crysis 2;6.7;Mar 22, 2011 +86;Call of Duty: Modern Warfare 2;4.1;Nov 10, 2009 +86;The Secret of Monkey Island: Special Edition;9.1;Jul 15, 2009 +86;Max Payne 2: The Fall of Max Payne;9.0;Oct 14, 2003 +86;Homeworld Remastered Collection;8.2;Feb 25, 2015 +86;Galactic Civilizations II: Dread Lords;8.0;Feb 21, 2006 +86;Tomb Raider;8.5;Mar 5, 2013 +86;Star Trek: Voyager Elite Force;8.2;Sep 20, 2000 +86;Worldwide Soccer Manager 2008;8.4;Oct 23, 2007 +86;IL-2 Sturmovik: Forgotten Battles;8.6;Mar 2, 2003 +86;Hyper Light Drifter;8.1;Mar 31, 2016 +86;DiRT 3;6.9;May 24, 2011 +86;Unreal Tournament 2003;8.1;Sep 30, 2002 +86;Age of Wonders II: The Wizard's Throne;8.4;Jun 12, 2002 +86;Links 2001;6.8;Oct 24, 2000 +86;EverQuest: The Ruins of Kunark;8.8;Mar 31, 2000 +86;Full Throttle;8.8;Apr 30, 1995 +86;The Lord of the Rings Online: Shadows of Angmar;8.1;Apr 24, 2007 +86;Pony Island;6.8;Jan 4, 2016 +86;Warhammer 40,000: Dawn of War;8.8;Sep 20, 2004 +86;Warhammer Online: Age of Reckoning;7.9;Sep 16, 2008 +86;Dead Space;8.0;Oct 20, 2008 +86;Bionic Commando Rearmed;7.0;Aug 13, 2008 +86;Command & Conquer: Red Alert 2 - Yuri's Revenge;9.0;Oct 10, 2001 +86;Europa Universalis;8.1;Feb 2, 2001 +86;Escape from Monkey Island;8.2;Nov 8, 2000 +86;IL-2 Sturmovik: 1946;8.8;Mar 13, 2007 +86;XCOM: Enemy Within;7.9;Nov 12, 2013 +86;Battlefield 3: Back to Karkand;7.2;Dec 13, 2011 +86;Heroes of the Storm;6.7;Jun 2, 2015 +86;Civilization III: Conquests;8.4;Nov 4, 2003 +86;Path of Exile;8.0;Jan 25, 2013 +86;Battlefield: Bad Company 2 Vietnam;8.1;Dec 18, 2010 +86;Assassin's Creed II;6.8;Mar 9, 2010 +86;The Elder Scrolls IV: Shivering Isles;8.4;Mar 26, 2007 +86;DiRT Rally;8.8;Dec 7, 2015 +86;Rocket League;8.1;Jul 7, 2015 +86;Allegiance;8.2;Mar 31, 2000 +85;The Talos Principle;8.5;Dec 11, 2014 +85;Cities: Skylines;8.9;Mar 10, 2015 +85;Falcon 4.0;8.0;Nov 30, 1998 +85;Tom Clancy's Rainbow Six;8.6;Jul 31, 1998 +85;Madden NFL 2005;6.4;Sep 14, 2004 +85;Legend of Grimrock II;8.0;Oct 15, 2014 +85;Sam & Max Episode 205: What's New, Beelzebub?;8.6;Apr 10, 2008 +85;Dragon Age: Inquisition;5.8;Nov 18, 2014 +85;Tales from the Borderlands: A Telltale Game Series;8.7;Apr 26, 2016 +85;Tom Clancy's Rainbow Six: Vegas;7.7;Dec 12, 2006 +85;City of Heroes;8.5;Apr 27, 2004 +85;SWAT 4;8.6;Apr 5, 2005 +85;Clive Barker's Undying;8.7;Feb 21, 2001 +85;EverQuest;8.2;Mar 16, 1999 +85;Warhammer 40,000: Dawn of War II;8.1;Feb 18, 2009 +85;Command & Conquer 3: Tiberium Wars;8.0;Mar 26, 2007 +85;Bit.Trip Presents...Runner2: Future Legend of Rhythm Alien;8.2;Feb 26, 2013 +85;Hotline Miami;8.5;Oct 23, 2012 +85;Out of the Park Baseball 13;8.2;Apr 9, 2012 +85;Wizardry 8;8.6;Nov 14, 2001 +85;Aliens Versus Predator 2;8.7;Oct 31, 2001 +85;Operation Flashpoint: Cold War Crisis;9.0;Aug 30, 2001 +85;Tropico;8.4;Apr 5, 2001 +85;Giants: Citizen Kabuto;8.9;Dec 6, 2000 +85;NASCAR SimRacing;4.9;Feb 15, 2005 +85;The Lord of the Rings Online: Mines of Moria;8.3;Nov 17, 2008 +85;The Binding of Isaac: Afterbirth;8.1;Oct 30, 2015 +85;Amnesia: The Dark Descent;8.6;Feb 17, 2011 +85;GTR FIA Racing;8.6;May 3, 2005 +85;Football Manager 2011;8.4;Nov 23, 2010 +85;Dust: An Elysian Tail;8.5;May 24, 2013 +85;South Park: The Stick of Truth;8.6;Mar 4, 2014 +85;Dark Souls: Prepare to Die Edition;7.4;Aug 24, 2012 +85;Medieval II: Total War Kingdoms;8.8;Aug 28, 2007 +85;Shovel Knight;7.9;Jun 26, 2014 +85;DmC: Devil May Cry;6.7;Jan 24, 2013 +85;Peggle Deluxe;8.1;Feb 19, 2008 +85;Monopoly Tycoon;8.0;Sep 24, 2001 +85;Indigo Prophecy;8.3;Oct 2, 2005 +85;Prince of Persia: The Two Thrones;8.0;Dec 1, 2005 +85;Sam & Max Episode 204: Chariots of the Dogs;8.1;Mar 13, 2008 +85;Assetto Corsa;8.4;Dec 19, 2014 +85;Machinarium;8.8;Oct 16, 2009 +85;Frozen Synapse;7.7;May 26, 2011 +85;Valkyria Chronicles;8.3;Nov 11, 2014 +85;Freelancer;8.9;Mar 3, 2003 +85;Zenzizenzic;5.9;Jul 23, 2015 +85;The Wolf Among Us: Episode 1 - Faith;9.0;Oct 11, 2013 +85;Mega Man Legacy Collection;7.3;Aug 25, 2015 +85;Warhammer 40,000: Dawn of War II - Chaos Rising;8.7;Mar 11, 2010 +85;Far Cry 2;5.8;Oct 21, 2008 +85;The Walking Dead: Episode 3 - Long Road Ahead;8.4;Aug 29, 2012 +85;AudioSurf;8.8;Feb 15, 2008 +85;BattleBlock Theater;8.0;May 15, 2014 +85;Star Wars: Knights of the Old Republic II - The Sith Lords;8.4;Feb 8, 2005 +85;MVP Baseball 2005;8.1;Feb 22, 2005 +85;The Elder Scrolls III: Bloodmoon;8.5;Jun 3, 2003 +85;Rogue Legacy;7.9;Jun 27, 2013 +85;Chaos Reborn;8.4;Oct 26, 2015 +85;Thief: Deadly Shadows;8.4;May 25, 2004 +85;Football Manager 2014;5.4;Oct 30, 2013 +85;System Shock: Enhanced Edition;7.9;Sep 22, 2015 +85;EverQuest: Gates of Discord;6.8;Feb 9, 2004 +85;FIFA 2001 Major League Soccer;7.3;Oct 30, 2000 +85;Sid Meier's Civilization V: Brave New World;8.6;Jul 9, 2013 +85;Final Fantasy XI;7.5;Oct 28, 2003 +85;Serious Sam: The Second Encounter;8.5;Feb 4, 2002 +85;The Sims: Hot Date;7.9;Nov 12, 2001 +85;American McGee's Alice;8.2;Dec 6, 2000 +85;Trials Evolution: Gold Edition;6.7;Mar 21, 2013 +85;Warhammer 40,000: Dawn of War - Winter Assault;8.3;Sep 21, 2005 +85;Tony Hawk's Underground 2;7.9;Oct 4, 2004 +85;Papers, Please;8.5;Aug 8, 2013 +85;Star Wars: The Old Republic;5.9;Dec 20, 2011 +85;Anarchy Online: Shadowlands;8.7;Sep 8, 2003 +85;Dark Age of Camelot: Shrouded Isles;8.8;Dec 2, 2002 +85;Obsidian;8.3;Dec 31, 1996 +84;The Walking Dead: Episode 2 - Starved for Help;8.6;Jun 29, 2012 +84;Saints Row: The Third;8.1;Nov 15, 2011 +84;Fallout: New Vegas;8.5;Oct 19, 2010 +84;The Movies;8.3;Nov 8, 2005 +84;Neverwinter Nights: Hordes of the Underdark;8.6;Dec 2, 2003 +84;Command & Conquer: Generals;8.3;Feb 10, 2003 +84;Sid Meier's SimGolf;8.2;Jan 23, 2002 +84;Middle-earth: Shadow of Mordor;8.0;Sep 30, 2014 +84;SpaceChem;8.4;Mar 2, 2011 +84;Downwell;6.2;Oct 15, 2015 +84;Pinball FX 2;8.0;Oct 27, 2012 +84;Devil Daggers;6.7;Feb 18, 2016 +84;PlanetSide 2;7.0;Nov 20, 2012 +84;Enter the Gungeon;7.4;Apr 5, 2016 +84;GT Legends;8.6;Jan 23, 2006 +84;Hearthstone: Goblins Vs. Gnomes;6.6;Dec 8, 2014 +84;Space Rangers 2: Rise of the Dominators;9.0;Mar 27, 2006 +84;Tales From The Borderlands: Episode 1 - Zer0 Sum;8.4;Nov 25, 2014 +84;Puzzle Quest: Challenge of the Warlords;8.3;Oct 10, 2007 +84;Heroes of Might and Magic IV;7.6;Mar 29, 2002 +84;Command & Conquer: Red Alert 2;8.9;Oct 21, 2000 +84;Shogun: Total War;8.7;Jun 13, 2000 +84;DiRT;7.2;Jun 19, 2007 +84;Darkest Dungeon;8.0;Jan 19, 2016 +84;Super Street Fighter IV: Arcade Edition;7.8;Jul 13, 2011 +84;Football Manager 2012;8.0;Oct 20, 2011 +84;Guild Wars Factions;8.5;Apr 28, 2006 +84;80 Days (2015);6.1;Sep 29, 2015 +84;Spore;5.2;Sep 7, 2008 +84;Unity of Command;7.2;Nov 15, 2011 +84;Hearthstone: The Grand Tournament;4.0;Aug 24, 2015 +84;Metro Redux;8.0;Aug 26, 2014 +84;Time Gentlemen, Please!;7.6;Jul 2, 2009 +84;Europa Universalis IV: Wealth of Nations;8.4;May 29, 2014 +84;Mass Effect 3: Citadel;7.8;Mar 5, 2013 +84;Disciples II: Dark Prophecy;8.6;Jan 22, 2002 +84;Just Cause 2;7.7;Mar 23, 2010 +84;Crysis Warhead;7.9;Sep 16, 2008 +84;Assassin's Creed IV: Black Flag;7.7;Nov 19, 2013 +84;Age of Mythology: The Titans;8.7;Sep 30, 2003 +84;SimCity 4;8.7;Jan 12, 2003 +84;Microsoft Train Simulator;8.4;May 31, 2001 +84;Rise of Nations: Rise of Legends;8.5;May 9, 2006 +84;TOCA Race Driver 3;7.8;Feb 24, 2006 +84;FTL: Faster Than Light;8.4;Sep 14, 2012 +84;SOMA;8.2;Sep 22, 2015 +84;DEFCON: Everybody Dies;8.3;Mar 26, 2007 +84;Tron 2.0;8.3;Aug 26, 2003 +84;Brothers in Arms: Earned in Blood;7.3;Oct 6, 2005 +84;Grim Fandango Remastered;8.0;Jan 27, 2015 +84;The Lord of the Rings: The Battle for Middle-Earth II;7.5;Mar 2, 2006 +84;Battlefield Vietnam;7.4;Mar 16, 2004 +84;Medieval: Total War - Viking Invasion;8.8;May 7, 2003 +84;Fallout 4;5.4;Nov 10, 2015 +84;Guild Wars Nightfall;8.7;Oct 26, 2006 +84;The Binding of Isaac;8.3;Sep 28, 2011 +84;Enemy Territory: Quake Wars;8.3;Oct 2, 2007 +84;Trine 2;8.4;Dec 7, 2011 +84;Rift;7.3;Mar 1, 2011 +84;The Wolf Among Us: Episode 5 - Cry Wolf;8.8;Jul 8, 2014 +84;Shift 2: Unleashed;6.1;Mar 29, 2011 +84;Sid Meier's Civilization IV: Warlords;8.2;Jul 24, 2006 +84;Battlefield 1942: The Road to Rome;7.9;Feb 2, 2003 +84;Poseidon;8.4;Jun 25, 2001 +84;F1 2010;6.6;Sep 22, 2010 +84;Shatter;7.4;Mar 15, 2010 +84;Darwinia;7.9;Jun 12, 2006 +84;Ultimate General: Gettysburg;8.0;Oct 16, 2014 +83;Final Fantasy XI: Treasures of Aht Urhgan;7.6;Apr 18, 2006 +83;MDK2;8.4;May 31, 2000 +83;Gunpoint;8.4;Jun 3, 2013 +83;Beyond Good & Evil;8.7;Nov 19, 2003 +83;Anno 2070;7.0;Nov 17, 2011 +83;SMITE;8.3;Mar 25, 2014 +83;Halo: Combat Evolved;7.4;Sep 30, 2003 +83;Grim Dawn;8.9;Feb 25, 2016 +83;Silent Storm;8.9;Jan 20, 2004 +83;Command & Conquer: Generals - Zero Hour;9.0;Sep 22, 2003 +83;Homeworld 2;8.3;Sep 16, 2003 +83;Galactic Civilizations;8.1;Mar 26, 2003 +83;EverQuest: The Shadows of Luclin;7.2;Dec 2, 2001 +83;Orcs Must Die!;8.1;Oct 11, 2011 +83;Life is Strange;8.6;Jan 19, 2016 +83;Fable: The Lost Chapters;8.7;Sep 20, 2005 +83;Unreal Tournament III;8.0;Nov 19, 2007 +83;The Blackwell Epiphany;7.6;Apr 24, 2014 +83;The Lord of the Rings Online: Siege of Mirkwood;7.1;Dec 1, 2009 +83;Out of the Park Baseball 10;8.3;Jun 2, 2009 +83;Tomb Raider: Anniversary;8.0;Jun 5, 2007 +83;Need for Speed: Shift;5.7;Sep 15, 2009 +83;Hearts of Iron II;8.6;Jan 4, 2005 +83;FIFA Soccer 11;7.6;Sep 28, 2010 +83;Project CARS;7.0;May 6, 2015 +83;FIFA Soccer 2003;6.8;Nov 2, 2002 +83;Icewind Dale II;8.3;Aug 26, 2002 +83;Age of Empires;8.8;Sep 30, 1997 +83;EverQuest II: Echoes of Faydwer;8.4;Nov 13, 2006 +83;EverQuest II;7.3;Nov 8, 2004 +83;Terraria;8.5;May 16, 2011 +83;Final Fantasy XIV Online: A Realm Reborn;6.7;Aug 27, 2013 +83;Card Hunter (2013);7.9;Sep 12, 2013 +83;Sam & Max: The Devil's Playhouse - Episode 2: The Tomb of Sammun-Mak;7.9;May 18, 2010 +83;This War of Mine;8.4;Nov 14, 2014 +83;Darksiders;7.7;Sep 23, 2010 +83;Tom Clancy's Rainbow Six 3: Raven Shield;8.9;Mar 19, 2003 +83;World of Outlaws: Sprint Cars;7.9;Feb 11, 2003 +83;Colin McRae Rally 2.0;8.4;Feb 14, 2001 +83;Combat Flight Simulator 2: WWII Pacific Theater;8.1;Oct 13, 2000 +83;Orcs Must Die! 2;7.9;Jul 30, 2012 +83;Prey;7.9;Jul 11, 2006 +83;Metal Gear Rising: Revengeance;7.9;Jan 9, 2014 +83;Starseed Pilgrim;6.3;Apr 16, 2013 +83;Age of Conan: Rise of the Godslayer;8.4;May 11, 2010 +83;Alan Wake;8.0;Feb 16, 2012 +83;Tiger Woods PGA Tour 2002;5.0;Feb 24, 2002 +83;Monaco: What's Yours Is Mine;7.7;Apr 24, 2013 +83;Transistor;8.3;May 20, 2014 +83;Helldivers;6.9;Dec 7, 2015 +83;Worldwide Soccer Manager 2009;8.1;Nov 18, 2008 +83;Call of Duty: World at War;7.5;Nov 10, 2008 +83;Torchlight;8.0;Jan 5, 2010 +83;Prison Architect;8.3;Oct 6, 2015 +83;Valdis Story: Abyssal City;8.1;Oct 30, 2013 +83;Crimson Skies;8.2;Sep 17, 2000 +83;RACE 07: Official WTCC Game;9.0;Oct 9, 2007 +83;SUPERHOT;7.6;Feb 25, 2016 +83;EverQuest II: Rise of Kunark;7.9;Nov 13, 2007 +83;Dark Age of Camelot: Catacombs;8.6;Dec 7, 2004 +83;Spore Creature Creator;8.1;Jun 17, 2008 +83;Colin McRae Rally 2005;7.0;Oct 28, 2004 +83;Tom Clancy's Splinter Cell: Conviction;5.2;Apr 27, 2010 +83;Tribes: Vengeance;7.6;Oct 12, 2004 +83;L.A. Noire: The Complete Edition;7.9;Nov 8, 2011 +83;GTR Evolution;8.2;Sep 2, 2008 +83;Life is Strange: Episode 5 - Polarized;8.4;Oct 20, 2015 +83;BROFORCE;8.0;Oct 15, 2015 +83;Independence War 2: Edge of Chaos;8.4;Aug 22, 2001 +83;Myst III: Exile;8.2;May 8, 2001 +83;Superbrothers: Sword & Sworcery EP;6.4;Apr 16, 2012 +83;Sid Meier's Civilization IV: Colonization;6.7;Sep 22, 2008 +83;Europa Universalis III;8.4;Jan 23, 2007 +83;F1 2011;7.2;Sep 20, 2011 +83;Prince of Persia: Warrior Within;8.4;Nov 30, 2004 +83;Danganronpa: Trigger Happy Havoc;7.6;Feb 18, 2016 +83;Counter-Strike: Global Offensive;7.8;Aug 21, 2012 +83;Outland;7.1;Sep 29, 2014 +83;MechWarrior 4: Mercenaries;8.6;Nov 7, 2002 +83;Metal Gear Solid;9.0;Sep 24, 2000 +82;Invisible, Inc.;8.0;May 12, 2015 +82;Dark Souls II: Crown of the Ivory King;7.8;Sep 29, 2014 +82;Red Faction: Guerrilla;7.5;Sep 15, 2009 +82;The Book of Unwritten Tales;8.2;Oct 28, 2011 +82;Capitalism II;9.0;Dec 16, 2001 +82;Rally Trophy;8.5;Nov 20, 2001 +82;Dawn of Discovery;8.8;Jun 17, 2009 +82;City of Villains;8.1;Oct 31, 2005 +82;Kentucky Route Zero - Act II;8.0;May 31, 2013 +82;Tom Clancy's Splinter Cell: Blacklist;7.4;Aug 20, 2013 +82;Act of War: Direct Action;8.5;Mar 15, 2005 +82;Sokobond;7.8;Aug 27, 2013 +82;Sam & Max Episode 105: Reality 2.0;8.4;Mar 29, 2007 +82;Bejeweled 3;8.0;Dec 7, 2010 +82;Dangerous Waters;8.8;Feb 22, 2005 +82;Tomb Raider: Legend;7.8;Apr 11, 2006 +82;Asheron's Call 2: Fallen Kings;8.8;Nov 20, 2002 +82;Gemini Rue;8.4;Feb 24, 2011 +82;Antichamber;8.2;Jan 31, 2013 +82;Neverwinter Nights 2;6.5;Oct 31, 2006 +82;Dragon Age: Origins - Awakening;7.7;Mar 16, 2010 +82;Door Kickers;8.2;Oct 20, 2014 +82;Hearthstone: Blackrock Mountain;6.4;Apr 2, 2015 +82;Rome: Total War Barbarian Invasion;8.4;Sep 27, 2005 +82;Hacknet;7.3;Aug 12, 2015 +82;Tales of Monkey Island Chapter 3: Lair of the Leviathan;7.8;Sep 29, 2009 +82;Neverwinter Nights 2: Mask of The Betrayer;8.8;Oct 9, 2007 +82;Sins of a Solar Empire: Rebellion;7.8;Jun 12, 2012 +82;Broken Sword: The Sleeping Dragon;7.6;Nov 17, 2003 +82;Age of Wonders: Shadow Magic;8.5;Jul 25, 2003 +82;Tom Clancy's Ghost Recon: Desert Siege;8.4;Mar 27, 2002 +82;Warlords Battlecry II;8.5;Mar 11, 2002 +82;Football Manager Live;2.9;Jan 23, 2009 +82;Marvel: Ultimate Alliance;8.3;Oct 24, 2006 +82;The Talos Principle: Road To Gehenna;7.6;Jul 23, 2015 +82;Lara Croft and the Guardian of Light;8.2;Sep 28, 2010 +82;Aquaria;8.3;Dec 7, 2007 +82;Need for Speed: Underground;8.3;Nov 17, 2003 +82;TrackMania Sunrise;8.5;May 6, 2005 +82;King's Quest Chapter 1: A Knight to Remember;7.2;Jul 28, 2015 +82;Dragon Age II;4.4;Mar 8, 2011 +82;Endless Legend;7.9;Apr 24, 2014 +82;Tom Clancy's Ghost Recon: Island Thunder;8.3;Sep 25, 2002 +82;S.T.A.L.K.E.R.: Shadow of Chernobyl;8.4;Mar 20, 2007 +82;Kero Blaster;6.9;May 11, 2014 +82;Monday Night Combat;7.3;Jan 24, 2011 +82;The Wolf Among Us: Episode 3 - A Crooked Mile;8.6;Apr 8, 2014 +82;Airborne Assault: Red Devils Over Arnhem;7.4;Jun 17, 2002 +82;Fallout Tactics: Brotherhood of Steel;7.9;Mar 14, 2001 +82;Need for Speed: Underground 2;8.5;Nov 9, 2004 +82;NHL Eastside Hockey Manager 2005;6.6;Oct 5, 2005 +82;Legend of Grimrock;8.1;Apr 11, 2012 +82;Dominions 3: The Awakening;8.1;Sep 29, 2006 +82;Bulletstorm;7.7;Feb 22, 2011 +82;Borderlands 2: Mr. Torgue's Campaign of Carnage;7.3;Nov 20, 2012 +82;Desktop Dungeons;8.2;Oct 17, 2010 +82;Fallout: New Vegas - Old World Blues;7.8;Jul 19, 2011 +82;Crusader Kings II;8.7;Feb 14, 2012 +82;MVP Baseball 2004;7.9;Mar 9, 2004 +82;Europa 1400: The Guild;8.6;Nov 18, 2002 +82;Battle Realms;8.6;Nov 7, 2001 +82;Warlords Battlecry;8.2;Jul 9, 2000 +82;Sam & Max Episode 201: Ice Station Santa;8.6;Nov 8, 2007 +82;Technobabylon;7.8;May 21, 2015 +82;World of Warcraft: Mists of Pandaria;4.8;Sep 25, 2012 +82;FIFA 15;4.2;Sep 23, 2014 +82;Recettear: An Item Shop's Tale;8.6;Sep 10, 2010 +82;ETHER One;6.9;Mar 25, 2014 +82;The Vanishing of Ethan Carter;8.1;Sep 25, 2014 +82;Flight Simulator X: Acceleration;7.3;Oct 23, 2007 +82;Blood;9.0;May 31, 1997 +82;Command & Conquer: Red Alert 3;6.8;Oct 28, 2008 +82;The Walking Dead: Episode 1 - A New Day;8.4;Apr 24, 2012 +82;Links 2003;6.8;Sep 16, 2002 +82;Earth & Beyond;7.1;Sep 2, 2002 +82;Syberia;8.5;Sep 1, 2002 +82;Virtual Pool 3;7.3;Nov 14, 2000 +82;The Sims: Livin' Large;6.6;Aug 27, 2000 +82;DCS: Black Shark;8.5;Apr 13, 2009 +82;King's Bounty: Armored Princess;8.7;Sep 10, 2010 +82;Age of Wonders III - Golden Realms;8.5;Sep 18, 2014 +82;Strong Bad's Cool Game for Attractive People Episode 5: 8-Bit Is Enough;7.5;Dec 15, 2008 +82;Prince of Persia;7.2;Dec 2, 2008 +82;Joint Operations: Typhoon Rising;8.7;Jun 15, 2004 +82;Xpand Rally;7.4;Apr 20, 2006 +82;Dark Souls II: Crown of the Sunken King;7.3;Jul 22, 2014 +82;Resident Evil HD Remaster;8.2;Jan 20, 2015 +82;Celtic Kings: Rage of War;8.5;Aug 21, 2002 +82;B-17 Flying Fortress: The Mighty 8th;7.3;Dec 13, 2000 +82;EverQuest: The Scars of Velious;7.8;Dec 4, 2000 +82;Metro: Last Light;8.6;May 14, 2013 +82;Rising Storm;8.5;May 30, 2013 +82;Lethal League;7.4;Aug 27, 2014 +82;Botanicula;8.3;Apr 19, 2012 +82;Pro Evolution Soccer 2015;5.8;Nov 13, 2014 +82;Bookworm Adventures Deluxe;7.9;Dec 20, 2006 +82;The Lord of the Rings: The Battle for Middle-Earth;8.6;Dec 6, 2004 +82;Hitman: Blood Money;8.8;May 30, 2006 +82;Need for Speed: Most Wanted;8.5;Nov 15, 2005 +82;OlliOlli2: Welcome to Olliwood;5.2;Aug 11, 2015 +82;WildStar;7.4;Jun 3, 2014 +82;Broken Age: Act 1;7.7;Jan 28, 2014 +82;Divinity II: The Dragon Knight Saga;8.2;Nov 5, 2010 +82;Out of the Park Baseball 9;7.4;Jun 1, 2008 +82;The Simpsons: Hit & Run;8.0;Nov 13, 2003 +82;America's Army;6.1;Aug 28, 2002 +82;Star Trek Bridge Commander;8.1;Feb 27, 2002 +82;The Last Express;8.9;Mar 31, 1997 +81;Quake 4;7.5;Oct 11, 2005 +81;Nidhogg;7.0;Jan 13, 2014 +81;Battlefield 4;6.0;Oct 29, 2013 +81;To the Moon;8.9;Sep 7, 2012 +81;The Sims 3: World Adventures;8.0;Nov 16, 2009 +81;Painkiller;8.0;Apr 12, 2004 +81;Airborne Assault: Highway to the Reich;6.1;Dec 10, 2003 +81;Nancy Drew: Danger on Deception Island;7.7;Oct 1, 2003 +81;Shadowrun: Hong Kong;7.7;Aug 20, 2015 +81;Supreme Commander: Forged Alliance;8.9;Nov 6, 2007 +81;Sunless Sea;7.4;Jul 1, 2014 +81;The Walking Dead: Season Two Episode 3 - In Harm's Way;8.3;May 13, 2014 +81;Marvel Heroes 2015;7.9;Jun 4, 2014 +81;Football Manager 2016;6.4;Nov 13, 2015 +81;VVVVVV;8.1;Jan 11, 2010 +81;Darksiders II;7.9;Aug 14, 2012 +81;Wolfenstein: The New Order;8.2;May 20, 2014 +81;Lone Survivor;7.2;Apr 23, 2012 +81;Alien: Isolation;8.4;Oct 6, 2014 +81;The Witcher;8.8;Oct 30, 2007 +81;Kentucky Route Zero - Act I;7.5;Jan 7, 2013 +81;Jade Empire: Special Edition;8.3;Feb 26, 2007 +81;SWAT 3: Elite Edition;8.4;Oct 6, 2000 +81;Asheron's Call;8.8;Oct 31, 1999 +81;Unravel;8.1;Feb 9, 2016 +81;Midnight Club II;8.0;Jun 30, 2003 +81;Chessmaster 10th Edition;7.4;Aug 12, 2004 +81;Age of Empires III;7.7;Oct 18, 2005 +81;Tales of Monkey Island Chapter 5: Rise of the Pirate God;8.4;Dec 8, 2009 +81;Castlevania: Lords of Shadow Ultimate Edition;7.3;Aug 27, 2013 +81;Strong Bad's Cool Game for Attractive People Episode 2: Strong Badia the Free;8.2;Sep 15, 2008 +81;The Cat Lady;8.7;Dec 4, 2013 +81;Vessel;7.9;Mar 1, 2012 +81;Metro 2033;8.1;Mar 16, 2010 +81;OutRun 2006: Coast 2 Coast;7.8;Jun 27, 2006 +81;Blur;7.3;May 25, 2010 +81;Empires: Dawn of the Modern World;8.2;Oct 21, 2003 +81;Chessmaster 9000;7.7;Aug 31, 2002 +81;Gothic;8.6;Nov 23, 2001 +81;Arcanum: Of Steamworks and Magick Obscura;8.9;Aug 22, 2001 +81;NASCAR Heat;8.6;Sep 27, 2000 +81;Company of Heroes 2: Ardennes Assault;6.1;Nov 17, 2014 +81;PlanetSide;7.3;May 20, 2003 +81;Tales From The Borderlands: Episode 3 - Catch A Ride;8.4;Jun 23, 2015 +81;The Walking Dead: Season Two Episode 2 - A House Divided;8.6;Mar 4, 2014 +81;Kingdoms of Amalur: Reckoning;6.6;Feb 7, 2012 +81;Sam & Max: The Devil's Playhouse - Episode 1: The Penal Zone;8.5;Apr 15, 2010 +81;Borderlands;7.8;Oct 26, 2009 +81;DG2: Defense Grid 2;6.7;Sep 23, 2014 +81;Napoleon: Total War;7.9;Feb 23, 2010 +81;Overlord;8.1;Jun 26, 2007 +81;Firewatch;7.2;Feb 9, 2016 +81;Victoria II: Heart of Darkness;8.7;Apr 16, 2013 +81;Waveform;7.6;Jan 25, 2013 +81;The Elder Scrolls IV: Knights of the Nine;7.5;Nov 21, 2006 +81;Red Orchestra: Ostfront 41-45;8.6;Mar 14, 2006 +81;Stronghold;8.9;Oct 21, 2001 +81;Strong Bad's Cool Game for Attractive People Episode 4: Dangeresque 3: The Criminal Projective;8.5;Nov 17, 2008 +81;Rochard;8.0;Nov 15, 2011 +81;Fallout 3: Broken Steel;7.3;May 5, 2009 +81;Tiger Woods PGA Tour 06;8.1;Sep 20, 2005 +81;RollerCoaster Tycoon 3;4.9;Oct 26, 2004 +81;Dragon's Dogma: Dark Arisen;8.3;Jan 15, 2016 +81;Guild Wars 2: Heart of Thorns;7.3;Oct 23, 2015 +81;AaaaaAAaaaAAAaaAAAAaAAAAA!!! - A Reckless Disregard for Gravity;7.2;Sep 3, 2009 +81;The Sims 2 University;7.8;Feb 28, 2005 +81;Far Cry 3: Blood Dragon;8.1;May 1, 2013 +81;Sid Meier's Civilization: Beyond Earth;5.5;Oct 24, 2014 +81;Disney's Toontown Online;8.7;Oct 6, 2005 +81;Combat Mission 3: Afrika Korps;8.4;Dec 3, 2003 +81;EverQuest: The Planes of Power;8.2;Oct 28, 2002 +81;Rails Across America;8.0;Sep 18, 2001 +81;Wasteland 2;7.3;Sep 19, 2014 +81;Jamestown: Legend of the Lost Colony;7.5;Jun 8, 2011 +81;Call of Duty: Black Ops;5.1;Nov 9, 2010 +81;Kohan II: Kings of War;7.9;Sep 20, 2004 +81;The Age of Decadence;7.9;Oct 15, 2015 +81;Samorost 3;8.3;Mar 24, 2016 +81;Order of Battle: Pacific;6.4;Apr 30, 2015 +81;Empire Earth;8.3;Nov 12, 2001 +81;Star Trek: Deep Space Nine: The Fallen;7.9;Nov 15, 2000 +81;Sam & Max Episode 101: Culture Shock;8.7;Oct 18, 2006 +81;Mirror's Edge (2008);8.1;Jan 12, 2009 +81;TrackMania 2 Canyon;7.7;Sep 14, 2011 +81;Sleeping Dogs;8.2;Aug 14, 2012 +81;Star Wars Jedi Knight: Jedi Academy;8.6;Sep 17, 2003 +81;Mortal Kombat Komplete Edition;8.7;Aug 6, 2013 +81;Shadowrun: Dragonfall;8.3;Feb 27, 2014 +81;Eets;6.4;Mar 29, 2006 +81;World of Warships;6.6;Sep 17, 2015 +81;TOCA Race Driver 2: The Ultimate Racing Simulator;8.0;Apr 15, 2004 +81;Wargame: European Escalation;8.2;Feb 22, 2012 +81;Dungeon Defenders;7.3;Oct 18, 2011 +81;Sam & Max: The Devil's Playhouse - Episode 5: The City That Dares Not Sleep;7.9;Aug 30, 2010 +81;Age of Empires III: The Asian Dynasties;8.5;Oct 23, 2007 +81;Defense Grid: The Awakening;8.8;Jul 29, 2009 +81;Codename: Panzers, Phase One;8.8;Sep 30, 2004 +81;FIFA 16;4.4;Sep 22, 2015 +81;Europa Universalis IV: Conquest of Paradise;7.7;Jan 14, 2014 +81;Ghost Master;8.0;Aug 26, 2003 +81;Divine Divinity;8.5;Sep 22, 2002 +80;The Book of Unwritten Tales 2;7.7;Feb 20, 2015 +80;Galactic Civilizations III;6.6;May 14, 2015 +80;Lovers in a Dangerous Spacetime;7.2;Sep 9, 2015 +80;Age of Conan: Hyborian Adventures;7.3;May 20, 2008 +80;Company of Heroes 2: The Western Front Armies;6.8;Jun 23, 2014 +80;Sid Meier's Civilization V: Gods & Kings;7.7;Jun 19, 2012 +80;Age of Empires III: The WarChiefs;8.1;Oct 17, 2006 +80;Metal Gear Solid V: Ground Zeroes;7.7;Dec 18, 2014 +80;Trials Fusion;6.8;Apr 16, 2014 +80;Syberia II;8.3;Mar 30, 2004 +80;Tom Clancy's Ghost Recon;8.4;Nov 13, 2001 +80;Conquest: Frontier Wars;8.3;Aug 14, 2001 +80;Gabriel Knight 3: Blood of the Sacred, Blood of the Damned;8.8;Oct 5, 1999 +80;Westerado: Double Barreled;7.4;Apr 16, 2015 +80;Anomaly: Warzone Earth;7.3;Apr 8, 2011 +80;Volume;7.2;Aug 18, 2015 +80;GRID 2;5.7;May 27, 2013 +80;The Banner Saga;7.9;Jan 14, 2014 +80;Sam & Max Episode 202: Moai Better Blues;7.7;Jan 10, 2008 +80;Age of Wonders III - Eternal Lords;8.4;Apr 14, 2015 +80;Pro Evolution Soccer 2013;6.8;Sep 25, 2012 +80;Osmos;7.5;Aug 18, 2009 +80;Dungeon Siege II;7.9;Aug 16, 2005 +80;Dead Island;6.8;Sep 6, 2011 +80;Sam & Max Episode 104: Abe Lincoln Must Die!;7.8;Feb 22, 2007 +80;Deus Ex: Invisible War;6.3;Dec 2, 2003 +80;The Sims: Makin' Magic;8.6;Oct 28, 2003 +80;Tom Clancy's Splinter Cell: Double Agent;5.7;Nov 7, 2006 +80;Medal of Honor: Pacific Assault;7.4;Nov 4, 2004 +80;Assassin's Creed: Revelations;7.4;Nov 29, 2011 +80;Grandia II Anniversary Edition;7.6;Aug 24, 2015 +80;Assassin's Creed III;6.2;Nov 20, 2012 +80;Madden NFL 07;7.3;Aug 22, 2006 +80;Outlast;8.4;Sep 4, 2013 +80;The Chronicles of Riddick: Assault on Dark Athena;8.0;Apr 7, 2009 +80;Hearts of Iron II: Doomsday;8.8;Apr 7, 2006 +80;Dishonored: The Brigmore Witches;8.5;Aug 13, 2013 +80;Codename: Panzers, Phase Two;8.0;Jul 25, 2005 +80;Full Spectrum Warrior;7.0;Sep 21, 2004 +80;AI War: Fleet Command;8.4;May 14, 2009 +80;Freedom Fighters;8.3;Oct 1, 2003 +80;NBA Live 2003;8.3;Nov 14, 2002 +80;The Elder Scrolls III: Tribunal;8.2;Nov 6, 2002 +80;Elite: Dangerous;6.4;Dec 16, 2014 +80;Pure;6.9;Sep 16, 2008 +80;Goodbye Deponia;8.1;Oct 17, 2013 +80;SWAT 4: The Stetchkov Syndicate;8.3;Feb 28, 2006 +80;Dropsy;7.3;Sep 10, 2015 +80;Company of Heroes 2: The British Forces;5.9;Sep 3, 2015 +80;Ground Control II: Operation Exodus;8.8;Jun 23, 2004 +80;NBA Live 2004;9.0;Nov 11, 2003 +80;Brutal Legend;7.8;Feb 26, 2013 +80;Tomb Raider: Underworld;7.6;Nov 18, 2008 +80;Oxenfree;7.7;Jan 15, 2016 +80;Titan Quest: Immortal Throne;8.7;Mar 5, 2007 +80;La-Mulana (Remake);7.1;Jul 13, 2012 +80;X-Men Legends II: Rise of Apocalypse;8.4;Sep 20, 2005 +80;SpellForce 2: Shadow Wars;7.6;May 5, 2006 +80;Fritz 8 Deluxe;7.8;Dec 1, 2004 +80;Trine;8.2;Sep 11, 2009 +80;Dishonored: The Knife of Dunwall;8.1;Apr 16, 2013 +80;Company of Heroes 2;2.0;Jun 25, 2013 +80;Natural Selection 2;8.4;Oct 30, 2012 +80;Read Only Memories;7.2;Oct 5, 2015 +80;The Sims 3: Into the Future;5.4;Oct 22, 2013 +80;Borderlands 2: Captain Scarlett and Her Pirate's Booty;7.4;Oct 16, 2012 +80;FATE;8.3;Sep 19, 2006 +80;2002 FIFA World Cup;7.9;Apr 30, 2002 +80;Asheron's Call Dark Majesty;8.1;Nov 4, 2001 +80;The Bug Butcher;8.2;Jan 19, 2016 +80;Dragonshard;7.4;Oct 2, 2005 +80;Icewind Dale: Enhanced Edition;7.6;Oct 30, 2014 +80;The Magic Circle;7.3;Jul 9, 2015 +80;Far Cry 4;6.6;Nov 18, 2014 +80;Super Time Force Ultra;6.6;Aug 25, 2014 +80;Day of Defeat: Source;9.1;Feb 7, 2006 +80;Battlefield 2142;6.8;Oct 17, 2006 +80;World of Tanks;3.8;Sep 6, 2011 +80;Vampire: The Masquerade - Bloodlines;9.0;Nov 16, 2004 +80;Dark Souls II: Scholar of the First Sin;7.4;Apr 1, 2015 +80;Warhammer 40,000: Dawn of War II - Retribution;7.8;Mar 1, 2011 +80;Panzer Corps;7.5;Jul 11, 2011 +80;Men of War;8.1;Mar 16, 2009 +80;Fallen Enchantress: Legendary Heroes;7.7;May 22, 2013 +80;The Walking Dead: Episode 4 - Around Every Corner;8.5;Oct 10, 2012 +80;Tales of Monkey Island Chapter 4: The Trial and Execution of Guybrush Threepwood;8.4;Oct 30, 2009 +80;Penny Arcade Adventures: Episode Two;7.7;Nov 7, 2008 +80;Time Commando;8.9;Jul 31, 1996 +80;Sins of a Solar Empire: Entrenchment;8.1;Feb 25, 2009 +80;F1 2012;6.9;Sep 18, 2012 +80;Luftrausers;6.8;Mar 18, 2014 +80;Naruto Shippuden: Ultimate Ninja Storm 3 Full Burst;7.9;Oct 24, 2013 +80;Stealth Bastard Deluxe;8.3;Nov 28, 2012 +80;Tom Clancy's Ghost Recon Advanced Warfighter;7.7;May 3, 2006 +80;LEGO Batman: The Videogame;7.9;Sep 23, 2008 +80;Stacking;7.9;Mar 6, 2012 +80;Age of Wonders III;7.8;Mar 31, 2014 +80;Life is Strange: Episode 3 - Chaos Theory;9.0;May 19, 2015 +80;The Legend of Heroes: Trails in the Sky SC;8.4;Oct 29, 2015 +80;Proteus;5.6;Jan 30, 2013 +80;Robin Hood: The Legend of Sherwood;8.3;Nov 14, 2002 +80;Soldier of Fortune II: Double Helix;7.3;May 20, 2002 +80;RollerCoaster Tycoon: Loopy Landscapes;9.0;Sep 30, 2000 +80;Toki Tori;7.9;Jan 28, 2010 +80;RoboBlitz;8.3;Nov 7, 2006 +80;Wargame: AirLand Battle;8.1;May 29, 2013 +80;Football Manager 2015;6.0;Nov 7, 2014 +80;The Suffering;8.2;Jun 8, 2004 +80;Gish;7.2;Sep 17, 2004 +80;Axiom Verge;8.2;May 14, 2015 +80;Driver: San Francisco;7.0;Sep 27, 2011 +80;The Corporate Machine;7.5;Jul 14, 2001 +80;Dungeons & Dragons: Chronicles of Mystara;6.7;Jun 18, 2013 +80;Disciples II: Rise of the Elves;8.1;Nov 25, 2003 +80;MechCommander 2;8.3;Jul 18, 2001 +80;Waterloo: Napoleon's Last Battle;7.5;Mar 25, 2001 +80;Chessmaster 8000;6.4;Nov 14, 2000 +80;Circle of Blood;8.6;Sep 30, 1996 +80;BioShock Infinite: Burial at Sea - Episode Two;8.5;Mar 25, 2014 +80;S.T.A.L.K.E.R.: Call of Pripyat;8.7;Feb 2, 2010 +80;The Walking Dead: Season Two - A Telltale Games Series;8.3;Dec 17, 2013 +80;FLY'N;8.2;Nov 9, 2012 +80;Total War: Attila;7.3;Feb 17, 2015 +80;The Wolf Among Us;8.8;Oct 11, 2013 +80;Nancy Drew: Secret of the Old Clock;8.1;Jul 26, 2005 +80;ArcheAge;3.6;Sep 16, 2014 +80;CAPSIZED;7.1;Apr 29, 2011 +80;Microsoft Flight Simulator X;7.6;Oct 17, 2006 +80;Myst V: End of Ages;7.8;Sep 19, 2005 +80;Railroad Tycoon 3;7.7;Oct 23, 2003 +80;Hostile Waters: Antaeus Rising;8.1;Jun 13, 2001 +79;Dustforce;7.9;Jan 17, 2012 +79;Empire Earth II;7.0;Apr 26, 2005 +79;Fallout 3: Point Lookout;7.8;Jun 23, 2009 +79;Test Drive Unlimited;8.1;Mar 20, 2007 +79;Dying Light: The Following;8.3;Feb 9, 2016 +79;The Path;7.0;Mar 18, 2009 +79;Dungeon of the Endless;8.0;Oct 27, 2014 +79;Revenge of the Titans;7.6;May 24, 2010 +79;Bookworm Adventures: Volume 2;7.6;Jul 30, 2009 +79;F1 2001;7.5;Oct 14, 2001 +79;Brothers in Arms: Hell's Highway;7.9;Oct 7, 2008 +79;Star Wars: Empire at War;8.4;Feb 15, 2006 +79;Dariusburst: Chronicle Saviours;8.3;Dec 3, 2015 +79;Europa Universalis: Rome - Vae Victis;8.6;Nov 19, 2008 +79;Silent Hunter: Wolves of the Pacific;6.5;Mar 20, 2007 +79;Pillars of Eternity: The White March - Part 2;6.7;Feb 16, 2016 +79;1701 A.D.;8.3;Nov 6, 2006 +79;Stasis;7.6;Aug 31, 2015 +79;Pro Evolution Soccer 2009;7.4;Nov 12, 2008 +79;Return to Mysterious Island;8.5;Nov 2, 2004 +79;Jotun;7.0;Sep 29, 2015 +79;Else Heart.Break();7.5;Sep 24, 2015 +79;Kohan: Ahriman's Gift;8.7;Nov 5, 2001 +79;Emperor: Battle for Dune;8.3;Jun 12, 2001 +79;Trackmania Turbo;6.9;Mar 24, 2016 +79;Cart Life;5.9;Jul 29, 2010 +79;Sword of the Stars: Born of Blood;8.1;Jun 5, 2007 +79;Worms Reloaded;6.7;Aug 26, 2010 +79;Warhammer: End Times - Vermintide;7.9;Oct 23, 2015 +79;Euro Truck Simulator 2;8.7;Jan 16, 2013 +79;Tropico 3;8.2;Oct 20, 2009 +79;Cities: Skylines - After Dark;7.9;Sep 24, 2015 +79;Runaway: A Twist of Fate;8.5;Apr 21, 2011 +79;Tales of Monkey Island Chapter 1: Launch of the Screaming Narwhal;8.2;Jul 7, 2009 +79;Bloodline Champions;8.0;Jan 13, 2011 +79;The Sims: Superstar;8.2;May 12, 2003 +79;NBA Live 2005;8.5;Oct 26, 2004 +79;Valiant Hearts: The Great War;8.6;Jun 25, 2014 +79;Payday 2;3.4;Aug 13, 2013 +79;Dungeons of Dredmor;7.8;Jul 13, 2011 +79;Geometry Wars 3: Dimensions;6.2;Nov 25, 2014 +79;Assassin's Creed: Director's Cut Edition;7.5;Apr 8, 2008 +79;Puzzle Dimension;7.6;Jun 21, 2010 +79;Split/Second;8.2;May 18, 2010 +79;Sang-Froid: Tales of Werewolves;7.9;Apr 5, 2013 +79;The Incredible Adventures of Van Helsing: Final Cut;7.2;Oct 7, 2015 +79;Hitman: Absolution;7.0;Nov 19, 2012 +79;Call of Juarez: Gunslinger;8.2;May 22, 2013 +79;Rome: Total War Alexander;7.6;Jun 19, 2006 +79;Strong Bad's Cool Game for Attractive People Episode 3: Baddest of the Bands;8.1;Oct 27, 2008 +79;Sam & Max Episode 102: Situation: Comedy;7.9;Dec 20, 2006 +79;Tropico 3: Absolute Power;7.7;May 17, 2010 +79;Sam & Max Episode 106: Bright Side of the Moon;7.3;Apr 26, 2007 +79;Day of Defeat;9.3;May 6, 2003 +79;Space Empires: IV;8.3;Nov 6, 2000 +79;Resident Evil 4: Ultimate HD Edition;7.7;Feb 27, 2014 +79;Sam & Max Episode 203: Night of the Raving Dead;8.2;Feb 12, 2008 +79;FlatOut: Ultimate Carnage;7.6;Sep 2, 2008 +79;Guitar Hero III: Legends of Rock;7.2;Nov 13, 2007 +79;Sid Meier's Civilization: Beyond Earth - Rising Tide;5.9;Oct 9, 2015 +79;Memoria;8.5;Aug 29, 2013 +79;The Last Door;7.8;May 20, 2014 +79;Shadowgrounds Survivor;7.8;Dec 6, 2007 +79;Gothic II;8.8;Oct 28, 2003 +79;Port Royale;8.2;Jun 4, 2003 +79;Deadly Dozen: Pacific Theater;7.9;Oct 31, 2002 +79;Shattered Galaxy;8.3;Aug 21, 2001 +79;Close Combat: Invasion: Normandy;8.2;Oct 10, 2000 +79;King's Bounty: The Legend;8.6;Sep 23, 2008 +79;Rage;5.1;Oct 4, 2011 +79;The Misadventures of P.B. Winterbottom;8.3;Apr 20, 2010 +79;Uru: Ages Beyond Myst;7.4;Nov 11, 2003 +79;Guild Wars: Eye of the North;8.6;Aug 28, 2007 +79;Tales From The Borderlands: Episode 4 - Escape Plan Bravo;8.4;Aug 18, 2015 +79;EverQuest: Lost Dungeons of Norrath;7.0;Sep 8, 2003 +79;Battlefield 1942: Secret Weapons of WWII;8.5;Sep 4, 2003 +79;The Sims: Unleashed;8.0;Sep 23, 2002 +79;Race the Sun;7.5;Aug 19, 2013 +79;The Sims 3: Pets;6.1;Oct 18, 2011 +79;Prototype;7.9;Jun 10, 2009 +79;Stick it to the Man!;7.2;Dec 13, 2013 +79;Street Fighter X Tekken;6.4;May 11, 2012 +79;Frozen Cortex;6.5;Feb 19, 2015 +79;Free Realms;6.4;Apr 29, 2009 +79;Homeworld: Deserts of Kharak;8.0;Jan 20, 2016 +79;Don't Starve;8.3;Apr 23, 2013 +79;Assault Android Cactus;7.0;Sep 23, 2015 +79;Trainz;7.2;Feb 10, 2002 +79;King Arthur: The Role-Playing Wargame;7.9;Nov 24, 2009 +79;Chivalry: Medieval Warfare;7.8;Oct 16, 2012 +79;Overlord II;8.1;Jun 23, 2009 +79;F.E.A.R. 2: Project Origin;7.8;Feb 10, 2009 +79;Tom Clancy's Rainbow Six Siege;6.9;Dec 1, 2015 +79;The Settlers 7: Paths to a Kingdom;5.2;Mar 23, 2010 +79;RollerCoaster Tycoon 3: Soaked!;2.9;Jun 23, 2005 +79;Dark Souls II: Crown of the Old Iron King;7.6;Aug 26, 2014 +79;TrackMania 2 Valley;8.3;Jul 4, 2013 +79;State of Decay;6.8;Nov 5, 2013 +79;LEGO Harry Potter: Years 1-4;7.8;Jun 29, 2010 +79;Rift: Storm Legion;7.8;Nov 13, 2012 +79;Crayon Physics Deluxe;7.6;Jan 7, 2009 +79;Nancy Drew: Legend of the Crystal Skull;8.5;Oct 8, 2007 +79;EverQuest II: Desert of Flames;7.8;Sep 12, 2005 +79;SimCity 4: Rush Hour;8.6;Sep 22, 2003 +79;Uncommon Valor: Campaign for the South Pacific;7.6;Dec 2, 2002 +79;Global Operations;8.3;Mar 25, 2002 +78;Apotheon;7.8;Feb 3, 2015 +78;Need for Speed: Most Wanted - A Criterion Game;4.4;Oct 30, 2012 +78;Star Wars: Battlefront II;8.8;Oct 31, 2005 +78;The Walking Dead: Season Two Episode 1 - All That Remains;8.5;Dec 17, 2013 +78;The Journey Down: Chapter Two;7.1;Aug 25, 2014 +78;Star Trek: Elite Force II;7.6;Jun 25, 2003 +78;Zuma's Revenge!;7.9;Sep 15, 2009 +78;Baldur's Gate: Enhanced Edition;7.0;Nov 28, 2012 +78;Doom 3: Resurrection of Evil;6.0;Apr 4, 2005 +78;LEGO Indiana Jones: The Original Adventures;7.7;Jun 3, 2008 +78;NASCAR Thunder 2004;7.5;Sep 16, 2003 +78;Transformers: Fall of Cybertron;7.8;Aug 21, 2012 +78;FIFA Soccer 06;6.7;Oct 4, 2005 +78;DeadCore;6.8;Oct 17, 2014 +78;The Walking Dead: Season Two Episode 5 - No Going Back;8.5;Aug 26, 2014 \ No newline at end of file diff --git a/_007/kafka.txt b/_007/kafka.txt new file mode 100644 index 0000000..b5695c5 --- /dev/null +++ b/_007/kafka.txt @@ -0,0 +1,11 @@ +Verhaftung - Gespräch mit Frau Grubach - Dann Fräulein Bürstner + +Jemand mußte Josef K. verleumdet haben, denn ohne daß er etwas Böses getan hätte, wurde er eines Morgens verhaftet. Die Köchin der Frau Grubach, seiner Zimmervermieterin, die ihm jeden Tag gegen acht Uhr früh das Frühstück brachte, kam diesmal nicht. Das war noch niemals geschehen. K. wartete noch ein Weilchen, sah von seinem Kopfkissen aus die alte Frau, die ihm gegenüber wohnte und die ihn mit einer an ihr ganz ungewöhnlichen Neugierde beobachtete, dann aber, gleichzeitig befremdet und hungrig, läutete er. Sofort klopfte es und ein Mann, den er in dieser Wohnung noch niemals gesehen hatte, trat ein. Er war schlank und doch fest gebaut, er trug ein anliegendes schwarzes Kleid, das, ähnlich den Reiseanzügen, mit verschiedenen Falten, Taschen, Schnallen, Knöpfen und einem Gürtel versehen war und infolgedessen, ohne daß man sich darüber klar wurde, wozu es dienen sollte, besonders praktisch erschien. "Wer sind Sie?" fragte K. und saß gleich halb aufrecht im Bett. Der Mann aber ging über die Frage hinweg, als müsse man seine Erscheinung hinnehmen, und sagte bloß seinerseits: "Sie haben geläutet?" "Anna soll mir das Frühstück bringen", sagte K. und versuchte, zunächst stillschweigend, durch Aufmerksamkeit und Überlegung festzustellen, wer der Mann eigentlich war. Aber dieser setzte sich nicht allzulange seinen Blicken aus, sondern wandte sich zur Tür, die er ein wenig öffnete, um jemandem, der offenbar knapp hinter der Tür stand, zu sagen: "Er will, daß Anna ihm das Frühstück bringt." Ein kleines Gelächter im Nebenzimmer folgte, es war nach dem Klang nicht sicher, ob nicht mehrere Personen daran beteiligt waren. Obwohl der fremde Mann dadurch nichts erfahren haben konnte, was er nicht schon früher gewußt hätte, sagte er nun doch zu K. im Tone einer Meldung: "Es ist unmöglich." "Das wäre neu", sagte K., sprang aus dem Bett und zog rasch seine Hosen an. "Ich will doch sehen, was für Leute im Nebenzimmer sind und wie Frau Grubach diese Störung mir gegenüber verantworten wird." Es fiel ihm zwar gleich ein, daß er das nicht hätte laut sagen müssen und daß er dadurch gewissermaßen ein Beaufsichtigungsrecht des Fremden anerkannte, aber es schien ihm jetzt nicht wichtig. Immerhin faßte es der Fremde so auf, denn er sagte: "Wollen Sie nicht lieber hierbleiben?" "Ich will weder hierbleiben, noch von Ihnen angesprochen werden, solange Sie sich mir nicht vorstellen." "Es war gut gemeint", sagte der Fremde und öffnete nun freiwillig die Tür. Im Nebenzimmer, in das K. langsamer eintrat, als er wollte, sah es auf den ersten Blick fast genau so aus wie am Abend vorher. Es war das Wohnzimmer der Frau Grubach, vielleicht war in diesem mit Möbeln, Decken, Porzellan und Photographien überfüllten Zimmer heute ein wenig mehr Raum als sonst, man erkannte das nicht gleich, um so weniger, als die Hauptveränderung in der Anwesenheit eines Mannes bestand, der beim offenen Fenster mit einem Buch saß, von dem er jetzt aufblickte. "Sie hätten in Ihrem Zimmer bleiben sollen! Hat es Ihnen denn Franz nicht gesagt?" "Ja, was wollen Sie denn?" sagte K. und sah von der neuen Bekanntschaft zu dem mit Franz Benannten, der in der Tür stehengeblieben war, und dann wieder zurück. Durch das offene Fenster erblickte man wieder die alte Frau, die mit wahrhaft greisenhafter Neugierde zu dem jetzt gegenüberliegenden Fenster getreten war, um auch weiterhin alles zu sehen. "Ich will doch Frau Grubach -", sagte K., machte eine Bewegung, als reiße er sich von den zwei Männern los, die aber weit von ihm entfernt standen, und wollte weitergehen. "Nein", sagte der Mann beim Fenster, warf das Buch auf ein Tischchen und stand auf. "Sie dürfen nicht weggehen, Sie sind ja verhaftet." "Es sieht so aus", sagte K. "Und warum denn?" fragte er dann. "Wir sind nicht dazu bestellt, Ihnen das zu sagen. Gehen Sie in Ihr Zimmer und warten Sie. Das Verfahren ist nun einmal eingeleitet, und Sie werden alles zur richtigen Zeit erfahren. Ich gehe über meinen Auftrag hinaus, wenn ich Ihnen so freundschaftlich zurede. Aber ich hoffe, es hört es niemand sonst als Franz, und der ist selbst gegen alle Vorschrift freundlich zu Ihnen. Wenn Sie auch weiterhin so viel Glück haben wie bei der Bestimmung Ihrer Wächter, dann können Sie zuversichtlich sein." K. wollte sich setzen, aber nun sah er, daß im ganzen Zimmer keine Sitzgelegenheit war, außer dem Sessel beim Fenster. "Sie werden noch einsehen, wie wahr das alles ist", sagte Franz und ging gleichzeitig mit dem andern Mann auf ihn zu. Besonders der letztere überragte K. bedeutend und klopfte ihm öfters auf die Schulter. Beide prüften K.s Nachthemd und sagten, daß er jetzt ein viel schlechteres Hemd werde anziehen müssen, daß sie aber dieses Hemd wie auch seine übrige Wäsche aufbewahren und, wenn seine Sache günstig ausfallen sollte, ihm wieder zurückgeben würden. "Es ist besser, Sie geben die Sachen uns als ins Depot", sagten sie, "denn im Depot kommen öfters Unterschleife vor und außerdem verkauft man dort alle Sachen nach einer gewissen Zeit, ohne Rücksicht, ob das betreffende Verfahren zu Ende ist oder nicht. Und wie lange dauern doch derartige Prozesse, besonders in letzter Zeit! Sie bekämen dann schließlich allerdings vom Depot den Erlös, aber dieser Erlös ist erstens an sich schon gering, denn beim Verkauf entscheidet nicht die Höhe des Angebotes, sondern die Höhe der Bestechung, und weiter verringern sich solche Erlöse erfahrungsgemäß, wenn sie von Hand zu Hand und von Jahr zu Jahr weitergegeben werden." K. achtete auf diese Reden kaum, das Verfügungsrecht über seine Sachen, das er vielleicht noch besaß, schätzte er nicht hoch ein, viel wichtiger war es ihm, Klarheit über seine Lage zu bekommen; in Gegenwart dieser Leute konnte er aber nicht einmal nachdenken, immer wieder stieß der Bauch des zweiten Wächters - es konnten ja nur Wächter sein - förmlich freundschaftlich an ihn, sah er aber auf, dann erblickte er ein zu diesem dicken Körper gar nicht passendes trockenes, knochiges Gesicht mit starker, seitlich gedrehter Nase, das sich über ihn hinweg mit dem anderen Wächter verständigte. Was waren denn das für Menschen? Wovon sprachen sie? Welcher Behörde gehörten sie an? K. lebte doch in einem Rechtsstaat, überall herrschte Friede, alle Gesetze bestanden aufrecht, wer wagte, ihn in seiner Wohnung zu überfallen? Er neigte stets dazu, alles möglichst leicht zu nehmen, das Schlimmste erst beim Eintritt des Schlimmsten zu glauben, keine Vorsorge für die Zukunft zu treffen, selbst wenn alles drohte. Hier schien ihm das aber nicht richtig, man konnte zwar das Ganze als Spaß ansehen, als einen groben Spaß, den ihm aus unbekannten Gründen, vielleicht weil heute sein dreißigster Geburtstag war, die Kollegen in der Bank veranstaltet hatten, es war natürlich möglich, vielleicht brauchte er nur auf irgendeine Weise den Wächtern ins Gesicht zu lachen, und sie würden mitlachen, vielleicht waren es Dienstmänner von der Straßenecke, sie sahen ihnen nicht unähnlich - trotzdem war er diesmal, förmlich schon seit dem ersten Anblick des Wächters Franz, entschlossen, nicht den geringsten Vorteil, den er vielleicht gegenüber diesen Leuten besaß, aus der Hand zu geben. Darin, daß man später sagen würde, er habe keinen Spaß verstanden, sah K. eine ganz geringe Gefahr, wohl aber erinnerte er sich - ohne daß es sonst seine Gewohnheit gewesen wäre, aus Erfahrungen zu lernen - an einige, an sich unbedeutende Fälle, in denen er zum Unterschied von seinen Freunden mit Bewußtsein, ohne das geringste Gefühl für die möglichen Folgen, sich unvorsichtig benommen hatte und dafür durch das Ergebnis gestraft worden war. Es sollte nicht wieder geschehen, zumindest nicht diesmal; war es eine Komödie, so wollte er mitspielen. + +Noch war er frei. "Erlauben Sie", sagte er und ging eilig zwischen den Wächtern durch in sein Zimmer. "Er scheint vernünftig zu sein", hörte er hinter sich sagen. In seinem Zimmer riß er gleich die Schubladen des Schreibtischs auf, es lag dort alles in großer Ordnung, aber gerade die Legitimationspapiere, die er suchte, konnte er in der Aufregung nicht gleich finden. Schließlich fand er seine Radfahrlegitimation und wollte schon mit ihr zu den Wächtern gehen, dann aber schien ihm das Papier zu geringfügig und er suchte weiter, bis er den Geburtsschein fand. Als er wieder in das Nebenzimmer zurückkam, öffnete sich gerade die gegenüberliegende Tür und Frau Grubach wollte dort eintreten. Man sah sie nur einen Augenblick, denn kaum hatte sie K. erkannt, als sie offenbar verlegen wurde, um Verzeihung bat, verschwand und äußerst vorsichtig die Tür schloß. "Kommen Sie doch herein", hatte K. gerade noch sagen können. Nun aber stand er mit seinen Papieren in der Mitte des Zimmers, sah noch auf die Tür hin, die sich nicht wieder öffnete, und wurde erst durch einen Anruf der Wächter aufgeschreckt, die bei dem Tischchen am offenen Fenster saßen und, wie K. jetzt erkannte, sein Frühstück verzehrten. "Warum ist sie nicht eingetreten?" fragte er. "Sie darf nicht", sagte der große Wächter. "Sie sind doch verhaftet." "Wie kann ich denn verhaftet sein? Und gar auf diese Weise?" "Nun fangen Sie also wieder an", sagte der Wächter und tauchte ein Butterbrot ins Honigfäßchen. "Solche Fragen beantworten wir nicht." "Sie werden sie beantworten müssen", sagte K. "Hier sind meine Legitimationspapiere, zeigen Sie mir jetzt die Ihrigen und vor allem den Verhaftbefehl." "Du lieber Himmel!" sagte der Wächter. "Daß Sie sich in Ihre Lage nicht fügen können und daß Sie es darauf angelegt zu haben scheinen, uns, die wir Ihnen jetzt wahrscheinlich von allen Ihren Mitmenschen am nächsten stehen, nutzlos zu reizen!" "Es ist so, glauben Sie es doch", sagte Franz, führte die Kaffeetasse, die er in der Hand hielt, nicht zum Mund, sondern sah K. mit einem langen, wahrscheinlich bedeutungsvollen, aber unverständlichen Blick an. K. ließ sich, ohne es zu wollen, in ein Zwiegespräch der Blicke mit Franz ein, schlug dann aber doch auf seine Papiere und sagte: "Hier sind meine Legitimationspapiere." "Was kümmern uns denn die?" rief nun schon der große Wächter. "Sie führen sich ärger auf als ein Kind. Was wollen Sie denn? Wollen Sie Ihren großen, verfluchten Prozeß dadurch zu einem raschen Ende bringen, daß Sie mit uns, den Wächtern, über Legitimation und Verhaftbefehl diskutieren? Wir sind niedrige Angestellte, die sich in einem Legitimationspapier kaum auskennen und die mit Ihrer Sache nichts anderes zu tun haben, als daß sie zehn Stunden täglich bei Ihnen Wache halten und dafür bezahlt werden. Das ist alles, was wir sind, trotzdem aber sind wir fähig, einzusehen, daß die hohen Behörden, in deren Dienst wir stehen, ehe sie eine solche Verhaftung verfügen, sich sehr genau über die Gründe der Verhaftung und die Person des Verhafteten unterrichten. Es gibt darin keinen Irrtum. Unsere Behörde, soweit ich sie kenne, und ich kenne nur die niedrigsten Grade, sucht doch nicht etwa die Schuld in der Bevölkerung, sondern wird, wie es im Gesetz heißt, von der Schuld angezogen und muß uns Wächter ausschicken. Das ist Gesetz. Wo gäbe es da einen Irrtum?" "Dieses Gesetz kenne ich nicht", sagte K. "Desto schlimmer für Sie", sagte der Wächter. "Es besteht wohl auch nur in Ihren Köpfen", sagte K., er wollte sich irgendwie in die Gedanken der Wächter einschleichen, sie zu seinen Gunsten wenden oder sich dort einbürgern. Aber der Wächter sagte nur abweisend: "Sie werden es zu fühlen bekommen." Franz mischte sich ein und sagte: "Sieh, Willem, er gibt zu, er kenne das Gesetz nicht, und behauptet gleichzeitig, schuldlos zu sein." "Du hast ganz recht, aber ihm kann man nichts begreiflich machen", sagte der andere. K. antwortete nichts mehr; muß ich, dachte er, durch das Geschwätz dieser niedrigsten Organe - sie geben selbst zu, es zu sein - mich noch mehr verwirren lassen? Sie reden doch jedenfalls von Dingen, die sie gar nicht verstehen. Ihre Sicherheit ist nur durch ihre Dummheit möglich. Ein paar Worte, die ich mit einem mir ebenbürtigen Menschen sprechen werde, werden alles unvergleichlich klarer machen als die längsten Reden mit diesen. Er ging einige Male in dem freien Raum des Zimmers auf und ab, drüben sah er die alte Frau, die einen noch viel älteren Greis zum Fenster gezerrt hatte, den sie umschlungen hielt. K. mußte dieser Schaustellung ein Ende machen: "Führen Sie mich zu Ihrem Vorgesetzten", sagte er. "Wenn er es wünscht; nicht früher", sagte der Wächter, der Willem genannt worden war. "Und nun rate ich Ihnen", fügte er hinzu, "in Ihr Zimmer zu gehen, sich ruhig zu verhalten und darauf zu warten, was über Sie verfügt werden wird. Wir raten Ihnen, zerstreuen Sie sich nicht durch nutzlose Gedanken, sondern sammeln Sie sich, es werden große Anforderungen an Sie gestellt werden. Sie haben uns nicht so behandelt, wie es unser Entgegenkommen verdient hätte, Sie haben vergessen, daß wir, mögen wir auch sein was immer, zumindest jetzt Ihnen gegenüber freie Männer sind, das ist kein kleines Übergewicht. Trotzdem sind wir bereit, falls Sie Geld haben, Ihnen ein kleines Frühstück aus dem Kaffeehaus drüben zu bringen." + +Ohne auf dieses Angebot zu antworten, stand K. ein Weilchen lang still. Vielleicht würden ihn die beiden, wenn er die Tür des folgenden Zimmers oder gar die Tür des Vorzimmers öffnete, gar nicht zu hindern wagen, vielleicht wäre es die einfachste Lösung des Ganzen, daß er es auf die Spitze trieb. Aber vielleicht würden sie ihn doch packen und, war er einmal niedergeworfen, so war auch alle Überlegenheit verloren, die er jetzt ihnen gegenüber in gewisser Hinsicht doch wahrte. Deshalb zog er die Sicherheit der Lösung vor, wie sie der natürliche Verlauf bringen mußte, und ging in sein Zimmer zurück, ohne daß von seiner Seite oder von Seite der Wächter ein weiteres Wort gefallen wäre. + +Er warf sich auf sein Bett und nahm vom Waschtisch einen schönen Apfel, den er sich gestern abend für das Frühstück vorbereitet hatte. Jetzt war er sein einziges Frühstück und jedenfalls, wie er sich beim ersten großen Bissen versicherte, viel besser, als das Frühstück aus dem schmutzigen Nachtcafé gewesen wäre, das er durch die Gnade der Wächter hätte bekommen können. Er fühlte sich wohl und zuversichtlich, in der Bank versäumte er zwar heute vormittag seinen Dienst, aber das war bei der verhältnismäßig hohen Stellung, die er dort einnahm, leicht entschuldigt. Sollte er die wirkliche Entschuldigung anführen? Er gedachte es zu tun, Würde man ihm nicht glauben, was in diesem Fall begreiflich war, so konnte er Frau Grubach als Zeugin führen oder auch die beiden Alten von drüben, die wohl jetzt auf dem Marsch zum gegenüberliegenden Fenster waren. Es wunderte K., wenigstens aus dem Gedankengang der Wächter wunderte es ihn, daß sie ihn in das Zimmer getrieben und ihn hier allein gelassen hatten, wo er doch zehnfache Möglichkeit hatte, sich umzubringen. Gleichzeitig allerdings fragte er sich, diesmal aus seinem Gedankengang, was für einen Grund er haben könnte, es zu tun. Etwa weil die zwei nebenan saßen und sein Frühstück abgefangen hatten? Es wäre so sinnlos gewesen, sich umzubringen, daß er, selbst wenn er es hätte tun wollen, infolge der Sinnlosigkeit dazu nicht imstande gewesen wäre. Wäre die geistige Beschränktheit der Wächter nicht so auffallend gewesen, so hätte man annehmen können, daß auch sie, infolge der gleichen Überzeugung, keine Gefahr darin gesehen hätten, ihn allein zu lassen. Sie mochten jetzt, wenn sie wollten, zusehen, wie er zu einem Wandschränkchen ging, in dem er einen guten Schnaps aufbewahrte, wie er ein Gläschen zuerst zum Ersatz des Frühstücks leerte und wie er ein zweites Gläschen dazu bestimmte, sich Mut zu machen, das letztere nur aus Vorsicht für den unwahrscheinlichen Fall, daß es nötig sein sollte. + + diff --git a/_007/readme.md b/_007/readme.md new file mode 100644 index 0000000..a157f4b --- /dev/null +++ b/_007/readme.md @@ -0,0 +1,26 @@ +# synchronized verwenden +## Lernziel + + + +Schlüsselwort `synchronized` verwenden. + +## Aufgabe + +Gehen Sie in das Paket [pr2.threads.synchronize](../sources/src/main/java/pr2/threads/synchronize/). + +Schreiben Sie eine Klasse `Synchronizer`, die ein einziges `int`-Attribut und zusätzlich noch eine Methode `addAndPrint` enthält. Bei jedem Aufruf der Methode soll das Attribut um eins hochgezählt werden. Starten Sie zwei Threads, die diese Method konkurrierend aufrufen und sorgen Sie durch korrekte Synchronisation bei der `addAndPrint` dafür, dass keine Zahl zweimal ausgegeben wird und die Folge der Zahlen wirklich ohne Lücken ist. + + + \ No newline at end of file diff --git a/_008/readme.md b/_008/readme.md new file mode 100644 index 0000000..c600122 --- /dev/null +++ b/_008/readme.md @@ -0,0 +1,28 @@ +# Timer und TimerTask verwenden +## Lernziel + + + +Klassen aus `java.util.concurrent` verwenden. + +## Aufgabe + +Gehen Sie in das Paket [pr2.threads.timer](../sources/src/main/java/pr2/threads/timer/). + +Schreiben Sie eine Klasse `FakultaetTimer`, die in der Lage ist, die Fakultäten für alle Zahlen zwischen 0 und 20 zu berechnen. Der Berechnung dient eine Methode `calculate` die ein `long`-Array mit den Ergebnissen zurückgibt. Verwenden Sie zur Implementierung der Berechnung die Klasse `Timer` und `TimerTask`, wobei Sie für jede zu berechnende Zahl einen eigenen `TimerTask` verwenden sollen. + +Schreiben Sie eine `main`-Methode in der Klasse `Main`, welche die Klasse `FakultaetTimer` verwendet, um die Fakultäten von 0 bis 20 zu berechnen. Danach soll sie das Ergebnis der Berechnung ausgeben. + + + \ No newline at end of file diff --git a/_009/readme.md b/_009/readme.md new file mode 100644 index 0000000..21c21d2 --- /dev/null +++ b/_009/readme.md @@ -0,0 +1,26 @@ +# Summe über reduce bestimmen +## Lernziel + + + +Daten in Streams mit `reduce` aggregieren. + +## Aufgabe + +Gehen Sie in das Paket [pr2.streams.summieren](../sources/src/main/java/pr2/streams/summieren/). + +Schreiben Sie in der Klasse `SumUp` eine Methode `int sumUp(Stream numbers)`, die die Elemente eines Streams von `Integer`-Objekten addiert. + + + \ No newline at end of file diff --git a/_010/readme.md b/_010/readme.md new file mode 100644 index 0000000..4b1e108 --- /dev/null +++ b/_010/readme.md @@ -0,0 +1,28 @@ +# Wörter zählen +## Lernziel + + + +Daten in Streams mit `reduce` aggregieren. + +## Aufgabe + +Gehen Sie in das Paket [pr2.streams.word_count](../sources/src/main/java/pr2/streams/word_count/). + +Gegeben sei eine Liste von Strings (`List`), die die Wörter eines Textes enthält. Erzeugen Sie eine neue Liste, die zu jedem Wort die Häufigkeit im Text in der Form Wort->Häufigkeit also z.B. `die->32` angibt. + +Testen Sie Ihre Implementierung mit der Testklasse `WordCountTest`. + + + \ No newline at end of file diff --git a/_011/readme.md b/_011/readme.md new file mode 100644 index 0000000..415810d --- /dev/null +++ b/_011/readme.md @@ -0,0 +1,41 @@ +# Wörterbuchprogramm +## Lernziel + + + +Interface `Map` und seine Implementierungen einsetzen. + +## Aufgabe + +Gehen Sie in das Paket [pr2.collections.woerterbuch](../sources/src/main/java/pr2/collections/woerterbuch/). + +Schreiben Sie ein einfaches Wörterbuchprogramm, dem man auf der Kommandozeile eine beliebige Anzahl von Wörtern übergeben kann und das dann die entsprechende Übersetzung ausgibt. Die Wörter des Wörterbuchs sollen fest im Programm einprogrammiert sein. Es reicht, wenn Sie einige wenige Wörter vorsehen. + +Berücksichtigen Sie bitte den Fall, dass der Benutzer kein Wort auf der Kommandozeile angibt bzw. dass ein Wort nicht im Wörterbuch vorhanden ist. + +```console +> java Woerterbuch +Bitte mindestens ein Wort angeben! +``` + +```console +>java Woerterbuch gehen schlafen tanzen hopsen +gehen => go +schlafen => sleep +tanzen => dance +hopsen => +``` + + + \ No newline at end of file diff --git a/_012/data.dat b/_012/data.dat new file mode 100644 index 0000000000000000000000000000000000000000..33a685580299d03e84b67d2d69ae52fb5eb2fdee GIT binary patch literal 100 zcmY%PD$pn})^bocv2u~ENm679P%NyAPO>YH=F(tD^Y=+gH@1%k<%6&5tw< zm&g~$3gt<(kSNJ5X3dhR43Tp!$qi2ybxTfkl4Oe3R+CJ&Hq)&v@vKr-&*s)EFjoNp D9Jd-0 literal 0 HcmV?d00001 diff --git a/_012/readme.md b/_012/readme.md new file mode 100644 index 0000000..a02cae2 --- /dev/null +++ b/_012/readme.md @@ -0,0 +1,32 @@ +# `RandomAccessFile` +## Lernziel + + + +`RandomAccessFile` sowohl zum Lesen, als auch zum Schreiben von Daten einsetzen. Verstehen, dass man sich wahlfrei durch die Datei bewegen kann. + +## Aufgabe + +Gehen Sie in das Paket [pr2.io.random_access](../sources/src/main/java/pr2/io/random_access/). + +Bei dieser Aufgabe werden Sie ein Verfahren anwenden, das bei sehr großen Datenmengen zum Einsatz kommt: das Sortieren der Daten direkt auf der Festplatte, ohne sie vollständig in den Hauptspeicher zu laden. + +Implementieren Sie einen [Bubblesort](https://de.wikipedia.org/wiki/Bubblesort) mithilfe von `RandomAccessFile` direkt auf einer Datei. Bubblesort ist ein ausgesprochen ineffizienter Algorithmus (O(n*n)), er ist aber sehr einfach zu implementieren. Da die zu sortierende Datei klein ist, können wir hier mit den Nachteilen von Bubblesort leben. + +Implementieren Sie die bereits vorhandene Methode `sortFile` der Klasse `FileSort`. Öffnen Sie zuerst die Datei mithilfe von `RandomAccessFile` im Modus `"rw"`. Wandern Sie nun - entsprechend dem Bubblesort-Algorithmus - über die Daten und sortieren Sie die Bytes der Datei. Halten Sie nie mehr als zwei `byte` und die Position als `long` im Speicher. Weitere Variablen können auch noch nötig sein, um den Algorithmus zu implementieren. + +Testen Sie Ihre Implementierung mit den JUnit-Tests. Die Testdatei für den Unit-Test ist [data.dat](../sources/src/main/resources/pr2/io/random_access/data.dat) + + + \ No newline at end of file diff --git a/_013/kafka.txt b/_013/kafka.txt new file mode 100644 index 0000000..b5695c5 --- /dev/null +++ b/_013/kafka.txt @@ -0,0 +1,11 @@ +Verhaftung - Gespräch mit Frau Grubach - Dann Fräulein Bürstner + +Jemand mußte Josef K. verleumdet haben, denn ohne daß er etwas Böses getan hätte, wurde er eines Morgens verhaftet. Die Köchin der Frau Grubach, seiner Zimmervermieterin, die ihm jeden Tag gegen acht Uhr früh das Frühstück brachte, kam diesmal nicht. Das war noch niemals geschehen. K. wartete noch ein Weilchen, sah von seinem Kopfkissen aus die alte Frau, die ihm gegenüber wohnte und die ihn mit einer an ihr ganz ungewöhnlichen Neugierde beobachtete, dann aber, gleichzeitig befremdet und hungrig, läutete er. Sofort klopfte es und ein Mann, den er in dieser Wohnung noch niemals gesehen hatte, trat ein. Er war schlank und doch fest gebaut, er trug ein anliegendes schwarzes Kleid, das, ähnlich den Reiseanzügen, mit verschiedenen Falten, Taschen, Schnallen, Knöpfen und einem Gürtel versehen war und infolgedessen, ohne daß man sich darüber klar wurde, wozu es dienen sollte, besonders praktisch erschien. "Wer sind Sie?" fragte K. und saß gleich halb aufrecht im Bett. Der Mann aber ging über die Frage hinweg, als müsse man seine Erscheinung hinnehmen, und sagte bloß seinerseits: "Sie haben geläutet?" "Anna soll mir das Frühstück bringen", sagte K. und versuchte, zunächst stillschweigend, durch Aufmerksamkeit und Überlegung festzustellen, wer der Mann eigentlich war. Aber dieser setzte sich nicht allzulange seinen Blicken aus, sondern wandte sich zur Tür, die er ein wenig öffnete, um jemandem, der offenbar knapp hinter der Tür stand, zu sagen: "Er will, daß Anna ihm das Frühstück bringt." Ein kleines Gelächter im Nebenzimmer folgte, es war nach dem Klang nicht sicher, ob nicht mehrere Personen daran beteiligt waren. Obwohl der fremde Mann dadurch nichts erfahren haben konnte, was er nicht schon früher gewußt hätte, sagte er nun doch zu K. im Tone einer Meldung: "Es ist unmöglich." "Das wäre neu", sagte K., sprang aus dem Bett und zog rasch seine Hosen an. "Ich will doch sehen, was für Leute im Nebenzimmer sind und wie Frau Grubach diese Störung mir gegenüber verantworten wird." Es fiel ihm zwar gleich ein, daß er das nicht hätte laut sagen müssen und daß er dadurch gewissermaßen ein Beaufsichtigungsrecht des Fremden anerkannte, aber es schien ihm jetzt nicht wichtig. Immerhin faßte es der Fremde so auf, denn er sagte: "Wollen Sie nicht lieber hierbleiben?" "Ich will weder hierbleiben, noch von Ihnen angesprochen werden, solange Sie sich mir nicht vorstellen." "Es war gut gemeint", sagte der Fremde und öffnete nun freiwillig die Tür. Im Nebenzimmer, in das K. langsamer eintrat, als er wollte, sah es auf den ersten Blick fast genau so aus wie am Abend vorher. Es war das Wohnzimmer der Frau Grubach, vielleicht war in diesem mit Möbeln, Decken, Porzellan und Photographien überfüllten Zimmer heute ein wenig mehr Raum als sonst, man erkannte das nicht gleich, um so weniger, als die Hauptveränderung in der Anwesenheit eines Mannes bestand, der beim offenen Fenster mit einem Buch saß, von dem er jetzt aufblickte. "Sie hätten in Ihrem Zimmer bleiben sollen! Hat es Ihnen denn Franz nicht gesagt?" "Ja, was wollen Sie denn?" sagte K. und sah von der neuen Bekanntschaft zu dem mit Franz Benannten, der in der Tür stehengeblieben war, und dann wieder zurück. Durch das offene Fenster erblickte man wieder die alte Frau, die mit wahrhaft greisenhafter Neugierde zu dem jetzt gegenüberliegenden Fenster getreten war, um auch weiterhin alles zu sehen. "Ich will doch Frau Grubach -", sagte K., machte eine Bewegung, als reiße er sich von den zwei Männern los, die aber weit von ihm entfernt standen, und wollte weitergehen. "Nein", sagte der Mann beim Fenster, warf das Buch auf ein Tischchen und stand auf. "Sie dürfen nicht weggehen, Sie sind ja verhaftet." "Es sieht so aus", sagte K. "Und warum denn?" fragte er dann. "Wir sind nicht dazu bestellt, Ihnen das zu sagen. Gehen Sie in Ihr Zimmer und warten Sie. Das Verfahren ist nun einmal eingeleitet, und Sie werden alles zur richtigen Zeit erfahren. Ich gehe über meinen Auftrag hinaus, wenn ich Ihnen so freundschaftlich zurede. Aber ich hoffe, es hört es niemand sonst als Franz, und der ist selbst gegen alle Vorschrift freundlich zu Ihnen. Wenn Sie auch weiterhin so viel Glück haben wie bei der Bestimmung Ihrer Wächter, dann können Sie zuversichtlich sein." K. wollte sich setzen, aber nun sah er, daß im ganzen Zimmer keine Sitzgelegenheit war, außer dem Sessel beim Fenster. "Sie werden noch einsehen, wie wahr das alles ist", sagte Franz und ging gleichzeitig mit dem andern Mann auf ihn zu. Besonders der letztere überragte K. bedeutend und klopfte ihm öfters auf die Schulter. Beide prüften K.s Nachthemd und sagten, daß er jetzt ein viel schlechteres Hemd werde anziehen müssen, daß sie aber dieses Hemd wie auch seine übrige Wäsche aufbewahren und, wenn seine Sache günstig ausfallen sollte, ihm wieder zurückgeben würden. "Es ist besser, Sie geben die Sachen uns als ins Depot", sagten sie, "denn im Depot kommen öfters Unterschleife vor und außerdem verkauft man dort alle Sachen nach einer gewissen Zeit, ohne Rücksicht, ob das betreffende Verfahren zu Ende ist oder nicht. Und wie lange dauern doch derartige Prozesse, besonders in letzter Zeit! Sie bekämen dann schließlich allerdings vom Depot den Erlös, aber dieser Erlös ist erstens an sich schon gering, denn beim Verkauf entscheidet nicht die Höhe des Angebotes, sondern die Höhe der Bestechung, und weiter verringern sich solche Erlöse erfahrungsgemäß, wenn sie von Hand zu Hand und von Jahr zu Jahr weitergegeben werden." K. achtete auf diese Reden kaum, das Verfügungsrecht über seine Sachen, das er vielleicht noch besaß, schätzte er nicht hoch ein, viel wichtiger war es ihm, Klarheit über seine Lage zu bekommen; in Gegenwart dieser Leute konnte er aber nicht einmal nachdenken, immer wieder stieß der Bauch des zweiten Wächters - es konnten ja nur Wächter sein - förmlich freundschaftlich an ihn, sah er aber auf, dann erblickte er ein zu diesem dicken Körper gar nicht passendes trockenes, knochiges Gesicht mit starker, seitlich gedrehter Nase, das sich über ihn hinweg mit dem anderen Wächter verständigte. Was waren denn das für Menschen? Wovon sprachen sie? Welcher Behörde gehörten sie an? K. lebte doch in einem Rechtsstaat, überall herrschte Friede, alle Gesetze bestanden aufrecht, wer wagte, ihn in seiner Wohnung zu überfallen? Er neigte stets dazu, alles möglichst leicht zu nehmen, das Schlimmste erst beim Eintritt des Schlimmsten zu glauben, keine Vorsorge für die Zukunft zu treffen, selbst wenn alles drohte. Hier schien ihm das aber nicht richtig, man konnte zwar das Ganze als Spaß ansehen, als einen groben Spaß, den ihm aus unbekannten Gründen, vielleicht weil heute sein dreißigster Geburtstag war, die Kollegen in der Bank veranstaltet hatten, es war natürlich möglich, vielleicht brauchte er nur auf irgendeine Weise den Wächtern ins Gesicht zu lachen, und sie würden mitlachen, vielleicht waren es Dienstmänner von der Straßenecke, sie sahen ihnen nicht unähnlich - trotzdem war er diesmal, förmlich schon seit dem ersten Anblick des Wächters Franz, entschlossen, nicht den geringsten Vorteil, den er vielleicht gegenüber diesen Leuten besaß, aus der Hand zu geben. Darin, daß man später sagen würde, er habe keinen Spaß verstanden, sah K. eine ganz geringe Gefahr, wohl aber erinnerte er sich - ohne daß es sonst seine Gewohnheit gewesen wäre, aus Erfahrungen zu lernen - an einige, an sich unbedeutende Fälle, in denen er zum Unterschied von seinen Freunden mit Bewußtsein, ohne das geringste Gefühl für die möglichen Folgen, sich unvorsichtig benommen hatte und dafür durch das Ergebnis gestraft worden war. Es sollte nicht wieder geschehen, zumindest nicht diesmal; war es eine Komödie, so wollte er mitspielen. + +Noch war er frei. "Erlauben Sie", sagte er und ging eilig zwischen den Wächtern durch in sein Zimmer. "Er scheint vernünftig zu sein", hörte er hinter sich sagen. In seinem Zimmer riß er gleich die Schubladen des Schreibtischs auf, es lag dort alles in großer Ordnung, aber gerade die Legitimationspapiere, die er suchte, konnte er in der Aufregung nicht gleich finden. Schließlich fand er seine Radfahrlegitimation und wollte schon mit ihr zu den Wächtern gehen, dann aber schien ihm das Papier zu geringfügig und er suchte weiter, bis er den Geburtsschein fand. Als er wieder in das Nebenzimmer zurückkam, öffnete sich gerade die gegenüberliegende Tür und Frau Grubach wollte dort eintreten. Man sah sie nur einen Augenblick, denn kaum hatte sie K. erkannt, als sie offenbar verlegen wurde, um Verzeihung bat, verschwand und äußerst vorsichtig die Tür schloß. "Kommen Sie doch herein", hatte K. gerade noch sagen können. Nun aber stand er mit seinen Papieren in der Mitte des Zimmers, sah noch auf die Tür hin, die sich nicht wieder öffnete, und wurde erst durch einen Anruf der Wächter aufgeschreckt, die bei dem Tischchen am offenen Fenster saßen und, wie K. jetzt erkannte, sein Frühstück verzehrten. "Warum ist sie nicht eingetreten?" fragte er. "Sie darf nicht", sagte der große Wächter. "Sie sind doch verhaftet." "Wie kann ich denn verhaftet sein? Und gar auf diese Weise?" "Nun fangen Sie also wieder an", sagte der Wächter und tauchte ein Butterbrot ins Honigfäßchen. "Solche Fragen beantworten wir nicht." "Sie werden sie beantworten müssen", sagte K. "Hier sind meine Legitimationspapiere, zeigen Sie mir jetzt die Ihrigen und vor allem den Verhaftbefehl." "Du lieber Himmel!" sagte der Wächter. "Daß Sie sich in Ihre Lage nicht fügen können und daß Sie es darauf angelegt zu haben scheinen, uns, die wir Ihnen jetzt wahrscheinlich von allen Ihren Mitmenschen am nächsten stehen, nutzlos zu reizen!" "Es ist so, glauben Sie es doch", sagte Franz, führte die Kaffeetasse, die er in der Hand hielt, nicht zum Mund, sondern sah K. mit einem langen, wahrscheinlich bedeutungsvollen, aber unverständlichen Blick an. K. ließ sich, ohne es zu wollen, in ein Zwiegespräch der Blicke mit Franz ein, schlug dann aber doch auf seine Papiere und sagte: "Hier sind meine Legitimationspapiere." "Was kümmern uns denn die?" rief nun schon der große Wächter. "Sie führen sich ärger auf als ein Kind. Was wollen Sie denn? Wollen Sie Ihren großen, verfluchten Prozeß dadurch zu einem raschen Ende bringen, daß Sie mit uns, den Wächtern, über Legitimation und Verhaftbefehl diskutieren? Wir sind niedrige Angestellte, die sich in einem Legitimationspapier kaum auskennen und die mit Ihrer Sache nichts anderes zu tun haben, als daß sie zehn Stunden täglich bei Ihnen Wache halten und dafür bezahlt werden. Das ist alles, was wir sind, trotzdem aber sind wir fähig, einzusehen, daß die hohen Behörden, in deren Dienst wir stehen, ehe sie eine solche Verhaftung verfügen, sich sehr genau über die Gründe der Verhaftung und die Person des Verhafteten unterrichten. Es gibt darin keinen Irrtum. Unsere Behörde, soweit ich sie kenne, und ich kenne nur die niedrigsten Grade, sucht doch nicht etwa die Schuld in der Bevölkerung, sondern wird, wie es im Gesetz heißt, von der Schuld angezogen und muß uns Wächter ausschicken. Das ist Gesetz. Wo gäbe es da einen Irrtum?" "Dieses Gesetz kenne ich nicht", sagte K. "Desto schlimmer für Sie", sagte der Wächter. "Es besteht wohl auch nur in Ihren Köpfen", sagte K., er wollte sich irgendwie in die Gedanken der Wächter einschleichen, sie zu seinen Gunsten wenden oder sich dort einbürgern. Aber der Wächter sagte nur abweisend: "Sie werden es zu fühlen bekommen." Franz mischte sich ein und sagte: "Sieh, Willem, er gibt zu, er kenne das Gesetz nicht, und behauptet gleichzeitig, schuldlos zu sein." "Du hast ganz recht, aber ihm kann man nichts begreiflich machen", sagte der andere. K. antwortete nichts mehr; muß ich, dachte er, durch das Geschwätz dieser niedrigsten Organe - sie geben selbst zu, es zu sein - mich noch mehr verwirren lassen? Sie reden doch jedenfalls von Dingen, die sie gar nicht verstehen. Ihre Sicherheit ist nur durch ihre Dummheit möglich. Ein paar Worte, die ich mit einem mir ebenbürtigen Menschen sprechen werde, werden alles unvergleichlich klarer machen als die längsten Reden mit diesen. Er ging einige Male in dem freien Raum des Zimmers auf und ab, drüben sah er die alte Frau, die einen noch viel älteren Greis zum Fenster gezerrt hatte, den sie umschlungen hielt. K. mußte dieser Schaustellung ein Ende machen: "Führen Sie mich zu Ihrem Vorgesetzten", sagte er. "Wenn er es wünscht; nicht früher", sagte der Wächter, der Willem genannt worden war. "Und nun rate ich Ihnen", fügte er hinzu, "in Ihr Zimmer zu gehen, sich ruhig zu verhalten und darauf zu warten, was über Sie verfügt werden wird. Wir raten Ihnen, zerstreuen Sie sich nicht durch nutzlose Gedanken, sondern sammeln Sie sich, es werden große Anforderungen an Sie gestellt werden. Sie haben uns nicht so behandelt, wie es unser Entgegenkommen verdient hätte, Sie haben vergessen, daß wir, mögen wir auch sein was immer, zumindest jetzt Ihnen gegenüber freie Männer sind, das ist kein kleines Übergewicht. Trotzdem sind wir bereit, falls Sie Geld haben, Ihnen ein kleines Frühstück aus dem Kaffeehaus drüben zu bringen." + +Ohne auf dieses Angebot zu antworten, stand K. ein Weilchen lang still. Vielleicht würden ihn die beiden, wenn er die Tür des folgenden Zimmers oder gar die Tür des Vorzimmers öffnete, gar nicht zu hindern wagen, vielleicht wäre es die einfachste Lösung des Ganzen, daß er es auf die Spitze trieb. Aber vielleicht würden sie ihn doch packen und, war er einmal niedergeworfen, so war auch alle Überlegenheit verloren, die er jetzt ihnen gegenüber in gewisser Hinsicht doch wahrte. Deshalb zog er die Sicherheit der Lösung vor, wie sie der natürliche Verlauf bringen mußte, und ging in sein Zimmer zurück, ohne daß von seiner Seite oder von Seite der Wächter ein weiteres Wort gefallen wäre. + +Er warf sich auf sein Bett und nahm vom Waschtisch einen schönen Apfel, den er sich gestern abend für das Frühstück vorbereitet hatte. Jetzt war er sein einziges Frühstück und jedenfalls, wie er sich beim ersten großen Bissen versicherte, viel besser, als das Frühstück aus dem schmutzigen Nachtcafé gewesen wäre, das er durch die Gnade der Wächter hätte bekommen können. Er fühlte sich wohl und zuversichtlich, in der Bank versäumte er zwar heute vormittag seinen Dienst, aber das war bei der verhältnismäßig hohen Stellung, die er dort einnahm, leicht entschuldigt. Sollte er die wirkliche Entschuldigung anführen? Er gedachte es zu tun, Würde man ihm nicht glauben, was in diesem Fall begreiflich war, so konnte er Frau Grubach als Zeugin führen oder auch die beiden Alten von drüben, die wohl jetzt auf dem Marsch zum gegenüberliegenden Fenster waren. Es wunderte K., wenigstens aus dem Gedankengang der Wächter wunderte es ihn, daß sie ihn in das Zimmer getrieben und ihn hier allein gelassen hatten, wo er doch zehnfache Möglichkeit hatte, sich umzubringen. Gleichzeitig allerdings fragte er sich, diesmal aus seinem Gedankengang, was für einen Grund er haben könnte, es zu tun. Etwa weil die zwei nebenan saßen und sein Frühstück abgefangen hatten? Es wäre so sinnlos gewesen, sich umzubringen, daß er, selbst wenn er es hätte tun wollen, infolge der Sinnlosigkeit dazu nicht imstande gewesen wäre. Wäre die geistige Beschränktheit der Wächter nicht so auffallend gewesen, so hätte man annehmen können, daß auch sie, infolge der gleichen Überzeugung, keine Gefahr darin gesehen hätten, ihn allein zu lassen. Sie mochten jetzt, wenn sie wollten, zusehen, wie er zu einem Wandschränkchen ging, in dem er einen guten Schnaps aufbewahrte, wie er ein Gläschen zuerst zum Ersatz des Frühstücks leerte und wie er ein zweites Gläschen dazu bestimmte, sich Mut zu machen, das letztere nur aus Vorsicht für den unwahrscheinlichen Fall, daß es nötig sein sollte. + + diff --git a/_013/readme.md b/_013/readme.md new file mode 100644 index 0000000..457c146 --- /dev/null +++ b/_013/readme.md @@ -0,0 +1,26 @@ +# `Reader` verwenden +## Lernziel + + + +Textdaten mithilfe von `Reader` verarbeiten. + +## Aufgabe + +Gehen Sie in das Paket [pr2.io.reader_writer](../sources/src/main/java/pr2/io/reader_writer/). + +Lesen Sie die Datei [kafka.txt](../sources/src/main/resources/pr2/io/reader_writer/kafka.txt) mit einem passenden `Reader` ein und geben Sie sie auf der Konsole aus. Verwenden Sie nicht die `read()`-Methode, die einzelne Zeichen verarbeitet, sondern arbeiten Sie mit einem `char[]`-Buffer. + + + \ No newline at end of file diff --git a/_014/readme.md b/_014/readme.md new file mode 100644 index 0000000..4b37ead --- /dev/null +++ b/_014/readme.md @@ -0,0 +1,36 @@ +# Rot13-Verschlüsselung +## Lernziel + + + +Funktionsweise und Einsatz von Filtern. + +## Aufgabe + +Gehen Sie in das Paket [pr2.io.rot13](../sources/src/main/java/pr2/io/rot13/). + +Schreiben Sie eine Klasse `Rot13Reader`, die als Filter-Reader implementiert ist und jedes eingelesene Zeichen durch ein Zeichen ersetzt, dessen numerischer Wert um 13 höher ist (d.h. um 13 Schritte im Alphabet verschoben ist). + +Schreiben Sie eine Klasse `Rot13`, die einen Dateinamen von der Kommandozeile nimmt und diese Text-Datei mithilfe von `Rot13Reader` liest und auf der Konsole ausgibt. + +```console +> cat /tmp/test +DIES IST EIN TEXT, DER GLEICH ROT13 VERSCHLUESSELT WIRD. + +> java Rot13 /tmp/test +QVR`-V`a-RV[-aRea9-QR_-TYRVPU-_\a>@-cR_`PUYbR``RYa-dV_Q; +``` + + + \ No newline at end of file diff --git a/_015/readme.md b/_015/readme.md new file mode 100644 index 0000000..c21c74a --- /dev/null +++ b/_015/readme.md @@ -0,0 +1,39 @@ +# Datei zerhacken +## Lernziel + + + +Daten byteweise aus einem Stream lesen. + +## Aufgabe + +Gehen Sie in das Paket [pr2.io.scrambler](../sources/src/main/java/pr2/io/scrambler/). + +Schreiben Sie eine Klasse `Scrambler`, die einen Dateinamen von der Kommandozeile entgegennimmt, die Datei einliest und dann wieder auf der Konsole ausgibt. Allerdings soll bei der Ausgabe nur jedes zweite Byte berücksichtigt werden. + +```console +> java Scrambler ../src/Scrambler.java +motjv.oFlIpttem +motjv.oFlNtonEcpin +motjv.oIEcpin +pbi ls cabe + pbi ttcvi anSrn[ rs hosIEcpin{ i ag.egh! ){ Sse.r.rnl( + Bteen ae nee"; Sse.xt1; } + ienuSra i; + r + i e ienuSra(rs0) +``` + + + \ No newline at end of file diff --git a/_016/readme.md b/_016/readme.md new file mode 100644 index 0000000..3c38348 --- /dev/null +++ b/_016/readme.md @@ -0,0 +1,34 @@ +# Serialisierung +## Lernziel + + + +Serialisierung einsetzen können, um Objekte zu persistieren und wieder zu laden. + +## Aufgabe + +Gehen Sie in das Paket [pr2.io.serialisierung](../sources/src/main/java/pr2/io/serialisierung/). + +In dieser Aufgabe finden Sie bereits eine fertig implementierte Klasse `Board` vor, die ein Schachbrett repräsentiert. Allerdings wird dieses nicht für Schach benutzt, sondern für ein Spiel, bei dem man nur schwarze und weiße Steine auf das Brett stellen kann (z.B. Dame). Die Farbe der Steine wird durch die Enumeration `Color` dargestellt. + +Was bei dem Schachbrett allerdings noch fehlt, ist eine Möglichkeit den Spielstand zu speichern und später wieder einzulesen. + +Schauen Sie sich die Klassen `Board` und `Color` genau an und versuchen Sie diese zu verstehen. Sie können auch testweise ein Brett anlegen und mit Daten befüllen. (Wie dies geht, sehen Sie im JUnit-Test). Die `toString()`-Methode liefert eine anschauliche Darstellung des Spielfeldes. + +Implementieren Sie nun die Methoden `writeToFile` und `loadFromFile` unter Zuhilfenahme von Serialisierung. D.h. anders als in der Aufgabe zu `DataOutputStream`, sollen Sie hier kein eigenes Datenformat implementieren. Verwenden Sie stattdessen einen `ObjectOutputStream` bzw. `ObjectInputStream`. + +Lassen Sie den JUnit-Test laufen, um zu sehen, ob die Daten korrekt verarbeitet werden. Die Test-Datei für den Unit-Test ist [testdata.dat](../sources/src/main/resources/pr2/io/serialisierung/testdata.dat) + + + \ No newline at end of file diff --git a/_016/testdata.dat b/_016/testdata.dat new file mode 100644 index 0000000000000000000000000000000000000000..34b842b77598dd72c757803d410c2729263b1cda GIT binary patch literal 443 zcmZ4UmVvdnh(W5PAXP6jU#~c|C^Io9vnsJ9Ge1wyDL=6&h2`3m3u~C52Bdq3_23$uSE{B6{0GbH~LO=_O82GXh%M$f+67$maT=PnEktGXC z7+9Tr9G$)E3K{Ac*nzxo56=+S0uTU+aF&8dR-hIRuozg78;cA`h#RN`T|I^fR3Sli NC}x2z1UUf80046Cg8u*j literal 0 HcmV?d00001 diff --git a/help/softwareausstattung.md b/help/softwareausstattung.md new file mode 100644 index 0000000..6f299d3 --- /dev/null +++ b/help/softwareausstattung.md @@ -0,0 +1,9 @@ +## Softwareausstattung + + * **Ubuntu Linux** als Installation oder VM + * **Java JDK 18**
`sudo apt install openjdk-18-jdk openjdk-18-source openjdk-18-doc` + * **Git** und Git-Frontends
`sudo apt install git meld git-cola` + * **Maven 3.6 oder neuer**
`sudo apt install maven` + * **Eclipse**
Von der [Webseite](https://www.eclipse.org/downloads/) herunterladen und installieren. Bitte verwenden Sie die Version **Eclipse IDE for Java Developers** + +Eine Anleitung zur Installation von Ubuntu Linux finden Sie [hier](https://github.com/informatik-mannheim/linux-hsma/blob/master/doc/readme.md). Diese Anleitung bezieht sich auf Ubuntu 21.04, funktioniert so aber auch mit einer neueren Version. diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..79b2033 --- /dev/null +++ b/readme.md @@ -0,0 +1,123 @@ +# Programmieren 2 (Wintersemester 2024/2025) + +## 👋 Willkommen zum Kurs Programmieren 2 + +In Programmieren 2 lernen Sie die Programmierung in Java auf einem fortgeschrittenen Niveau. Sie werden alle wichtigen Konzepte von Java kennenlernen und diese in praktischen Übungen anwenden. Hierbei werden Sie in kleinen Teams arbeiten und komplexere, objektorientierte Programme in Java entwickeln. Die dazu nötigen objektorientierten Konzepte (Polymorphie, Vererbung, Interfaces, etc.) werden Sie ebenso im Kurs anwenden, wie die dazu grundlegenden Algorithmen und Datenstrukturen. + +## 🎓 Freiwillige Übungen + +Hier finden Sie die **freiwilligen Übungen** zur Vorlesung Programmieren 2 (PR2). Die Übungen sind unten aufgelistet. Die Spalte **Ausgabe** hat keine Bedeutung. + +Hinweise zur nötigen Softwareausstattung finden Sie [hier](help/softwareausstattung.md). + +| # | Kapitel | Thema | +|-----|-----------------------|-----------------------------------------------------------------------------------| +| 1. | Auffrischung | [String in Großbuchstaben umwandeln](_001/readme.md) | +| 2. | Auffrischung | [Labeled Break](_002/readme.md) | +| 3. | Auffrischung | [Passwortbewertung](_003/readme.md) | +| 4. | Auffrischung | [printf mit Formatstring](_004/readme.md) | +| 5. | Auffrischung | [Maximum in einem Array suchen](_005/readme.md) | +| 6. | Auffrischung | [Taschenrechner](_006/readme.md) | +| 7. | Einführung | [Java-Coding-Standard anwenden](_001/readme.md) | +| 8. | Einführung | [JavaDoc schreiben](_002/readme.md) | +| 9. | Einführung | [Klasse mit JUnit testen](_003/readme.md) | +| 10. | Strukturierung | [Information-Hiding einer Klasse verbessern](_001/readme.md) | +| 11. | Strukturierung | [Vorhandene Bibliotheken als JAR einbinden](_002/readme.md) | +| 12. | Vererbung | [Final anwenden](_001/readme.md) | +| 13. | Vererbung | [Figur und Rechteck](_002/readme.md) | +| 14. | Vererbung | [Figur erweitern](_003/readme.md) | +| 15. | Vererbung | [Figur noch einmal erweitern](_004/readme.md) | +| 16. | Vererbung | [Konstruktoren schreiben](_005/readme.md) | +| 17. | Vererbung | [Polymorphie einsetzen](_006/readme.md) | +| 18. | Vererbung | [Singleton](_007/readme.md) | +| 19. | Vererbung | [Statische Methoden und Attribute](_008/readme.md) | +| 20. | Vererbung | [Methode überladen](_009/readme.md) | +| 21. | Vererbung | [Methoden überschreiben](_010/readme.md) | +| 22. | Vererbung | [Varag-Methode schreiben](_011/readme.md) | +| 23. | Vererbung | [Vererbung von Figuren](_012/readme.md) | +| 24. | Abstrakte Klassen | [Abstrakte Klassen](_001/readme.md) | +| 25. | Abstrakte Klassen | [Abstrakte Klasse](_002/readme.md) | +| 26. | Interfaces | [Comparable implementieren](_001/readme.md) | +| 27. | Interfaces | [Interface Stack entwerfen](_002/readme.md) | +| 28. | Interfaces | [Interface: Uebersetzer](_003/readme.md) | +| 29. | Interfaces | [Interfaces anwenden und entwerfen](_004/readme.md) | +| 30. | Object und Wrapper | [Deep-Copy mit `clone()`](_001/readme.md) | +| 31. | Object und Wrapper | [Clone](_002/readme.md) | +| 32. | Object und Wrapper | [`equals()` und `hashCode()` implementieren und nutzen](_003/readme.md) | +| 33. | Object und Wrapper | [equals und hashCode](_004/readme.md) | +| 34. | Object und Wrapper | [`toString()`-Methode implementieren](_005/readme.md) | +| 35. | Object und Wrapper | [Optimierung bei Integer](_006/readme.md) | +| 36. | Object und Wrapper | [Methoden der Wrapper-Klassen](_007/readme.md) | +| 37. | Enumerationen | [Eigene Enumeration schreiben und verwenden](_001/readme.md) | +| 38. | Enumerationen | [Enumeration schreiben](_002/readme.md) | +| 39. | Enumerationen | [Singleton-Eigenschaft von Enumerationen](_003/readme.md) | +| 40. | Enumerationen | [Stein, Papier, Schere, Echse, Spock](_004/readme.md) | +| 41. | Ausnahmen | [Ausnahmen testen](_001/readme.md) | +| 42. | Ausnahmen | [Eigene Ausnahmen schreiben und an entsprechender Stelle werfen](_002/readme.md) | +| 43. | Ausnahmen | [Eigene Exception schreiben](_003/readme.md) | +| 44. | Ausnahmen | [Handle-or-Declare-Regel anwenden](_004/readme.md) | +| 45. | Ausnahmen | [Ausnahmen mit `try` und `catch` behandeln.](_005/readme.md) | +| 46. | Input und Output | [`BufferedReader` zum zeilenweisen Lesen einsetzen](_001/readme.md) | +| 47. | Input und Output | [DataOutputStream](_002/readme.md) | +| 48. | Input und Output | [DataOutputStream durch Serialisierung ersetzen](_003/readme.md) | +| 49. | Input und Output | [Daten mit `DataOutputStream` und `DataInputStream` verarbeiten](_004/readme.md) | +| 50. | Input und Output | [Daten mit einem `InputStream` lesen](_005/readme.md) | +| 51. | Input und Output | [Daten mit einem `OutputStream` schreiben](_006/readme.md) | +| 52. | Input und Output | [Filesystem-Abstraktion mit `File`](_007/readme.md) | +| 53. | Input und Output | [Fileattribute lesen](_008/readme.md) | +| 54. | Input und Output | [`FilterReader`](_009/readme.md) | +| 55. | Input und Output | [Konsolen Input/Output](_010/readme.md) | +| 56. | Input und Output | [Zeilen einer Textdatei zählen](_011/readme.md) | +| 57. | Input und Output | [`RandomAccessFile`](_012/readme.md) | +| 58. | Input und Output | [`Reader` verwenden](_013/readme.md) | +| 59. | Input und Output | [Rot13-Verschlüsselung](_014/readme.md) | +| 60. | Input und Output | [Datei zerhacken](_015/readme.md) | +| 61. | Input und Output | [Serialisierung](_016/readme.md) | +| 62. | Generische Typen | [Einen generischen Typ schreiben](_001/readme.md) | +| 63. | Generische Typen | [Generische Klasse Pair schreiben](_002/readme.md) | +| 64. | Generische Typen | [Generische Klasse Pair erweitern: NumberPair](_003/readme.md) | +| 65. | Generische Typen | [Generische Klasse Pair erweitern: SamePair](_004/readme.md) | +| 66. | Generische Typen | [PairList](_005/readme.md) | +| 67. | Generische Typen | [Wildcard benutzen](_006/readme.md) | +| 68. | Generische Typen | [Generische Queue](_007/readme.md) | +| 69. | Generische Typen | [`super` und `extends` einsetzen](_008/readme.md) | +| 70. | Generische Typen | [Generische Typen zusammen mit Wildcards einsetzen](_009/readme.md) | +| 71. | Geschachtelte Klassen | [Eigene compare-Methode schreiben](_001/readme.md) | +| 72. | Geschachtelte Klassen | [Innere Klasse Beobachter](_002/readme.md) | +| 73. | Geschachtelte Klassen | [Callback mit anonymer Klasse realisieren](_003/readme.md) | +| 74. | Lambdas | [Comparator als Lambda](_001/readme.md) | +| 75. | Lambdas | [Callback mit Lambda realisieren](_002/readme.md) | +| 76. | Geschachtelte Klassen | [MatrixSuche](_001/readme.md) | +| 77. | Lambdas | [StringTransmogrifier](_001/readme.md) | +| 78. | Lambdas | [StringTransmogrifier erweitern](_002/readme.md) | +| 79. | Collections | [Iterator schreiben](_001/readme.md) | +| 80. | Collections | [Iterator programmieren](_002/readme.md) | +| 81. | Collections | [`List` und dessen Implementierungen](_003/readme.md) | +| 82. | Collections | [`Map` verwenden](_004/readme.md) | +| 83. | Collections | [ReverserGeneric](_005/readme.md) | +| 84. | Collections | [Strings umgekehrt sortieren: Reverser](_006/readme.md) | +| 85. | Collections | [`Set` und dessen Implementierungen](_007/readme.md) | +| 86. | Collections | [CommandLineSorter](_008/readme.md) | +| 87. | Collections | [CommandLineSorter -- Version 2](_009/readme.md) | +| 88. | Collections | [`Comparator` verwenden und Objekte sortieren](_010/readme.md) | +| 89. | Collections | [Wörterbuchprogramm](_011/readme.md) | +| 90. | Streams | [Kleinbuchstaben in einem String zählen](_001/readme.md) | +| 91. | Streams | [Buchstaben in einer Liste von Strings zählen](_002/readme.md) | +| 92. | Streams | [Kleinbuchstaben in einem String zählen](_003/readme.md) | +| 93. | Streams | [Liste filtern](_004/readme.md) | +| 94. | Streams | [Streams mit interner Iteration](_005/readme.md) | +| 95. | Streams | [Map und Filter auf Streams](_006/readme.md) | +| 96. | Streams | [Map und Reduce auf Streams](_007/readme.md) | +| 97. | Streams | [Reduce](_008/readme.md) | +| 98. | Streams | [Summe über reduce bestimmen](_009/readme.md) | +| 99. | Streams | [Wörter zählen](_010/readme.md) | +| 100. | Threads | [Fakultät parallel berechnen](_001/readme.md) | +| 101. | Threads | [Thread per interrupt beenden](_002/readme.md) | +| 102. | Threads | [wait und notify benutzen](_003/readme.md) | +| 103. | Threads | [Parallele Ausgaben erzeugen](_004/readme.md) | +| 104. | Threads | [Race-Condition finden und beheben](_005/readme.md) | +| 105. | Threads | [Stack und Heap unterscheiden](_006/readme.md) | +| 106. | Threads | [synchronized verwenden](_007/readme.md) | +| 107. | Threads | [Timer und TimerTask verwenden](_008/readme.md) | +| 108. | Reflection | [Klasse per Reflection analysieren](_001/readme.md) | +| 109. | Reflection | [Objekte per Reflection erzeugen](_002/readme.md) | diff --git a/solutions/checkstyle.xml b/solutions/checkstyle.xml new file mode 100644 index 0000000..2a9d4aa --- /dev/null +++ b/solutions/checkstyle.xml @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/solutions/pmd.xml b/solutions/pmd.xml new file mode 100644 index 0000000..97e1b5f --- /dev/null +++ b/solutions/pmd.xml @@ -0,0 +1,2253 @@ + + + + + +Rules which enforce generally accepted best practices. + + + + + + +Instantiation by way of private constructors from outside the constructor's class often causes the +generation of an accessor. A factory method, or non-privatization of the constructor can eliminate this +situation. The generated class file is actually an interface. It gives the accessing class the ability +to invoke a new hidden package scope constructor that takes the interface as a supplementary parameter. +This turns a private constructor effectively into one with package scope, and is challenging to discern. + +_Note:_ This rule is only executed for Java 10 or lower. +Since Java 11, [JEP 181: Nest-Based Access Control](https://openjdk.org/jeps/181) has been implemented. This +means that in Java 11 and above accessor classes are not generated anymore. + + 3 + + + + + + + + + + Declaring a MessageDigest instance as a field make this instance directly available to multiple threads. + Such sharing of MessageDigest instances should be avoided if possible since it leads to wrong results + if the access is not synchronized correctly. + Just create a new instance and use it locally, where you need it. + Creating a new instance is easier than synchronizing access to a shared instance. + + 3 + + + + + + + + + + + + + + + +Reassigning exception variables caught in a catch statement should be avoided because of: + +1) If it is needed, multi catch can be easily added and code will still compile. + +2) Following the principle of least surprise we want to make sure that a variable caught in a catch statement +is always the one thrown in a try block. + + 3 + + + + + +Reassigning loop variables can lead to hard-to-find bugs. Prevent or limit how these variables can be changed. + +In foreach-loops, configured by the `foreachReassign` property: +- `deny`: Report any reassignment of the loop variable in the loop body. _This is the default._ +- `allow`: Don't check the loop variable. +- `firstOnly`: Report any reassignments of the loop variable, except as the first statement in the loop body. + _This is useful if some kind of normalization or clean-up of the value before using is permitted, but any other change of the variable is not._ + +In for-loops, configured by the `forReassign` property: +- `deny`: Report any reassignment of the control variable in the loop body. _This is the default._ +- `allow`: Don't check the control variable. +- `skip`: Report any reassignments of the control variable, except conditional increments/decrements (`++`, `--`, `+=`, `-=`). + _This prevents accidental reassignments or unconditional increments of the control variable._ + + 3 + + + + + + + + + + + +Reassigning values to incoming parameters of a method or constructor is not recommended, as this can +make the code more difficult to understand. The code is often read with the assumption that parameter values +don't change and an assignment violates therefore the principle of least astonishment. This is especially a +problem if the parameter is documented e.g. in the method's javadoc and the new content differs from the original +documented content. + +Use temporary local variables instead. This allows you to assign a new name, which makes the code better +understandable. + +Note that this rule considers both methods and constructors. If there are multiple assignments for a formal +parameter, then only the first assignment is reported. + + 2 + + + + + + + +StringBuffers/StringBuilders can grow considerably, and so may become a source of memory leaks +if held within objects with long lifetimes. + + 3 + + + + + + + + + + + + + + + +Application with hard-coded IP addresses can become impossible to deploy in some cases. +Externalizing IP adresses is preferable. + + 3 + + + + + + + +Always check the return values of navigation methods (next, previous, first, last) of a ResultSet. +If the value return is 'false', it should be handled properly. + + 3 + + + + + + + +Avoid constants in interfaces. Interfaces should define types, constants are implementation details +better placed in classes or enums. See Effective Java, item 19. + + 3 + + + + + + + + + + + + + + + + +By convention, the default label should be the last label in a switch statement. + + 3 + + + + + + + + + + + + + + + + Double brace initialisation is a pattern to initialise eg collections concisely. But it implicitly + generates a new .class file, and the object holds a strong reference to the enclosing object. For those + reasons, it is preferable to initialize the object normally, even though it's verbose. + + This rule counts any anonymous class which only has a single initializer as an instance of double-brace + initialization. There is currently no way to find out whether a method called in the initializer is not + accessible from outside the anonymous class, and those legit cases should be suppressed for the time being. + + 3 + + + + + + + + + (){{ + add("a"); + add("b"); + add("c"); +}}; + +// the better way is to not create an anonymous class: +List a = new ArrayList<>(); +a.add("a"); +a.add("b"); +a.add("c"); +return a; +]]> + + + + + +Reports loops that can be safely replaced with the foreach syntax. The rule considers loops over +lists, arrays and iterators. A loop is safe to replace if it only uses the index variable to +access an element of the list or array, only has one update statement, and loops through *every* +element of the list or array left to right. + + 3 + + l) { + for (int i = 0; i < l.size(); i++) { // pre Java 1.5 + System.out.println(l.get(i)); + } + + for (String s : l) { // post Java 1.5 + System.out.println(s); + } + } +} +]]> + + + + + +Whenever using a log level, one should check if the loglevel is actually enabled, or +otherwise skip the associate String creation and manipulation. + +An alternative to checking the log level are substituting parameters, formatters or lazy logging +with lambdas. The available alternatives depend on the actual logging framework. + + 2 + + calculateExpensiveLoggingText()); +]]> + + + + + +In JUnit 3, test suites are indicated by the suite() method. In JUnit 4, suites are indicated +through the @RunWith(Suite.class) annotation. + + 3 + + + + + + + + + + + + + + + +In JUnit 3, the tearDown method was used to clean up all data entities required in running tests. +JUnit 4 skips the tearDown method and executes all methods annotated with @After after running each test. +JUnit 5 introduced @AfterEach and @AfterAll annotations to execute methods after each test or after all tests in the class, respectively. + + 3 + + + + + + + + + + + + + + + +In JUnit 3, the setUp method was used to set up all data entities required in running tests. +JUnit 4 skips the setUp method and executes all methods annotated with @Before before all tests. +JUnit 5 introduced @BeforeEach and @BeforeAll annotations to execute methods before each test or before all tests in the class, respectively. + + 3 + + + + + + + + + + + + + + + +In JUnit 3, the framework executed all methods which started with the word test as a unit test. +In JUnit 4, only methods annotated with the @Test annotation are executed. +In JUnit 5, one of the following annotations should be used for tests: @Test, @RepeatedTest, @TestFactory, @TestTemplate or @ParameterizedTest. + + 3 + + + + + + + + + + + + + + + + + + + + +In JUnit4, use the @Test(expected) annotation to denote tests that should throw exceptions. + + 3 + + + + + + + + Position literals first in all String comparisons, if the second argument is null then NullPointerExceptions + can be avoided, they will just return false. Note that switching literal positions for compareTo and + compareToIgnoreCase may change the result, see examples. + + 3 + + 0); // should be: "bar".compareTo(x) < 0 + } + boolean bar(String x) { + return (x.compareToIgnoreCase("bar") > 0); // should be: "bar".compareToIgnoreCase(x) < 0 + } + boolean bar(String x) { + return x.contentEquals("bar"); // should be "bar".contentEquals(x) + } +} +]]> + + + + + +The use of implementation types (i.e., HashSet) as object references limits your ability to use alternate +implementations in the future as requirements change. Whenever available, referencing objects +by their interface types (i.e, Set) provides much more flexibility. + + 3 + + list = new ArrayList<>(); + + public HashSet getFoo() { + return new HashSet(); + } + + // preferred approach + private List list = new ArrayList<>(); + + public Set getFoo() { + return new HashSet(); + } +} +]]> + + + + + +Exposing internal arrays to the caller violates object encapsulation since elements can be +removed or replaced outside of the object that owns it. It is safer to return a copy of the array. + + 3 + + + + + + + + + Annotating overridden methods with @Override ensures at compile time that + the method really overrides one, which helps refactoring and clarifies intent. + + 3 + + + + + + + +Java allows the use of several variables declaration of the same type on one line. However, it +can lead to quite messy code. This rule looks for several declarations on the same line. + + 4 + + + + + 1] + [$strictMode or count(distinct-values(VariableDeclarator/@BeginLine)) != count(VariableDeclarator)] +| +//FieldDeclaration + [count(VariableDeclarator) > 1] + [$strictMode or count(distinct-values(VariableDeclarator/@BeginLine)) != count(VariableDeclarator)] +]]> + + + + + + + + + + + + +Position literals first in comparisons, if the second argument is null then NullPointerExceptions +can be avoided, they will just return false. + +This rule is replaced by the more general rule {% rule "LiteralsFirstInComparisons" %}. + + 3 + + + + + + + +Position literals first in comparisons, if the second argument is null then NullPointerExceptions +can be avoided, they will just return false. + +This rule is replaced by the more general rule {% rule "LiteralsFirstInComparisons" %}. + + 3 + + + + + + + + Reports usages of primitive wrapper constructors. They are deprecated + since Java 9 and should not be used. Even before Java 9, they can + be replaced with usage of the corresponding static `valueOf` factory method + (which may be automatically inserted by the compiler since Java 1.5). + This has the advantage that it may reuse common instances instead of creating + a new instance each time. + + Note that for `Boolean`, the named constants `Boolean.TRUE` and `Boolean.FALSE` + are preferred instead of `Boolean.valueOf`. + + 3 + + + + + + + + +Consider replacing Enumeration usages with the newer java.util.Iterator + + 3 + + + + + + + + + + + + + + + +Consider replacing Hashtable usage with the newer java.util.Map if thread safety is not required. + + 3 + + + + //Type/ReferenceType/ClassOrInterfaceType[@Image='Hashtable'] + + + + + + + + + +Consider replacing Vector usages with the newer java.util.ArrayList if expensive thread-safe operations are not required. + + 3 + + + + //Type/ReferenceType/ClassOrInterfaceType[@Image='Vector'] + + + + + + + + + + + Switch statements should be exhaustive, to make their control flow + easier to follow. This can be achieved by adding a `default` case, or, + if the switch is on an enum type, by ensuring there is one switch branch + for each enum constant. + + 3 + + + + + + + + + + + + + + + Reports assignments to variables that are never used before the variable is overwritten, + or goes out of scope. Unused assignments are those for which + 1. The variable is never read after the assignment, or + 2. The assigned value is always overwritten by other assignments before the next read of + the variable. + + The rule doesn't consider assignments to fields except for those of `this` in a constructor, + or static fields of the current class in static initializers. + + The rule may be suppressed with the standard `@SuppressWarnings("unused")` tag. + + The rule subsumes {% rule "UnusedLocalVariable" %}, and {% rule "UnusedFormalParameter" %}. + Those violations are filtered + out by default, in case you already have enabled those rules, but may be enabled with the property + `reportUnusedVariables`. Variables whose name starts with `ignored` or `unused` are filtered out, as + is standard practice for exceptions. + + Limitations: + * The rule currently cannot know which method calls throw exceptions, or which exceptions they throw. + In the body of a try block, every method or constructor call is assumed to throw. This may cause false-negatives. + The only other language construct that is assumed to throw is the `throw` statement, in particular, + things like `assert` statements, or NullPointerExceptions on dereference are ignored. + * The rule cannot resolve assignments across constructors, when they're called with the special + `this(...)` syntax. This may cause false-negatives. + + Both of those limitations may be partly relaxed in PMD 7. + + 3 + + + + + + + + + + + + + + + + +Reports parameters of methods and constructors that are not referenced them in the method body. +Parameters whose name starts with `ignored` or `unused` are filtered out. + +Removing unused formal parameters from public methods could cause a ripple effect through the code base. +Hence, by default, this rule only considers private methods. To include non-private methods, set the +`checkAll` property to `true`. + + + 3 + + + + + + + +Reports import statements that are not used within the file. This also reports +duplicate imports, and imports from the same package. The simplest fix is just +to delete those imports. + +This rule is deprecated since PMD 6.34.0. Use the rule {% rule "java/codestyle/UnnecessaryImport" %} +from category codestyle instead. + + 4 + + + + + + + +Detects when a local variable is declared and/or assigned, but not used. +Variables whose name starts with `ignored` or `unused` are filtered out. + + 3 + + + + + + + +Detects when a private field is declared and/or assigned a value, but not used. + +Since PMD 6.50.0 private fields are ignored, if the fields are annotated with any annotation or the +enclosing class has any annotation. Annotations often enable a framework (such as dependency injection, mocking +or e.g. Lombok) which use the fields by reflection or other means. This usage can't be detected by static code analysis. +Previously these frameworks where explicitly allowed by listing their annotations in the property +"ignoredAnnotations", but that turned out to be prone of false positive for any not explicitly considered framework. + + 3 + + + + + + + +Unused Private Method detects when a private method is declared but is unused. + + 3 + + + + + + + +This rule detects JUnit assertions in object references equality. These assertions should be made by +more specific methods, like assertNull, assertNotNull. + +Deprecated since PMD 6.37.0, use {% rule SimplifiableTestAssertion %} instead. + + 3 + + + + + + + + + + + + + + + +When asserting a value is the same as a literal or Boxed boolean, use assertTrue/assertFalse, instead of assertEquals. + +Deprecated since PMD 6.37.0, use {% rule SimplifiableTestAssertion %} instead. + + 3 + + + + + + + + + + + + + + + +The isEmpty() method on java.util.Collection is provided to determine if a collection has any elements. +Comparing the value of size() to 0 does not convey intent as well as the isEmpty() method. + + 3 + + + + + + + +Starting with Java 7, StandardCharsets provides constants for common Charset objects, such as UTF-8. +Using the constants is less error prone, and can provide a small performance advantage compared to `Charset.forName(...)` +since no scan across the internal `Charset` caches is needed. + + 3 + + + + + + + + + + + + + + + + + +`do {} while (true);` requires reading the end of the statement before it is +apparent that it loops forever, whereas `while (true) {}` is easier to understand. + +`do {} while (false);` is redundant, and if an inner variable scope is required, +a block `{}` is sufficient. + +`while (false) {}` will never execute the block and can be removed in its entirety. + + 3 + + + += 1]] +| +(: while loops with conditional and'ed boolean literals, maybe parenthesized :) +//WhileStatement[Expression/(AndExpression|ConditionalAndExpression|(PrimaryExpression/PrimaryPrefix/Expression/(AndExpression|ConditionalAndExpression))) + (: at least one false literal :) + [count(PrimaryExpression/PrimaryPrefix/Literal/BooleanLiteral[@True = false()]) >= 1]] +| +(: do-while loops with conditional or'ed boolean literals, maybe parenthesized :) +//DoStatement[Expression/(InclusiveOrExpression|ConditionalOrExpression|(PrimaryExpression/PrimaryPrefix/Expression/(InclusiveOrExpression|ConditionalOrExpression))) + [count(PrimaryExpression/PrimaryPrefix/Literal/BooleanLiteral) = 2]] +| +(: do-while loops with conditional and'ed boolean literals, maybe parenthesized :) +//DoStatement[Expression/(AndExpression|ConditionalAndExpression|(PrimaryExpression/PrimaryPrefix/Expression/(AndExpression|ConditionalAndExpression))) + (: at least one false literal :) + [count(PrimaryExpression/PrimaryPrefix/Literal/BooleanLiteral[@True = false()]) >= 1 + (: or two true literals (e.g. true & true) :) + or count(PrimaryExpression/PrimaryPrefix/Literal/BooleanLiteral[@True = true()]) = 2]] +]]> + + + + + + + + + + diff --git a/solutions/pom.xml b/solutions/pom.xml new file mode 100644 index 0000000..7d56871 --- /dev/null +++ b/solutions/pom.xml @@ -0,0 +1,132 @@ + + 4.0.0 + de.hs_mannheim.pr2 + solutions + 1.0-SNAPSHOT + jar + + PR2 Excercises + + + UTF-8 + 17 + 17 + 5.9.1 + 1.9.1 + + + + jitpack.io + https://jitpack.io + + + + install + ${basedir}/target + ${project.artifactId}-${project.version} + + + maven-compiler-plugin + 3.10.1 + + + maven-surefire-plugin + 3.0.0-M7 + + + org.apache.maven.plugins + maven-checkstyle-plugin + 3.2.0 + + + com.puppycrawl.tools + checkstyle + 10.4 + + + + checkstyle.xml + true + true + false + + + + validate + validate + + check + + + + + + org.apache.maven.plugins + maven-pmd-plugin + 3.19.0 + + + ./pmd.xml + + true + true + + + + + check + + + + + + + + + + com.github.thomsmits + game-framework + v1.0 + + + org.junit.jupiter + junit-jupiter-engine + ${junit.jupiter.version} + + + org.junit.jupiter + junit-jupiter-api + ${junit.jupiter.version} + + + org.junit.jupiter + junit-jupiter-params + ${junit.jupiter.version} + + + org.junit.platform + junit-platform-suite + ${junit.platform.version} + + + org.junit.vintage + junit-vintage-engine + 4.12.0-M4 + + + org.jfree + jfreechart + 1.5.3 + + + + diff --git a/sources/.classpath b/sources/.classpath new file mode 100644 index 0000000..766838c --- /dev/null +++ b/sources/.classpath @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/sources/checkstyle.xml b/sources/checkstyle.xml new file mode 100644 index 0000000..2a9d4aa --- /dev/null +++ b/sources/checkstyle.xml @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sources/lib/game_framework.jar b/sources/lib/game_framework.jar new file mode 100644 index 0000000000000000000000000000000000000000..92103c4ed810454bc5744c5ffa667b755a54ebec GIT binary patch literal 53692 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 literal 0 HcmV?d00001 diff --git a/sources/lib/jcommon-1.0.23.jar b/sources/lib/jcommon-1.0.23.jar new file mode 100644 index 0000000000000000000000000000000000000000..4dbb094abc11c38abce13f473781c9c5db679391 GIT binary patch literal 330246 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�z{xNYM*`6kVD2cSMV>yPwbU+>24G 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