Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Auswahl Problem -Sudokufeld

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
qbprogger



Anmeldungsdatum: 13.05.2008
Beiträge: 49
Wohnort: Kirchlinteln

BeitragVerfasst am: 01.06.2008, 13:56    Titel: Auswahl Problem -Sudokufeld Antworten mit Zitat

Hallo,
ich hab wieder Probleme mit dem Sudoku!!! verlegen
Denn jetzt muss man die Koordinaten per Tastatur eingeben
aber mit Maus oder den Pfeiltasten wäre es natürlich einfacher!
Maus hab ich schon probiert klappt nicht wirklich(da muss man dann ja alle 81 Feldkoordinaten hinterlegen) missbilligen .
Pfeiltasten das wäre gut!!!
Wisst ihr da etwas??
Wenn ja dann Danke!!
_________________
Proggen macht Spaß!!!
happy happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 01.06.2008, 14:13    Titel: Antworten mit Zitat

Hallo

Das mit den Pfeiltasten, wurde schon ca. 1 Million mal gefragt und beantwortet. Versuche es mal mit der Suchfunktion oder mit der Monster-FAQ auf www.qbasic.de:

http://www.antonis.de/faq/QBMonFAQ-Dateien/1198108394.html

Bei einer Maussteuerung brauchst du auch nicht alle 81 Feldkoordinaten hinterlegen, sonder nur die Eckkoordinaten des Spielfeldes von der x- und y-Mausposition abziehen und den Rest jeweils durch 9 Teilen. Schon weißt du, ob und wenn ja wo der Pfeil im Spielfeld ist. Speichern brauchst du dazu nur Eckkordinaten und Spielfeldbreite bzw. -höhe (wird ja quadratisch sein).

Gruß
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
b3ast



Anmeldungsdatum: 27.04.2008
Beiträge: 34

BeitragVerfasst am: 01.06.2008, 14:53    Titel: Antworten mit Zitat

ich würde einfach einen kasten machen mit 9x9 feldern, mit einem etwas kleineren kasten navigierst du in deinen feldern (mit den cursortasten) und kannst mit + und - die zahlen verändern.
das spielfeld zeichnest du mit dem line befehl, genauso wie deinen auswahlkasten.
die variablen legst du dabei als variablenfeld mit dim(x,y) an.

beispiel für kastenzeichnung:
line (x,y)-(x,y),1,b

für die steuerung gehst du in eine do:loop schleife und lässt dort deinen kasten navigieren.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
qbprogger



Anmeldungsdatum: 13.05.2008
Beiträge: 49
Wohnort: Kirchlinteln

BeitragVerfasst am: 02.06.2008, 14:14    Titel: Antworten mit Zitat

Hi,
eure Ideen helfen mir nicht viel weiter,
denn irgendweshalb SIND DIE FELDER NICHT GLEICHGROSS!
Keine Ahnung weshalb...
Ach ja und die Sache mit der Maussteuerung versteh ich auch
nicht!! mit dem Kopf durch die Mauer wollen
_________________
Proggen macht Spaß!!!
happy happy


Zuletzt bearbeitet von qbprogger am 03.06.2008, 18:16, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4701
Wohnort: ~/

BeitragVerfasst am: 03.06.2008, 00:36    Titel: Antworten mit Zitat

qbprogger hat Folgendes geschrieben:
denn irgendweshalb SIND DIE FELDER NICHT GLEICHGROSS!
Keine Ahnung weshalb...

Ich auch nicht ... ein Stückchen Quellcode könnte da vielleicht weiterhelfen.
Ich persönlich bevorzuge ja
Code:
LINE (startX, startY) - STEP (laenge, breite)

_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 03.06.2008, 23:07    Titel: Antworten mit Zitat

