AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ratezahl 2 Delphi (leicht)

Ein Thema von andiak · begonnen am 1. Nov 2007 · letzter Beitrag vom 2. Nov 2007
Antwort Antwort
Seite 5 von 7   « Erste     345 67      
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#41

Re: Ratezahl 2 Delphi (leicht)

  Alt 2. Nov 2007, 11:11
Was klappt daran nicht?

PS: Mach mal Random(100) + 1. Ich glaub mit Random(100) geht das nur von 0 bis 99
Jonas
  Mit Zitat antworten Zitat
andiak

Registriert seit: 1. Nov 2007
89 Beiträge
 
#42

Re: Ratezahl 2 Delphi (leicht)

  Alt 2. Nov 2007, 11:14
Wenn man vorher 10 Versuche gebraucht hat und die lösung nicht herausgefunden hat wird einen ja die lösung gesagt und wenn ich auf den button "Neues SPiel" drücke bleibt das das alte ergebnis dort stehen
aber das habe ich jetzt einfach hiermit gelöst Label7.Caption := ''
Wenn man das Programm startet ist das Ergebnis immer 0 das sieht man wenn man das programm startet ohne auf "NEue zahl" zu drücken 10 flasche antworten gibt Wie kann man das ändern?


Die Scrollbar geht bei mir nur von 0-99
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#43

Re: Ratezahl 2 Delphi (leicht)

  Alt 2. Nov 2007, 11:25
Einfach bei Form1.Create die zeile randomize; einfügen, dann ist es am anfang immer eine andere zahl
Jonas
  Mit Zitat antworten Zitat
andiak

Registriert seit: 1. Nov 2007
89 Beiträge
 
#44

Re: Ratezahl 2 Delphi (leicht)

  Alt 2. Nov 2007, 11:28
Das steht weiter oben auch schon das habe ich auch schon getan... es wird auch eine andere Zahl angezeigt aber trotzdem wenn man nichts macht auser falsche antworten am anfang geben oder auch die richtige sie wird als flasch angezeigt da 0 die richtige ist und zwar immer
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#45

Re: Ratezahl 2 Delphi (leicht)

  Alt 2. Nov 2007, 11:30
Könntest du vielleicht nochmal den Source-Code hier rein schreiben? (abre nur die Prozeduren, den Rest brauch ich nicht ^^)
Jonas
  Mit Zitat antworten Zitat
andiak

Registriert seit: 1. Nov 2007
89 Beiträge
 
#46

Re: Ratezahl 2 Delphi (leicht)

  Alt 2. Nov 2007, 11:33
Delphi-Quellcode:
unit UZahl;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    EEingabe: TEdit;
    BNeu: TButton;
    BRaten: TButton;
    PAntwort: TPanel;
    ScrollBar: TScrollBar;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Button1: TButton;
    Label7: TLabel;
    Label6: TLabel;
    procedure NeueZahl(Sender: TObject);
    procedure Vergleiche(Sender: TObject);
    procedure BleibHier(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);

  private
    { Private-Deklarationen }
    Zahl: Integer;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  count : integer;


implementation

{$R *.DFM}

procedure TForm1.NeueZahl(Sender: TObject);
begin
  Zahl := Random(100);
  ScrollBar.Position := Zahl
end;

procedure TForm1.BleibHier(Sender: TObject);
begin
  ScrollBar.Position := Zahl
end;

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

  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 ;
    Label6.Caption := 'Ihr habt gewonnen!!! Probiert es gleich nochmal'
end;


end;

procedure TForm1.FormCreate(Sender: TObject);
begin
count := 0;
Randomize;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
count := 0;
BRaten.Enabled := true ;
Label4.Caption := '' ;
Zahl := Random(100);
  ScrollBar.Position := Zahl ;
  Label7.Caption := ''      ;
  Label6.Caption := ''

end;

end.
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#47

Re: Ratezahl 2 Delphi (leicht)

  Alt 2. Nov 2007, 11:49
An welcher Stelle des Codes rufst du denn eigentlich die prozeduren Neuezahl, bleibHier, Vergleiche auf?

Poste doch mal den ganzen Code (aber editiere deinen vorherigen und schreibs darein.)
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#48

Re: Ratezahl 2 Delphi (leicht)

  Alt 2. Nov 2007, 11:59
Ah, jetzt seh ichs, ist ja logisch. Es liegt daran das du im OnCreate der Variable Zahl keinen Wert zuweist, somit ist sie für das Programm immer noch eine 0

Also einfach zahl := Random(100) und die sache hat sich gegessen.
Jonas
  Mit Zitat antworten Zitat
andiak

Registriert seit: 1. Nov 2007
89 Beiträge
 
#49

Re: Ratezahl 2 Delphi (leicht)

  Alt 2. Nov 2007, 12:03
alles klar danke hab jetzt bei oncreate noch
Delphi-Quellcode:
Zahl := Random(100);
  ScrollBar.Position := Zahl
hinzugefügt.

Jetzt brauch ich noch
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.


Dazu habe ich folgendes bekommen:
Du könntest die 'richtige Zahl' von der geratenen abziehen und dann den Betrag von dem Ergebnis nehmen (ich glaube, dass ist bei delphi die Funktion abs().)
Dann hast du den Abstand der beiden Zahlen und du kannst mit Hilfe von if und else entscheiden, ob es warm kalt oder heiß ist. (Das geht etwas eleganter, aber case wirst du wohl noch nicht gehabt haben).

muss ich mal schauen wie ich das hinbekomm für weitere tipps bin ich imemr dankbar
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#50

Re: Ratezahl 2 Delphi (leicht)

  Alt 2. Nov 2007, 12:12
Ist eigentlich auch nicht sonderlich schwer. So als kleines Bsp:
Delphi-Quellcode:
if (abs(zahl - eingabe) > 0) and (abs(zahl - eingabe) < 5) then Panel.caption := 'Du bist ganz nah dran!else
if (abs(zahl - eingabe) > 5) and (abs(zahl - eingabe) < 15) then es Panel.captin := 'es wird wärmer...else ...
Dürfte verständlich und selbsterklärend sein

PS.: KA ob das mit abs() stimmt, ich habs einfach mal vorausgesetzt

PPS: Wieso weißt du der Scrollbar.Position die Zufallszahl zu? Da sieht man doch was es in etwa für ne Zahl ist...
Jonas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 7   « Erste     345 67      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz