MatLab

Hier kann über alles diskutiert werden, wirklich alles. Betonung liegt auf "diskutiert", das ist also kein Freischein zum Spammen.
(Beitragszähler deaktiviert)
Antworten
Benutzeravatar
Crazy_Ace
Klauenbartrein
Beiträge: 1422
Registriert: 5. Jul 2007, 13:31

MatLab

Beitrag von Crazy_Ace » 18. Dez 2014, 07:10

Hey,

kennt sich hier jemand mäßig bis gut (gerne auch sehr gut, muss aber nicht) mit MatLab aus?

Unser Prof und unser Skript haben uns einfach richtig schlecht auf die am Ende abzugebende Arbeit vorbereitet. Ich weiß, man kann sich alles irgendwie zusammengoogeln (was sogar O-Ton gewünscht ist: "... sollen Sie sich hier selbstständig die für die Programmierung notwendigen Informationen beschaffen."), aber irgendwie ist das echt nicht das Wahre. Über einen gelegentlichen Ansprechpartner würde ich mich sehr freuen, am liebsten per PM, dann muss ich hier nicht so mit meiner Inkompetenz hausieren gehen (und wir müllen nicht so). :lol:

Das Projekt selbst ist ein Schiebespielrätsel (15er-Spiel) mit variabler Zeilen- und Spaltenlänge und einzulesendem Hintergrundbild. Zu programmieren ist nur das Spiel, nicht die Lösung.

Dankeschön!
SpoilerShow
Der grobe Plan inhaltlich ist es, eine varargin-Funktion aufzurufen, die mit CallBack im else-teil (if(nargin == 0)) dann das Spiel einleitet. Ob das sinnvoll ist, kann ich ob mangelnder Erfahrung nicht sagen, das war in der VL aber immer die Herangehensweise.

Bis jetzt bin ich so weit, ein Bild einzulesen und jenes zu zerlegen. Mein aktuelles "Problem" ist, dass meine Funktion mit (varargin) nicht (wie in der VL) anspringt, wenn ich sie ohne Parameter aufrufe. Bis das hier aber jemand liest, könnte ich eine Lösung gefunden haben. Als ungefähre Richtlinie, wie banal meine Fragen sind (sind sie?), lasse ich diesen Abschnitt dennoch mal stehen und aktualisiere, wenn sich was ohne Zutun tut.

O.g. Problem ist gelöst.

Auf lange Sicht wird das größte Problem wohl das Verschieben der einzelnen Blöcke. Dafür habe ich noch keine wirkliche Herangehensweise gefunden.
Inaktiv in w7, aktiv in w8.

Relinquished hat geschrieben: Der Sinn des Spiels ist es, den User Raum und Zeit vergessen zu lassen und abhängig zu machen.
Alles, was dagegen wirkt, schadet dem Spiel nur.

Benutzeravatar
Crazy_Ace
Klauenbartrein
Beiträge: 1422
Registriert: 5. Jul 2007, 13:31

Re: MatLab

Beitrag von Crazy_Ace » 22. Jan 2015, 22:35

Falls es jemanden interessiert oder jemand ähnliche oder vergleichbare Dinge mit Matlab zu bewältigen hat: Das Programm steht soweit.
Ich finde Matlab nach wie vor nicht sehr geil, weil sich alles irgendwie wie ein Workaround anfühlt. Aber vielleicht muss man auch tiefer einsteigen, um dem ganzen wirklich was abgewinnen zu können.

Was noch fehlt, ist die Verschönerung des Codes, da bin ich grade dran. Aktuell stehe ich allerdings vor einer hässlichen Wand, bei der ich keinen wirklichen Ansatz finde, sie zu umgehen oder zu beschönigen, weswegen ich sie hier gerne nochmal mit Aufruf auf potenzielle Lösungen mit euch teile. Wenn nicht ist aber natürlich auch nicht schlimm, die Schönheit des Codes ist nicht so wirklich übermäßig relevant für meine Zwecke.
SpoilerShow
Kurz vorweg: Es handelt sich grundsätzlich um eine Funktion mit Callbacks für alles, was man so drückt (die "case" links sind die, die durch den Callback angesprochen werden). Man hat im Interface 4 Buttons, die man drücken kann (links, rechts, oben, unten) oder man kann das leere Feld mit den Pfeiltasten bewegen. Das führt zu folgendem Codeschnipsel zum Aufrufen der Bewegungsfunktion:

Code: Alles auswählen

case 'move_left'            
            move('left')
case 'move_right'
            move('right')
case 'move_up'
            move('up')
case 'move_down'
            move('down')
 case 'key_pressed'
         switch get(fig_handle, 'CurrentKey')
                case 'leftarrow' 
                    move('left')
                case 'rightarrow' 
                    move('right');
                case 'uparrow'
                    move('up');
                case 'downarrow'
                    move('down');
                otherwise;
            end
Inaktiv in w7, aktiv in w8.

Relinquished hat geschrieben: Der Sinn des Spiels ist es, den User Raum und Zeit vergessen zu lassen und abhängig zu machen.
Alles, was dagegen wirkt, schadet dem Spiel nur.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 51 Gäste