Spielfeld

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
TimeleftXL
Beiträge: 1
Registriert: Sa 28. Mai 2016, 20:42
OS, Lazarus, FPC: Lazarus / FPC
CPU-Target: 64/32Bit
Wohnort: Erfurt / Thüringen / Deutschland

Spielfeld

Beitrag von TimeleftXL »

Hi ich programmiere gerade ein text based Game. :roll:

Ich brauche ein logisches Spielfeld oder etwas das ähnlich funktioniert. :D
Ich würde dem Spieler gerne die Möglichkeit geben zu entscheiden in welche Richtung er geht. Dementsprechend soll (Ähnlich wie beim Schachfeld) er pro "Zug" sich in einem anderem Feld befinden. Diesem Feld möchte ich dann unterschiedliche Eigenschaften zuweisen außerdem sollen die Felder random ausgewählt werden . Außerdem sollen die "Erkundeten Felder in einer Minimap aufgezeigt werden für die Orientierung.
Ich hab auch keine Ahnung wie ich das in meinem Programm implementieren soll. :?

Mein erster Ansatz wäre randomize mit Felder die unter einem Mehrdiminsionalen Array zusammengefasst sind (eine kleine Hilfe hier wäre auch nett :wink: ) oder ein case of der die verschiedenen variablen in einer Prozedur lädt und dem Feld zuweist.

Code: Alles auswählen

unit Spielfeld;
interface
uses ....;
var...;
procedure chooser;
 
implementation
procedure chooser;
randomize;
x:=random(Menge der Biome)+1;
case Biom of;
1:begin Zuweisung der Eigenschaften end;
2:begin....end;
.
.
.
end;
end;
 
 
 
begin
(Spielfeld);
bewegung innerhalb des Spieltisches mit read und case of;
if Bewegung then
zuweisung der Eigenschaften mit chooser;
Aufzeichnung in einfacher Minimap;
end;
 

Das sind jetzt ziemlich viele Fragen auf einmal aber ich hoffe auf Antworten und Anregungen danke!!!!! :wink:
Ein Programm macht nicht das was du willst sondern das was du programmierst.

u-boot
Beiträge: 308
Registriert: Do 9. Apr 2009, 10:10
OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
CPU-Target: 32Bit
Wohnort: 785..

Re: Spielfeld

Beitrag von u-boot »

Sry wegen evtl. zu unpräziser Antwort:
Sortiere deine Gedanken und denke in kleinen Schritten! Falls du tatsächlich programmieren willst, hast du damit schon das halbe Programm und die beste Übung. Für ein Schachbrett würde ich wohl irgendwie ein 2D-Array von Einzelfeldern verwenden.
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)

Mathias
Beiträge: 6914
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Spielfeld

Beitrag von Mathias »

Ich würde dem Spieler gerne die Möglichkeit geben zu entscheiden in welche Richtung er geht.
Dafür würde ich erst mal die Unit Crt einbinden, dann kannst du mit Keypresed und Readkey die Tastatur abfragen und dem entsprechend die Spielfigur bewegen.

So könntest du in der schnelle ein Schachbrett zeichnen:

Code: Alles auswählen

program Project1;
 
uses
  Crt;
 
var
  y, x: integer;
begin
  for y := 0 to 10 do begin
    for x := 0 to 10 do begin
      if y mod 2 = 1 then begin
        TextAttr := $44;
      end else begin
        TextAttr := $00;
      end;
      Write('  ');
      if y mod 2 = 1 then begin
        TextAttr := $00;
      end else begin
        TextAttr := $44;
      end;
      Write('  ');
    end;
    WriteLn();
  end;
  TextAttr := $07;
  WriteLn('Ende');
end.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten