Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

La unit presenta una classe principale TForm1 che ha al suo interno un menù che permette .

informatica



Nome del Prg. : Warnet.pas

Funzione : La unit presenta una classe principale TForm1 che ha al suo interno un menù che permette .

Dati in Input :

Dati in Output  :

Ultima modifica :

Data:


unit Warnet;


interface


uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Menus, Grids, ExtCtrls, Navi, griglia1, MPlayer;


type

TForm1 = class(TForm)



MainMenu1: TMainMenu;

MenuGioco: TMenuItem;

MenuNuovo: TMenuItem;

MenuComputer: TMenuItem;

MenuRete: TMenuItem;

MenuRiprendi: TMenuItem;

MenuSalva: TMenuItem;

MenuSalvaconnome: TMenuItem;

N1: TMenuItem;

MenuEsci: TMenuItem;

MenuOpzioni: TMenuItem;

MenuLivello: TMenuItem;

MenuNavi: TMenuItem;

MenuSuono: TMenuItem;

MenuFacile: TMenuItem;

MenuMedio: TMenuItem;

MenuDifficile: TMenuItem;

MenuTerribile: TMenuItem;

MenuAiuto: TMenuItem;

MenuStatistico: TMenuItem;

MenuSuggerimento: TMenuItem;

MenuFinestre: TMenuItem;

MenuAvversarie: TMenuItem;

MenuPropria: TMenuItem;

MenuMessaggi: TMenuItem;

MenuInvia: TMenuItem;

MenuInformazioni: TMenuItem;

Panel1: TPanel;

Panel2: TPanel;

Panel3: TPanel;

Panel4: TPanel;

Timer1: TTimer;

MediaPlayer1: TMediaPlayer;

N11: TMenuItem;

N22: TMenuItem;

N33: TMenuItem;

procedure Timer1Timer(Sender: TObject);

procedure MenuEsciClick(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure MenuComputerClick(Sender: TObject);

procedure MenuFacileClick(Sender: TObject);

procedure MenuMedioClick(Sender: TObject);

procedure MenuDifficileClick(Sender: TObject);

procedure MenuTerribileClick(Sender: TObject);

procedure N11Click(Sender: TObject);

private


procedure ShowHint(Sender: TObject);

public


end;


var

Form1: TForm1;


implementation




procedure TForm1.ShowHint(Sender: TObject);

begin

panel3.caption:=Application.Hint;

end;


procedure TForm1.Timer1Timer(Sender: TObject);

begin

panel4.caption:=timetostr(time);

end;


procedure TForm1.MenuEsciClick(Sender: TObject);

begin

close;

end;


procedure TForm1.FormCreate(Sender: TObject);

begin

Application.onHint:=ShowHint;

//MediaPlayer1.FileName:='c:\warnet\suoni\GameOver.wav';

//MediaPlayer1.Open;

//MediaPlayer1.Play;

end;


procedure TForm1.MenuComputerClick(Sender: TObject);

begin

TForm2.create(Application);

Tform3.create(Application);

MenuComputer.Enabled:=false;

MenuFinestre.Enabled:=false;

MenuAiuto.Enabled:=false;

end;


procedure TForm1.MenuFacileClick(Sender: TObject);

begin

MenuTerribile.Checked:=false;

MenuFacile.Checked:=true;

MenuMedio.Checked:=false;

MenuDifficile.Checked:=false;

end;


procedure TForm1.MenuMedioClick(Sender: TObject);

begin

MenuTerribile.Checked:=false;

MenuFacile.Checked:=false;

MenuMedio.Checked:=true;

MenuDifficile.Checked:=false;

end;


procedure TForm1.MenuDifficileClick(Sender: TObject);

begin

MenuTerribile.Checked:=false;

MenuFacile.Checked:=false;

MenuMedio.Checked:=false;

MenuDifficile.Checked:=true;

end;


procedure TForm1.MenuTerribileClick(Sender: TObject);

begin

MenuTerribile.Checked:=true;

MenuFacile.Checked:=false;

MenuMedio.Checked:=false;

MenuDifficile.Checked:=false;

end;


procedure TForm1.N11Click(Sender: TObject);

begin

//MediaPlayer1.FileName:='c:\warnet\suoni\Water.wav';

//MediaPlayer1.Open;

//MediaPlayer1.Play;

end;


end.




Nome del Prg. : Navi.pas

Autore : Pellizzato Davide

Funzione : La unit presenta una classe principale TForm1 che ha al suo interno un menù che permette .

Dati in Input   :

Dati in Output    :

Ultima modifica :

Data:


unit Navi;


interface


uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, ExtCtrls, Brain;


type

TForm3 = class(TForm)

RadioGroup1: TRadioGroup;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

RadioButton4: TRadioButton;

RadioButton5: TRadioButton;

RadioButton6: TRadioButton;

RadioButton7: TRadioButton;

RadioButton8: TRadioButton;

RadioButton9: TRadioButton;

RadioButton10: TRadioButton;

Button1: TButton;

procedure RadioButton1Click(Sender: TObject);

procedure RadioButton2Click(Sender: TObject);

procedure RadioButton3Click(Sender: TObject);

procedure RadioButton4Click(Sender: TObject);

procedure RadioButton5Click(Sender: TObject);

procedure RadioButton6Click(Sender: TObject);

procedure RadioButton7Click(Sender: TObject);

procedure RadioButton8Click(Sender: TObject);

procedure RadioButton9Click(Sender: TObject);

procedure RadioButton10Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private


public


end;


var

Form3: TForm3;

Numero: integer;

Numero_Livello: shortint;

Numero_Navi: array [1..10] of integer;

Giocatore: integer;


implementation


uses Warnet;




procedure TForm3.RadioButton1Click(Sender: TObject);

begin

Numero:=RadioButton1.TabOrder;

end;


procedure TForm3.RadioButton2Click(Sender: TObject);

begin

Numero:=RadioButton2.TabOrder;

end;


procedure TForm3.RadioButton3Click(Sender: TObject);

begin

Numero:=RadioButton3.TabOrder;

end;


procedure TForm3.RadioButton4Click(Sender: TObject);

begin

Numero:=RadioButton4.TabOrder;

end;


procedure TForm3.RadioButton5Click(Sender: TObject);

begin

Numero:=RadioButton5.TabOrder;

end;


procedure TForm3.RadioButton6Click(Sender: TObject);

begin

Numero:=RadioButton7.TabOrder;

end;


procedure TForm3.RadioButton7Click(Sender: TObject);

begin

Numero:=RadioButton7.TabOrder;

end;


procedure TForm3.RadioButton8Click(Sender: TObject);

begin

Numero:=RadioButton8.TabOrder;

end;


procedure TForm3.RadioButton9Click(Sender: TObject);

begin

Numero:=RadioButton9.TabOrder;

end;


procedure TForm3.RadioButton10Click(Sender: TObject);

begin

Numero:=RadioButton10.TabOrder;

end;


procedure TForm3.FormCreate(Sender: TObject);

begin

RadioButton1.Checked:=true;

Numero:=1;

end;


procedure TForm3.Button1Click(Sender: TObject);

var

Mente: Tcomputer;

begin

Giocatore:=1;

Form1.MenuAiuto.Enabled:=true;

if Form1.MenuFacile.checked=true then Numero_Livello:=1

else Form1.MenuFacile.Enabled:=false;

if Form1.MenuMedio.checked=true then Numero_Livello:=2

else Form1.MenuMedio.Enabled:=false;

if Form1.MenuDifficile.checked=true then Numero_Livello:=3

else Form1.MenuDifficile.Enabled:=false;

if Form1.MenuTerribile.checked=true then Numero_Livello:=4

else Form1.MenuTerribile.Enabled:=false;

Mente.create_brain(Numero_Livello,'prova');

Mente.Disponi_Navi(Numero_Navi);

//:='Spara il primo colpo nel campo avversario';

end;


end.
















Nome del Prg. : Griglia.pas

Autore : Pellizzato Davide

Funzione : La unit presenta una classe principale TForm1 che ha al suo interno un menù che permette .

Dati in Input   :

Dati in Output    :

Ultima modifica :

Data:


unit griglia1;


interface


uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Grids, StdCtrls, Menus, Navi, Brain;


type

TForm2 = class(TForm)

DrawGrid1: TDrawGrid;

DrawGrid2: TDrawGrid;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

ImageList1: TImageList;

Label5: TLabel;

Label6: TLabel;

PopupMenu1: TPopupMenu;

SU1: TMenuItem;

GIU1: TMenuItem;

Destra1: TMenuItem;

Sinistra1: TMenuItem;

procedure DrawGrid1MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure DrawGrid2MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure Destra1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Sinistra1Click(Sender: TObject);

procedure SU1Click(Sender: TObject);

procedure DrawGrid1DrawCell(Sender: TObject; Col, Row: Integer;

Rect: TRect; State: TGridDrawState);

procedure GIU1Click(Sender: TObject);

private


procedure Controllo_Fine_Gioco;

public


end;


var

Form2: TForm2;

xmouse,ymouse,fine_gioco: integer;

Campo: array [1..10,1..10] of char;

Campo_Navi: array [1..10,1..10] of integer;


implementation


uses Warnet;




procedure TForm2.DrawGrid1MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

var

Errore,Colonna, Riga,i: Longint;

begin

xmouse:=X;

ymouse:=Y;

Drawgrid1.MouseToCell(X,Y,Colonna,Riga);

label1.caption:='Riga: ' + intToStr(Riga);

label2.caption:='Colonna: ' + intToStr(Colonna);

if(numero=1) then

begin

Errore:=0;

Drawgrid1.MouseToCell(xmouse,ymouse,Colonna,Riga);

if((colonna+numero)>10) then errore:=1;

for i:=colonna+1 to colonna+numero do

begin

if Campo[riga+1,i]='N' then errore:=1;

if riga>=1 then

begin

if Campo[riga,i]='N' then errore:=1;

end;

if riga+2<=10 then

begin

if campo[riga+2,i]='N' then errore:=1;

end;

end;

if colonna>=1 then

begin

if Campo[riga+1,colonna]='N' then errore:=1;

end;

if colonna+numero+1 <=10 then

begin

if Campo[riga+1,colonna+numero+1]='N' then errore:=1;

end;

if errore=0 then

begin

inc(Numero_Navi[numero]);

PopupMenu1.AutoPopup:=false;

ImageList1.Draw(drawgrid1.Canvas,colonna*17,riga*17,1);

Campo[riga+1,colonna+1]:='N';

Campo_Navi[riga+1,colonna+1]:=1;

end;

end

else

PopupMenu1.AutoPopup:=true;

end;


procedure TForm2.DrawGrid2MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

var

Colonna, Riga: Longint;

begin

Drawgrid2.MouseToCell(X,Y,Colonna,Riga);

label3.caption:='Riga: ' + intToStr(Riga);

label4.caption:='Colonna: ' + intToStr(Colonna);

If Giocatore=1 then

begin

if mat_pos[riga,colonna]='N' then

begin

mat_pos[riga,colonna]:='C';

ImageList1.Draw(drawgrid2.Canvas,colonna*17,riga*17,8);

end

else ImageList1.Draw(drawgrid2.Canvas,colonna*17,riga*17,0);

end;

end;


procedure TForm2.Destra1Click(Sender: TObject);

var

Errore,Colonna,Riga,i: integer;

begin

Errore:=0;

Drawgrid1.MouseToCell(xmouse,ymouse,Colonna,Riga);

if((colonna+numero)>10) then errore:=1;

for i:=colonna+1 to colonna+numero do

begin

if Campo[riga+1,i]='N' then errore:=1;

if riga>=1 then

begin

if Campo[riga,i]='N' then errore:=1;

end;

if riga+2<=10 then

begin

if campo[riga+2,i]='N' then errore:=1;

end;

end;

if colonna>=1 then

begin

if Campo[riga+1,colonna]='N' then errore:=1;

end;

if colonna+numero+1 <=10 then

begin

if Campo[riga+1,colonna+numero+1]='N' then errore:=1;

end;

if errore=0 then

begin

inc(Numero_Navi[numero]);

DrawGrid1.Hint:='Posiziona la nave';

if(numero=2) then

begin

ImageList1.Draw(drawgrid1.Canvas,colonna*17,riga*17,9);

Campo[riga+1,colonna+1]:='N';

Campo_Navi[riga+1,colonna+1]:=9;

end

else

begin

ImageList1.Draw(drawgrid1.Canvas,colonna*17,riga*17,2);

Campo[riga+1,colonna+1]:='N';

Campo_Navi[riga+1,colonna+1]:=2;

end;

for i:=colonna+1 to colonna+numero-2 do

begin

ImageList1.Draw(drawgrid1.Canvas,i*17,riga*17,3);

Campo[riga+1,i+1]:='N';

Campo_Navi[riga+1,i+1]:=3;

end;

if(numero=2) then

begin

ImageList1.Draw(drawgrid1.Canvas,(colonna+numero-1)*17,riga*17,10);

Campo[riga+1,colonna+numero]:='N';

Campo_Navi[riga+1,colonna+numero]:=10;

end

else

begin

ImageList1.Draw(drawgrid1.Canvas,(colonna+numero-1)*17,riga*17,4);

Campo[riga+1,colonna+numero]:='N';

Campo_Navi[riga+1,colonna+numero]:=4;

end;

end

else

begin

DrawGrid1.hint:='Posizione inaccettabile';

end;

end;


procedure TForm2.FormCreate(Sender: TObject);

var

i,k: integer;

begin

for i:=1 to 10 do

begin

for k:=1 to 10 do Campo[i,k]:='A';

end;

for i:=1 to 10 do

begin

for k:=1 to 10 do Campo_Navi[i,k]:=-1;

end;

end;


procedure TForm2.Sinistra1Click(Sender: TObject);

var

errore,colonna,riga,i:integer;

begin

Errore:=0;

Drawgrid1.MouseToCell(xmouse,ymouse,Colonna,Riga);

if((colonna+1-(numero-1))<1) then errore:=1;

for i:=colonna+1 downto colonna+1-(numero-1) do

begin

if Campo[riga+1,i]='N' then errore:=1;

if riga>=1 then

begin

if Campo[riga,i]='N' then errore:=1;

end;

if riga+2<=10 then

begin

if campo[riga+2,i]='N' then errore:=1;

end;

end;

if colonna<9 then

begin

if Campo[riga+1,colonna+2]='N' then errore:=1;

end;

if colonna+1-numero > 0 then

begin

if Campo[riga+1,colonna-numero+1]='N' then errore:=1;

end;

if errore=0 then

begin

inc(Numero_Navi[numero]);

if(numero=2) then

begin

ImageList1.Draw(drawgrid1.Canvas,colonna*17,riga*17,10);

Campo[riga+1,colonna+1]:='N';

Campo_Navi[riga+1,colonna+1]:=10;

end

else

begin

DrawGrid1.Hint:='Posiziona la nave';

ImageList1.Draw(drawgrid1.Canvas,colonna*17,riga*17,4);

Campo[riga+1,colonna+1]:='N';

Campo_Navi[riga+1,colonna+1]:=4;

end;

for i:=colonna-(numero-2) to colonna-1 do

begin

ImageList1.Draw(drawgrid1.Canvas,i*17,riga*17,3);

Campo[riga+1,i+1]:='N';

Campo_Navi[riga+1,i+1]:=3;

end;

if(numero=2) then

begin

ImageList1.Draw(drawgrid1.Canvas,(colonna-(numero-1))*17,riga*17,9);

Campo[riga+1,colonna-(numero-2)]:='N';

Campo_Navi[riga+1,colonna-(numero-2)]:=9;

end

else

begin

ImageList1.Draw(drawgrid1.Canvas,(colonna-(numero-1))*17,riga*17,2);

Campo[riga+1,colonna-(numero-2)]:='N';

Campo_Navi[riga+1,colonna-(numero-2)]:=2;

end;

end

else

begin

DrawGrid1.hint:='Posizione inaccettabile';

end;

end;


procedure TForm2.SU1Click(Sender: TObject);

var

errore,colonna,riga,i : integer;

begin

Errore:=0;

Drawgrid1.MouseToCell(xmouse,ymouse,Colonna,Riga);

if((riga+1-(numero-1))<1) then errore:=1;

for i:=riga+1 downto riga+1-(numero-1) do

begin

if Campo[i,colonna+1]='N' then errore:=1;

if colonna>=1 then

begin

if Campo[i,colonna]='N' then errore:=1;

end;

if colonna+2<=10 then

begin

if campo[i,colonna+2]='N' then errore:=1;

end;

end;

if colonna<9 then

begin

if Campo[riga+2,colonna+1]='N' then errore:=1;

end;

if riga+1-(numero-1) > 1 then

begin

if Campo[riga+1-(numero),colonna+1]='N' then errore:=1;

end;

if errore=0 then

begin

inc(Numero_Navi[numero]);

if(numero=2) then

begin

ImageList1.Draw(drawgrid1.Canvas,colonna*17,riga*17,7);

Campo[riga+1,colonna+1]:='N';

Campo_Navi[riga+1,colonna+1]:=7;

end

else

begin

DrawGrid1.Hint:='Posiziona la nave';

ImageList1.Draw(drawgrid1.Canvas,colonna*17,riga*17,7);

Campo[riga+1,colonna+1]:='N';

Campo_Navi[riga+1,colonna+1]:=7

end;

for i:=riga-(numero-2) to riga-1 do

begin

ImageList1.Draw(drawgrid1.Canvas,colonna*17,i*17,6);

Campo[i+1,colonna+1]:='N';

Campo_Navi[i+1,colonna+1]:=6;

end;

if(numero=2) then

begin

ImageList1.Draw(drawgrid1.Canvas,colonna*17,(riga-(numero-1))*17,5);

Campo[riga-(numero-2),colonna+1]:='N';

Campo_Navi[riga-(numero-2),colonna+1]:=5;

end

else

begin

ImageList1.Draw(drawgrid1.Canvas,colonna*17,(riga-(numero-1))*17,5);

Campo[riga-(numero-2),colonna+1]:='N';

Campo_Navi[riga-(numero-2),colonna+1]:=5;

end;

end

else

begin

DrawGrid1.hint:='Posizione inaccettabile';

end;

end;


procedure TForm2.DrawGrid1DrawCell(Sender: TObject; Col, Row: Integer;

Rect: TRect; State: TGridDrawState);

begin

ImageList1.Draw(drawgrid1.Canvas,col*17,row*17,Campo_Navi[row+1,col+1]);

end;


procedure TForm2.GIU1Click(Sender: TObject);

var

Errore,Colonna,Riga,i: integer;

begin

Errore:=0;

Drawgrid1.MouseToCell(xmouse,ymouse,Colonna,Riga);

if((riga+numero)>10) then errore:=1;

for i:=riga+1 to riga+numero do

begin

if Campo[i,colonna+1]='N' then errore:=1;

if colonna>=1 then

begin

if Campo[i,colonna]='N' then errore:=1;

end;

if colonna+2<=10 then

begin

if campo[i,colonna+2]='N' then errore:=1;

end;

end;

if riga>=1 then

begin

if Campo[riga+1,colonna]='N' then errore:=1;

end;

if riga+numero+1 <=10 then

begin

if Campo[riga+1,colonna+numero+1]='N' then errore:=1;

end;

if errore=0 then

begin

inc(Numero_Navi[numero]);

DrawGrid1.Hint:='Posiziona la nave';

if(numero=2) then

begin

ImageList1.Draw(drawgrid1.Canvas,colonna*17,riga*17,5);

Campo[riga+1,colonna+1]:='N';

Campo_Navi[riga+1,colonna+1]:=5;

end

else

begin

ImageList1.Draw(drawgrid1.Canvas,colonna*17,riga*17,5);

Campo[riga+1,colonna+1]:='N';

Campo_Navi[riga+1,colonna+1]:=5;

end;

for i:=riga+1 to riga+numero-2 do

begin

ImageList1.Draw(drawgrid1.Canvas,colonna*17,i*17,6);

Campo[i+1,colonna+1]:='N';

Campo_Navi[i+1,colonna+1]:=6;

end;

if(numero=2) then

begin

ImageList1.Draw(drawgrid1.Canvas,colonna*17,(riga+numero-1)*17,7);

Campo[riga+numero,colonna+1]:='N';

Campo_Navi[riga+numero,colonna+1]:=7;

end

else

begin

ImageList1.Draw(drawgrid1.Canvas,colonna*17,(riga+numero-1)*17,7);

Campo[riga+numero,colonna+1]:='N';

Campo_Navi[riga+numero,colonna+1]:=7;

end;

end

else

begin

DrawGrid1.hint:='Posizione inaccettabile';

end;

end;

procedure TForm2.Controllo_Fine_Gioco;

var

i,k,app : integer;

begin

app:=0;

for i:=1 to 10 do

begin

for k:=1 to 10 do

begin

if Campo[i,k]='N' then app:=1

end;

if app=0 then fine_gioco:=1; // Il gioco è finito.

end;

end;


end.





Privacy




Articolo informazione


Hits: 1314
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024