Aus langeweile hab ich mal schnell ein Sudoko-Demoprogramm geschrieben, dass aber rein den Aufbau der Spiels (Spielfeld + Zahlen) und die Mausaktionen (Zahl erhöhen/erniedrigen/zurücksetzen) beherrscht. Es besitzt noch keine Spiellogik, aber vielleicht dient es dir ja mal als Hilfe für den Aufbau deiner Programmoberfläche. Download: http://swurzinger.sw.funpic.de/files/sudoku.zip

Zum Lösen deiner Sudokus kannst du z.B. Dreael's Sudoku-Knacker als Anregung benutzen (siehe: http://forum.qbasic.at/viewtopic.php?t=2141).

Fallst du etwas Ahnung von Visual Basic hast, kann ich dir den frei verfügbaren Quellcode zum Buch "Programming Sudoku" von Apress empfehlen. Dort findest du ein komplettes Sudoku-Programm, geschrieben in Visual Basic, gratis zum Download: http://www.apress.com/book/downloadfile/2685

LG, St_W
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
qbprogger



Anmeldungsdatum: 13.05.2008
Beiträge: 49
Wohnort: Kirchlinteln

BeitragVerfasst am: 04.06.2008, 16:03    Titel: Antworten mit Zitat

Hey ,
super Nemored und St_W ihr hab mir echt geholfen.
St_W aus der Sache mit Visual Basic wird nichts ,
ich versteh die Befehle einfach nicht.
Die Lösung hatte ich schon so programmiert.
lächeln lächeln

Ach ja soll ich das Programm mal posten wenns fertig ist?
_________________
Proggen macht Spaß!!!
happy happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 04.06.2008, 19:52    Titel: Antworten mit Zitat

Zitat:
Ach ja soll ich das Programm mal posten wenns fertig ist?


Ja, bitte, bin schon gespannt wie es aussieht und fuktioniert

LG St_W
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
qbprogger



Anmeldungsdatum: 13.05.2008
Beiträge: 49
Wohnort: Kirchlinteln

BeitragVerfasst am: 06.06.2008, 17:09    Titel: Antworten mit Zitat

Oh,
es gibt da noch ein Problem!!
St_W wie gebe ich an welche Zahlen fest und welche veränderbar sind?
Bei mir sind nähmlich immer alle fest.
weinen
_________________
Proggen macht Spaß!!!
happy happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 06.06.2008, 22:48    Titel: Antworten mit Zitat

In meinem Beispiel-Programm (siehe mein voriger Beitrag) habe ich dieses Problem durch Setzten eines bestimmten Bits in der Zahl gelöst:

Da nur Zahlen von 1 bis 9 vorkommen können und ich 0 für den Status "unbelegt" verwendet habe können nur folgene Zahlen vorkommen:
Code:
Dezimal   Binär     |    mit gesetztem 5.Bit: Binär
0         00000000            00100000
1         00000001            00100001
2         00000010            00100010
3         00000011            00100011
...            ...                 ...
8         00001000            00101000
9         00001001            00101001

Für Zahlen, die nicht verändert werden können setzte ich einfach das 5.Bit (2^5 = 32) mit dem Befehl
Code:
Zahl = Zahl OR 32
. Mit dem Befehl
Code:
Zahl = Zahl AND (NOT 32)
kann ich das 5.Bit wieder löschen, und somit den Wert der Zahl herausfinden, den ich dann im Sudokufeld ausgebe. Wenn der Benutzer dann auf eine Zahl klickt, um diese zu verändern, prüfe ich zuvor mit
Code:
IF NOT (Zahl AND 32) THEN
'...Befehle zum auswerten des Mausklicks...
END IF
ob die Zahl veränderbar ist. Die Befehle in der obigen IF-Abfrage werden nur ausgeführt, wenn das 5.Bit NICHT gesetzt ist (entspricht in meiner Verwendung: Wert ist veränderbar)

_______________________________________________________________

