anchor.diff:    initscr();
     noecho();
     curs_set(0);
  -  init(BShip);
  +  {cbreak(); }
     getmaxyx(stdscr, max_y, max_x);  {stdscr est la fenetre par default}
     { des petits problemes sous les terminal linux (XFCE et Gnome) 
       un decalage d'un pixel (ou c'est juste moi) a essayer sous windows}
  -  Dec(max_y); Dec(max_x);
  +  {Dec(max_y); Dec(max_x);}
  +  init(BShip, BEnemy);
     i := 0; k:=0;
     { la procedure permet de ne pas attendre l'utilisateur d'entrer une touche
       par contre elle retourne ERR si il n'entre rien}
  +  field := newwin(max_y-3, max_x, 0, 0);
  +  dashboard := newwin(3, max_x, max_y - 3, 0);
  +  mvwprintw(field, 0, 0, 'Field');
  +  mvwprintw(dashboard, 0, 0, 'Score');
  +  drawBox(field);
  +  drawBox(dashboard);
  +  refresh();
     nodelay(stdscr, true);
  +  nodelay(field, true);
     while True do begin
       Inc(i); Inc(k);
  -    clear();
       rk := getch();
       case rk  of 
         67 : BShip.posx :=newPos('L');
  
positive.code:       32 : begin
               with BShip do
                 if ammunition > 0 then begin
                   ammupos[posx] := max_y;
                   Dec(ammunition);
                 end;
               Shoot(BShip);
             end;
      end; 
      mvprintw(max_y, BShip.posx, 'O');
      refresh();
      Shoot(BShip);
      Enemys(BEnemy);
      {un petit dodo pour 3 millisecondes}
      napms(3);
    end;
    endwin();
  END.
  
negative.code: (* Simple jeu réalise par Mohamed Aziz Knani 
   * Email : medazizknani@gmail.com
   * Blog  : http://mohamedazizknani.wordpress.com
   * Sorry for the spaghetti code :v
   *)
  
  program theGame; 
  uses ncurses,strings;
  {$H+}
  type
    Ship = record 
    posx       : integer;
    shape      : string;
    ammunition : integer;
    ammupos    : array [1..100] of byte; { contient la postion des missiles }
    end;
  
    Enemy = record
    shape : char;
    nbr   : integer;
    enepos : array[1..100] of byte; {contient la postion des ennemies}
    end;
  
  var
    max_y, max_x : integer; { les resolutions de la fenetre }
    BShip            : Ship;
    BEnemy           : Enemy;
    rk               : integer;
    i, k, new_x, new_y             : integer; { des compteurs pour ralentir }
    dashboard, field : Pwindow;
  
  function newPos(Posi : char) : integer;
  begin
    if (Posi = 'L')  and (3+BShip.posx <= max_x) then
      newPos := 1+BShip.posx
    else if (Posi = 'R') and (BShip.posx-2 >= 0) then
      newPos := BShip.posx-1
    else newPos := BShip.posx;
  end;
  