[Playlisten] [Impressum und Datenschutzerklärung]

P2B Tic tac toe mit Microcontroller als Gegner


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

abschließendzur zweiten Praktikumsaufgabedas sollte ja gewesen sein und war's dann ja auch ein Detektorspielbei dem man gegendenChip spieltderChip setzt fixeund der Mensch setzt Kringelnatürlich den Tag zwo der Gedanke ist beim Versuch drei in eine Reihe zu bekommen ?? gewonnen drei längs queroder diagonalkommePunkt JonesComputer wieder wenn ich etwas mit vergesse Ionen zu setzenhat der Computer gewordendaselektronischfür Sommer vor wie das Ergebnis dannin der Musterlösungausgesehen hatmit dem Display hier das im Endeffekt nureine einzige Zeile hat ?? die zweite mangels negativer Versorgungspannungnicht richtig angestellt kriegeauf diesem Display das im Endeffekt nur eine einzige Zeile hatzeige ich jetzt diese drei Zeilen des Spielfeld sind einander anders ist bisschen unübersichtlichzugegebenermaßenalso einmalAnführungsstriche zusagen ?? von vorne anderen erste Zeile zwei Ziffer dritte Zeile hintereinanderman sieht in der ersten Zeile des Xkurz aufleuchtenda der Computer schonden ersten Stein hingesetztwie es jetzt programmiert habedannsehenwo bin äh ich da bin ichSommer als Mensch eingebenund Wege zu man als Mensch eingebenauf ?? Spielfeldmann und setztdie Nummerierung der Spielfelderannull eins zwei drei vierfünfsechssieben achtan die Spielfelderundich gebe jetzt zum Beispiel einige Sätze auf vier also genau die Mitte eines am einfachsten Komma dasWasser wieder diese ArtBedienung vor ich einfach den Joystick nach unten drückeund das als Eingabe der Geldsumme sieht jetzt ich habe in die Mitte gesetztist es nicht ganz leicht zu verstehen ?? erster zweiter dritte Zeileerster zweite dritte Zeilemein Klingel sitzt ganz in der Mitteder Rechner hat jetzt Platz zwei besetztich sollte jetzt in der ersten Zeiledamit der Rechner nicht sofort dahin setztNummer zwei besitzeneinmal drücken und zu sagen möchte ich eingeben nach links und rechts sind dasUnterzahl einzustelleninhaltlich zugegebenermaßensehr hakeligmuss?? langsamer an das ganze so das ?? möchte zwei einstellen einmal drücken und sagendas sollte geltenin der ersten Zeile sehen Siederin ersten Zeile sind des weiteren Klingel durchgesetzt habe und der Rechner hat jetztin der zweiten Zeile oder der in der zweiten Zeile vorne gesetzt??ich das immer gewinnen und setzt sich die sieben dann gerne auf die sechs setzenvierich will aber bis zu siebenwillLotus die siebenBessere ganze erste Spaltesetzt somit noch wackligesozusagen klicke nach uns gelingtdanke auch ich gewinne Komma so das soll's gewesen das zweite Praktikum hat ja auchüber große Streckenmeine meisten Nicki sogar ganz funktioniertdassdie ?? loswerdeneigentlichhinterrücks war das ganze Übung zum Programm lesen das Wort deshalb man insgesamt erzählen Programm lesen ließ sich ein Programm das ich nochnie gesehen habePunktich fange sinnvollerweisein der Hauptdatei an und die sollte üblicherweiseauch mein C heißendas ganze immer zusammen mit etwas übersichtlicher wirddie Hauptdatei sollte mehr in C heißenauf jeden Fall muss es irgendwo in jedem C Programm eine Funktion geben die heißt Medienda fangen sie an zu lesen nirgendwo andersBeistrich der ganz viel Unsinn drin überhaupt nicht benötigt wirdanden sie in meineneine Bibliothek gucken Display Joystickersehen SiehaarsträubendeGeschichtendieser überhaupt nicht interessierenund wahrscheinlich auch gar nicht benötigt werden Kommamüssen Teil noch gar nicht vorgegebenerProgrammmann hat je mehr Bibliotheken man hat nur schlimmer wird es umso mehr Sachen trinkt man gar nicht benötigtanfänglich irgendwo an zu lesen und fängt bei Männern zu lesenanund versucht sich dann runter zu arbeiten von oben nach unten sozusagen durchzuarbeitendurch das Programm von oben nach unten im traditionellenSinnedannvon den großen Sachen zu den kleinen Sachen zu arbeitennicht von oben nach unten zu lesen unbedingt sondern vom großen zum kleinen zu arbeitenin das Mailprogramm istziemlich banaloffensichtlich wird hier was initialisierthabe ich ?? Endlosschleifenin der Endlosschleife wird ein Spiel gespielt tollalso guck ich weiter was beibringen passiertdannjede vernünftigeEntwicklungsumgebunghat inzwischen auf Mausklick rechts sowas wie Auto die finnischenwas leiderbei dieser Entwicklungsumgebungnicht unbedingt funktioniertdannwenn es funktionieren würde würden sicher landenmittendrinin dieser DateidetektorKommada liest man weiter das scheint die wesentliche Funktion zu sein da liest man weiter?? es soll ein Spiel initialisiert werdenKomma Dinge vorstellen was das sein soll ein Spiel zu initialisierendass sie will ich es großzügig überlesen das spannende sind die großen Strukturenkann netterweise in allen vernünftigen Entwicklungsumgebungeninzwischensolche Stuckstrukturenim Sinne von C Konstrukten zusammenfaltenin dasjetzt für die der Rest bis zur Schweifklammer und verschwindetin einen Entwicklungsumgebungverschwindet auch noch die Schweifklammer vorne dass sie bisschen komisch aus wenn ich das erste Schweifklammer stehen baldwieder ankönne das alles zusammenfaltenhiermit den Russen am Rand das macht es etwas übersichtlicher um diesegroßen Konstrukte geht es erstmals ist eine for-Schleifeda drinin dieser Funktionund in der for-Schleifesteht ein ganz dickes Fzwei Stiftung zusammen gefaltet dass sie vor die zusammenfaltensollPunkt in der for-Schleife steht ein ganz dickes Fder von das ich da zusammengefaltet?? Assistentin sehr kam es nicht so spannend spannend ist dieses Kathrin for-Schleife darin ?? also überlegt man sich erst malwas diese for-Schleife macht und was dieses Eve machtfor-Schleifehierzählt offensichtlich die Züge durchneun Spielfelderauf die gesetzt werden kann es wird nie was gelöscht also höchstens neun Zügeahadass er die Züge durch dieses Ding hier das Eve scheint also zwischen Mensch und Computer zu wechseln ist der Zug ein gerader oder nichtaber das war für einige noch irritierendAnwendung vom Modulotestoperatorwenn ich Zugnummer null bin kann ja mit null anden PC Fang mit null ??mit einsZugnummer null bin was ist der Rest wenn ich nur durch zwei Teilenull es bleibt nur ÜbrigzugNummer eins bin was ist der Rest wenn icheins durch zwei Teileeins durch zwei gibt null Resteins der Rest ist eins und bei zwei durch zweidas Ergebnis ich kriege eins Rest nullLeerschritt null denn nur der Rest wird immer abwechselnd null eins null eins null eins das ein ganz billiger Trick und üblicher Trickum IC was zu erzeugen was und all sein Nachfolgesprachenwas zu erzeugen was malso und mal so immer abwechselnd funktioniertdas brauch ich hier einmal ist der Rechner dran ist der Mensch dannder Rechner soll anfangenalso wenn der Rest gleich null ister gab sie eine Funktion die man selber schreiben sollteder Rechner ziehtUmsätze Rechner hinPunkt so hatte ich gegeben Leerschritt offensichtlich was ausgegeben und gewartetund dann diese Funktiondas warauch eine die man schreiben sollteprüftob der jeweilige gewonnen hat ob es von den Buchstaben der hinten steht drei in einer Reihe in einehintereinander Reise ?? drei einer Zeile deiner Spalte oder drei diagonal gibthat man gewonnen oder nicht entsprechendreagiertundanalog bei dem ältestemMensch stand ander soll's selberziehenmuss immer vorsichtig sein der Mensch dafür nicht auf etwas setzen was schon besetzt ist deshalb dieses ist lautsingen sie vongroßen zum kleinen gehen jetzt wieder eine SchleifeSpannendes es herauszufinden wozu die Schleife da ist ist dafür da das man drauf warten dass der Mensch was erlaubtes eingehtsolange wie das was der Mensch ein Gewicht erlaubt istgeht das weiterhin der Schleife und ich bitte noch mal um neue Eingabengebe kurz auch nochsie sind für drei hundert Millisekundenverboten ausdannprüfe ich die Eingabe des Menschenmit Demenz gewonnen hatFeierabendandiese Schleife hiersehen Sie die läuft scheinbar immer durch bis neun ohne wenn und aberbis alle neun Felder besetzt sindmit mir gerungen wie schreibe ich das eigentlichsobald einer gewonnen hat habe ich prägtwenn einer gewonnen hat habe ich hinweg und ich gehe eher aus der Schweiz vorausgesicherterRechner gewonnen und eingerichteten Dreck rausund hier der Mensch gewonnen den ich mit Dreck rausextremdick dahinter geschrieben verstecktes Breakdas isthier schonunschönerStecker sehr tief drinnen Komma da nicht ausdrücklich?? Ausrufezeichenin der macht sozusagen Komma leicht übersehenund glaub diese Schleife läuft immerfür alle neun ?? durchdas aber gar nicht der Regelfall der Regelfall ist das sie vorher abgebrochen wirdinsofern und verstecktes Breakkeine richtig gute Ideehaben wir das Ding schon so kompliziert das man es vielleicht nicht mehr machen sollte das unübersichtlichwird mit den versteckten prägeAlternativewäre gewesensind ?? gestern Variable namens Heftwinawir haben einen GewinnerAlternative wäre gewesen das ich hier auch noch prüfeob es einen Gewinner gibt Schleife läuft solangebis wirneun voll haben oder bis es einen Gewinner gibt das wären alternativeMinderungen gab es bei dem weggelassen?? für die Bedingung oben einfacherVariablen für ein Gewinner haben dies hatte ich trotzdem spannend es kann nämlich sein dass alle neun Felder besetzen und kein Gewinner haben das dass esunentschieden ausgeht weil jeder den anderen blockiertes auf mich das ganz am Ende noch wenn alle neun Felder besetzt sind und wir haben keinen Gewinnerhier diese SchleifeKlammer aufClub jedes vor noch mal einin das ist die Schleifedie bis zu neun Züge erlaubtund wenn ich aus dieser Schleife rauskommen und habe keinen Gewinner angeblich unentschieden ausdazu brauche ich das in jedem Fall muss also nach dieser for-Schleifetrotz allem Wissen nach dieser for-Schleife über die maximalneun Zügeunbedingt wissenob jemand gewonnen hat oder nicht da für diese Branche variabeldaswar die wesentliche Funktion des Programms ja sicher gelieferthaben die erste Funktion die selbst geschrieben werden sollteKomma war man diese hier habenhaben wir ein Gewinnerkonkret sogar das hat auch nochzu Verwirrung geführtkonkret ich gebe dir diese Funktion ja ein Zeichen der kleine ohne dass klein X um zu fragen hat klein O gewonnen oder klein X gewonnensieht man an dem Aufrufdes Programmes wirklich sehr sparsammit Kommentarensieht man am Aufruf ihr Prüffischmöchte ich prüfen ob der Computer gewonnen hat ?? ich übergebe ihnen die Nummer des ZeichenX das ist ja die Geschichte mit den einfachen Anführungszeichen untenNummer des Zeichens was da drin stehtin derTabelle aller Zeichennummerdes Zeichens X oder kurz ebendas Zeichen X wenn Sie wollen übergebe ich ihm hierundHosen den Menschen gehtübergebe ichdas kleine Odiese Funktion soll also jeweils gucken ob das Zeichen was da hinten ankommtdreimal ineinander vorkommtlängs oder quer oder diagonal?? hoch oder Diagonalwanjaokaydas könnte man ?? zu Fuß ?? Kündigungen sind in der ersten Zeile drei miteinander sind in der zweiten Zeit an den anderen und so weiter das ein bisschen langweiligamsachlich sowas ja eingebaut was meine Wiederholung für Rays war es ?? gabund gibt fest vor definiert eine Regeldie Gewinnsmusterin die miteinander steht an welchen Positionendennmanplatziert sein muss um gewann zwarnicht bei null eins zwei ein Stein platziert haben ?? Stein sachlich ansie wohl mein Symbol spaziert habe dann habe ich gewonnen wenn ich bei drei vier fünfzweite Zeileman sie produziert habe ich gewonnen sechs sieben achtdritte Zeilebei null drei sechserste Spaltegeradeihrnull drei sechs erste Spalte dann habe ich gewonnen und soweit ich ?? die einfach ineinander aufgelistetalle Möglichkeiten zu gewinnenLesefluss und noch die beiden Diagonalendas wesentlich eleganter als wenn sie das jetzt zu Fuß durchprobierenzu Fuß aus Programmierenjeweilsich hake einfach dieses irreal eins nach dem anderenFanny Komma der die Spielregeln leichter ändern wenn sie sagen erste Zeile Verboten dann nehmen Sie den rausund sagen ich habe nur noch sieben Gewinnsmusteroder mit noch mehr Gewinn musste Hamburgweiterhin als ??sang sie haben neundas ganze pflegeleichterals der Trick war diese Gewinnsmuster durchzugehen?? sind wennihrnicht wie die Gewinnsmusterdurchmüssen wir auf einen Bildschirm nicht wirklichdas macht diese for-Schleife hiergehe alle Gewinn musste durch und kuck ?? irgend eines erfüllt istPunkt bei richtiger ?? wieder zusammen und sie sehentollwenn ich außer for-Schleife rauskommegebe ich falsch zurückdiese Funktionsoll falls zurückgebenwenn kein Gewinn ist und sollzurückgebenwennder diejenige gewonnen hatwenn ich aus der for-Schleife rausgehe wenn offensichtlichwenn keines dieser Muster funktioniert hat's ewigfalsch zurückund wenn eines dieser Muster funktioniert hatwenneines der Muster funktioniert hat ewig war zurück das auch schon wieder sollverstecktes Ding kann uns auch drüber diskutierenob das bei dieser Länge noch okay ist?? ich Fans bei dieser Länge noch okaywenn es anders machen dass man eine gute Variable wieder einführtdie man dann hier unten auf ?? war selbst und die Schleife abbrichtin diese Variable wahr geworden istein Geschichtlichwitzaufdiesem Niveau an Komplexität tatsächlich hier noch Urteil trug mittendrin machen also die for-Schleife guckt alle Muster durchund sobald eines passtgeht siehiermit dem Drew aus der Funktionaus der Schleife soll ich sagen raus wenn ?? die Schleife und die Funktionda dann den Wert war zurückgegebenund Überprüfen der Schleife istein bisschen komisch zu schreiben aber auch wieder gradlinigfür jedes Gewinn musstedas vorherdiese Schleife ihr für jedes Gewinnsmusterguck ich die drei Einträge durchund guck ob alle drei Gesetz sindwas heißt dass alle drei Gesetz sinddas heißt dass nicht ein einziger nicht gesetzt ist da musste man noch einmal falsch umdenkenwie überprüfen Sie das drei Sachen wahr sindsie überprüfen nicht auf die drei Sachen Vasen zu überprüfenob keine der drei falsch ist?? ich nehme erst mal an dasWasserglück haben alle drei sind warund dann überprüfe ich jetzt für jede der dreinicht falsch ist und sobald sie falsches weiß ich keine Chancedieses Blakewenn jetzt diese for-Schleifeauch gar nicht weiter zu probierensobald eine falsch istwenn wir dieses Ortsnetzja auch falschwenn ich aber aus for-Schleife heraus Kommadie drei Möglichkeiten überprüfenund aus der Christ war gebliebenPunktdann weiß ich alle drei warengesetztdass es auch so ?? Redewendungsozusagen an die man sich beim Programmierendann gewöhnt wie prüf ich auf mehrere Sachen Wahl sindalle zusammen war sind ich prüfe keine falsch istsobald eine falsch ist weiß ichverlorden Krieg wenn ich an das ?? die Funktion die prüft ob jemand gewonnen hatdie Funktion den Rechner setzen zu lassen wie man bisschender Freistilaberdarunter hierdie dieeinfachste Art den Rechner setzen zu lassen ist sie gehen von oben nach unten durch von links nach rechts und gucken ob irgendein Feldwas sie finden frei ist und sobald ein freies Feld gefunden habensetzte sich zum Rechner drauf fertigdurch ein ziemlich blödes Verfahren mit dem man sehr wahrscheinlich verlieren wirdderRechner setzt einfach beginnend von links oben auf das erste Freifelddas geht kann man kaum als Strategie durchgehen lassen das es ziemlich blödsinnig deshalb hatte ich in der Musterlösung noch was davor gebautanich benutze diese Gewinnsmusterzumindestautomatischauf das dritte zu setzen wenn ich schon zwei besetzt habe also wenn der Rechnerfeststelltwenn der Rechner folgendes feststellthat schonhier gesetzt und da gesetzt und der hier ist noch freian soll der Rechner natürlich sinnvollerweisehier hinsetzen und mich auf den nächsten freien setzen Beistrich sind plötzlichdas hatte ich noch eingebautdass es sich natürlich noch verfeinerndass man das noch mehr raffinierte Sachen macht aber zumindest das sollte funktionierenaus automatisch auf den freien dritten Platz setzen ich gehe dafür noch mal diese ganzen Gewinn musste durchdas ?? recyceln dasWasser von oben gebaut warund prüfeund prüfe ob irgendwo nur zweiGesetz sindvon den dreienund ob der drittefreie istdabei mein System jein Punkt als frei damit was auf dem Display erkennen kann Nixdas kleine X das kleine Ohrund im Ursprungszustandüber das ?? Punkt sozusagen das Fell des frei ?? ich prüfe ?? nur zwei Gesetz sindvon irgend einem dieser Muster oder mindestens zwei Gesetz sindDreier sowieso nicht ?? wollenund der drittefrei ist und wenn das der Fall ist setzt sich daraufund bin fertigschon wieder sein fieses verstecktes Returnin diesem Programm kommt es extrem häufig vor?? anmir das nicht gelungen ist wenn ich alle Muster durchgegangenbinsolle alle Muster durchgegangenbin und es ist mir nicht gelungenzwei zu drei zu ergänzenaus dieser for-Schleife herausalle Muster durchgegangenkeine VorgabeKomma aus der for-Schleife rausdann mach ich jetzt die dumme Lösung und setze auf den nächst bestenden ersten freien