Spiel-Idee

Freeprogs.iphpbb.com
Verfügbare Informationen zu "Spiel-Idee"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: vpascal - Dragorad
  • Forum: Freeprogs.iphpbb.com
  • Forenbeschreibung: Der Ort zum Austauschen selbst Programmierter Programme!
  • aus dem Unterforum: Off Topic
  • Antworten: 16
  • Forum gestartet am: Mittwoch 04.04.2007
  • Sprache: deutsch
  • Link zum Originaltopic: Spiel-Idee
  • Letzte Antwort: vor 15 Jahren, 11 Monaten, 13 Tagen, 2 Stunden, 18 Minuten
  • Alle Beiträge und Antworten zu "Spiel-Idee"

    Re: Spiel-Idee

    vpascal - 10.04.2007, 20:30

    Spiel-Idee
    Ich hätte ne Idee.... Ich fange an, und jeder der genügend kenntnisse hat um ein Spiel zu programmieren macht mit... Das ist von mir nur ein Test!!!!!!! Bitte bescheid sagen ob's geht. Ich hab leider kein TP, denn das geht nur mit TP:

    Code: program Spieletest;
    uses crt, graph;
    VAR treiber, modus: Integer;
    begin;
    DetectGraph (treiber, modus);
    InitGraph (treiber, modus, 'C:\Turbo\BGI\');{<----ZUM BEISPIEL!!!----<<<}
    circle (200, 300, 40);
    while readkey = 'd' do
    begin
    clrscr;
    circle (210, 300, 40);
    end;
    {------------------------------------------------}
    while readkey = 'a' do
    begin
    clrscr;
    circle (200, 300, 40);
    end;
    {------------------------------------------------}
    while readkey = 'w' do
    begin
    clrscr;
    circle (200, 310);
    end;
    {------------------------------------------------}
    while readkey = 's' do
    begin
    clrscr;
    circle (200, 300);
    end;
    {------------------------------------------------}
    closegraph;
    readkey;
    end.


    Ich weiss das das ein behämmertes Beispiel ist!!! Wenn man die taste 'd' drückt, geht ein kreis nach rechts, und so weiter...



    Re: Spiel-Idee

    vpascal - 10.04.2007, 21:01


    doch, ich hab jetzt Tp aber das Spiel ist kacke. Ist ja nur ne Demonstration, kein richtiges Spiel. Bitte um viele, viele Verbesserungsvorschläge!!!



    Re: Spiel-Idee

    Dragorad - 10.04.2007, 22:04


    Hab's mal soweit überarbeitet, dass man den Kreis in jede Richtung bewegen kann. Eine Geschwindigkeitskontrolle folgt ...

    Code: program   Spieletest;
    uses      crt,graph;
    VAR       treiber,modus,x,y:Integer;

    begin     DetectGraph(treiber,modus);
              InitGraph(treiber,modus,'C:\Turbo\BGI\');{<----ZUM BEISPIEL!!!----<<<}
              x:=200;
              y:=300;
              circle(x,y,40);
              repeat
               while readkey='d' do
               begin
                setcolor(black);
                circle(x,y,40);
                x:=x+1;
                setcolor(white);
                circle(x,y,40);
               end;
               while readkey='a' do
               begin
                setcolor(black);
                circle(x,y,40);
                x:=x-1;
                setcolor(white);
                circle(x,y,40);
               end;
               while readkey='w' do
               begin
                setcolor(black);
                circle(x,y,40);
                y:=y-1;
                setcolor(white);
                circle(x,y,40);
               end;
               while readkey='s' do
               begin
                setcolor(black);
                circle(x,y,40);
                y:=y+1;
                setcolor(white);
                circle(x,y,40);
               end;
              until (readkey<>'w') and (readkey<>'a') and (readkey<>'s') and (readkey<>'d');
              closegraph;
    end.



    Re: Spiel-Idee

    vpascal - 11.04.2007, 15:41


    Cool! Vielen dank!



    Re: Spiel-Idee

    Dragorad - 11.04.2007, 19:12


    Hier die Version mit der Geschwindigkeit (ist aber noch nicht ganz ausgefeilt), außerdem kann der Kreis nicht mehr über'n Bildschirmrand hinaus verschwinden (aber nur wenn v=1). Habe auch zwei Units dazugemacht, wegen Vereinfachung (kann man aber auch in eine zusammenschmeißen).

    PS: die udata muss als uneu gespeichert werden (oder in der ugraph die uneu durch udata ersetzen)

    Code: program   Spieletest;
    uses      crt,graph,ugraph;
    VAR       treiber,modus:integer;
              r,v,x,y:integer;

    {----------------------------------------------------------------------------}

    begin     DetectGraph(treiber,modus);
              InitGraph(treiber,modus,'BGI\');
              x:=320;
              y:=240;
              r:=10;
              v:=1;
              circle(x,y,r);
              {------------------------------------------------------------------}
              line(0,450,640,450);
              schreib(10,460,'Dies ist eine Kugelsimulation. Bitte Geben Sie die Geschwindigkeit ein:');
              readln(v);
              {------------------------------------------------------------------}
              repeat
               while readkey='d' do
               begin
                setcolor(black);
                circle(x,y,r);
                if x<629 then x:=x+v
                         else x:=x;
                setcolor(white);
                circle(x,y,r);
               end;

               while readkey='a' do
               begin
                setcolor(black);
                circle(x,y,r);
                if x>11 then x:=x-v
                       else x:=x;
                setcolor(white);
                circle(x,y,r);
               end;

               while readkey='w' do
               begin
                setcolor(black);
                circle(x,y,r);
                if y>11 then y:=y-v
                       else y:=y;
                setcolor(white);
                circle(x,y,r);
               end;

               while readkey='s' do
               begin
                setcolor(black);
                circle(x,y,r);
                if y<439 then y:=y+v
                         else y:=y;
                setcolor(white);
                circle(x,y,r);
               end;
              until (readkey<>'w') and (readkey<>'a') and (readkey<>'s') and (readkey<>'d');
              closegraph;
    end.

    Code: unit      ugraph;

    {----------------------------------------------------------------------------}

    interface
    uses      crt,graph,uneu;

    procedure schreib(x,y:integer;text:string);
    procedure vg(x:integer);
    procedure hg(x:integer);

    {----------------------------------------------------------------------------}

    implementation
    procedure schreib(x,y:integer;text:string);
              begin
               settextstyle(1,0,1);
               outtextxy(x,y,text);
              end;
    procedure vg(x:integer);
              begin
               setcolor(x);
               if (x<0) or (x>15) then
               begin
                fehler;
                halt;
               end;
              end;
    procedure hg(x:integer);
              begin
               setbkcolor(x);
               if (x<0) or (x>7) then
               begin
                fehler;
                halt;
               end;
              end;
    end.

    Code: unit      udata;

    {----------------------------------------------------------------------------}

    interface
    uses      crt;

    procedure pinn(x,y:integer);
    procedure writexy(x,y:byte;text:string);
    procedure writexynr(x,y:byte;zahl:integer);
    procedure openwindow(xl,yl,xr,yr:integer);
    procedure openwindowende;
    procedure programmende;
    procedure stringlesen(var lesstr:string;maxlen:byte);
    procedure fehler;
    procedure laden;

    {----------------------------------------------------------------------------}

    implementation
    procedure pinn(x,y:integer);
              var richtig:boolean;
                  a:char;
                  k:integer;
                  wort:string;
              begin
               clrscr;
               textcolor(white);
               repeat
                clrscr;
                wort:='';
                writexy(x,y,'PIN-Nummer:');
                for k:=1 to 4 do
                begin
                 a:=readkey;
                 writexy(x+11+k,y,'*');
                 wort:=wort+a;
                end;
                richtig:=wort='2927';
                if richtig then
                begin
                 textcolor(red+blink);
                 writexy(x+17,y,'OK');
                 delay(3000);
                end
                else
                begin
                 writexy(x+17,y,'Fehleingabe');
                 delay(1000);
                end;
                textcolor(white);
               until richtig;
               textcolor(white);
              end;

    procedure writexy(x,y:byte;text:string);
              begin
               gotoxy(x,y);
               write(text);
              end;

    procedure writexynr(x,y:byte;zahl:integer);
              begin
               gotoxy(x,y);
               write(zahl);
              end;

    procedure openwindow(xl,yl,xr,yr:integer);
              type zaehler=array[1..4] of byte;
              var  zahl:zaehler;
              begin
               writexy(xl,yl,'É');
               writexy(xl,yr,'È');
               writexy(xr,yl,'»');
               writexy(xr,yr,'¼');
               for zahl[1]:=xl+1 to xr-1 do writexy(zahl[1],yl,'Í');
               for zahl[2]:=xl+1 to xr-1 do writexy(zahl[2],yr,'Í');
               for zahl[3]:=yl+1 to yr-1 do writexy(xl,zahl[3],'º');
               for zahl[4]:=yl+1 to yr-1 do writexy(xr,zahl[4],'º');
               window(xl+1,yl+1,xr-1,yr-1);
              end;

    procedure openwindowende;
              type zaehler=array[1..4] of byte;
              var  zahl:zaehler;
                   x,y:integer;
              begin
               x:=30;y:=8;
               writexy(x,y,'É');
               writexy(x,y+4,'È');
               writexy(x+20,y,'»');
               writexy(x+20,y+4,'¼');
               for zahl[1]:=x+1 to x+19 do writexy(zahl[1],y,'Í');
               for zahl[2]:=x+1 to x+19 do writexy(zahl[2],y+4,'Í');
               for zahl[3]:=y+1 to y+3 do writexy(x,zahl[3],'º');
               for zahl[4]:=y+1 to y+3 do writexy(x+20,zahl[4],'º');
               window(x+1,y+1,x+19,y+3);
              end;

    procedure programmende;
              begin
               openwindowende;
               clrscr;
               writexy(2,2,' Wirklich beenden?');
               writexy(2,4,' Ja           Nein');
              end;

    procedure stringlesen(var lesstr:string;maxlen:byte);
              const ret=#13;
              var   ch:char;
                    i,x,y:byte;
              begin
               x:=wherex;
               y:=wherey;
               lesstr:='';
               repeat
                gotoxy(x,y);
                write(lesstr);
                for i:=length(lesstr)+1 to maxlen do write('_');
                gotoxy(x+length(lesstr),y);
                ch:=readkey;
                if (length(lesstr)<maxlen) and (ch<>ret) then lesstr:=lesstr+ch;
               until ch=ret;
               writeln;
              end;

    procedure fehler;
              begin
               sound(440);
               delay(250);
               nosound;
              end;

    procedure laden;
              var vg,hg,x:integer;
              begin
               vg:=15;hg:=0;
               textcolor(vg);
               textbackground(hg);
               clrscr;
               writexy(30,14,'Daten werden geladen ...');
               for x:=11 to 30 do
               begin
                textcolor(red);
                writexy(x,12,'²');
                delay(250);
               end;
               for x:=31 to 50 do
               begin
                textcolor(yellow);
                writexy(x,12,'²');
                delay(250);
               end;
               for x:= 51 to 70 do
               begin
                textcolor(green);
                writexy(x,12,'²');
                delay(250);
               end;
               textcolor(15);
              end;
    end.



    Re: Spiel-Idee

    vpascal - 11.04.2007, 20:17


    Cool Danke, aber wie macht man Gegner? die sich frei bewegen und auch angreifen können? Das dürfte sehr schwierig sein, aber mit Pascal nicht unmöglich, denn Gegner gab es auch mit BASIC.



    Re: Spiel-Idee

    Dragorad - 11.04.2007, 20:19


    Werd' mich mal ransetzen. Die Geschwindigkeit nehm' ich erstmal wieder raus.



    Re: Spiel-Idee

    vpascal - 11.04.2007, 20:27


    wie kann man units mit tp tp-freundlich machen? Mit VP muss man die nur ausführen aber bei tp?



    Re: Spiel-Idee

    Dragorad - 11.04.2007, 21:07


    äh, wie meinst du "tp-freundlich"? Wie man sie einbindet oder wie man sie erstellt?

    Die .tpu-Datei musss im Verzeichnis von TP sein, sonst funzt's net.



    Re: Spiel-Idee

    vpascal - 13.04.2007, 10:00


    Muss man die unit nur compilieren???



    Re: Spiel-Idee

    Dragorad - 13.04.2007, 22:03


    Ganz genau. Es muss außerdem so eingestellt sein, wie man bei der Erstellung einer .exe das einstellt.



    Re: Spiel-Idee

    vpascal - 14.04.2007, 08:50


    achso, ok. Wie kann man den gegner machen? while readkey ='s' do circle (???,???,??); circle (???,???,??) oder so?

    das wenn man eine bewegung macht dder gegner auch eine macht???



    Re: Spiel-Idee

    Dragorad - 14.04.2007, 08:57


    Ich hab' angefangen, einen Multiplayermodus zu erstellen, dass man mit WASD den Spieler steuert und ein zweiter mit PLÖÄ den Gegner (klappt aber noch nicht ganz richtig). Eine Möglichkeit wäre dann noch eine Art rundenbasierendes Spiel (erst macht der Speier eine best. Anzahl von Schritten, dann der Gegner, dann der Spieler,...).



    Re: Spiel-Idee

    vpascal - 14.04.2007, 13:04


    Achso, das wäre gut. Aber ich will wissen wie man KI's macht... geht das mit Pascal???



    Re: Spiel-Idee

    Dragorad - 14.04.2007, 22:24


    Kann man sicherlich Über'n Zufall machen, oder mit Wahrscheinlichkeitsberechnungen - muss ich mal ausprobieren.



    Re: Spiel-Idee

    vpascal - 15.04.2007, 11:40


    aha



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Freeprogs.iphpbb.com



    Ähnliche Beiträge wie "Spiel-Idee"

    WM Total (Schweiz spiel in gefahr) - Angel (Sonntag 18.06.2006)
    fragen zum spiel - Der Arier (Dienstag 18.04.2006)
    Das BB4U Sperrung Spiel - GenrePöpel (Mittwoch 03.05.2006)
    Spiel gegen Langeweile - Todesengelchen (Mittwoch 16.02.2005)
    Filmzitate Spiel - Yorî (Samstag 24.03.2007)
    Frage - Antwort Spiel - Ashurek (Dienstag 06.03.2007)
    6. Spiel - hillary (Sonntag 19.10.2008)
    Spiel 11 - reflink (Sonntag 16.01.2005)
    Das Filmzitate-Spiel - Johannes (Sonntag 06.01.2008)
    Will ja net meckern, aber meine Idee ist... - Feuertänzer (Sonntag 14.10.2007)