Моя курсовая работа - создание игры "морской бой".Надо сдавать в Делфи. Мы в школе делали это, только на паскале и уже есть код
| Код | uses crt,graph; const n=10; h=14; x1=50; y1=50; x2=50; y2=300; type Mass=array[0..n+1,0..n+1]of integer; var M1,M2:mass; dr,dv,hod,i,c,d,kol1,kol2,x0,y0:integer; ch:char; procedure OutDesk(M:Mass;y0,x0,h:integer); var i,j,color:integer; begin setcolor(9); for i:=1 to n+1 do begin line (x0, y0+(i-1)*h,x0+n*h,y0+(i-1)*h); line (x0+(i-1)*h,y0,x0+(i-1)*h,y0+n*h); end; for i:=1 to n do for j:=1 to n do begin case m[i,j] of 0:color:=0; 1:color:=1; 5:color:=2; 6:color:=4; end; setfillstyle (1,color); floodfill(x0+(h*j-(h div 2)),y0+(h*i-(h div 2)),9); end; end; function Chek(M:mass;x,y:integer):boolean; var s,i,j:integer; begin s:=0; for i:=x-1 to x+1 do for j:=y-1 to y+1 do s:=s+M[i,j]; if s>0 then chek:=false else chek:=true; end; procedure NewGame(var M:Mass;hod:integer); var x,y,count:integer; begin for i:=1 to n do begin M[0,i]:=0; M[n+1,i]:=0; M[i,0]:=0; M[i,i-1]:=0; end; count:=0; while (count<4) do begin x:=random(n)+1; y:=random(n)+1; if chek(M,x,y)=true then begin M[x,y]:=5; count:=count+1; end; end; end; procedure Poisk(var M:mass;var c,d,kol:integer); begin c:=random(n)+1; d:=random(n)+1; if (M[c,d]=5)or(M[c,d]=6) then begin if M[c,d]=5 then kol:=kol+1; M[c,d]:=6; end else M[c,d]:=1; end; begin clrscr; hod:=1; randomize; dr:=detect; initgraph(dr,dv,'e:\TP71\Bgi'); NewGame(M1,hod); Outdesk(M1,x1,y1,h); NewGame(M2,hod); OutDesk(M2,x2,y2,h); delay(10000); kol1:=0; kol2:=0; ch:=readkey; repeat poisk (m1,c,d,kol1); outdesk (m1,x1,y1,h); poisk(m2,c,d,kol2); hod:=2; setcolor(white); outtextxy(90,20,'1 player'); outtextxy(340,20,'2 player'); outdesk (m2,x2,y2,h); until (kol1>3) or (kol2>3) or keypressed; setcolor(4); if kol1>3 then outtextxy(50,240,'1 player are win!!!')else outtextxy(30,240,'2 player are win!!!'); readkey; closegraph; readln; end.
|
Пожалуйста помогите!
Если ктонибудь знает, как написать эту игру лучше, может с интерфейсом, то принимаю предложения, тогда в аське спишемся и договоримся обо всем поподробнее |