11/05/15 17:12
lucazed
Ciao a tutti sono Luca,da tempo mi volevo iscrivere e visto che ho un problema ho approfittato per farlo ora. Ho provato a realizzare il gioco tris solo dal punto di vista testuale, ma quando uno dei giocatori vince il prgramma si blocca...qualcuno sa dirmi come mai? grazie e scusate l'ignoranza , è da poco che mi occupo di questo linguaggio.
P.S. per il momento la cpu tenta ancora random le caselle, mi occuperò in seguito del resto
P.S. per il momento la cpu tenta ancora random le caselle, mi occuperò in seguito del resto
program nuovotris; uses crt; var tris : array[1..3,1..3] of integer; miacol,miariga,cpucolo,cpuriga,j,h,k,winner : integer; begin randomize; writeln('la cpu ha come simbolo l"1, tu il 2'); repeat clrscr; writeln('è il tuo turno. seleziona la casella in cui mettere il simbolo'); writeln('inserisci la colonna'); readln(miacol); writeln('inserisci la riga'); readln(miariga); while tris[miariga,miacol]<> 0 do begin writeln('la casella è già occupata'); writeln('inserisci la colonna'); readln(miacol); writeln('inserisci la riga'); readln(miariga); end; tris[miariga,miacol] := 1; cpucolo := random(2)+1; cpuriga := random(2)+1; while tris[cpuriga,cpucolo]<> 0 do begin cpucolo := random(2)+1; cpuriga := random(2)+1; end; tris[cpuriga,cpucolo] := 2; for h := 1 to 3 do begin for k := 1 to 3 do write(tris[h,k],' '); writeln; end; if (tris[1,1] = tris[1,2]) and (tris[1,2] = tris[1,3]) and (tris[1,1]<>0)and (tris[1,2]<>0)and (tris[1,3]<>0) then begin j := 1; winner := tris[1,1]; end; if (tris[2,1] = tris[2,2]) and (tris[2,2] = tris[2,3]) and (tris[2,1]<>0)and (tris[2,2]<>0)and (tris[2,3]<>0) then begin j := 1; winner := tris[2,1]; end; if (tris[3,1] = tris[3,2]) and (tris[3,2] = tris[3,3])and (tris[3,1]<>0)and (tris[3,2]<>0)and (tris[3,3]<>0) then begin j := 1; winner := tris[3,1]; end; if (tris[1,1] = tris[2,1]) and (tris[2,1] = tris[3,1])and (tris[1,1]<>0)and (tris[2,1]<>0)and (tris[3,1]<>0) then begin j := 1; winner := tris[1,1]; end; if (tris[1,2] = tris[2,2]) and (tris[2,2] = tris[3,2])and (tris[1,2]<>0)and (tris[2,2]<>0)and (tris[3,2]<>0) then begin j := 1; winner := tris[1,2]; end; if (tris[1,3] = tris[2,3]) and (tris[2,3] = tris[3,3])and (tris[1,3]<>0)and (tris[2,3]<>0)and (tris[3,3]<>0) then begin j := 1; winner := tris[1,3]; end; if (tris[1,1] = tris[2,2]) and (tris[2,2] = tris[3,3])and (tris[1,1]<>0)and (tris[2,2]<>0)and (tris[3,3]<>0) then begin j := 1; winner := tris[1,1]; end; if (tris[1,3] = tris[2,2]) and (tris[2,2] = tris[3,1])and (tris[1,3]<>0)and (tris[2,2]<>0)and (tris[3,1]<>0) then begin j := 1; winner := tris[1,3]; end; if winner = 1 then writeln('hai vinto'); if winner = 2 then writeln('cpu vince'); repeat until keypressed; until winner <>0; repeat until keypressed; end.
aaa