• Keine Ergebnisse gefunden

5.1 Einer für alle - alle für einen! 15 Punkte

N/A
N/A
Protected

Academic year: 2022

Aktie "5.1 Einer für alle - alle für einen! 15 Punkte"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Christoph Lüth Martin Ring Reaktive Programmierung SoSe 15

5. Übungsblatt

Ausgabe: 25.06.15 Abgabe: 14.07.15

Auf diesem finalen Aufgabenblatt bekommt unsere Robotersimulation den letzten Feinschliff, um die interna- tionale Computerspielpresse vollends zu entzücken, und die Taschen potenzieller Risikokapitalgeber weit zu öffnen.

5.1 Einer für alle - alle für einen! 15 Punkte

Der letzte Schritt zum kommerziellen Erfolg liegt natürlich in ausgefeilten Mehrspielermodi und mehr Action!

Erweitern sie daher ihre Implementierung von Übungsblatt 4 um Teams und Wasserpistolen (der Wunsch der Marketingabteilung nach „Lasern, Disruptoren und Neutronenbomben“ wurde aus ethischen Gründen verworfen).

Wasserpistolenkönnen die empfindliche Elektronik der Roboter stören: Jeder Roboter verfügt über einen Was- sertank aus dem er Sprühstöße in eine beliebige Richtung abgeben kann. Wird ein Roboter getroffen, fällt er eine zufällige Zeitspanne aus, bis die Elektronik wieder getrocknet ist. Selbstverständlich ist die Reichweite der Wasserpistolen auf ein paar Felder begrenzt. Solange ein Roboter wehrlos da steht, können sich andere Roboter an seinen Goldvorräten bedienen.

Roboterteamskönnen sowohl aus menschlichen als auch aus computergesteuerten Mitspielern bestehen. Robo- ter in einem Team sollen Zugriff auf die Liste ihrer Mitspieler haben und ihnen Nachrichten schicken können.

Für menschliche Teams ist ein Chatfenster in der Weboberfläche verfügbar, für computergesteuerte Teams bedeutet das, dass die Roboter-Aktoren beliebige Nachrichten untereinander austauschen können.

Erweitern sie außerdem das Verhalten der autonomen Roboter so, dass sie sich untereinander absprechen, um mehr Gold zu sammeln als die anderen Teams.

Um die Leistung der Teams bewerten zu können, sollen die Roboter eines Teams eine gemeinsame Basis haben, wo sie das geladene Gold zwischendurch immer wieder abladen können. Das Team mit dem größten Haufen Gold in der Basis gewinnt.

Die letzten 5 der 15 Punkte dieser Aufgabe gibt es für die Lösung mindestens einer der folgenden Aufgaben:

1. Geometrisch korrekte Darstellung des Schattenwurfs im Radar in der Webschnittstelle;

2. Roboter können sich gegenseitig Dilithium übertragen und damit liegengebliebende Teammitglieder wiederbeleben (inkl. entsprechendes autonomes Verhalten);

3. Vereinheitlichtes Interface und Wettkampf der autonomen Roboter mit einer oder mehreren anderen Übungsgruppen.

1

(2)

09:02:42 25. Juni 2015

5.2 Nützliche Hülsenfrüchte 5 Punkte

Die Patientenkartei von Dr. Okulus gerät langsam aus den Fugen, daher entscheidet er sich schweren Herzens, sich nicht weiter der modernen Technik verschließen, und beauftragt uns seine Patientenkartei von nun an digital zu verwalten. Seine Sicherheitsbedenken können wir aber erst nach einem langen Beratungsgespräch aus der Welt räumen: Als wir ihm vonLinsenerzählen willigt er ein — „so sind meine Daten sicher“, ist er zufrieden.

Ein Eintrag in der Patientendatenbank besteht aus folgenden Daten:

• Versicherungsstatus (Gesetzlich/Privat)

• Krankenversicherungsnummer

• Name, Vorname

• Geburtsdatum (bestehend aus Jahr, Monat, Tag)

• Adresse

Straße, Hausnummer Postleitzahl

Ort

• Liste von Telefonnummern (jeweils kategorisiert als privat, mobil oder geschäftlich)

• Liste der Diagnosen

• Nächster Termin (Typ wie Geburtsdatum)

Implementieren sie die Patientendatenbank sowie drei verschiedene Schnittstellen mit Hilfe von Linsen:

• DerPatientkann nach Angabe von KV-Nummer und Geburtsdatum bequem seine Patientenakte einse- hen. Um die Patienten nicht zu verunsichern sollen sie jedoch nicht die Liste ihrer Diagnosen einsehen können. Der Patient soll seine Kontaktdaten (Adresse/Telefonnummern) aktualisieren können.

• DieSprechstundenhilfe kann mit Hilfe der Gesundheitskarte (Krankenversicherungsnummer) eine Pati- entenakte aus der Datenbank laden. Sie soll die Möglichkeit haben den nächsten Termin zu ändern.

• Derüberweisende Hausarztkann die Liste der Diagnosen einsehen und verändern.

Das Interface der Datenbank selbst besteht aus lediglich zwei Methoden:

def query[T](lens: Lens[Database,T]): T

def updated[T](lens: Lens[Database,T], value: T): Database

Der Inhalt der Datenbank ist also nur mit Linsen zugreifbar. Die Linsen bekommt man über die jeweiligen Schnittstellen für Patienten, Sprechstundenhilfen und Hausärzte. Alle Updates sollen mit Linsen realisiert werden. Es steht Ihnen frei, ob sie die Linsenimplementierung aus der Vorlesung oder die Linsen dershapeless Bücherei verwenden. Diescalastyle-Definition von Übungsblatt 1 soll hier ohne Warnungen durchlaufen.

Hinweis:Die aktuelle Version dershapelessBücherei können Sie mit folgender Zeile in einsbt-Projekt einbinden:

libraryDependencies += "com.chuusai"%% "shapeless"% "2.2.3"

2

Referenzen

ÄHNLICHE DOKUMENTE

Sie weisen zwar aufgrund des tieferen Outputs höhere Kosten je Kilogramm Milch (ECM) auf, doch die Erlöse je Kilogramm Milch sind höher, was zu einer höheren

Er war ganz alleine unter einem großen Baum.. Ich setzte mich zu ihm und fragte ihn wie

Im Projekt „Roberta – Mädchen erobern Roboter“ werden Roboter zur Einführung in Informatik, Naturwissenschaften und Technik genutzt, wobei insbesondere Mädchen

In unsere Sprache ziehen ständig Metaphern ein, erstarren zu Begriffen, werden wieder weich, lö- sen sich auf … Wenn wir Wörter nicht einfach ste- hen lassen, wenn wir sie in

Daher versuchen Computerwissenschaftler und Ingenieure einen Roboter zu erschaffen, bei dem die Maschine mit einem biologischen System gekoppelt wird, der wie ein lebendiges

Das oberste Gebot, dass Menschen durch die Roboter keine Verletzungen erleiden dürfen, setzt der Produktionsgeschwindigkeit Grenzen.» Als gesetzli- che Richtlinie für die

Entscheidungshoheit, Teamleistung und Zufriedenheit in Mensch-Roboter-Teams in der Produktion (Gombolay, Gutierrez, Sturla & Shah, 2014). • Menschen und Roboter haben

Dass diese Ideen bis heute nicht den Weg in die Steuergesetze geschafft haben, dürfte nicht nur am politischen Unwillen liegen (dem in der Tat manch kluger Vorschlag zum