Autor Beitrag
BWSpieler
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 21.10.05 13:45 
Hi.
Hab nen Problem. Ich wollt nen Spiel machen, wo es 2 Edit-Felder gibt. Spiler 1 gibt eine Zahl in edit1 ein. Spieler 2 gibt seine Zahl in edit 2 ein. Dann ermittelt ein Zufallsgenerator ne Zahl zwischen 1 und 10, die in edit 3 angezeigt wird. Soweit hab ich den Quelltext:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
procedure TForm1.Button1Click(Sender: TObject);
var a,b:integer;
    i:integer;
    fehler:integer;
    ergebnis:string;
begin
val(edit1.text,a,fehler);
 if fehler<>0 then
   begin
   edit1.SetFocus;
   showmessage('Fehlerhafte Eingabe');
   exit
   end;

val(edit2.text,b,fehler);
 if fehler<>0 then
   begin
   edit2.SetFocus;
   showmessage('Fehlerhafte Eingabe');
   exit
   end;

randomize;
i := random(10)+1;
str(i:8,ergebnis);
edit3.text:=ergebnis;


Nur wie mache ich es jetzt, das er guckt, welche von den beiden Variablen a oder b näher an i liegt?

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt und Size-Tags entfernt.
Fabian W.
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1766

Win 7
D7 PE
BeitragVerfasst: Fr 21.10.05 13:59 
Mit Substraktion?
Miri
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 657


Delphi 3 Prof., Delphi 2005 PE
BeitragVerfasst: Fr 21.10.05 14:10 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
if i<a then
 differenz1:=a-i
else
 differenz1:=i-a;

if i<b then
  differenz2:=b-i
else
  differenz2:=i-b;

if
  differenz1<differenz2 then
  ShowMessage('Spieler A hat gewonnen!')
else
  ShowMessage('Spieler B hat gewonnen!')


Habs nich getestet, aber etwa so würd ichs mir vorstellen...
BWSpieler Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 21.10.05 22:15 
Danke!!!

Funktioniert super.
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Fr 21.10.05 22:59 
naja man kanns auch einfacher haben mit

ausblenden Delphi-Quelltext
1:
2:
3:
4:
if abs(dif-a) < then abs(dif-b) then
  //spieler 1 hat gewonnen
else
  //speielr 2 hat gewonnen

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit