File 17UND4.PS

Directory of image this file is from
This file as a plain text file

PROGRAM SIEBZEHNUNDVIER(INPUT,OUTPUT);
TYPE STAPEL=ARRAY[1..32]OF INTEGER;
     PLAYERS=ARRAY[1..5]OF INTEGER;
VAR KARTE:STAPEL;
    SPIELER:PLAYERS;
    ANTWORT:CHAR;
    I,BEST,ANZAHLSPIELER,KARTENANZAHL:INTEGER;
PROCEDURE TAUSCHE (VAR X,Y:INTEGER);
VAR Z:INTEGER;
BEGIN Z:=X;X:=Y;Y:=Z END;
PROCEDURE AUSGANGSBELEGUNG (VAR KARTE:STAPEL);
VAR I:INTEGER;
BEGIN
FOR I:=1 TO 4 DO
   BEGIN KARTE[I]:=2;KARTE[I+4]:=3;
         KARTE[I+8]:=4;KARTE[I+12]:=7;
         KARTE[I+16]:=8;KARTE[I+20]:=9;
        KARTE[I+24]:=10;KARTE[I+28]:=11
   END
END;
PROCEDURE MISCHEN (VAR KARTE:STAPEL);
VAR I:INTEGER;
BEGIN
        WRITELN("MOMENT,ICH MUSS JETZT DIE KARTEN MISCHEN!");
   FOR I:=1 TO 100 DO TAUSCHE(KARTE[32],KARTE[TRUNC(32*RANDOM)+1])
   END;
PROCEDURE KARTEAUSTEILEN (KARTE :STAPEL;VAR KARTENANZAHL,SPIELER:INTEGER);
BEGIN
SPIELER :=SPIELER +KARTE[KARTENANZAHL];
WRITELN("DU ERHAELST EINE KARTE MIT DEM WERT:",KARTE[KARTENANZAHL]:4);
KARTENANZAHL:=KARTENANZAHL-1
END;
PROCEDURE BESTESAUSSUCHEN(SPIELER:PLAYERS;ANZAHLSPIELER:INTEGER;VAR BEST:INTEGER);
VAR I:INTEGER;
BEGIN
FOR I:=1 TO ANZAHLSPIELER 
   DO IF (SPIELER[I]>BEST) AND (SPIELER[I]<=21)
      THEN BEST:=SPIELER[I]
END;
PROCEDURE COMPUTERSPIELT (BEST:INTEGER;KARTE:STAPEL;VAR KARTENANZAHL,COMPUTER:INTEGER);
BEGIN COMPUTER:=0;
REPEAT
      COMPUTER:=COMPUTER +KARTE[KARTENANZAHL];
      WRITELN("MEINE KARTE HAT DEN WERT:",KARTE[KARTENANZAHL]:4);
      KARTENANZAHL:=KARTENANZAHL-1
UNTIL (COMPUTER >=BEST)OR(COMPUTER>21);
WRITELN;WRITELN("MEIN PUNKTEKONTO BETRAEGT",COMPUTER:4," PUNKTE.")
END;
PROCEDURE AUSWERTUNG (VAR SPIELER:PLAYERS;ANZAHLSPIELER:INTEGER);
VAR I,BEST:INTEGER;
BEGIN
FOR I:=1 TO ANZAHLSPIELER DO
   IF(SPIELER[I]>21)OR(SPIELER[I]<17)
   THEN BEGIN
      IF I=ANZAHLSPIELER
      THEN WRITELN("ICH KOMME NICHT IN DIE WERTUNG,DA ICH",SPIELER[I]:4," PUNKTE HABE")
      ELSE WRITELN("SPIELER",I:3,"KOMMT NICHT IN DIE WERTUNG,DA ER",SPIELER[I]:4,"PUNKTE HAT");
   SPIELER[I]:=0
END;
BEST:=0;
BESTESAUSSUCHEN(SPIELER,ANZAHLSPIELER,BEST);
IF BEST=0
THEN WRITELN("....ALSO HAT KEINER GEWONNEN")
ELSE BEGIN
   IF SPIELER[ANZAHLSPIELER]=BEST
   THEN WRITELN("ICH HABE GEWONNEN")
   ELSE FOR I:=1 TO ANZAHLSPIELER-1
DO IF SPIELER[I]=BEST
THEN WRITELN("GEWONNEN HAT SPIELER",I)
   END
END;(*PROCEDURE*)
BEGIN(*MAIN*)
AUSGANGSBELEGUNG(KARTE);
REPEAT
  MISCHEN(KARTE);KARTENANZAHL:=32;
  WRITE("WIEVIEL SPIELER MOECHTEN MITSPIELEN(MAX 4)");
  REPEAT
    READLN;READ(ANZAHLSPIELER);
    IF ANZAHLSPIELER<1 THEN WRITELN("ALLEINE KANN ICH NICHT SPIELEN!!");
    IF ANZAHLSPIELER>4 THEN WRITELN("MEHR ALS 4 SPIELER KOENNEN LEIDER NICHT MITMACHEN!!")
  UNTIL(ANZAHLSPIELER>=1)AND(ANZAHLSPIELER<=4);
  FOR I:=1 TO ANZAHLSPIELER DO
    BEGIN WRITELN("SPIELER",I:3);WRITELN("----------");
      SPIELER[I]:=0;
      KARTEAUSTEILEN(KARTE,KARTENANZAHL,SPIELER[I]);
      REPEAT
        KARTEAUSTEILEN(KARTE,KARTENANZAHL,SPIELER[I]);
        IF SPIELER[I]<21 THEN
	   BEGIN WRITE("DEIN PUNKTEKONTO BETRAEGT JETZT",SPIELER[I]:4," PUNKTE.");
		 WRITE("MOECHTEST DU NOCH EINE KARTE(J ODER N)");
		 REPEAT
		   READLN;READ(ANTWORT);
		   IF(ANTWORT<>"J")AND(ANTWORT<>"N")THEN WRITE("ENTSCHEIDE DICH!!")
		 UNTIL(ANTWORT="J")OR(ANTWORT="N");
	  END
UNTIL(ANTWORT="N")OR(SPIELER[I]>21);WRITELN
    END;
  WRITELN("JETZT SPIELE ICH!");WRITELN;BEST:=17;
  BESTESAUSSUCHEN(SPIELER,ANZAHLSPIELER,BEST);
  ANZAHLSPIELER:=ANZAHLSPIELER+1;
  COMPUTERSPIELT(BEST,KARTE,KARTENANZAHL,SPIELER[ANZAHLSPIELER]);
  WRITELN;
  AUSWERTUNG(SPIELER,ANZAHLSPIELER);WRITELN;
  IF ANZAHLSPIELER=2 THEN WRITE("WILLST DU")
   ELSE WRITE("WOLLT IHR");
  WRITE(" NOCH EINMAL SPIELEN");
  REPEAT
    READLN;READ(ANTWORT);
    IF (ANTWORT<>"J")AND(ANTWORT<>"N") THEN WRITE("WAS WILLST DU DENN JETZT")
  UNTIL(ANTWORT="J")OR(ANTWORT="N")
UNTIL ANTWORT="N"
END.



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search