AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Zufalls Zahl Spiel mit Hilfe
Thema durchsuchen
Ansicht
Themen-Optionen

Zufalls Zahl Spiel mit Hilfe

Ein Thema von xDarkx · begonnen am 2. Feb 2011 · letzter Beitrag vom 3. Feb 2011
Antwort Antwort
Seite 1 von 2  1 2      
xDarkx

Registriert seit: 2. Feb 2011
4 Beiträge
 
#1

Zufalls Zahl Spiel mit Hilfe

  Alt 2. Feb 2011, 23:38
Sers,

So unser Lehrer hat uns eine Super Tolle.... Aufgabe gegeben

Wir sollten ein "Spiel" Programmieren wo eine Zahl von Delphi generiert wird und diese man dann Raten muss.
Bis hier hin habe ichs noch geschafft

Nun verlangt er aber von uns das wenn wir auf den Button "Hilf" klicken in der Memo erscheint in welchem Bereich die zahlt liegt.
z.B. von 20 bis 30
Das Problem ist allerdings das es nicht viele IF-Abfragen geben darf sondern wir das irgendwie Rechnen sollen und ich Kein Plan habe wie

Ebenfalls habe ich dazu programmiert das man mit Enter das Geschätzte abschicken kann und mit der Entferntaste das Memo wieder löschen.

Hier mal mein Momentaner Code soweit wie ich bin
Code:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    Edit1: TEdit;
    Button3: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private-Deklarationen }
    x: integer;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Clear;
  Edit1.Text := '';

  Randomize;

  x := Random(100);

  Memo1.Lines.Add('Anfangen !!!!!!!!!!')

end;

procedure TForm1.Button1Click(Sender: TObject);
var y : Integer;
begin
    y := StrToInt(Edit1.Text);

    if y < x then Memo1.Lines.Add(IntToStr(y) + ' Zu Klein')
    else if y > x then Memo1.Lines.Add(IntToStr(y) + ' Zu Groß')
    else if y = x then Memo1.Lines.Add(IntToStr(y) + ' PERFEKTTTTT!!!!!!!');
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if ord(key)=13 then begin
    Form1.Button1Click(self);
    Edit1.Text := '';
  end;
end;


procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if ord(key)=46 then begin
    Memo1.Clear;
    Memo1.Lines.Add('Anfangen !!!!!!!!!!')
  end;
end;

end.

Hoffe jemand kann mir helfen wie ich Weiter komme.

mfg

Geändert von xDarkx ( 2. Feb 2011 um 23:46 Uhr)
  Mit Zitat antworten Zitat
-Phantom-

Registriert seit: 26. Nov 2009
Ort: Bockhorst
319 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Zufalls Zahl Spiel mit Hilfe

  Alt 2. Feb 2011, 23:54
In der Schule haben wir die gleiche Aufgabe. Ich habs hinbekommen. Ein Tipp : Versuche es mal mit der REPEAT- Schleife, wenn du dann immernoch Probleme haben solltest werde ich dir weiterhelfen aber versuche es.
Mathias Jansen
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Zufalls Zahl Spiel mit Hilfe

  Alt 2. Feb 2011, 23:57
Edit: Wait!

x = 23
Hilfe = "Zahl liegt zwischen 20 und 30"

Vorgang:
Delphi-Quellcode:
UntereGrenze := ( x div 10 ) * 10;
ObereGrenze := UntereGrenze + 10;
UntereGrenze:
x (23) div 10 = 2
10*2 = 20

ObereGrenze:
UntereGrenze (20) + 10 = 30
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG

Geändert von Aphton ( 3. Feb 2011 um 00:04 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: Zufalls Zahl Spiel mit Hilfe

  Alt 2. Feb 2011, 23:58
Wieso Schleife? Die Zahl ist mal angenommen 20. Dann würde ich zehn Drauf addieren und zehn abziehen. Dann habe ich 10 und 30 und das wäre der Bereich, in der die Zahl liegt. Aufpassen muss man nur wenn bei der Addition oder Subtraktion die Ober- und/oder Untergrenze unterschritten wird. Das müsste man noch behandeln.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
-Phantom-

Registriert seit: 26. Nov 2009
Ort: Bockhorst
319 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: Zufalls Zahl Spiel mit Hilfe

  Alt 3. Feb 2011, 00:06
Delphi-Quellcode:
Repeat
geratenZ := InputBox('Zahlenraten','Bitte geben Sie eine beleibige Zahl von 1 bis 20 ein !','');
Until Strtoint(geratenZ) = zufallZ;

end;
So muss man die Zahl So lange eingeben bis die "geratenZ" = "zufallZ" ist. Und das mit den im welchen Bereich hat Lucky ja schon gesagt
Mathias Jansen
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#6

AW: Zufalls Zahl Spiel mit Hilfe

  Alt 3. Feb 2011, 00:07
Hallo und Willkommen in der DP

in der Variable X hast du ja den "gezogenen" Wert. Da brauchst du nur um den Wert einen Bereich zu definieren.
Vorschlag:
- deklariere 2 Variablen (MinX, MaxX) um den Bereich zu speichern.
- Fester bereich von 10 Ziffern
- die einfachste Variante wäre
Delphi-Quellcode:
MinX:= X-5;
  MaxX:= X+5;
// ist aber Quatsch, da der Benutzer das irgendwann spitzkriegt.
- schwieriger
Delphi-Quellcode:
// zusätzliche Variable X1 z.B
X1:= Random(10);
// mit der Variable X1 den Bereich nach oben und unten berechnen. Dabei die Sonderfälle beachten
// Bereich darf nicht größer sein als 100 und kleiner als 0
  Mit Zitat antworten Zitat
xDarkx

Registriert seit: 2. Feb 2011
4 Beiträge
 
#7

AW: Zufalls Zahl Spiel mit Hilfe

  Alt 3. Feb 2011, 00:14
Ich habs gemacht wie Aphton beschrieben hat..
Und es funktioniert

Code:
procedure TForm1.Button3Click(Sender: TObject);
var UntereGrenze, ObereGrenze : Integer;
begin
UntereGrenze := ( x div 10 ) * 10;
ObereGrenze := UntereGrenze + 10;

    Memo1.Lines.Add('Zahl liegt zwischen ' + IntToStr(UntereGrenze) + ' und ' + IntToStr(ObereGrenze));

end;

Wie eine REPEAT- Schleife geht hatten wir bisher Leider noch nicht

Danke an alle fürs Helfen
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#8

AW: Zufalls Zahl Spiel mit Hilfe

  Alt 3. Feb 2011, 00:17
Zitat:
Ich habs gemacht wie Aphton beschrieben hat..
...dann hat deine gezogene Zahl immer den gleichen Abstand zur oberen bzw. unteren Grenze. Wenn das ausreichnend ist geht das in Ordnung. Kniffliger ist es mit einem "dynamischen Abstand".
  Mit Zitat antworten Zitat
xDarkx

Registriert seit: 2. Feb 2011
4 Beiträge
 
#9

AW: Zufalls Zahl Spiel mit Hilfe

  Alt 3. Feb 2011, 00:21
Er meinte wir sollen nur machen das da steht:
"Zahl ist zwischen 10 bis 20"
"Zahl ist zwischen 20 bis 30"

So mehr wollte er nicht
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#10

AW: Zufalls Zahl Spiel mit Hilfe

  Alt 3. Feb 2011, 00:26
Die Variante mit dem div hat ja quasi einen dynamischen Abstand. Alles ist gut
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:22 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