Supportnet / Forum / Plauderecke
turbo pascal zufallsgenerator
Frage
ich wusste nicht, wo das reingehört. deshalb poste ich es einfach mal hier.
also, ich möchte für ein rundenbasierendes kampfspiel einen zufallsgenerator programieren. d.h. mann gibt die stärke der attacke ein, die Z die geschicklichkeit des angreifers, die stärke des angreifers, die reaktionsschnelligkeit des angegriffenen und die verteidigungsstärke des angegriffenen. und jetzt kommts: das alles in turbo pascal.
ich weiß, ist ziemlich kompliziert, aber ich kenn die ganzen formel einfach nicht. kannnnn mir einer von euch helfen?
wenn ihr keinen bock habt, so viel zu schreiben, gebt mir einfach nen link wo wirklich alles für anfänger erklärt wird.
thx
Antwort 1 von nighty
hi snake
lass dich mal nicht so haengen das ist eine einfache uebung(oops ich kann nur basic)zum
beispiel :
grundwerte
staerke +1=5 (phantasiewerte)
geschick +1=2
armor +1=3
tatsaechliche werte
staerke=12(60)
geschick=5(10)
armor=6(18)
endwert=88-gegner(hat 92 nur beispiel),auf dessen endwert bezogen bleiben als differenz 4 ,so koennte man jetzt als beispiel sagen der eine schlaegt mit 100 % und der andere mit 104 prozent bezugnehmend auf den abzug der lebensenergie usw. eventuell wetter und bodengegebenheiten noch mit einbeziehen.dafuer gibt es keine formeln es bleibt nur deine phantasie,viel glueck dann noch.
gruss nighty
p.s.
einen aehnlichen befehl wie rnd(zufallsgenerator) gibt es sicherlich auch in pascal wobei dessen ausgangsbasis noch wichtig ist zu wissen bzw. zu aendern.
lass dich mal nicht so haengen das ist eine einfache uebung(oops ich kann nur basic)zum
beispiel :
grundwerte
staerke +1=5 (phantasiewerte)
geschick +1=2
armor +1=3
tatsaechliche werte
staerke=12(60)
geschick=5(10)
armor=6(18)
endwert=88-gegner(hat 92 nur beispiel),auf dessen endwert bezogen bleiben als differenz 4 ,so koennte man jetzt als beispiel sagen der eine schlaegt mit 100 % und der andere mit 104 prozent bezugnehmend auf den abzug der lebensenergie usw. eventuell wetter und bodengegebenheiten noch mit einbeziehen.dafuer gibt es keine formeln es bleibt nur deine phantasie,viel glueck dann noch.
gruss nighty
p.s.
einen aehnlichen befehl wie rnd(zufallsgenerator) gibt es sicherlich auch in pascal wobei dessen ausgangsbasis noch wichtig ist zu wissen bzw. zu aendern.
Antwort 2 von Soldier_Snake
ich glaub, der befehl heisst random()
naja, ich probier einfach mal ein bissche rum. dann war der info-unterricht wenigstens nicht umsonst
naja, ich probier einfach mal ein bissche rum. dann war der info-unterricht wenigstens nicht umsonst
Antwort 3 von Rangoo
Ich weiß jetzt nicht genau, was du eigentlich wissen willst... Die Befehle, um jemanden die Werte eintippen zu lassen?
Zur Ausgabe von Text hat man früher (TP für DOS) verwendet:
Und für Textvariablen
Und Eingabe einer Variable war:
Zufallsgeneratoren wurden mit
Zur Ausgabe von Text hat man früher (TP für DOS) verwendet:
write('Text'); Und für Textvariablen
write(variablenname); Und Eingabe einer Variable war:
readln(variablenname); Zufallsgeneratoren wurden mit
randomize; initialisiert und mit variable:=random(Bereich der Zahlen von 0 bis Zahl die man hier angibt);
z.B.:
variable:=random(100); wurden die Zahlen bestimmt.Antwort 4 von Soldier_Snake
das weis ich alles. hat sich eigentlich schon erledigt.
hab jetzt aber ein anderes problem. das progi akzeptiert meinen dokumentkopf nicht.
ich habe geschrieben:
[B]PROGRAM zufallsgenerator;
USES crt;
VAR a, b, c, d, e: integer;
BEGIN
"ein paar anweisungen"
END:
[/B]
aber, wenn ich auf compile klicke, kreidet er mir das simikolon hinter USES crt an. fehlermeldung: file not found (SYSTEM.TPU).
aber, das simikolon muss da hin
hab jetzt aber ein anderes problem. das progi akzeptiert meinen dokumentkopf nicht.
ich habe geschrieben:
[B]PROGRAM zufallsgenerator;
USES crt;
VAR a, b, c, d, e: integer;
BEGIN
"ein paar anweisungen"
END:
[/B]
aber, wenn ich auf compile klicke, kreidet er mir das simikolon hinter USES crt an. fehlermeldung: file not found (SYSTEM.TPU).
aber, das simikolon muss da hin
Antwort 5 von Soldier_Snake
das weis ich alles. hat sich eigentlich schon erledigt.
hab jetzt aber ein anderes problem. das progi akzeptiert meinen dokumentkopf nicht.
ich habe geschrieben:
[B]PROGRAM zufallsgenerator;
USES crt;
VAR a, b, c, d, e: integer;
BEGIN
"ein paar anweisungen"
END:
[/B]
aber, wenn ich auf compile klicke, kreidet er mir das simikolon hinter USES crt an. fehlermeldung: file not found (SYSTEM.TPU).
aber, das simikolon muss da hin
hab jetzt aber ein anderes problem. das progi akzeptiert meinen dokumentkopf nicht.
ich habe geschrieben:
[B]PROGRAM zufallsgenerator;
USES crt;
VAR a, b, c, d, e: integer;
BEGIN
"ein paar anweisungen"
END:
[/B]
aber, wenn ich auf compile klicke, kreidet er mir das simikolon hinter USES crt an. fehlermeldung: file not found (SYSTEM.TPU).
aber, das simikolon muss da hin
Antwort 6 von semi
END.
statt
END:
statt
END:
Antwort 7 von Soldier_Snake
nein, da ist das programm noch gar nicht mit compilen angelangt. er hört bei dem simikolon ober auf
Antwort 8 von Soldier_Snake
hat sich erledigt. ich musste einfach nur das progi neustarten
Antwort 9 von shrike
Kleiner Hinweis: Die Unit CRT von TP7 ist fehlerhaft. Da kann es auf schnellen PC's zum berühmten "Runtime Error 200" kommen.
Wenn du natürlich TP6 verwendest, bist du auf der sicheren Seite ;-)
shrike
Wenn du natürlich TP6 verwendest, bist du auf der sicheren Seite ;-)
shrike
Antwort 10 von Soldier_Snake
ich hab tp6.
aber schon wieder ein problem.
hab ne ziemlich lange rechnung, am ende natürlich ein simikolon. alle variablen sind ok. er markiert wieder das simikolon und sagt: error 26 type mismatch
ansonsten ist das progi aber fertig
aber schon wieder ein problem.
hab ne ziemlich lange rechnung, am ende natürlich ein simikolon. alle variablen sind ok. er markiert wieder das simikolon und sagt: error 26 type mismatch
ansonsten ist das progi aber fertig
Antwort 11 von Rangoo
Mehrere Möglichkeiten:
Du rechnest irgendwo mit einem String statt Integer.
Du dividierst irgendwo irgendwas, aber die Variable, in der das Ergebnis gespeichert wird, ist vom Typ Integer. (Problem Ganzzahlen, Kommazahlen)
Du hast statt := nur = geschrieben.
Du rechnest irgendwo mit einem String statt Integer.
Du dividierst irgendwo irgendwas, aber die Variable, in der das Ergebnis gespeichert wird, ist vom Typ Integer. (Problem Ganzzahlen, Kommazahlen)
Du hast statt := nur = geschrieben.
Antwort 12 von Rangoo
Nachtrag: Bei Fall 2 solltest du statt Integer die Variable als Real definieren.
Antwort 13 von nighty
hi snake
das beste beispiel fuer eine flexible einteilung der attribute sind die rollenspielregeln erstmal leicht erlernbar und immens ausbaufaehig und uebertragbar.
gruss nighty
das beste beispiel fuer eine flexible einteilung der attribute sind die rollenspielregeln erstmal leicht erlernbar und immens ausbaufaehig und uebertragbar.
gruss nighty
Antwort 14 von Yoram
Semikolon - nicht Simikolon

