Supportnet Computer
Planet of Tech

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.

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

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:
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

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

Antwort 6 von semi

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

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

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.

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

Antwort 14 von Yoram

Semikolon - nicht Simikolon