AGB  ·  Datenschutz  ·  Impressum  







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

False or True zufällig.

Ein Thema von Aboz1 · begonnen am 19. Mai 2013 · letzter Beitrag vom 19. Mai 2013
Antwort Antwort
Seite 1 von 2  1 2      
Aboz1

Registriert seit: 17. Mai 2013
8 Beiträge
 
#1

False or True zufällig.

  Alt 19. Mai 2013, 20:49
Guten Abend zusammen.
Ich bin gerade dabei ein Ping Pong Spiel in 2D zu programmieren. Die Bewegung des Balls habe ich mit 2 Booleans und einem Timer gemacht. Ein Boolean sorgt für die x-Achse. Also wenns true ist geht er 2 nach rechts, sobald er clientwidth überschreitet wirds zu false und geht 2 nach links. Problem ist, dass der Ball am Anfang immer nach rechts geht, also das Boolean zu Beginn immer true ist. Es soll aber zufällig sein ob er zu Beginn nach links oder rechts geht, also Zufall ob das Boolean false oder true ist. Hat jemand ne Idee, wie ich das umsetzten könnnte?
  Mit Zitat antworten Zitat
CHackbart

Registriert seit: 22. Okt 2012
267 Beiträge
 
#2

AW: False or True zufällig.

  Alt 19. Mai 2013, 20:53
Randseed := Gettickcount;
Dir := Random(50)>25;

Das wäre zum Beispiel eine Variante. Wichtig ist das der Randseed gesetzt wird, da random nicht wirklich zufällig ist.
  Mit Zitat antworten Zitat
Aboz1

Registriert seit: 17. Mai 2013
8 Beiträge
 
#3

AW: False or True zufällig.

  Alt 19. Mai 2013, 21:05
Jetzt wird permanent zwischen false und true gewechselt. Das hilft mir aber nicht, da nur zu Beginn zufällig false oder true entschieden werden soll.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: False or True zufällig.

  Alt 19. Mai 2013, 21:13
Dann verwende disen Code nur am Anfang.
Markus Kinzler
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#5

AW: False or True zufällig.

  Alt 19. Mai 2013, 21:16
Besser so:

Delphi-Quellcode:
//uses math;
function QQuersumme(x: integer): integer;
begin Result := Sign(x) * (1 + ((Abs(x)-1) mod 9)); end;

(*
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Checkbox1.checked:= odd(QQuersumme(GetTickCount));
end;
*)

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if odd(QQuersumme(GetTickCount))=true then
BEGIN
Checkbox1.checked:=true;
Timer1.Interval:= Timer1.Interval +15;
END
else
BEGIN
Checkbox1.checked:=false;
Timer1.Interval:= Timer1.Interval -15;
END;
//Fenster definieren, um Ausreisser zu verhindern
If Timer1.Interval>1100 then Timer1.Interval:=1000;
If Timer1.Interval<900 then Timer1.Interval:=1000;
end;

Geändert von hathor (19. Mai 2013 um 21:58 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#6

AW: False or True zufällig.

  Alt 19. Mai 2013, 21:18
Das ist doch ein Paradebeispiel für Odd:

Dir := Odd(Random(2));
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Aboz1

Registriert seit: 17. Mai 2013
8 Beiträge
 
#7

AW: False or True zufällig.

  Alt 19. Mai 2013, 21:20
werde es ausprobieren, danke.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#8

AW: False or True zufällig.

  Alt 19. Mai 2013, 21:40
Jetz nicht wirklich, oder?

if odd(Quersumme(GetTickCount))=true then
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Aboz1

Registriert seit: 17. Mai 2013
8 Beiträge
 
#9

AW: False or True zufällig.

  Alt 19. Mai 2013, 21:42
Das ist doch ein Paradebeispiel für Odd:

Dir := Odd(Random(2));
Hier wird auch permanent zwischen true und false gewechselt
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#10

AW: False or True zufällig.

  Alt 19. Mai 2013, 22:02
Jetz nicht wirklich, oder?
Ist das die saublöde norddeutsche Eigenart, sich SO auszudrücken?
  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 17:41 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