# Praktikumsbericht MD
### Woche 1
---
## 13.01
7:10 Start Zuhause
8:30 Start
## Rundgang
(Kurzes) Gespräch in der Werkstatt, daraus ergab sich:

- Ausbildung heutzutage häufig Theoretisch/Praktisches Vorwissen fehlt
- Moderne Maschienen benötigen nur noch eingaben, keine manuellen Einstellungen?
- Dadurch können alte Maschienen nicht mehr bedient werden von jungen Leuten, besonders wenn da ein Fehler aufgetreten ist, der Mechanisch gelöst werden muss
- Beispiel, dass ein Mechatroniker vermutlich nicht mehr in der Lage dazu wäre, Fehler im Motor zu lösen
- Herabwertende Bezeichnung "Fachidioten"
- Er meinte, dass er versuchen würde, den Nachwuchs-Ingenieuren die praktische Arbeit beizubringen, indem er Sie dazu zwingt, ihre Zeichnungen selber zu fertigen
- Relativ "harte" lehrweise, wenn einer am Anfang ein Werkzeug für die Planung vergisst, würde dieser es nicht mehr später bekommen, da bei einem Arbeitsort weiter weg das auch die Realität sein würde
- Verwunderung, warum Werken nicht am MG unterrichtet würde
Dann auch Einblick in Robotik-Etage und West-Gebäude, dort Einrichtung von "Büro"
Eyetracking Studie
## Anfang in Büro
ca. 11 Uhr
php gelernt, auch Arrays
### Mittagspause
45 Minuten
## Weiter im Büro
Einführung Markdown, fragen beantwortet von Hicham
Warten auf Rico
Dann längeres Gespräch mit Meiner, wegen den Fahrtzeiten ergab sich heute ein früherer Schluss, daher haben wir nichts größeres mehr angefangen
Schwerpunkt auf Studienwahl
- Mathe ist eine Grundlage für alle MINT-Fächer
- Über KI sagte er, dass man Hausaufgaben ändern müsste, damit sie nicht mehr mit KI gelöst werden können bzw. dass sich insgesamt das System anpassen müsste, so wie es auch zb. in den 70ern mit Taschenrechnern und in den 80ern mit Pcs war, die auch zuerst abgelehnt würden
15:30 Schluss
ca. 16:10 Ankunft Zuhause
**Arbeitszeit:** 6:15 Stunden
**Mittagspause:** 45 Minuten
**Fahrten:** 2 Stunden
---
## 14.01
7:10 Start Zuhause
8:00 Start
- Tipp 10
- Formatierungen, LaTeX
$$
\lim_{n \to \infty} \left( 1+\frac{1}{n} \right)^{n}
$$
10:00 Konferenz (Meiner), Planung Schach
11:10 Gemeinsame Planung
**Mittagspause**
13:20 bis 14:20
- Schachentwicklung
- Kurz bei Famila und zu Volleyball
17:25 Ankunft Zuhause
**Arbeitszeit:** 7:50 Stunden
**Mittagspause:** 1 Stunde
**Fahrten:** 2 Stunden
---
## 15.01
7:10 Start Zuhause
7:45 Start
- Tipp 10
- Schach
**Mittagspause**
~11:10 bis ~12:15
- Schach
- Gespräch mit Nina (Studentin)
15:30 Ende
16:00 Ankunft Zuhause
**Arbeitszeit:** 6:40 Stunden
**Mittagspause:** ~1 Stunde
**Fahrten:** 1:40 Stunden
---
## 16.01
7:15 Start Zuhause
7:45 Start
- Tipp 10
- Schach
- Flugsimulator (8:30 bis 10:00)
- Schach
**Mittagspause**
13:25 bis 14:10
- Schach
17:05 Ende
17:25 Ankunft Zuhause
**Arbeitszeit:** 8:35 Stunden
**Mittagspause:** 45 Minuten
**Fahrten:** 50 Minuten
---
## 17.01
7:45 Start Zuhause
9:30 Start?!?
- Schach
- Roboter von Marten ansehen
- Schach
**Mittagspause**
12:45 bis 13:30
- Schach
16:40 Ende
~17:40 Zuhause
**Arbeitszeit:** 6:25 Stunden
**Mittagspause:** 45 Minuten
**Fahrten:** ~2 Stunden
---
**Gesamtarbeitszeit Woche 1:** 35:45 Stunden
**Mittagspausen:** 4:20 Stunden
**Fahrten:** 8:10 Stunden
**Gesamt inkl. Pausen und Fahrten:** 48:15 Stunden
---
### Woche 2
---
## 20.01
6:55 Start Zuhause
7:55 Start
- Tipp 10
- Schach
**Mittagspause**
12:35 bis 13:20
- Schach
15:32 Ende
16:30 Ankunft Zuhause
**Arbeitszeit:** 6:50 Stunden
**Mittagspause:** 45 Minuten
**Fahrten:** 1:35 Stunden
---
## 21.01
7:13 Start Zuhause
7:55 Start
- Tipp 10
- Schach
**Mittagspause**
12:35 bis 13:15
- Schach
17:00 Ende
~17:30 Zuhause
**Arbeitszeit:** 8:25 Stunden
**Mittagspause:** 40 Minuten
**Fahrten:** ~1:40 Stunden
---
## 22.01
7:16 Start Zuhause
7:50 Start
- Tipp 10
- Schach
**Mittagspause**
12:45 bis 13:25
15:15 Ende
15:45 Ankunft Zuhause
**Arbeitszeit:** 6:45 Stunden
**Mittagspause:** 40 Minuten
**Fahrten:** 1:30 Stunden
---
## 23.01
7:12 Start Zuhause
7:50 Start
- Schach
- Videos machen (~9:00 bis ~11:30)
- Schach
- GitHub
- Diskussion über bessere Version
15:10 Ende
~15:40 Zuhause
**Arbeitszeit:** 7:20 Stunden
**Mittagspause:** -
**Fahrten:** 1:20 Stunden
---
## 24.01
7:10 Start Zuhause
8:20 Start
- Tipp 10
- Schach
- VR (10:30)
**Mittagspause**
13:35 bis 14:13
- Schach
16:45 Ende
17:40 Zuhause
**Arbeitszeit:** 8:25 Stunden
**Mittagspause:** 38 Minuten
**Fahrten:** 2:10 Stunden
---
### Ergebnisse Woche 2
**Arbeitszeit:** 37:45 Stunden
**Mittagspausen:** 2:43 Stunden
**Fahrten:** 8:15 Stunden
**Gesamt inkl. Pausen und Fahrten:** 48:43 Stunden
---
### Ergebnisse Woche 1 & 2 zusammen
**Arbeitszeit:** 35:45 + 37:45 = 73:30 Stunden
**Mittagspausen:** 4:20 + 2:43 = 7:03 Stunden
**Fahrten:** 8:10 + 8:15 = 16:25 Stunden
**Gesamt inkl. Pausen und Fahrten:** 48:15 + 48:43 = 96:58 Stunden
# Schach
# Schachfeld:
- 2D
- Einteilung in 64 Koordinaten (512p x 512p), 8 x und 8 y
- Platzierung Figuren auf diesen Koordinaten
# Classes
Figur
x:
y:
status:
## (classes Eigenschaften:)
- Sprite als Eigenschaft
- Startkoordinaten als Parameter/Eigenschaft
- Weiß/Schwarz
- zusätzlich eine Eigenschaft, ob die Figur ziehbar ist oder nicht, damit sie geschlagen werden kann
- Felder, die angegriffen werden ebenfalls als Eigenschaft? (verändert sich oft im Spiel, muss nach jedem Zug aktualisiert werden). Dafür ein Array -_-
### Subclasses:
- Bauer, geht 1 nach vorne, wenn er noch auf der Grundreihe steht kann er auch 2 nach Vorne und er schlägt schräg nach vorne. Wird in eine andere Figur umgewandelt, wenn die letzte Reihe erreicht wird + En passent
- Turm, kann nach rechts, links, vorne und nach hinten und zwar so weit, bis er eine Figur erreicht, entweder eine Feindliche oder Verbündete
- Läufer ähnlich wie Turm, aber Schräg
- Dame, Kombination aus Turm und Läufer
- Springer, jeweils 2 in eine Richtung und dann um 90° und -90° in eine Richtung und dann auf das Feld gehen, unabhängig von anderen Figuren, die das Feld blockkieren
- König, in jede Richtung ein Feld, außer Mitspieler da oder gegnerische Person kann da hin
possibilities: (x+1, y+1)*∞ o (x-1, y+1)*∞ o (x-1, y-1)*∞ o (x+1, y-1)*∞
Für die eigenen Figuren ist es wichtig, zu wisse, wie die Figuren ziehen mit den Feldern
# Methoden:
- letzteres wird vermutlich ohne Wert Initialisiert, und dann gibt es eine Methode, die am Anfang und nach jedem Zug aufgerufen wird, die die möglichen Felder anzeigt. Für alle Sechs Figuren muss es eine eigene Methode geben, oder er nimmt den Figurentypen als Parameter und dann macht er nur die aktualisierung für die Entsprechende Figur
- Er geht dann mit dieser Figur auf alle Felder und ruft dann vielleicht jeweils eine Methode auf, um das Feld zu "markieren", wenn der Zug möglich ist. Eine Feindliche Figur, die dann geschlagen wird, könnte auch markiert werden bzw. im Array gespeichert werden, sodass dann mit diesem Wert die Schlag-Methode aufgerufen werden kann
- Dann noch eine Methode, die erkennt ob auf einem bestimmten Feld eine Figur ist, dafür doch eine Variable mit Tabelle inkl. Koordinaten und etweder False oder w_*Figur*
- Ich weiß nicht, ob es sich lohnt, das extra bzuspeichern. Er könnte eventuell alle Figuren durchgehen wenn das einfach ist. ok, können wir auch machen
- Er muss Registrieren können, in welcher Koordinate der Klick war (mit der Formel: y-Mausposition in pixel / 64, abgerundet)
- Die Markierung für die Felder ist vermutlich auch eine eigene Methode
- Eine (kleine) Methode für wenn eine Figur geschlagen wird
- Wenn angeklickt, alle Punkte erstellen, wenn ein Punkt angeklickt, andere wieder löschen, Figur verschieben
man kann ziemlich einfach so punkte erstellen und dann auch löschen, das wär glaube ich einfacher
das geht mit ner Formel:
z.B
(512p)
y-Mausposition in pixel / 64, abgerundet
Rico fragen, wie Bilder an Position machen und wieder weg
das würde ich so machen, habe ich in nem anderen Projekt auch gemacht, das war nicht schwer !Daumen Hoch gut
screen.blit(image, (x, y)) so geht image einfügen in python (mit Pygame extension, das ist aber kein Problem) kann man da die xy Werte einfach verändern? Falls ja ist das super
Ich würde bei jedem Update Tabelle mit den Feldern für jeden Figur aktuallisieren, wo die hinkann mit True und False.
Wenn man Buttons hat braucht man doch neue Skripte, die warten, bis die gefrückt werden.
So könnte das mit subclasses in Python aussehen:
class chess_piece:
def __init__(self, x, y, color):
self.x = 8
self.x = 8
class Queen(chess_piece):
def __init__
```plantuml
@startmindmap
# Mathematik
## Statistik
## Algebra
### boolische Algebra
@endmindmap
```