Zahlenratenspiel

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Freakie3
Beiträge: 7
Registriert: Do 12. Apr 2012, 23:05

Zahlenratenspiel

Beitrag von Freakie3 »

Hallo liebe angehörige des Forums,
Ich wollte mit programmieren anfangen und da
Jetzt mein kleiner Sohn Geburtstag hat, wollte ich
Ihm ein kleines Zahlenratenspiel programmieren,
Bei welchem man zuerst ein zahlenbereich bestimmt
Zwischen welchem die gesuchte Zahl liegen soll.
Z.B von 1-10
Nun muss der Computer eine zufallszahl zwiscchen 1-10
denken.
Sagen wir die Zahl wäre 5 und würde ich 6 eingeben sollte die
Meldung ,,Zahl zu groß'' sollte ich z.B die 4 wählen sollte die Meldung
,,Zahl zu klein kommen'' und bei der richtigen Zahl ,,Treffer''.
Nun hab ich aber das Problem das ich nicht weiß wie man das macht,
Also Leute ich hoffe das ihr mir helfen könnt.
M.f.G Ich

carli
Beiträge: 657
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: Zahlenratenspiel

Beitrag von carli »

Tolle Geschichte, die Sache mit dem Sohn.

Aber bei Hausaufgaben helfen wir dir trotzdem nicht.

Freakie3
Beiträge: 7
Registriert: Do 12. Apr 2012, 23:05

Re: Zahlenratenspiel

Beitrag von Freakie3 »

Es handelt sich hierbei um keine Hausaufgabe.

Benutzeravatar
theo
Beiträge: 10904
Registriert: Mo 11. Sep 2006, 19:01

Re: Zahlenratenspiel

Beitrag von theo »

Freakie3 hat geschrieben:Es handelt sich hierbei um keine Hausaufgabe.
Sondern?
Die Geschichte ist einfach nicht so gut. Keiner fängt mit dem Programmieren an, weil sein Sohn Geburtstag hat und er ihm ein "Lektion1 - Spiel" programmieren will, zumal wenn er es dann nicht mal versucht, sondern den Job gleich ins Forum weiterleitet.

Freakie3
Beiträge: 7
Registriert: Do 12. Apr 2012, 23:05

Re: Zahlenratenspiel

Beitrag von Freakie3 »

Ich hab es versucht, die Spieloberfläche ist fertig,
aber ich weiß die Formeln nicht, damit man das Spiel
machen kann.

Benutzeravatar
theo
Beiträge: 10904
Registriert: Mo 11. Sep 2006, 19:01

Re: Zahlenratenspiel

Beitrag von theo »

Freakie3 hat geschrieben:Ich hab es versucht, die Spieloberfläche ist fertig,
aber ich weiß die Formeln nicht, damit man das Spiel
machen kann.
Formeln wofür?
Hänge doch mal deine bisherige Arbeit an.

Freakie3
Beiträge: 7
Registriert: Do 12. Apr 2012, 23:05

Re: Zahlenratenspiel

Beitrag von Freakie3 »

Ich hab halt schon alle Buttons und Labels eingefügt,
aber ich weiß nicht was ich eingeben muss damit man das
Jetzt spielen kann.

Benutzeravatar
theo
Beiträge: 10904
Registriert: Mo 11. Sep 2006, 19:01

Re: Zahlenratenspiel

Beitrag von theo »

Schau mal hier, ist fast gleich wie Lazarus: http://www.delphi-treff.de/tutorials/grundlagen/" onclick="window.open(this.href);return false;

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1629
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Zahlenratenspiel

Beitrag von corpsman »

Der Allgorithmus den du damit deinem "Sohn" beibringst ist die Intervallschachtelung diese findet in [latex]$log_{2}(n)$[\latex] vielen Schritten deine Zahl...
--
Just try it

bembulak
Beiträge: 370
Registriert: Di 6. Feb 2007, 09:29
OS, Lazarus, FPC: L0.9.29 SVN:24607 FPC 2.4.0-32 bit @ Win XP SP3
CPU-Target: 32bit i386, ARM
Wohnort: Oberösterreich

Re: Zahlenratenspiel

Beitrag von bembulak »

@Freakie3:
hast du denn überhaupt jemals vorher programmiert? Ich meine, weißt du denn wie Lazarus überhaupt funktioniert? Dass du deine Oberfläche (GUI) schon 'gemalt' hast ist in dem Fall schon der erste Schritt. Aber weißt du denn wie du die ganze Sache verwirklichen kannst?
Hast du schon Anfängertutorials gelesen, in denen erklärt wird, wie so ein Programm abläuft, was Verzweigungen, Schleifen, Variablen, etc. sind? Denn ohne dieses Wissen sieht's schlecht aus.

Vielleicht hast du ja vor ein paar Euro zu investieren (denn persönlich finde ich die unzähligen Online-Tutoriale nicht sehr gut, da sie oft nicht in sich geschlossen sind und die Autoren entweder die Lust verlieren oder ihnen die Gabe fehlt die Information an Neulinge entsprechend zu vermitteln, sondern eher für Umsteiger schreiben), dann kann ich dir "Delphi for Kids" empfehlen. Ein nettes, kleines Buch in dem gleich in einem der ersten Kapitel genau so ein Zahlenratespiel verwirklicht wird.

Link: http://www.amazon.de/Delphi-f%C3%BCr-Ki ... 492&sr=8-1" onclick="window.open(this.href);return false;

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Zahlenratenspiel

Beitrag von MAC »

Also zu allererst.
Das ist ein super Beispiel, so gut das dieses Programm bestimmt 1000 mal im internet behandelt wurde, ein einfaches googlen nach "Zahlen Raten Delphi" würde zum Erfolg helfen.

Ich werde es hier mal ganz kurz zusamenfassen. Wahrscheinlich wird dir als Programmieranfänger das aber nicht so viel bringen.
Du brauchst 2 Buttons , 1 Edit und 1 Label. (1. Computer soll sich eine Zahl ausdenken Button 2. Zahl Raten Butten 3 . Zahl Raten Eingabe 4. Anzeige Label)
Du erstellst ein OnClick Ereignis des 1. Buttons und sagst der PC soll eine Zufallszahl erstellen und speichern

Code: Alles auswählen

randomize; // Zufallsgenerator neu einstellen
PCZufallszahl := random(10)+1 // Random(10) gibt eine Zahl von 0 bis 9 . Wenn wir die um 1 Addieren sind wir richtig
Da steht jetzt nicht wie wir die Variable deklarieren aber hier wurden genug links genannt um sich das selbst beizubringen (ich will jetzt auch keine 2 Seiten schreiben)
Im 2ten Button auch ein onClick Ereignis erzeugen und dort rein:

Code: Alles auswählen

if PCZufallszahl = StrtoInt(Edit1.Text) then Label1.Text := 'Hurra';
Natürlich müssen so 3 leicht modifizierte Abfragen erstellt werden, das sollte aber kein problem sein.

Edit: danke pluto, Fehler korrigiert.
Zuletzt geändert von MAC am So 15. Apr 2012, 14:40, insgesamt 2-mal geändert.

Code: Alles auswählen

Signatur := nil;

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Zahlenratenspiel

Beitrag von pluto »

if PCZufallszahl < StrtoInt(Edit1.Text) then Label1.Text := 'Zu klein;
Warum <? muss das nicht = heißen?

hinzufügen könnte man noch folgendes:
if PCZufallszahl < StrtoInt(Edit1.Text) then Label1.Text := 'Zu klein;
if PCZufallszahl > StrtoInt(Edit1.Text) then Label1.Text := 'Zu Groß;
if PCZufallszahl = StrtoInt(Edit1.Text) then Label1.Text := 'gefunden;
MFG
Michael Springwald

carli
Beiträge: 657
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: Zahlenratenspiel

Beitrag von carli »

Jetzt lasst ihn doch in Ruhe,
Er hat mitbekommen, dass sein Trick nicht funktioniert und die eine Woche zur Bearbeitung der Hausaufgabe ist sicherlich vorbei.
Falls er trotzdem Interesse an der Lösung hat, kann er ja einfach die Suchanfrage "Zahlenraten Delphi" ausführen, oder müssen wir da so viel Zeit rein verschwenden?

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Zahlenratenspiel

Beitrag von pluto »

Ich wollte es "nur" richtig stellen mehr nicht... So eine Behandlung hat keiner verdient... Nachher wird der Thread noch mit Google gefunden und der, der ihn gefunden hat Ärgert sich... dass muss nicht sein.
MFG
Michael Springwald

Freakie3
Beiträge: 7
Registriert: Do 12. Apr 2012, 23:05

Re: Zahlenratenspiel

Beitrag von Freakie3 »

Ich verstehe das immernoch nicht :roll: .
Könnte jemand vielleicht einen Quelltext uploaden ?
Wäre echt nett.

Antworten