Entwickler-Ecke

Open Source Projekte - [Open-Source] - tPs Simple TicTacToe


turboPASCAL - Sa 20.12.08 10:56
Titel: [Open-Source] - tPs Simple TicTacToe
Sehr simples Tic Tac Toe ohne KI.
War überrascht wie schnell das zu machen ging.


Hinweise:
- Keine Nutzung der Registry und keine Inidateien.
- Crosspost in der DP


Fiete - Sa 20.12.08 13:39
Titel: Re: [Open-Source] - tPs Simple TicTacToe
Moin turboPASCAL,
hier ist noch eine Version aus dem Jahre 1990 in Turbo-Pascal:


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:
{$R+,G+,Q+}
Program TIC_TAC_TOE;
 Uses Crt;
 VAR T:ARRAY[1..9of INTEGER;
   j,b,i,p:INTEGER;
      flag:BOOLEAN;
      C:Char;

 FUNCTION F(x:INTEGER):INTEGER;
  BEGIN F:=x-8*((x-1DIV 8END;

 PROCEDURE AUSGABE;
  BEGIN
   T[b]:=0;
   WRITELN(T[1]:2,T[2]:2,T[3]:2);
   WRITELN(T[8]:2,T[9]:2,T[4]:2);
   WRITELN(T[7]:2,T[6]:2,T[5]:2);
   WRITELN
  END;

 PROCEDURE EINGABE;
  BEGIN
   REPEAT
    WRITE('Dein Zug : ');READLN(p);
   UNTIL (p>0AND (p<10AND (T[p]<>0AND (T[p]<>-1);
   T[p]:=-1;
  END;

 BEGIN { Hauptprogramm }
  Clrscr;
  FOR i:=1 TO 9 DO T[i]:=i;
  flag:=false;b:=9;{ erster Zug, immer auf 9! }
  AUSGABE;J:=1;EINGABE;b:=F(p+1);
  REPEAT
   AUSGABE;
   j:=j+1;EINGABE;
   IF p=F(b+4THEN b:=F(p+1ELSE flag:=true;
  UNTIL (j=4OR flag;
  IF j=4 THEN BEGIN b:=F(p+5);AUSGABE;WRITELN('Remis!'END
  ELSE BEGIN b:=F(b+4);AUSGABE;WRITELN('MS-DOS GEWINNT !'END;
  C:=Readkey
 END.

Kurz und knapp.

Gruß
Fiete