Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Ratezahl 2 Delphi (leicht) (https://www.delphipraxis.net/102653-ratezahl-2-delphi-leicht.html)

andiak 1. Nov 2007 20:33


Ratezahl 2 Delphi (leicht)
 
Ich schätze mal für euch ist es recht leicht sowas zu machen ,also wenn man es kann^^
Hier ist erstmal mein Ratespiel
www.andiak.ultimate-music.de/RateZahl.rar

Daran werdet ihr sehen das wir noch ganz am anfang sind.
grade mit if anweisungen angefangen.
Jetzt muss ich drei aufgaben hinzufügen vieleicht könnt ihr mir ja helfen

1. Anzahl der benötigten Versuche anzeigen
2.Zur besseren unterstüzung beim raten soll auf einem weiteren panel die botschaft kalt warm heiß usw erscheinen je nachdem wie nahe man an der zahl dran ist
3. Bei mehr als 10 versuchen soll das programm die lösung ausgeben und das weiterraten verweigern


Könnt ihr mir bitte helfen?

mkinzler 1. Nov 2007 20:40

Re: Ratezahl 2 Delphi (leicht)
 
Zitat:

1. Anzahl der benötigten Versuche anzeigen
Einfach Variabel hochzählen.
Zitat:

2.Zur besseren unterstüzung beim raten soll auf einem weiteren panel die botschaft kalt warm heiß usw erscheinen je nachdem wie nahe man an der zahl dran ist
Eingegebene von der gesuchten zahl abziehen und dann die Abweichung Auswerten.
Zitat:

3. Bei mehr als 10 versuchen soll das programm die lösung ausgeben und das weiterraten verweigern
Zählvariable aus 1. Auswerten.

dominikkv 1. Nov 2007 20:41

Re: Ratezahl 2 Delphi (leicht)
 
1: immer wenn du auf "Raten" klickst eine Variable hochzählen, bei erraten ausgeben und auf 0 setzen
2: du kannst ja schauen ob richtigeZahl-GerateneZahl > 10 usw ist
3: wie bei 1) nur wenn variable = 10 dann...

cran7 1. Nov 2007 20:45

Re: Ratezahl 2 Delphi (leicht)
 
du könntest bei dem raten button folgendes einfügen:

Delphi-Quellcode:


var
 count : integer;
begin
// dein zeug
 count := count + 1
 if count = x then // für x kannst du einfügen wieviel versuche
 // was du dann machn willst

dominikkv 1. Nov 2007 20:49

Re: Ratezahl 2 Delphi (leicht)
 
Zitat:

Zitat von cran7
du könntest bei dem raten button folgendes einfügen:

Delphi-Quellcode:


var
 count : integer;
begin
// dein zeug
 count := count + 1
 if count = x then // für x kannst du einfügen wieviel versuche
 // was du dann machn willst

nö -.-
du deklarierst hier ne lokale variable :zwinker:

leddl 1. Nov 2007 20:52

Re: Ratezahl 2 Delphi (leicht)
 
Zitat:

Zitat von cran7
du könntest bei dem raten button folgendes einfügen:

Delphi-Quellcode:


var
 count : integer;
begin
// dein zeug
 count := count + 1
 if count = x then // für x kannst du einfügen wieviel versuche
 // was du dann machn willst

Genau, und dann darf er sich wundern, warum da irgendein Quatsch rauskommt und das nie auch nur annähernd funktioniert :lol:
Zum ersten wird count nirgendwo initialisiert, kann also theoretisch alles sein ;) Und zum zweiten: selbst wenn wir mal davon ausgehen, dass count 0 ist, wird die Abfrage nur dann true ergeben, wenn x=1 ist ;) schließlich ist count nur lokal definiert :zwinker:

andiak 1. Nov 2007 20:53

Re: Ratezahl 2 Delphi (leicht)
 
öhm ich kann mir daraus nicht besonders viel vorstellen wie mach ich das denn nun? kann mir das einer erklärren oder in meiner beispiel datei zeigen?
Ich bin noch ein ziemlicher noob in der ganzen sache

mkinzler 1. Nov 2007 20:57

Re: Ratezahl 2 Delphi (leicht)
 
Ne lokale Variable ist nur während der Laufzeit der Prozedur/Funktion/Methode existent. Beim nächsten Klick handelt es sich um eine andere Variable mit dem selben Namen.

cran7 1. Nov 2007 20:59

Re: Ratezahl 2 Delphi (leicht)
 
:oops:
shame on me :(
dann mach bei form1 create noch

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  count := 1;
end;
(diesma net local xD)

Delphi-Quellcode:
var
  count : integer;
jetzt müssts gehn^^

@mkinzler weis ich, hab nur net nachgedacht^^

andiak 1. Nov 2007 21:01

Re: Ratezahl 2 Delphi (leicht)
 
wo muss ich

var
count : integer;


enfügen?

mkinzler 1. Nov 2007 21:02

Re: Ratezahl 2 Delphi (leicht)
 
Nun verschaffst du dem Spieler auch noch ein Handicap :lol: Initialisiere die Variable besser mit 0. Und das nicht nur beim Programmstart sonder besser beim Beginn eines neuen Spieles.
[Edit]
Zitat:

wo muss ich

var
count : integer;


enfügen?
Am Anfabg des Programmse.
[/Edit]

andiak 1. Nov 2007 21:05

Re: Ratezahl 2 Delphi (leicht)
 
ok das hab ich hinzugefügt... das war jetzt zu aufgabe 1 oder?
Ich kenn mich damit halt noch garnicht aus....
und wie zeige ich jetzt an wie viele Versuche man hatte?

mkinzler 1. Nov 2007 21:08

Re: Ratezahl 2 Delphi (leicht)
 
Und zu 3.
Delphi-Quellcode:
Label.Caption := IntToStr( count);
Vorher natürlich Label anlegen.

andiak 1. Nov 2007 21:09

Re: Ratezahl 2 Delphi (leicht)
 
unter was muss das jetzt rein?

Label4.Caption := IntToStr( count);


(bei mir ist es label4 das neuerstellte)

cran7 1. Nov 2007 21:11

Re: Ratezahl 2 Delphi (leicht)
 
also ich zeig hier ma wie das gerüst sein könnte^^ (berichtigt mich, wenn ich mal wieder n paar fehler mach :mrgreen: )

Delphi-Quellcode:
var
  Form1: TForm1;
  versuche : integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  // was du machn wolltest

versuche := versuche + 1;
Label2.Caption := IntToStr(versuche);

if versuche = 10 then
  Label1.Caption := 'Maximale Rateanzahl erreicht, Neue runde?';
  Button1.Enabled := false;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
// das der button womit man ne neue raterunde anfangen kann
  versuche := 0;
  Button1.Enabled := true;
  Label1.Caption := 'Rate die Zahl';
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  versuche := 0;
end;

end.
so ungefähres gerüst xD

andiak 1. Nov 2007 21:15

Re: Ratezahl 2 Delphi (leicht)
 
entschuldigung an alle mal... ihr erstellt laufend neue nachrichten mit irgendwelchen code shcnipseln womit ich rein garnichts anfangen kann ....

kann nicht jemand meine pas datei nicht einfach editieren so das ich es mir anschauen kann ?

mkinzler 1. Nov 2007 21:17

Re: Ratezahl 2 Delphi (leicht)
 
Dann befasse dich mal mit den Grundlagen.

dominikkv 1. Nov 2007 21:20

Re: Ratezahl 2 Delphi (leicht)
 
sind das hausaufgaben?

andiak 1. Nov 2007 21:20

Re: Ratezahl 2 Delphi (leicht)
 
könnt ihr mir nicht einfach die 3 Aufgaben in die pas datei einbindne`? So Sympel wie möglich

nein keine hausaufgaben es ist blos ein Aufgabenzettel aber ohne hilfe komm ich einfach net weiter

mkinzler 1. Nov 2007 21:21

Re: Ratezahl 2 Delphi (leicht)
 
Zitat:

Zitat von andiak
könnt ihr mir nicht einfach die 3 Aufgaben in die pas datei einbindne`? So Sympel wie möglich

Nein, weil das hier kein hausaufgabenerledigungs-Forum ist. Wir helfen dir gern bei Problemen.

cran7 1. Nov 2007 21:22

Re: Ratezahl 2 Delphi (leicht)
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich hab hier n ähnliches rateprogramm, von ner cd aus nem tutorial buch, mit dem ich ma gearbeitet hab (fand das buch sehr hilfreich)

kannsts dir ja ma ankucken

*werbung für mein prob mach :mrgreen: *

mkinzler 1. Nov 2007 21:24

Re: Ratezahl 2 Delphi (leicht)
 
@cran7: Schreibst du dann auch seine Arbeit?

andiak 1. Nov 2007 21:27

Re: Ratezahl 2 Delphi (leicht)
 
tz vergisst es... ich lösch meinen account ja schon wieder... alles was ich wollte war ein wenig hilfe für einen laien aber egal....

cran7 1. Nov 2007 21:28

Re: Ratezahl 2 Delphi (leicht)
 
Zitat:

Zitat von mkinzler
@cran7: Schreibst du dann auch seine Arbeit?

wie meinste dass??
ich hab ihm nur n source von nem programm gegeben, is nichma von mir, sondern von cd, die ich hier rumliegn hatte...


@andiak ich würd dir empfehlen nen einsteiger buch zulesen, da hat man meiner meinung nach am meisten von

andiak 1. Nov 2007 21:31

Re: Ratezahl 2 Delphi (leicht)
 
kann ja sein aber wir hatten jetzt 3 stunden informatik und niemand hat davon geredet das ich dann gleich ein buch lesen soll doer das muss doch auch so klappen

dominikkv 1. Nov 2007 21:32

Re: Ratezahl 2 Delphi (leicht)
 
Zitat:

Zitat von andiak
tz vergisst es... ich lösch meinen account ja schon wieder... alles was ich wollte war ein wenig hilfe für einen laien aber egal....

wir haben dir doch geholfen, aber einem zu helfen der nicht mal weis wo ich eine globale variable deklariere bzw der nur fertige lösungen akzeptiert...

andiak 1. Nov 2007 21:34

Re: Ratezahl 2 Delphi (leicht)
 
ich akzeptiere nicht nur fertige lösungen aber wenn man da irgendwelche codeschnipsel sag ich mal da reinschreibt weiß ich nicht wo ich das einfügen soll..
und woher soll ich wissen was eine globale variable ist das wurde uns halt noch nicht gesagt...
ich weiß was ne methode nen wert nen ereignis und sowas ist aber mehr auch nicht und wie man ne if anweisung schreibt
ich hätte jede frage einzeln posten sollen erstmal wie ich anzeigen lassen kann wie oft ich schon getippt habe (auf einen label)
unter var habe ich jetzt noch "count : integer;"
und im Form1 bei oncreate
procedure TForm1.FormCreate(Sender: TObject);
begin
count := 0;

end;

ist das richtig? für aufgabe eins? jetzt hab ich Label4 wo die anzahl der versuche stehen soll wie mach ioch das?







(die ersten beiden tutorials von der seite habe ich gemacht)

mkinzler 1. Nov 2007 21:41

Re: Ratezahl 2 Delphi (leicht)
 
Zitat:

und niemand hat davon geredet das ich dann gleich ein buch lesen soll doer das muss doch auch so klappen
Ein Buch muss es nicht sein, aber die Grundlagen solltest du schon verstehen:
-Grundgerüst Programm
...
http://www.dsdt.info/tutorials/?cat=1

andiak 1. Nov 2007 22:08

Re: Ratezahl 2 Delphi (leicht)
 
kann ich die versuchs anzhal mit Label4.Caption :=Count

darstellen? Wenn ja wo muss die prozedure rein

mkinzler 1. Nov 2007 22:14

Re: Ratezahl 2 Delphi (leicht)
 
Delphi-Quellcode:
Lable4.Caption := IntToStr( count);
Dort wo du auch hochzählst. Aber schau dir doch mal die Codes von cran7 an.

andiak 1. Nov 2007 22:19

Re: Ratezahl 2 Delphi (leicht)
 
ok hab ich dieser button mit wo "Rate" draufsteht besitzt jetzt folgendes:

procedure TForm1.Vergleiche(Sender: TObject);
begin
count := count + 1;
Label4.Caption := IntToStr( count);
if count = 10 then
Label4.Caption := 'Maximale Rateanzahl erreicht, Neue runde?';
BRaten.Enabled := false
end;

if StrToInt(EEingabe.Text) > Zahl then
begin
PAntwort.Caption := 'zu groß!';
PAntwort.Color := clred
end;
begin
if StrToInt (EEingabe.Text) < Zahl then
begin
PAntwort.Caption := 'zu klein';
PAntwort.Color := clred
end;
begin
if StrToInt (EEingabe.Text) = Zahl then
PAntwort.Caption := 'Richtig!';
PAntwort.Color := clgreen
end
// Dies ist ein Kommentar.
// Einrückungen verdeutlichen Abhängigkeiten zwischen Anweisungen
// und machen den Programm-Code besser lesbar.
end;



allerdings kommt jetzt ein fehler bei:
if StrToInt(EEingabe.Text) > Zahl then


Deklaration erwartet aber if gefunden

was habe ich falsch gemacht

mkinzler 2. Nov 2007 05:33

Re: Ratezahl 2 Delphi (leicht)
 
Füge ein begin nach
Delphi-Quellcode:
if count = 10 then
ein

andiak 2. Nov 2007 09:18

Re: Ratezahl 2 Delphi (leicht)
 
danke... das hab ich jetzt das funktioniert...

Ich weiß das ich etwas bei form1.oncreate
einfügen muss damit die Random immer anders ist nur welches befehl?

Außerdem brauch ich jetzt ein button der alles zurück setzt für ein neues spiel könnt ihr mir da eventuell denkanstöße geben?

mkinzler 2. Nov 2007 09:22

Re: Ratezahl 2 Delphi (leicht)
 
Delphi-Quellcode:
Randomize;

andiak 2. Nov 2007 09:27

Re: Ratezahl 2 Delphi (leicht)
 
eine frage noch außer das mit dem Button für neues spiel
warum wird mein PAntwort Button immer grün auch wenn die zahl zu groß oder zu klein ist normalerweiße sollte er nur grün werden wenn die iengegebene Zahl richtig ist:

if StrToInt(EEingabe.Text) > Zahl then
begin
PAntwort.Caption := 'zu groß!';
PAntwort.Color := clred
end;
begin
if StrToInt (EEingabe.Text) < Zahl then
begin
PAntwort.Caption := 'zu klein';
PAntwort.Color := clred
end;
begin
if StrToInt (EEingabe.Text) = Zahl then
PAntwort.Caption := 'Richtig!';
PAntwort.Color := cllime
end

mkinzler 2. Nov 2007 09:32

Re: Ratezahl 2 Delphi (leicht)
 
Es waren zu viele begins bzw. an der falschen Stelle. Das Setzen der farbe grün wurde deshalb immer ausgeführt.

Delphi-Quellcode:
if StrToInt(EEingabe.Text) > Zahl then
begin
    PAntwort.Caption := 'zu groß!';
    PAntwort.Color := clred
end;
if StrToInt (EEingabe.Text) < Zahl then
begin
    PAntwort.Caption := 'zu klein';
    PAntwort.Color := clred
end;
if StrToInt (EEingabe.Text) = Zahl then
begin
    PAntwort.Caption := 'Richtig!';
    PAntwort.Color := cllime
end;

andiak 2. Nov 2007 09:47

Re: Ratezahl 2 Delphi (leicht)
 
Ok thanks das habe ich jetzt
hinbekommen genauso mit dem darstellen der richtigen zahl bei 10 falschen versuchen

Label7.Caption := IntToStr ( Zahl);

Gibt es ein befehl welcher sagt dass, das Programm kommplet neu geladen werden soll? für "Neues Spiel"

mkinzler 2. Nov 2007 09:52

Re: Ratezahl 2 Delphi (leicht)
 
Warum das es reicht doch alle Ausgabe die Eingabe und die Zählervariable zurückzusetzen und eine neue Zufallszahl zu ermitteln.

andiak 2. Nov 2007 09:58

Re: Ratezahl 2 Delphi (leicht)
 
ich hab dort jetzt folgendes stehen bei Onclick beim "Neues SPiel" button


count := 0;
BRaten.Enabled := true ;
Label4.Caption := '' ;
Zahl := Random(100);
ScrollBar.Position := Zahl


irgendwie klappt es abe rnoch net

mkinzler 2. Nov 2007 10:09

Re: Ratezahl 2 Delphi (leicht)
 
Was klappt nicht?


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:50 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz