Chess Example (Source Code)
Chess Example / Fortran
program chess
character (len=1), dimension (8), parameter :: cit1 = (/'A','B','C','D','E','F','G','H'/)
character (len=12),parameter::cit='CHESS BOARD'
integer:: i,j,nl
real::v
call metafl ('pdf')
call setpag ('da4p')
call disini()
call pagorg('bottom')
call pagera()
call setvlt('small')
call origin(200,900)
call rectan(0,0,1600,1600)
do i = 200,1600,200
call line(i,0,i,1600)
end do
do j = 200,1600,200
call line(0,j,1600,j)
end do
do j=0,3,1
do i=100,1300,400
call point(i,100+j*400,200,200,1)
end do
end do
do j=0,3,1
do i=300,1500,400
call point(i,300+j*400,200,200,1)
end do
end do
call psfont('helvetica')
call height (100)
do i=1,8,1
nl = nlmess(cit1(i))
call messag (cit1(i),(i-1)*200+(200-nl)/2, -50)
end do
do i=1,8,1
v=i
call number (v,-1,1650,(i-1)*200+150 )
end do
call origin(0,0)
nl = nlmess (cit)
call messag (cit,(2100-nl)/2, 2700)
call filbox(250,650,1500,550)
call incfil('chess_txt.png')
call disfin()
end program chess
Chess Example / C
#include <stdio.h>
#include <string.h>
#include <math.h>
#include "dislin.h"
int i,j,nl ;
float v ;
char cit1[8][2]={"A","B","C","D","E","F","G","H"};
char cit[13]="CHESS BOARD";
main()
{
metafl ("pdf");
setpag ("da4p");
disini();
pagorg("bottom");
pagera();
setvlt("small");
origin(200,900);
rectan(0,0,1600,1600);
for (i=200; i<1601; i=i+1)
{ if ((i % 200) == 0)
{ line(i,0,i,1600);
}
}
for (j=200; j<1601; j=j+1)
{ if ((j % 200) == 0)
{ line(0,j,1600,j);
}
}
for (j=0; j<4 ;j=j+1)
{ for (i=0; i<4 ;i=i+1)
{ point(100+i*400,100+j*400,200,200,1);
}
}
for (j=0; j<4; j=j+1)
{ for (i=0; i<4; i=i+1)
{ point(300+i*400,300+j*400,200,200,1);
}
}
psfont("helvetica");
height (100);
for (i=0; i<8; i=i+1)
{ nl= nlmess(cit1[i]);
messag (cit1[i],(i*200+(200-nl)/2),-50);
}
for (i=1; i<9; i=i+1)
{ v=i;
number (v,-1,1650,(i-1)*200+150 );
}
origin(0,0);
nl=nlmess (cit) ;
messag (cit,(2100-nl)/2,2700);
filbox(250,650,1500,550);
incfil("chess_txt.png");
disfin();
}
Chess Example / Free Pascal
program chess;
uses
crt,dislin;
var
cit1:array [1..8] of string[1]=('A','B','C','D','E','F','G','H');
cit:string[12]='CHESS BOARD';
i,j:integer;
nl:integer;
v:real;
begin {main}
clrscr;
metafl ('pdf');
setpag ('da4p');
disini();
pagorg('bottom');
pagera();
setvlt('small');
origin(200,900);
rectan(0,0,1600,1600);
for i:= 200 to 1600 do
begin
if (i mod 200)=0 then line(i,0,i,1600);
end;
for j:= 200 to 1600
begin
if (j mod 200)=0 then line(0,j,1600,j);
end;
for j:=0 to 3 do
begin
for i:=0 to 3 do
point(100+i*400,100+j*400,200,200,1);
end;
for j:=0 to 3 do
begin
for i:=0 to 3 do
point(300+i*400,300+j*400,200,200,1);
end;
psfont('helvetica');
height (100);
for i:=1 to 8 do
begin
nl:= nlmess(cit1[i]);
messag (cit1[i],trunc((i-1)*200+(200-nl)/2),-50);
end;
for i:=1 to 8 do
begin
v:=i;
number (v,-1,1650,(i-1)*200+150 );
end;
origin(0,0);
nl:=nlmess (cit) ;
messag (cit,trunc((2100-nl)/2),2700);
filbox(250,650,1500,550);
incfil('chess_txt.png');
disfin();
end.
Chess Example / FreeBasic
#include "dislin.bi"
dim as integer i,j,nl
dim v as single
dim as string cit = "CHESS BOARD"
dim cit1(1 to 8) as string= {"A","B","C","D","E","F","G","H"}
dislin.metafl ("pdf")
dislin.setpag ("da4p")
dislin.disini()
dislin.pagorg("bottom")
dislin.pagera()
dislin.setvlt("small")
dislin.origin(200,900)
dislin.rectan(0,0,1600,1600)
for i=200 to 1600 step 200
dislin.line(i,0,i,1600)
next i
for j=200 to 1600 step 200
dislin.line(0,j,1600,j)
next j
for j=0 to 3 step 1
for i=100 to 1300 step 400
dislin.point(i,100+j*400,200,200,1)
next i
next j
for j=0 to 3 step 1
for i=300 to 1500 step 400
dislin.point(i,300+j*400,200,200,1)
next i
next j
dislin.psfont("helvetica")
dislin.height (100)
for i=1 to 8 step 1
nl = dislin.nlmess(cit1(i))
dislin.messag (cit1(i),(i-1)*200+(200-nl)/2, -50)
next i
for i=1 to 8 step 1
v=i
dislin.number (v,-1,1650,(i-1)*200+150 )
next i
dislin.origin(0,0)
nl = dislin.nlmess(cit)
dislin.messag (cit,(2100-nl)/2, 2700)
dislin.filbox(250,650,1500,550)
dislin.incfil ("chess_txt.png")
dislin.disfin()
end
Chess Example / GCL
%gcl
cit='CHEES BOARD'
metafl ('pdf')
setpag ('da4p')
disini()
pagorg('bottom')
pagera()
setvlt('small')
origin(200,900)
rectan(0,0,1600,1600)
do i = 200,1600,200
line(i,0,i,1600)
end do
do j = 200,1600,200
line(0,j,1600,j)
end do
do j=0,3,1
do i=100,1300,400
point(i,100+j*400,200,200,1)
end do
end do
do j=0,3,1
do i=300,1500,400
point(i,300+j*400,200,200,1)
end do
end do
psfont('helvetica')
height (100)
do i=1,8,1
nl = nlmess(string(i+64))
messag (string(i+64),(i-1)*200+(200-nl)/2,-50)
end do
do i=1,8,1
v=float(i)
number (v,-1,1650,(i-1)*200+150 )
end do
origin(0,0)
nl = nlmess (cit)
messag (cit,(2100-nl)/2, 2700)
filbox(250,650,1500,550)
incfil('chess_txt.png')
disfin()
Chess Example / Python
#! /usr/bin/env python
import math
import dislin
cit = "CHESS BOARD"
cit1 = ["A","B","C","D","E","F","G","H"]
dislin.metafl ('pdf')
dislin.setpag ("da4p")
dislin.disini()
dislin.pagorg("bottom")
dislin.pagera()
dislin.setvlt("small")
dislin.origin(200,900)
dislin.rectan(0,0,1600,1600)
for i in range (200,1600,200):
dislin.line(i,0,i,1600)
for j in range(200,1600,200):
dislin.line(0,j,1600,j)
for j in range (0,4):
for i in range (100,1700,400):
dislin.point(i,100+j*400,200,200,1)
for j in range (0,4):
for i in range (300,1900,400):
dislin.point(i,300+j*400,200,200,1)
dislin.psfont("helvetica")
dislin.height (100)
for i in range (0,8 ):
nl = dislin.nlmess(cit1[i])
dislin.messag (cit1[i],(i*200+int((200-nl)/2)),-50)
for i in range (1,9,1):
v=i
dislin.number (float(v),-1,1650,(i-1)*200+150 )
dislin.origin(0,0)
nl = dislin.nlmess (cit)
dislin.messag (cit,int((2100-nl)/2), 2700)
dislin.filbox(250,650,1500,550)
dislin.incfil ("chess_txt.png")
dislin.disfin()
Chess Example / Java
import de.dislin.Dislin;
public class CHESS {
public static void main(String[] args) {
int i,j,nl ;
float v ;
String cit1[]={"A","B","C","D","E","F","G","H"};
String cit = "CHESS BOARD";
Dislin.metafl ("pdf");
Dislin.setpag ("da4p");
Dislin.disini();
Dislin.pagorg("bottom");
Dislin.pagera();
Dislin.setvlt("small");
Dislin.origin(200,900);
Dislin.rectan(0,0,1600,1600);
for (i=200; i<1601; i=i+1)
{
if ((i % 200) == 0)
{
Dislin.line(i,0,i,1600);
}
}
for (j=200; j<1601; j=j+1)
{
if ((j % 200) == 0)
{
Dislin.line(0,j,1600,j);
}
}
for (j=0; j<4 ;j=j+1)
{
for (i=0; i<4 ;i=i+1)
{
Dislin.point(100+i*400,100+j*400,200,200,1);
}
}
for (j=0; j<4; j=j+1)
{
for (i=0; i<4; i=i+1)
{
Dislin.point(300+i*400,300+j*400,200,200,1);
}
}
Dislin.psfont("helvetica");
Dislin.height (100);
for (i=0; i<8; i=i+1)
{
nl= Dislin.nlmess(cit1[i]);
Dislin.messag (cit1[i],(i*200+(200-nl)/2),-50);
}
for (i=1; i<9; i=i+1)
{
v=i;
Dislin.number (v,-1,1650,(i-1)*200+150 );
}
Dislin.origin(0,0);
nl=Dislin.nlmess (cit) ;
Dislin.messag (cit,(2100-nl)/2,2700);
Dislin.filbox(250,650,1500,550);
Dislin.incfil("chess_txt.png");
Dislin.disfin();
}
}
News
DISLIN manual as eBook from Amazon
5. April 2025
Support for OpenBSD 64-bit
17. January 2025
Support for Python 3.13 and Windows
17. January 2025
Updated PDF manual of the DISLIN book
8. January 2025
Upgrade 11.5.2
8. April 2024
Support for Python 3.11 and Windows
28. July 2023
Bug fix for the X11 distributions
22. July 2023
Upgrade 11.5.1
25. April 2023
Support for Linux 64-bit on IBM z series
30. October 2022
Support for MingW 64-bit UCRT runtime environment
28. September 2022
Release 11.5
15. March 2022
DISLIN Book Version 11 is available
8. March 2017
5. April 2025
Support for OpenBSD 64-bit
17. January 2025
Support for Python 3.13 and Windows
17. January 2025
Updated PDF manual of the DISLIN book
8. January 2025
Upgrade 11.5.2
8. April 2024
Support for Python 3.11 and Windows
28. July 2023
Bug fix for the X11 distributions
22. July 2023
Upgrade 11.5.1
25. April 2023
Support for Linux 64-bit on IBM z series
30. October 2022
Support for MingW 64-bit UCRT runtime environment
28. September 2022
Release 11.5
15. March 2022
DISLIN Book Version 11 is available
8. March 2017