Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - GotoXY?


wieczo - Fr 11.04.03 02:27
Titel: GotoXY?
Hallo,

ich will ein Roguelike-Spiel programmieren. Ich habe mit der Dungeon-Generierung anfangen und muss auf das gute, alte TurboPascal zurückgreifen, will ich in Delphi Befehle wie ClrScr oder GotoXY nicht finde:
Nun zu meinem Problem: Ich habe die erste Version(noch sehr langsam) zur Dungeon-Erstellung programmiert, aber GotoXY macht mir Schwierigkeiten, wenn es rauskommentiere, wird der Raum ab 1,1 ausgeben, aber er soll an einer bestimmten Stelle auf dem Bildschirm ausgegeben werden.
Probiert es mal aus:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
program Test;

uses
  crt;



var x, y, i, j : integer;
    roomWidth, roomHeight, roomX, roomY : integer;
    roomTile : char;

begin
  clrscr;
  randomize;

  roomWidth := random(8)+5;
  roomHeight := random(8)+5;
  roomX := random(80-roomWidth);
  roomY := random(25-roomHeight);

  for i := 1 to roomHeight do
    begin
      if (i = 1or (i = roomHeight) then
        for j := 1 to roomWidth do
          begin
            gotoXY(roomX+j-1, roomY+i-1);
            write('#')
          end
      else
        for j := 1 to roomWidth do
          begin
            if (j  = 1or (j = roomWidth) then
              roomTile := '#'
            else
              roomTile := '.';
            gotoXY(roomX+i-1, roomY+j-1);
            write(roomTile)
          end;//of for j
        writeln
    end;//of for i

  readln
end.

Falls euch keine Lösung einfällt, wäre ich froh über Informationen, was mit GotoXY und ClrScr passiert ist.

Vielen Dank im Vorraus
Thomas Wieczorek


wieczo - Fr 11.04.03 02:41

Hehe, war schon lange nicht mehr hier und habe deshalb auch die Suchen-Funktion vergessen.

Entschuldigung

@Luckie: Brauche ich noch eine andere Unit, für deine Befehle (http://www.delphi-forum.de/viewtopic.php?t=8539), es gibt bei mir Fehlermeldungen. Ich habe Delphi 6 Personal. Es kennt TCoord und TConsole nicht. Danke im Vorraus


Delete - Fr 11.04.03 05:31

Das ist eine Inklud-Datei und wird mit der Kompilerdirektive:

Quelltext
1:
{$INCLUDE Meinedatei.inc}                    

eingebunden. Dies kann an jeder beliebegien Stelle im Programm passieren. Sollte aber frühestens nach den uses-Abschnit erfolgen. Ich denke mal,du hast sie in den uses-Abschnitt eingetragen und daraus resultiert der Feler.


wieczo - Fr 11.04.03 15:29

:D Dankeschön