Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert sind; Die von diesem Forum gesetzten Cookies düfen nur auf dieser Website verwendet werden und stellen kein Sicherheitsrisiko dar. Cookies auf diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Hallo, Gast
Du musst dich registrieren bevor du auf unserer Seite Beiträge schreiben kannst.

Benutzername
  

Passwort
  





Durchsuche Foren

(Erweiterte Suche)

Foren-Statistiken
» Mitglieder: 55
» Neuestes Mitglied: b7acky
» Foren-Themen: 52
» Foren-Beiträge: 69

Komplettstatistiken

Aktive Themen
NeoPixelClock
Forum: Projekte
Letzter Beitrag: Gorathan
08.02.2020, 16:01
» Antworten: 0
» Ansichten: 313
_GDIPlus_GraphicsDrawStri...
Forum: Scripte
Letzter Beitrag: Gorathan
04.02.2020, 19:31
» Antworten: 0
» Ansichten: 351
LED-Tester
Forum: Projekte
Letzter Beitrag: Gorathan
31.01.2020, 08:00
» Antworten: 0
» Ansichten: 335
Countdown-Timer mit I2C-L...
Forum: Projekte
Letzter Beitrag: Gorathan
15.01.2020, 15:46
» Antworten: 0
» Ansichten: 377
Wemos D1 mini mit WPS-Pus...
Forum: Nützliche Funktionen
Letzter Beitrag: Gorathan
15.01.2020, 15:15
» Antworten: 0
» Ansichten: 369
LED-Lauflicht
Forum: Projekte
Letzter Beitrag: Gorathan
30.05.2019, 19:08
» Antworten: 1
» Ansichten: 1.410
DS18B20-Tester
Forum: Projekte
Letzter Beitrag: Gorathan
09.05.2019, 10:58
» Antworten: 0
» Ansichten: 815
Backofen-Thermometer
Forum: Projekte
Letzter Beitrag: Gorathan
05.05.2019, 18:42
» Antworten: 0
» Ansichten: 847
Taster entprellen
Forum: Nützliche Funktionen
Letzter Beitrag: Gorathan
26.04.2019, 18:08
» Antworten: 0
» Ansichten: 865
Anfang der Jahreszeiten b...
Forum: Nützliche Funktionen
Letzter Beitrag: Gorathan
22.04.2019, 17:39
» Antworten: 0
» Ansichten: 839

 
Information Buzzer-ISR
Geschrieben von: Gorathan - 05.04.2019, 15:36 - Forum: Nützliche Funktionen - Keine Antworten

Hier ein kleines Beispiel, wie man einen aktiven Buzzer per Timer-Interrupt ansteuern kann.
Das hat den Vorteil, dass man keine Delays und Schleifen benutzen muss. Man gibt einfach z.B. "Beep(3, 500, 200);" ein und schon werden drei Toene mit 500ms Puls- und 200ms Pausendauer abgespielt.
Weil das interruptgesteuert ist, kann man danach einfach das eigene Programm weiterlaufen lassen.
Man muss nur aufpassen, bei Programmen oder Bibliotheken, die ebenfalls den Timer1-Interrupt benutzen. Dann muss man auf einen anderen Timer-Interrupt ausweichen.

Hier mal als Fritzing-Platine:
   


Show ContentSourcecode:

Im Anhang (ZIP-Archiv) befindet sich der Sourcecode als Arduino-Sketch.



Angehängte Dateien
.zip   Buzzer-ISR.zip (Größe: 1,38 KB / Downloads: 0)
Drucke diesen Beitrag

Information Problemlösung: ESP8266 per OTA
Geschrieben von: Gorathan - 06.03.2019, 09:00 - Forum: Hilfe und Unterstützung - Keine Antworten

Jeder, der schonmal einen ESP8266 per OTA (over the air) programmiert hat, wird wohl schonmal mit dem Problem konfrontiert worden sein, dass die Arduino-IDE die IP-Adresse des ESP im Menü "Werkzeuge/Port" nicht anzeigt und somit eine Programmierung nicht möglich ist.
Im Netz findet man zahlreiche "Lösungen", wie IDE neustarten, Rechner neustarten, Netzwerk von Windows scannen lassen, ESP anpingen, etc...
Das hat bei mir alles nichts gebracht. Die IP-Adresse des ESP wollte nicht im Menü auftauchen.

Bis ich durch Zufall auf eine Methode stieß, die (bisher) immer funktionierte.
Lösung1: das WLAN im Router kurz ausschalten und dann wieder einschalten.
Danach taucht die IP-Adresse im Menü auf. Ich weiß nicht, warum das so ist bzw. was da im Hintergrund abläuft, aber es funktioniert jedes Mal. Smile

Edit: Es gibt noch eine Lösung des Problems!


Lösung2: Man installiert auf einem Smartphone (das sich im gleichen WLAN befindet) die App "Fing" und scannt damit das Netzwerk.

Danach taucht die IP-Adresse ebenfalls wieder im Menü auf. Ja, im Menü der IDE auf dem PC!
Noch ein Nachtrag: Nachdem ich das jetzt einige Tage getestet habe, gefällt mir die zweite Lösung deutlich besser und es funktioniert zuverlässig jedes Mal.
Fing starten, Netzwerk scannen und schon stehen die Ports von allen ESP (im selben Netzwerk) in der Arduino-IDE zur Verfügung.

Drucke diesen Beitrag

Information Arduino Char-Generator
Geschrieben von: Gorathan - 21.01.2019, 18:58 - Forum: Projekte - Keine Antworten

Hier ist ein kleines AutoIt-Programm, mit dem man benutzerdefinierte Zeichen für die beliebten Arduino-LCDs (16x2 oder 20x4) erstellen kann.
Man kann 4 Zeichen "zusammenpixeln" und erhält dann unten die Bitwerte, die man in die Zwischenablage kopieren und in das eigene Arduino-Programm übernehmen kann.
Ganz oben sind zwei Buttons zum löschen [0] bzw. zum setzen [1] aller Pixel. Mit den Pfeiltasten kann man die gesetzen Pixel um jeweils ein Pixel in die entsprechende Richtung verschieben.


Screenshot:
   



Angehängte Dateien
.zip   Arduino Char-Generator_v1_1.zip (Größe: 663,58 KB / Downloads: 0)
Drucke diesen Beitrag

Information Ein NewsDisplay mit AutoIt und Arduino
Geschrieben von: Gorathan - 13.01.2019, 17:21 - Forum: Projekte - Keine Antworten

Ich dachte mir, ich kombiniere mal wieder zwei meiner Hobbys (AutoIt und Arduino).
Eine kleine Arduino-Schaltung stellt ein LC-Display bereit, auf dem Meldungen angezeigt werden, die von einem AutoIt-Script verschickt werden.
Was brauchen wir an Hardware:
1. Ein Steckbrett
2. Ein Arduino Nano (oder China-Clone) reicht völlig aus
3. Ein 4x20 Zeichen LCD mit I2C-Interface (z.B. das hier: https://www.amazon.de/AZDelive…fRID=R5VCX62DR4AE9ZQ93QK9)
4. Einen von diesen kleinen PushButtons (Taster), die man gut auf das Steckbrett stecken kann.
5. Einen Piezo-Summer (siehe Fritzing-Bild oder auch diese kleinen steckbaren Piezos). Keinen Lautsprecher! Der Piezosummer muss schon beim anlegen der Spannung einen Piepton ausgeben.
6. Ein paar dieser Steckbrett-Strippen.
Kosten:
Alles zusammen geschätzte 20 - 25 € (je nachdem wo man einkauft oder ob man bereits etwas davon hat).

Ich habe mal mit Fritzing einen "Schaltplan" erstellt:
   
Das Display dort ist ein 2x16 Zeichen-Display. Wird aber ebenso über I2C angesteuert. Ist also von der Verkabelung völlig identisch. Das muss man nur in der Software anpassen.
Das obige 4x20 Zeichen-Display benutze ich und das braucht (bei eingeschalteter Hintergrundbeleuchtung) ca. 32mA. Somit kann man die ganze Schaltung noch vom Nano versorgen (über das USB-Kabel).
An der I2C-Zusatzplatine befindet sich ein kleines Poti, mit dem man den Display-Kontrast einstellen kann. Falls auf eurem Display also nichts zu sehen ist, mit einem kleinen Schraubendreher das Poti etwas verstellen.
Der PiezoSummer piept bei einer neuen Nachricht (das Display wird hell und zeigt die Nachricht) und der PushButton (Taster) ist zum bestätigen der eingetroffenen Nachricht (schaltet dann das Display wieder dunkel).

Software:
Im ZIP-Archiv "NewsDisplay_Arduino.zip" befindet sich das Programm für den Arduino (inkl, meiner PushButton-Klasse zum entprellen).
Im ZIP-Archiv "NewsDisplay_AutoIt.zip" befindet sich das AutoIt-Programm (inkl. meiner SerialComm-UDF).
Beim AutoIt-Script müsst ihr noch den COM-Port anpassen (je nachdem, welchen Port euer Nano belegt).
Die Baudrate muss in beiden Programmen gleich sein. Bei mir hat es mit hohen Baudraten (>19200) nicht funktioniert. Mit 19200 läuft es aber stabil. Zur Not könnt ihr auch auf 9600 runtergehen.
Mit 19200 Baud dauert die Übertragung von 4 Zeilen je 20 Zeichen ca. 57 ms.
Das AutoIt-Script ist wohl weitgehend selbsterklärend. Das Arduinoprogramm habe ich ausführlich kommentiert.

Ihr könnt die Programme nach euren Vorstellungen anpassen oder als Vorlage für Größeres nehmen.
Ich bin mal gespannt, auf was für Ideen ihr kommt, wofür man das Display verwenden kann. Smile 

Edit 14.01.2019:
- Das Arduino-Programm ist jetzt ohne "delay" beim Piepton.
- Man kann jetzt einstellen, wie viele Pieptoene ausgegeben werden sollen.
- Außerdem kann man die Piepton- und die Pieptonpausenzeit einstellen.
- Die interne LED (an Pin 13) blinkt jetzt zusammen mit den Pieptönen.
- Und der Arduino sendet ein "ok" zurueck, wenn die Nachricht angekommen ist.
- Auf der AutoIt-Seite habe ich noch ein AutoIt-GUI-Script als Beispiel geschrieben. Das empfängt dann auch das "ok" und zeigt es in der Statuszeile an.
- Dort kann man auch den Arduino-COM-Port aus einer Liste der vorhandenen COM-Ports auswählen (Combo-Select).

Edit 16.01.2019:
- Das neue Arduino-Programm ("NewsDisplayMulti_Arduino_v1_1.zip") kann jetzt bis zu 15 Nachrichten speichern. Mit dem Pushbutton kann man die letzte Nachricht löschen. Es wird dann die vorherige Nachricht angezeigt (falls vorhanden).
- Durch das puffern der Nachrichten kommt die I2C-LCD-Anzeige nicht mehr dazwischen und somit sind jetzt auch schnellere Schnittstellen-Geschwindigkeiten möglich (z.B. 115200 Baud).
- Wenn der Nachrichtenspeicher voll ist, wird das als Status an das AutoIt-Programm zurückgeschickt.
- Beim Start (bzw. Reset) des Nano wird nun die Versionsnummer, die Schnittstellengeschwindigkeit und die Anzahl der speicherbaren Nachrichten angezeigt.
- Im neuen AutoIt-Programm ("NewsDisplay_AutoIt_v1_1.zip") kann man nun auch die Schnittstellengeschwindigkeit auswählen.
- Außerdem zeigt es die neuen Statusmeldungen an, sowie die Übertragungsdauer (in ms).



Angehängte Dateien
.zip   NewsDisplay_AutoIt.zip (Größe: 4,2 KB / Downloads: 1)
.zip   NewsDisplay_Arduino.zip (Größe: 3,3 KB / Downloads: 1)
.zip   NewsDisplay_AutoIt_v1_1.zip (Größe: 4,35 KB / Downloads: 2)
.zip   NewsDisplayMulti_Arduino_v1_1.zip (Größe: 4,21 KB / Downloads: 2)
Drucke diesen Beitrag

Information GIF-Animation mit den neuen AutoIt-Funktionen
Geschrieben von: Gorathan - 06.01.2019, 16:38 - Forum: Scripte - Keine Antworten

Seit der AutoIt-Version 3.3.14.3 (glaube ich) gibt es ja ein paar zusätzliche GDI+ Funktionen.
Damit kann man ganz gut GIF-Animationen in eigenen GUIs nutzen. Bei dem Beispielscript (siehe Anhang) habe ich mal das transparente GIF aus dem alten Thread über ein Hintergrundbild gelegt.
Außerdem wird es jetzt mit "_WinAPI_BitBlt" in die GUI geblittet. Das ist noch etwas schneller.
Es gibt auch noch einen Pause-Button und im Pause-Modus dann einen Einzelschrittmodus. Zusätzlich wird die Größe und die Anzahl der GIF-Frames angezeigt, sowie die Durchschnittszeit, die AutoIt braucht, um den Frame anzuzeigen.
Auf meinem Rechner sind das ca. 14ms pro Frame.
Die GIF-Animation und das Hintergrundbild befinden sich BASE64-kodiert am Ende des Scripts.



Angehängte Dateien
.au3   GIF-Anim.au3 (Größe: 688,16 KB / Downloads: 7)
Drucke diesen Beitrag

Information Flash-Test
Geschrieben von: Gorathan - 29.12.2018, 18:32 - Forum: Projekte - Keine Antworten

Bei diesem Script handelt es sich um ein Programm, zum testen von Flash-RAM (USB-Sticks, SD-Karten, SSDs), aber auch von Festplatten.

Wichtiger Hinweis:
Das Fenster kann während des Tests nicht bewegt werden! Während der Bewegung würde die Ausführung des Scripts blockiert werden und somit zu falschen Messwerten führen.
Auch sonst sollte während des Tests nicht so viel im Hintergrund laufen. Mein Programm läuft zwar mit Priorität "Hoch", aber gleichzeitige Zugriffe auf das zu testende Laufwerk führen zu falschen Messwerten.

21.12.2018 Neu! Version 1.0.0,0 (als Anhang)
Die erste richtige Version ist jetzt fertig (keine Beta-Version mehr)!
Das Projekt besteht jetzt aus zwei Programmen ("FlashTest" und "FlashTest-Viewer"). Beide als 32- und als 64-Bit-Version.
"FlashTest" ist das eigentliche Programm zum testen der Laufwerke. "FlashTest-Viewer" zeigt das Test-Ergebnis an und kann das Ergebnis als "Text", als "HTML" oder als "HTML + Grafik" speichern. Die Grafik kann dabei in der Größe frei gewählt werden.
Weil es jetzt eine 32 und eine 64-Bit-Version gibt, deren Testdateien nicht miteinander kompatibel sind, werden die Testdateien mit unterschiedlichen Dateiendungen benannt (.ft32 und .ft64). Das Testergebnis wird mit der Dateiendung ".ftr" gespeichert (im "results"-Unterverzeichnis).
Es gibt jetzt am unteren Fensterrand eine CPU-Auslastung und eine RAM-Belegung, damit man in etwa abschätzen kann, ob das Ergebnis plausibel ist. Wenn die CPU-Auslastung und/oder die RAM-Belegung dauernd bei 100% sind, dann werden die Messwerte für das Laufwerk nicht korrekt sein.
Während der Test läuft, kann man das Fenster jetzt nicht verschieben (habe ich blockiert, es erscheint dann ein Warnhinweis), damit die Ausführung des Scripts nicht angehalten wird.

29.12.2018 Neu! Version 1.1.0.0 (als Anhang)
Diese Version ist jetzt eine Multiprozessing-Version. Das Hauptprogramm startet ein Slave-Programm, welches dann die Schreib-/Leseoperationen durchführt.
Da führte kein Weg drumherum, weil die Schreib-/Leseoperationen das übrige Script ausgebremst haben. Bei schnellen Testlaufwerken (>64 MB/s) hat man das nicht so gemerkt, aber bei langsamen Laufwerken ruckelte die CPU-Anzeige und es erschien oft die Windows-Sanduhr, weil das Programm quasi "hing".
Ein kleinerer Buffer hatte das Problem zwar auch verringert, aber dann sank auch die Transferrate.
Jedenfalls übernimmt nun ein zweiter Prozess das Ganze. Ich habe viel herumexperimentiert, wie ich die Interprozesskommunikation löse. Unsichtbare Edits, TCP und NamedPipe, alles lief nicht richtig rund, weil der eine Prozess auf den Anderen warten musste.
Bis ich auf die MailSlot-UDF von "trancexx" stieß. Damit war es dann ganz einfach.
Somit gibt es jetzt drei Programme (das Hauptprogramm "FLashTest.exe", das Slaveprogramm "Flashtest-Slave.exe", sowie das Auswerteprogramm "FlashTest-Viewer.exe") und diese drei Programme nochmal als x64-Variante.

06.02.2020 Neu! Version 1.2.0.0 (als Anhang)
Es gibt nur eine kleine Änderung. Beim auswählen des Laufwerks wird jetzt zusätzlich die Modellbezeichnung ausgelesen und mit angezeigt.
Das ist hilfreich, wenn man z.B. mehrere USB-Sticks mit gleicher Größe hat. Dann kann man anhand der Modellbezeichnung diese unterscheiden.

07.02.2020 Neu! Version 1.3.0.0 (als Anhang)
Bug behoben: Der Bustyp wurde bei neueren Laufwerken (die z.B. mit NVMe angeschlossen sind) zwar ausgelesen, aber die Einträge gab es im Array nicht, sodass ein Zugriff auf ein nicht existierendes Array-Element erfolgte, was in einem Absturz des Programms endete.
Vielen Dank an UEZ für die Hilfe bei der Beseitigung des Fehlers!

08.02.2020 Neu! Version 1.4.0.0 (als Anhang)
Ok, wenn ich das Programm schonmal wieder neu bearbeite, dann werden noch ein paar Kleinigkeiten bereinigt:
- Beschriftung für den Speicherplatz geändert in: "Speicherplatz für den Schreibtest"
- Beim Button "Nur Lesetest" steht jetzt die Größe der Testdaten dahinter
- Die CPU-Prozentanzeige etwas "beruhigt" (Mittelwert von drei Messungen)
- RAM-Belegung auf 1 MB gerundet, damit die Anzeige nicht so oft neu gezeichnet wird
- Das einlesen vom Laufwerksmodell geht jetzt viel schneller (keine Wartesekunde mehr beim umschalten des Laufwerks)
- Es gibt jetzt einen Button "Viewer starten", mit dem man den FlashTest-Viewer starten kann

Anleitung:
Mit der Combobox oben links wählt man das zu testende Laufwerk aus. Es werden dann einige Laufwerksinformationen angezeigt (rechts).
Bei "Test-Speicherplatz" kann man auswählen, ob der gesamte freie Speicher (nur volle GigaByte) oder nur eine bestimmte Anzahl an GigaByte getestet werden sollen.
Es gibt jetzt zwei Start-Buttons. Einmal "Schreib-/Lesetest" und einmal "Nur Lesetest". Der Button "Nur Lesetest" ist nur dann aktiviert, wenn sich auf dem Laufwerk bereits Testdateien befinden.
Man kann damit dann die vorhandenen Dateien ein weiteres Mal testen.

Links davon wird der Fortschritt angezeigt und unten eine Grafik über den Testverlauf. Rechts neben der Grafik wird noch der Maximal-, der Durchschnitts- und der Minimalwert angezeigt.
Beim Schreiben werden immer 1 GB große Dateien auf dem Laufwerk geschrieben. Diese Dateien enthalten bestimmte Bytefolgen, die beim auslesen überprüft werden.
Achtung! Sollten dabei Fehler auftreten, ist entweder der Datenträger defekt oder es handelt sich um eine Fälschung (die Kapazitätsangabe ist größer als das tatsächlich vorhandene Flash-RAM).

Ganz rechts befindet sich der "Testbericht". Dort wird eine Zusammenfassung der Meldungen des Scripts angezeigt. Dieser Testbericht wird am Ende des Tests gespeichert und zwar in einem Unterverzeichnis ("results") von dem Scriptverzeichnis.
Der Testbericht bekommt als Dateinamen das Datum und die Uhrzeit im Format: "yyyy_mm_dd__HH_MM_SS.ft" zugewiesen.

Screenshots:
           



Angehängte Dateien
.zip   FlashTest_v1_4_0_0.zip (Größe: 4,16 MB / Downloads: 2)
Drucke diesen Beitrag

Information Frohe Weihnachten und ein glückliches neues Jahr
Geschrieben von: Gorathan - 28.12.2018, 14:20 - Forum: Scripte - Antworten (1)

Ich wünsche euch allen ein frohes Weihnachtsfest (Ja, schon zu spät Big Grin ) und ein glückliches neues Jahr!
Dafür gibt es von mir ein, ausführlich kommentiertes, AutoIt-Script, damit AutoIt-Anfänger etwas lernen können.



Angehängte Dateien
.au3   BestWishes_GDI+.au3 (Größe: 5,21 KB / Downloads: 3)
Drucke diesen Beitrag

Information BitOperations64
Geschrieben von: Gorathan - 23.12.2018, 20:23 - Forum: Scripte - Keine Antworten

Diese kleine UDF enthält 8 Funktionen (BitAND, BitOR, BitNOT, BitROL, BitROR, BitSHL, BitSHR, BitXOR) zum bearbeiten von Integerzahlen im 64-Bit-Format.
Das sind 8 Assembler-Funktionen, die da aufgerufen werden. Das AutoIt-Script muss aber im 64-Bit-Modus laufen (siehe Example).

Edit 26.12.2018: Neue Version
- Bei AND, OR und XOR können nun bis zu 8 Parameter direkt im Funktionsaufruf übergeben werden. Wer mehr Parameter benötigt, muss sie als Array in Parameter Eins übergeben.
- Es gibt jetzt noch zwei Hilfsfunktionen "_BitRotate64" und "_BitShift64" in Anlehnung an die originalen Funktionen. Allerdings einheitlich (im Gegensatz zu den originalen Funktionen): mit negativen Werten nach links und positiven Werten nach rechts.

Edit 27.12.2018: Neue Version
- OnAutoItExitRegister erst nach der Deklaration der globalen Variablen
- Die Anforderung des Speichers geschieht jetzt in einer Funktion: "__BitOp64OnStart"
- Fehler behoben bei "_BitRotate64" und "_BitShift64", wenn 0 für Rotate oder Shift übergeben wurde.
- Fehler behoben bei "_BitROx64" und "_BitSHx64". Der Parameter-Aufruf war falsch rum.
- Das Beispiel-Script komplett überarbeitet und aufgeräumt.



Angehängte Dateien
.au3   BitOperations64_example.au3 (Größe: 2,94 KB / Downloads: 2)
.au3   BitOperations64.au3 (Größe: 11,57 KB / Downloads: 2)
Drucke diesen Beitrag

Information Stoppuhr
Geschrieben von: Gorathan - 29.11.2018, 18:59 - Forum: Scripte - Keine Antworten

Eine Stoppuhr (Stunden:Minuten:Sekunden Millisekunden), deren Ziffern einzeln angesteuert werden, damit die Anzeige nicht flackert.
Und damit das Ganze etwas schöner aussieht habe ich einen 7-Segment-Font für die Anzeige verwendet.
Screenshot:
   



Angehängte Dateien
.au3   Stoppuhr.au3 (Größe: 18 KB / Downloads: 4)
Drucke diesen Beitrag

Information MasterCode
Geschrieben von: Gorathan - 24.09.2018, 14:53 - Forum: Projekte - Keine Antworten

Ich habe mal wieder ein kleines Spiel programmiert. Einen MasterMind-Clone.
Ich nenne es MasterCode. Falls das Spiel nicht bekannt ist, hier die

Spielregeln:
Bei Spielstart generiert das Programm einen 4stelligen Code aus 6 Farben (Doppelte sind erlaubt). Diese sind ganz oben zu sehen (natürlich erstmal verdeckt).
Der Spieler muss nun versuchen diesen Code zu erraten. Dazu kann er mit den Buttons am unteren Spielfeldrand einen Code eingeben.
Wenn man versehentlich eine "falsche" Farbe angeklickt hat, so gibt es den "Undo"-Button auf der rechten Seite, mit der man die letzte Eingabe zurücknehmen kann.
Sind die 4 Felder gefüllt, erscheint ein "Haken"-Button, den man zur Bestätigung des Code anklicken muss.
Nach der Bestätigung wertet das Programm die Spieler-Eingabe aus. Für jede richtige Farbe, die dazu am richtigen Platz steht, bekommt man einen schwarzen Pin. Für jede richtige Farbe, die aber am falschen Platz steht, bekommt man einen weißen Pin.
Kein Pin heißt, alle Farben sind falsch. Vier schwarze Pins markieren das Spielende (logischerweise), denn dann hat man den Code ja erraten.
Insgesamt hat man 12 Versuche. Wenn man den Code bis dahin nicht erraten hat, hat man das Spiel verloren.

Das Spiel passt sich automatisch in der Größe dem Monitor an, von dem es gestartet wird (Mausposition).
Ich habe das mit diversen Auflösungen getestet (von 640x480 bis 2560x1440). Es sollte aber auch mit noch höheren Auflösungen funktionieren. Bei den niedrigen Auflösungen sieht das Ganze nicht so schön aus, weil die Grafiken alle extrem runterskaliert werden müssen.
Aber ich denke, dass die meisten wohl über Monitore von 1024x768 und darüber verfügen werden.

Screenshot:
   

Im ZIP-Archiv (Anhang) findet ihr das Script, sowie alle benötigten Includes. Die Grafiken sind wieder BASE64-Codiert in "Ressources.au3".



Angehängte Dateien
.zip   MasterCode_v1_0_0_0.zip (Größe: 3,28 MB / Downloads: 1)
Drucke diesen Beitrag