Autor |
Beitrag |
xxTheRealxx
Hält's aus hier
Beiträge: 8
Win XP Prof.
|
Verfasst: Fr 23.09.05 11:41
Gude
wir sollen in der schule nen program schreiben, das so funktioniert wie das glücksrad aus dem fernseh.wenn auf den startbutten geklickt wird soll zufällig ein wort ausgewählt werden. es müssen mindestens 10 würter zur auswahl stehen...2 spieler sollen gegen einander spielen solln!!
könnt ihr mir da helfen??? bin nicht so das delphi genie...
im vorraus schonma danke Moderiert von raziel: Topic aus Freeware Projekte verschoben am Fr 23.09.2005 um 11:47
|
|
delfiphan
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: Fr 23.09.05 11:48
Hi xxTheRealxx
Leider wird hier keiner für dich deine Haufaufgaben machen. Wir helfen dir gerne, werden aber kein komplettes Programm für dich schreiben.
Hast du überhaupt schon etwas rumprobiert? Hast du ein konkretes Problem bei der Umsetzung?
|
|
spike23
Hält's aus hier
Beiträge: 3
|
Verfasst: Fr 30.09.05 10:56
Hallo,
ich muss das selbe Programm machen und komme im Moment nicht viel weiter. Als erstes bräuchte ich mal Hilfe bei dem Zufallsgenerator. Er soll Punkte in 10er Schritten vergeben, bis 100. Dann muss er auch noch aussetzen als Alternative haben. Den Text, den ich bis jetzt geschrieben habe, wählt alle Zahlen zwischen 0 und 100 aus.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| procedure TForm1.Button2Click(Sender: TObject); var d:array[1..10] of integer; drehen:integer; begin randomize; d[1]:=10; d[2]:=20; d[3]:=30; d[4]:=40; d[5]:=50; d[6]:=60; d[7]:=70; d[8]:=80; d[9]:=90; d[10]:=100; drehen:=random(d[10]); edit1.text:=inttostr(drehen); end; |
Ich hoffe ihr könnt mir etwas helfen.
Danke
Moderiert von AXMD: Quote- durch Delphi-Tags ersetzt
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: Fr 30.09.05 11:18
Dein Quelltext ergibt irgendwie keinen Sinn, denn Random(drehen[10]) ist das selbe wie Random(100). Du willst wahrscheinlich eine Zahl aus dem Array, oder? Das ginge:
Delphi-Quelltext 1:
| drehen[Random(10) + 1]; |
Oder?
AXMD
|
|
xxTheRealxx 
Hält's aus hier
Beiträge: 8
Win XP Prof.
|
Verfasst: Fr 30.09.05 11:39
gude
sry aber ich versteh euern queltext den ihr da habt net so wirklich... könnt ihr ihn ma bitte so schreiben wie es am ende aussehen muss únd es nen bsichen erläutern... war beim zufallsgenerator krank...
Danke
|
|
spike23
Hält's aus hier
Beiträge: 3
|
Verfasst: Fr 30.09.05 11:44
AXMD hat folgendes geschrieben: | Dein Quelltext ergibt irgendwie keinen Sinn, denn Random(drehen[10]) ist das selbe wie Random(100). Du willst wahrscheinlich eine Zahl aus dem Array, oder? Das ginge:
Delphi-Quelltext 1:
| drehen[Random(10) + 1]; |
Oder?
AXMD |
Danke, das funktioniert jetzt schon mal, nur aussetzen versteh ich absolut nicht. Da bräuchte ich auch noch mal Hilfe weil die Mischung zwischen string und integer bekomm ich net hin.
@xxtherealxx: drehen:=d[Random(10)+1]; einfach einfügen
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: Fr 30.09.05 11:55
Hm... ich lese hier "Multimedia/Spiele/Grafik" und nicht "Wer korrigiert meine Hausaufgaben"... Ich würde euch folgendes ans Herz legen: Klick
AXMD
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Fr 30.09.05 12:23
Ich habe hier einige Postings gelöscht, die nichts mit dem Thema zu tun hatten. Ich möchte Euch bitten, von nun an beim Thema zu bleiben.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
teddy90
Hält's aus hier
Beiträge: 7
Win XP
|
Verfasst: Fr 30.09.05 12:51
wüsstest du denn wie es geht AXMD?
ciao
|
|
Jonas1405
Hält's aus hier
Beiträge: 14
Win 95, Win XP Home
D3 Prof, D4 Prof, D6 Pers
|
Verfasst: Fr 30.09.05 13:04
xxTheRealxx hat folgendes geschrieben: | Gude
wir sollen in der schule nen program schreiben, das so funktioniert wie das glücksrad aus dem fernseh.wenn auf den startbutten geklickt wird soll zufällig ein wort ausgewählt werden. es müssen mindestens 10 würter zur auswahl stehen...2 spieler sollen gegen einander spielen solln!!
könnt ihr mir da helfen??? bin nicht so das delphi genie...
im vorraus schonma danke
Moderiert von raziel: Topic aus Freeware Projekte verschoben am Fr 23.09.2005 um 11:47 |
Hey ho!!!
Hier isnd son paar Sachen, die dir weiterhelfen könnten: Ich habe das mit den 2 Spielern nicht ganz kapiert wie man das machen soll aber hier sind son paar Sachen, die du für dein Programm brauchst:
Also erst mal soltest du ja am besten eine Zahl zwischen 1 und 10 zufällig generiert bekommen nach der du dann entscheidest, welches Wort du aus deiner 10-er Liste bekommst. Dazu kannst du random nehmen. Beispiel: zahl:=random(10);dieser Befehl weißt der Variable zahl eine zufällige Zahl im Bereich 0 bis 10 zu. (Ich hoffe du verstehst, was ich sagen will!!! Sonst schick mir einfach mal eine Mail mit deinen Fragen zu meinem Text!!) (Wenn du eine Liste mit 10 Wörtern hast, dann brauchst du nur random bis 9 weil da dann ja auch die Null bei ist). Dann nimmst du deine Variable zahl und entscheidest, je nachdem welchen Wert Zahl nun hat, welches Wort du nimmst. Dafür kannst du case nehmen. Beispiel: Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| case zahl of 0: begin wort:='Delphi'; end; 1: begin wort:='Programmiersprache'; end; end; |
Zur Erklärung: Nach dem Case habe ich deine Variable Zahl eingefügt, die vorher mit Random einen Wert bekommen hat. Wenn zahl jetzt 0 ist dann wird der String- Variable wort das Wort "Delphi" zugewiesen. Wenn zahl 1 ist bekommt die Variable wort das Wort Programmiersprache zugewiesen- so kannst du das dann beliebig weitermachen!! Das ist eigentlich alles was du brauchst- du könntest das Wort dann auch noch in einem Label Feld anzeigen lassen: label1.caption:=wort;
Den ganzen Kram, den ich gearde geschrieben habe packst du in das OnClick Ereigniss von einem Button und in das OnCreate Ereigniss des Fenster (meistens Form1) kannst du noch den Befehl Randomize; schreiben- der bezweckt, dass der Zufall ein richtiger Zufal ist( Das heißt lediglich, dass du nicht bei jedem Programmstart die gleichen Zahlen bekommst- bzw. wenn du den Befehl random ausführen lässt)
Ich hoffe ich konnte dir helfen- wie gesagt bei Nachfragen eine Mail an mich bzw eine PM!!!
Jonas
|
|
Martin1966
      
Beiträge: 1068
Win 2000, Win XP
Delphi 7, Delphi 2005
|
Verfasst: Fr 30.09.05 13:19
Jonas1405 hat folgendes geschrieben: | Ich hoffe ich konnte dir helfen- wie gesagt bei Nachfragen eine Mail an mich bzw eine PM!!! |
Das wäre sehr blöd. Denn so haben die anderen User nichts davon. Es wäre also schön wenn die Diskussion hier im Forum weitergeführt wird. 
|
|
Jonas1405
Hält's aus hier
Beiträge: 14
Win 95, Win XP Home
D3 Prof, D4 Prof, D6 Pers
|
Verfasst: Fr 30.09.05 15:54
Uuuuups!!! Ich hab doch gearde vergessen, dass dafür son Forum gut ist 
|
|
-delphin-
      
Beiträge: 200
|
Verfasst: Sa 01.10.05 20:24
Folgendes: Wenn ihr schon beim Rad Probleme habt, dann lasst es. Denn die Sache mit dem Wörter raten, ist viel schwieriger, eben vergleichbar mit Galgenmännchen (eigentlich genau das gleiche nur mit Rad).
Tipp 1: Wenn ihr schon die Wörter, die zur Auswahl stehen, nicht in einer Textdatei speichert und auslest, dann rate ich euch, diese nicht in den Quelltext zu integrieren, denn der wird dadurch nur viel länger.
Tipp 2: Macht ein unsichtbares Memofeld, in das ihr Zeile für Zeile eure Wörter eintragt und macht dann den Zufallsgenerator aus Wort := random(Memo1.Lines.Count)+1;, das erspart euch wie gesagt Quelltext und ihr könnt es leichter editieren. Das Memo haut ihr selbstverständlich in eine Ecke und macht es unsichtbar.
Tipp 3: Das Raten der Buchstaben ist ein einzelnes Kapitel, denn ihr wollt ja Buchstaben raten und nicht ganze Wörter, richtig? Ansonsten ist euer Spiel nämlich richtig hart und dann braucht ihr auch kein Rad. Aber einfach zu proggen ;D
Tipp 4: Zum Rad: Es soll keine Animation sein, richtig? Dann macht doch einfach Zufall := random(9)+1;. Jetz habt ihr Zahlen von 1 bis 10. Jetzt macht ihr noch etwas wie Zahl := Zufall * 10; und schon habt ihr euch einen Array und eine Frage im Forum gespart =)
Tipp 5: Bevor du "Aussetzen" und "Bankrott" und solche Späße proggst, solltest du das Hauptprogramm machen und dann uns mitteilen, wie du den Spielerwechsel, bzw den Kontostand gemacht hast.
Ich hoffe, ich konnte euch helfen, fragt einfach, wenns was zu fragen gibt.
|
|
-delphin-
      
Beiträge: 200
|
Verfasst: Sa 01.10.05 22:54
ps: ich stell mal das prog hier hinein, nur die .exe versteht sich, sozusagen als denkansatz wie das layout aussehen könnte.
Ich hab dabei mein galgenmännchen nur schnell "verglücksrädert" (; d.h. der galgenmann könnte durchaus natürlich auch weg.
ist zu zweit spielbar, und wie gesagt ich habs nicht auf bugs untersucht, werden ein paar wenige wohl drin sein (;
Einloggen, um Attachments anzusehen!
|
|
teddy90
Hält's aus hier
Beiträge: 7
Win XP
|
Verfasst: Mi 05.10.05 10:03
delphin versteh nicht was du meinst. mit proggen usw.
|
|
Grishnak
      
Beiträge: 221
Windows XP Home
Delphi 7 PE, Delphi 2005 PE
|
Verfasst: Mi 05.10.05 10:28
delphin hat folgendes geschrieben: | Tipp 1: Wenn ihr schon die Wörter, die zur Auswahl stehen, nicht in einer Textdatei speichert und auslest, dann rate ich euch, diese nicht in den Quelltext zu integrieren, denn der wird dadurch nur viel länger. |
Wegen zehn Wörtern wird der Quelltext wohl nicht viel länger werden...
delphin hat folgendes geschrieben: | Tipp 2: Macht ein unsichtbares Memofeld, in das ihr Zeile für Zeile eure Wörter eintragt und macht dann den Zufallsgenerator aus Wort := random(Memo1.Lines.Count)+1;, das erspart euch wie gesagt Quelltext und ihr könnt es leichter editieren. Das Memo haut ihr selbstverständlich in eine Ecke und macht es unsichtbar. |
Warum ein TMemo (eine optische Komponente!) benutzen und dann unsichtbar machen? Nehmt besser eine TStringList, darin könnt ihr mit 'Add()' Strings speichern und per 'Wort:=StringList.Strings[Random(StringList.Count)]' ( ohne '+1'!) eine Wort zufällig auswählen.
delphin hat folgendes geschrieben: | Tipp 4: Zum Rad: Es soll keine Animation sein, richtig? Dann macht doch einfach Zufall := random(9)+1;. Jetz habt ihr Zahlen von 1 bis 10. Jetzt macht ihr noch etwas wie Zahl := Zufall * 10; und schon habt ihr euch einen Array und eine Frage im Forum gespart =)
|
Zufallszahlen von 1 bis 10 bekommt man mit einem 'Random(10)+1'. Denn 'Random(Ganzzahl)' liefert eine Zufallszahl von 0 bis Ganzzahl-1; d.h. ein 'Random(9)+1' ergibt nur Zahlen zwischen 1 und 9!
PS: Am besten in der Form.Create-Methode per 'Randomize' den Zufallsgenerator "starten"! Sonst bekommt ihr bei jedem Programmstart die gleichen Zufallszahlen!
_________________ Mach' etwas idiotensicher und irgendjemand erfindet einen besseren Idioten!
|
|
-delphin-
      
Beiträge: 200
|
Verfasst: Mi 05.10.05 16:35
Zitat: | Wegen zehn Wörtern wird der Quelltext wohl nicht viel länger werden... |
Viel Spaß mit Glücksrad mit zehn Wörtern (= Für ein gutes Spiel sind schon 500 zu wenig (;
Zitat: | Nehmt besser eine TStringList |
So gehts natürlich auch (; Dachte nur die optische Komponente verdeutlicht es etwas mehr, verstehst? (;
teddy90, was genau verstehst du nicht?
|
|
teddy90
Hält's aus hier
Beiträge: 7
Win XP
|
Verfasst: Fr 07.10.05 11:19
Titel: Glücksrad Programm
Hallo!
ich habe mal ne frage. ich habe 10 wörter im array und eine buchstabeneingabe. ich möchte in der einen buchstabeneingabe einen buchstaben mit einem wort vergleichen. hat vielleicht einer eine idee wie das geht.
ihr wärt mir echt hilfreich
danke im vorraus.
teddy90
_________________ The life is not the end. But the end can be the end of the life. The life after the life. i hope it's true. ICH GLAUBE AN DAS LEBEN NACH DEM TOD.
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 07.10.05 11:39
Titel: Re: Glücksrad Programm
teddy90 hat folgendes geschrieben: | Hallo!
ich habe mal ne frage. ich habe 10 wörter im array und eine buchstabeneingabe. ich möchte in der einen buchstabeneingabe einen buchstaben mit einem wort vergleichen. hat vielleicht einer eine idee wie das geht. |
Bitte WAS? Ich weiß nicht wirklich was du meinst!
Wenn du einen Buchstaben mit einem Wort vergleichst, was soll denn da rauskommen?
Meinst du einen Buchstaben mit einer bestimmten Stelle IN einem Wort?
Sei Edit1 dein Eingabefeld in dem der Buchstabe steht und WortArray das array mit den Wörtern...
Delphi-Quelltext 1: 2: 3: 4:
| if Self.Edit1.Text[1] = WortArray[4][5] then ShowMessage('gleich') else ShowMessage('nicht gleich'); |
Das vergleicht den ersten Buchstaben in Edit1 mit dem fünften Buchstaben im fünften Wort in WortArray...
Du kannst auf die einzelnen Buchstaben in einem String einfach mit den eckigen Klammern zugreifen, dann ist das ein Array von Buchstaben...
|
|
-delphin-
      
Beiträge: 200
|
Verfasst: Fr 07.10.05 15:51
jaenicke nimms mal nich so genau, unser kamerad is erst 15 =)
also entweder so wie jaenicke es gesagt hat, oder mit pos, d.h:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| Position:=pos(Rate,Wort); if Position=0 then begin showmessage('Buchstabe ist nicht drin!'); end else begin showmessage('Buchstabe ist an '+IntToStr(Position)+'. Stelle.'); end; |
Das bringt dir allerdings noch nicht das visuelle --A--- (Beispiel), sondern ändert nix an deiner Anzeige, ist nur eine persönliche Information an welcher Stelle und ob überhaupt der Buchstabe im Wort ist
|
|