Falls dir die obige Lösung zu kompliziert / aufwendig ist, kannst du alternativ auch ein zweites Array erstellen, in welchem du die Veränderungsberechtigung abspeicherst (z.B 0 für nicht veränderbar, <>0 für veränderbar)


LG, St_W
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
qbprogger



Anmeldungsdatum: 13.05.2008
Beiträge: 49
Wohnort: Kirchlinteln

BeitragVerfasst am: 07.06.2008, 10:16    Titel: Antworten mit Zitat

grinsen Danke es läuft klassse!!! happy happy
Sag mal wie hast du diese Zeichen für das Wort SUDOKU in die
Print Anweisung gesteckt???
Ich hab nähmlich ausversehen eins gelöscht...
_________________
Proggen macht Spaß!!!
happy happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 07.06.2008, 12:45    Titel: Antworten mit Zitat

Unter QuickBasic 4.5 findest du eine Übersicht aller ASCII-Codes in der Hilfe unter "ASCII-Zeichencodes" in der Thementabelle. Dort kannst du das Zeichen
    - entweder Kopieren (STRG+EINFG) und im Quellcode einfügen (Umschalt+EINFG)
    - oder dir den Zeichencode merken (in diesem Fall 219) und mit gedrückter ALT-Taste die Code-Nr. am Nummernblock eingeben. Nach Auslassen der ALT-Taste erscheint dann das Zeichen.

LG, St_W
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
qbprogger



Anmeldungsdatum: 13.05.2008
Beiträge: 49
Wohnort: Kirchlinteln

BeitragVerfasst am: 13.06.2008, 15:32    Titel: Antworten mit Zitat

geschockt Ich wollt gerad das Sudoku-Spiel in eine Exe Datei umwandeln,
aber QB sagt das deine TYPE Anweisung falsch verschachtelt ist!! geschockt weinen
Weist du wie das kommt???

Schon gemerkt!!!
_________________
Proggen macht Spaß!!!
happy happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
qbprogger



Anmeldungsdatum: 13.05.2008
Beiträge: 49
Wohnort: Kirchlinteln

BeitragVerfasst am: 13.06.2008, 15:47    Titel: Antworten mit Zitat

Zitat:
Schon gemerkt!!!

Hey !!
Wieso kann ich nicht COMMAND$ abfragen und danach
etwas TYPE´N???
_________________
Proggen macht Spaß!!!
happy happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 13.06.2008, 20:13    Titel: Antworten mit Zitat

qbprogger hat Folgendes geschrieben:
Wieso kann ich nicht COMMAND$ abfragen und danach etwas TYPE´N???

Ganz einfach: TYPE ist eine deklarative Anweisung ähnlich DIM, OPTION BASE, DEFxxx und DECLARE SUB, die der Compiler bzw. Interpreter immer am Anfang erwartet, während die Auswertung von COMMAND$ bereits zum ausführenden Code (=hier beginnt eigentlich das eigentliche Programm abzulaufen) darstellt.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
qbprogger



Anmeldungsdatum: 13.05.2008
Beiträge: 49
Wohnort: Kirchlinteln

BeitragVerfasst am: 13.06.2008, 21:09    Titel: Antworten mit Zitat

Gut setzte ich das einfach nach TYPE.
Zitat:
die der Compiler bzw. Interpreter immer am Anfang erwartet

Aber im Interpreter funst das. zwinkern
Trotzdem Danke!
_________________
Proggen macht Spaß!!!
happy happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
qbprogger



Anmeldungsdatum: 13.05.2008
Beiträge: 49
Wohnort: Kirchlinteln

BeitragVerfasst am: 28.06.2008, 19:32    Titel: Endlich ist es fertig!!! Antworten mit Zitat

Yahooo!!!! Das Programm läuft echt super!!!! vor Freude klatschen
happy happy happy happy happy happy happy happy happy happy happy

Ich hab es hier zum Download publiziert. Seht es euch an.
_________________
Proggen macht Spaß!!!
happy happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz