![]() |
Schüler in NOT wegen schere stein papier (2.unit muss genutzt werden)
Hallo,
ich bin neu hier und weiß nicht ob ich das jetzt nach den regeln schreibe. also ich muss eine aufgabe lösen. Es geht um das spiel schere stein papier. der spieler erhält zu spielbeginn einen bonus von 10 punkten. man soll sich dann für einen Spielzug entscheiden:stein schere oder papier. wir ein button namens ok bestättigt nimmt der computer auch ein spielzug vor. dieser wird ausgegeben, beide werden verglichen und der punktestand wir neu berechnet und ausgegeben. verliert der spieler wird der punktestand um 1 vermindert, gewinnt er, um eins erhöht.mit 20 gewinnt er mit 0 verliert er. in der 2 unit sind die daten unter type bis implementation vorgegeben. das wichtige bei dem ganzen ist, dass wir eine 2. unit benutzen müssen. ich habe so angefangen: Unit 1 (Uhaupt bei mir)
Delphi-Quellcode:
unit UHaupt;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,USpiel, StdCtrls, ExtCtrls; type TFAnwendung = class(TForm) RGSpielzug: TRadioGroup; BOK: TButton; EComputerzug: TEdit; Edit2EPunktestand: TEdit; LComputerzug: TLabel; Punktestand: TLabel; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var FAnwendung: TFAnwendung; Spiel:TSpiel; implementation {$R *.dfm} procedure TFAnwendung.FormCreate(Sender: TObject); begin Spiel:=TSpiel.Create(10); end; procedure TFAnwendung.FormDestroy(Sender: TObject); begin Spiel.Free; end; end. 2.Unit
Delphi-Quellcode:
unit USpiel;
interface type TSpiel=class private byPunkte, byComputerzug, bySpielerzug:byte; procedure SpielrugAuswerten; public constructor Create(byPkt:byte); function Punktestand:byte; procedure Spielzug(byZug:byte); function Computerzug:string end; implementation constructor TSpiel.Create(byPkt:byte); begin bypunkte:=byPkt; [COLOR="Red"] versteh ich nicht. bypunkte ist der Punktestand warum macht man das dann so und warum ranomize, wir brauchen doch keinen zufall[/COLOR] randomize; end; function TSpiel.Punktestand:byte; begin end; procedure TSpiel.Spielzug(byZug:byte); begin end; function TSpiel.Computerzug:string begin end; end. UND WIE ES WEITERGEHEN SOLL WEI? ICH NICHT betonen muss ich, dass ich nicht will dass mir jemand meine aufgabe machen soll...aber ich versteh wirklich nichts. wenn ihr wollt dass ich alleine drauf kommen soll wird das glaub nicht klappen. ich bin eine Niete :( am freitag ist die letzte klassenarbeit, dann muss ich das nie wieder machen. ich bin in not :( bitte helft mir |
AW: Schüler in NOT wegen schere stein papier (2.unit muss genutzt werden)
Ich wollte schon sagen: schöner Anfang mit Trennung von Überfläche und Logik, aber scheint ja vorgegeben zu sein.
Zitat:
Zitat:
|
AW: Schüler in NOT wegen schere stein papier (2.unit muss genutzt werden)
Zitat:
Ein Randomize setzt den Seed Wert des Zufallszahlengenerators und sorgt damit dafür, dass bei jedem Start Random eine andere Abfolge von Zufallszahlen zurückliefert. Fehl am Platz ist sie jedoch trotzdem - denn sie wird immer aufgerufen, wenn instanziert wird, was ja nicht wirklich geschehen muss - es reicht, wenn dies wirklich nur 1x geschieht! Weiters ist es für den Anfang so Ok. Zu den einzelnen Funktion:
Edit: Je nachdem, wie viele Punkte man hat, kannste noch eine Nachrichtausgabe erfolgen lassen (20 oder 0 Punkte)... Aber das solltest du schon selber schaffen! Achja noch etwas - ![]() |
AW: Schüler in NOT wegen schere stein papier (2.unit muss genutzt werden)
ok. ich versuchs mal. ich schreib dann morgen ob ichs schaffe :D danke
ps: showmessage bekomme ich noch hin :DDDD |
AW: Schüler in NOT wegen schere stein papier (2.unit muss genutzt werden)
Mag eine dumme Frage für euch sein, aber wann benutz man
= und wann := ich versuch die grundlagen zu verstehen |
AW: Schüler in NOT wegen schere stein papier (2.unit muss genutzt werden)
mit := wird ein Wert zugewiesen,
mit = wird auf Gleichheit geprüft. Könnte es sein, daß Du eklatante Grundlagenlücken hast? Gruß K-H |
AW: Schüler in NOT wegen schere stein papier (2.unit muss genutzt werden)
ja kann sein :(
Delphi-Quellcode:
procedure TForm1.BOKClick(Sender: TObject);
begin IF RGSSP.Itemindex=-1 THEN Showmessage('Bitte wählen') ELSE BEGIN spiel.Spielzug(RGSSP.Itemindex); Spiel.SpielZugAuswerten; EComputerzug.Text:=Spiel.Computerzug; EPunktestand.Text:=IntToStr(Spiel.Punktestand); IF Spiel.Punktestand=0 THEN BEGIN Showmessage('Loooooser!'); Spiel:=TSpiel.Create(5); [B][COLOR="black"][COLOR="Red"]muss ich das spiel hier auf den startpunktestand zurücksetzen oder reicht es auch nur unten, bei neues spiel[/COLOR][/COLOR][/B] END; IF Spiel.Punktestand=10 THEN BEGIN Showmessage('Du SchnickSchnackSchnuck-Gott!'); Spiel:=TSpiel.Create(5); END; END; end;
Delphi-Quellcode:
procedure TForm1.NeuesSpiel1Click(Sender: TObject);
begin Spiel:=TSpiel.Create(5); RGSSP.Itemindex:=-1; EComputerzug.Text:=''; EPunktestand.Text:=''; end; end. |
AW: Schüler in NOT wegen schere stein papier (2.unit muss genutzt werden)
achso für die antwort da oben
Zitat:
von wo weiß delphi wenn ich randomize; hinschreibe, dass nur die auswahl des computers zufällig ist. ich hätte irgendwie bycomputerzug =zufall hingeschrieben |
AW: Schüler in NOT wegen schere stein papier (2.unit muss genutzt werden)
Hast du dir meine Antwort überhaupt durchgelesen?
|
AW: Schüler in NOT wegen schere stein papier (2.unit muss genutzt werden)
ja hab ich...mom ich les mal oben nochmal
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz