Files
schafkopf-bot/SpielController.drawio
Valentin Heiserer e63f18f4b7 Broadcast channel (#1)
* added sessions

* added sessions

* added sessions

* Edited Schafkopf classes

* removed LOG usages and removed unused method

* changed dotenv version

* added dotenv for ip address and deleted unused class

* removed unused logger

* removed unused logger

* renamed server classes

* renamed server classes

* changed schafkopf klassen

* added SpielController for a few Games

* added initialization of cards and ability to show cards in frontend

* SpielController.drawio eingefügt

* SpielController.drawio aktualisiert

* SpielController.drawio aktualisiert

* updated SpielController.drawio

* edited drawio

* edited drawio and renamed wert to punkte

---------

Co-authored-by: Tobias <tibistruppi.te@gmail.com>
2023-11-13 21:29:33 +01:00

1 line
17 KiB
Plaintext

<mxfile host="drawio-plugin" modified="2023-11-13T20:27:38.202Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36" etag="uO7piuOidW9XtWGHDsOj" version="20.5.3" type="embed"><diagram name="Seite-1" id="N-wpoMVqaxemK1_fbJU3"><mxGraphModel dx="185" dy="278" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="zuZhhUDICmTr5Qu2Rz0L-1" value="abstract SpielController" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=default;" parent="1" vertex="1"><mxGeometry x="410" y="260" width="160" height="150" as="geometry"><mxRectangle x="230" y="260" width="120" height="30" as="alternateBounds"/></mxGeometry></mxCell><mxCell id="11" value="" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;swimlaneLine=0;fillColor=none;" parent="zuZhhUDICmTr5Qu2Rz0L-1" vertex="1"><mxGeometry y="30" width="160" height="60" as="geometry"><mxRectangle y="30" width="160" height="40" as="alternateBounds"/></mxGeometry></mxCell><mxCell id="zuZhhUDICmTr5Qu2Rz0L-3" value="- Karte farbKarten" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="11" vertex="1"><mxGeometry width="160" height="30" as="geometry"/></mxCell><mxCell id="zuZhhUDICmTr5Qu2Rz0L-2" value="- Karte trumpfKarten" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;fontColor=#F0F0F0;" parent="11" vertex="1"><mxGeometry y="30" width="160" height="30" as="geometry"/></mxCell><mxCell id="zuZhhUDICmTr5Qu2Rz0L-5" value="+ getFarbKarten" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="zuZhhUDICmTr5Qu2Rz0L-1" vertex="1"><mxGeometry y="90" width="160" height="30" as="geometry"/></mxCell><mxCell id="zuZhhUDICmTr5Qu2Rz0L-9" value="+ getTrumpfKarten" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="zuZhhUDICmTr5Qu2Rz0L-1" vertex="1"><mxGeometry y="120" width="160" height="30" as="geometry"/></mxCell><mxCell id="zuZhhUDICmTr5Qu2Rz0L-15" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.28;entryY=0.987;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="zuZhhUDICmTr5Qu2Rz0L-16" target="zuZhhUDICmTr5Qu2Rz0L-9" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="290" y="520" as="sourcePoint"/><mxPoint x="340" y="470" as="targetPoint"/></mxGeometry></mxCell><mxCell id="zuZhhUDICmTr5Qu2Rz0L-16" value="abstract StandardController" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="1" vertex="1"><mxGeometry x="230" y="585" width="170" height="60" as="geometry"/></mxCell><mxCell id="zuZhhUDICmTr5Qu2Rz0L-20" value="&lt;span style=&quot;text-align: center;&quot;&gt;SauSpiellController()&lt;/span&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="zuZhhUDICmTr5Qu2Rz0L-16" vertex="1"><mxGeometry y="30" width="170" height="30" as="geometry"/></mxCell><mxCell id="4" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.845;entryY=0.876;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;startArrow=none;" parent="1" source="32" target="zuZhhUDICmTr5Qu2Rz0L-9" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="360" y="400" as="sourcePoint"/><mxPoint x="410" y="350" as="targetPoint"/></mxGeometry></mxCell><mxCell id="26" value="abstract SauSpielController" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="1" vertex="1"><mxGeometry x="40" y="840" width="170" height="60" as="geometry"/></mxCell><mxCell id="27" value="&lt;span style=&quot;text-align: center;&quot;&gt;SauSpiellController()&lt;/span&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="26" vertex="1"><mxGeometry y="30" width="170" height="30" as="geometry"/></mxCell><mxCell id="28" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;" parent="1" source="26" target="zuZhhUDICmTr5Qu2Rz0L-16" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="210" y="740" as="sourcePoint"/><mxPoint x="260" y="690" as="targetPoint"/></mxGeometry></mxCell><mxCell id="29" value="FarbSoloController" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="1" vertex="1"><mxGeometry x="600" y="840" width="140" height="60" as="geometry"/></mxCell><mxCell id="30" value="&lt;span style=&quot;text-align: center;&quot;&gt;SoloController()&lt;/span&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="29" vertex="1"><mxGeometry y="30" width="140" height="30" as="geometry"/></mxCell><mxCell id="31" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="29" target="32" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="680" y="700" as="sourcePoint"/><mxPoint x="730" y="650" as="targetPoint"/></mxGeometry></mxCell><mxCell id="32" value="abstract&amp;nbsp; SoloController" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="1" vertex="1"><mxGeometry x="750" y="585" width="200" height="30" as="geometry"/></mxCell><mxCell id="33" value="" style="endArrow=classicThin;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;startArrow=none;startFill=0;endFill=1;" parent="1" source="2" target="32" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="883.5" y="700" as="sourcePoint"/><mxPoint x="720" y="620" as="targetPoint"/></mxGeometry></mxCell><mxCell id="34" value="abstract BettelController" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="1" vertex="1"><mxGeometry x="414" y="840" width="170" height="60" as="geometry"/></mxCell><mxCell id="35" value="&lt;span style=&quot;text-align: center;&quot;&gt;BettelController()&lt;/span&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="34" vertex="1"><mxGeometry y="30" width="170" height="30" as="geometry"/></mxCell><mxCell id="36" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;" parent="1" source="34" target="zuZhhUDICmTr5Qu2Rz0L-16" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="460" y="690" as="sourcePoint"/><mxPoint x="510" y="640" as="targetPoint"/></mxGeometry></mxCell><mxCell id="37" value="abstract RamschController" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="1" vertex="1"><mxGeometry x="230" y="840" width="170" height="60" as="geometry"/></mxCell><mxCell id="38" value="&lt;span style=&quot;text-align: center;&quot;&gt;RamschController()&lt;/span&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="37" vertex="1"><mxGeometry y="30" width="170" height="30" as="geometry"/></mxCell><mxCell id="39" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.51;entryY=1.02;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="37" target="zuZhhUDICmTr5Qu2Rz0L-20" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="410" y="700" as="sourcePoint"/><mxPoint x="460" y="650" as="targetPoint"/></mxGeometry></mxCell><mxCell id="41" value="" style="swimlane;startSize=0;fillColor=none;dashed=1;" parent="1" vertex="1"><mxGeometry x="410" y="810" width="1110" height="120" as="geometry"/></mxCell><mxCell id="43" value="FarbWenzController" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="41"><mxGeometry x="350" y="30" width="140" height="60" as="geometry"/></mxCell><mxCell id="44" value="&lt;span style=&quot;text-align: center;&quot;&gt;WenzController()&lt;/span&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" vertex="1" parent="43"><mxGeometry y="30" width="140" height="30" as="geometry"/></mxCell><mxCell id="45" value="FarbGeierController" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="41"><mxGeometry x="510" y="30" width="140" height="60" as="geometry"/></mxCell><mxCell id="46" value="&lt;span style=&quot;text-align: center;&quot;&gt;GeierController()&lt;/span&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" vertex="1" parent="45"><mxGeometry y="30" width="140" height="30" as="geometry"/></mxCell><mxCell id="15" value="WenzController" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="41" vertex="1"><mxGeometry x="670" y="30" width="170" height="60" as="geometry"/></mxCell><mxCell id="16" value="&lt;span style=&quot;text-align: center;&quot;&gt;WenzController(String farbe)&lt;/span&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="15" vertex="1"><mxGeometry y="30" width="170" height="30" as="geometry"/></mxCell><mxCell id="17" value="GeierController" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="41" vertex="1"><mxGeometry x="910" y="30" width="190" height="60" as="geometry"/></mxCell><mxCell id="18" value="&lt;span style=&quot;text-align: center;&quot;&gt;GeierController&lt;/span&gt;&lt;span style=&quot;text-align: center;&quot;&gt;(String farbe)&lt;/span&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="17" vertex="1"><mxGeometry y="30" width="190" height="30" as="geometry"/></mxCell><mxCell id="42" value="&lt;font color=&quot;#f00000&quot;&gt;farbiger geier/wenz kann mit&amp;nbsp; normaler Solo logik gespielt werden&lt;br&gt;&lt;br&gt;braucht farbloser eigne logik??&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1"><mxGeometry x="1130" y="525" width="370" height="60" as="geometry"/></mxCell><mxCell id="2" value="abstract&amp;nbsp; GeierWenzController" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="1" vertex="1"><mxGeometry x="1180" y="740" width="200" height="30" as="geometry"/></mxCell><mxCell id="24" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="15" target="2" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="1043.5" y="710" as="sourcePoint"/><mxPoint x="1093.5" y="660" as="targetPoint"/></mxGeometry></mxCell><mxCell id="25" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="17" target="2" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="1043.5" y="710" as="sourcePoint"/><mxPoint x="1093.5" y="660" as="targetPoint"/></mxGeometry></mxCell><mxCell id="48" value="" style="endArrow=classic;html=1;rounded=0;fontColor=#F00000;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="43" target="32"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="990" y="790" as="sourcePoint"/><mxPoint x="1040" y="740" as="targetPoint"/></mxGeometry></mxCell><mxCell id="49" value="" style="endArrow=classic;html=1;rounded=0;fontColor=#F00000;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="45" target="32"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="990" y="790" as="sourcePoint"/><mxPoint x="1040" y="740" as="targetPoint"/></mxGeometry></mxCell><mxCell id="54" value="Karte" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontColor=#F0F0F0;fillColor=#2A2A2A;" vertex="1" parent="1"><mxGeometry x="780" y="120" width="160" height="164" as="geometry"/></mxCell><mxCell id="55" value="String id&#10;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontColor=#F0F0F0;" vertex="1" parent="54"><mxGeometry y="26" width="160" height="26" as="geometry"/></mxCell><mxCell id="58" value="String name" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontColor=#F0F0F0;" vertex="1" parent="54"><mxGeometry y="52" width="160" height="26" as="geometry"/></mxCell><mxCell id="59" value="String farbe" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontColor=#F0F0F0;" vertex="1" parent="54"><mxGeometry y="78" width="160" height="26" as="geometry"/></mxCell><mxCell id="60" value="String punkte" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontColor=#F0F0F0;" vertex="1" parent="54"><mxGeometry y="104" width="160" height="26" as="geometry"/></mxCell><mxCell id="56" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;fontColor=#F0F0F0;" vertex="1" parent="54"><mxGeometry y="130" width="160" height="8" as="geometry"/></mxCell><mxCell id="57" value="+ method(type): type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontColor=#F0F0F0;" vertex="1" parent="54"><mxGeometry y="138" width="160" height="26" as="geometry"/></mxCell></root></mxGraphModel></diagram></mxfile>