Els exemples que compten per la nota són només els que van seguits de ``# doctesttag: +TAG=`` Tests exercici 1: TaulerVaixells -------------------------------- >>> from vaixells import TaulerVaixells >>> def dibuixa_tauler(t): ... for y in range(t.dimensio()-1, -1, -1): # doctesttag: +TAG=1_TaulerVaixells ... for x in range(t.dimensio()): ... print(t[x, y], end='') ... print() >>> t = TaulerVaixells() >>> t.num_tirades # doctesttag: +TAG=1_TaulerVaixells 0 >>> t.dimensio() # doctesttag: +TAG=1_TaulerVaixells 5 >>> dibuixa_tauler(t) # doctesttag: +TAG=1_TaulerVaixells ----- ----- ----- ----- ----- >>> t.afegeix_vaixell_H((1,0), 4) >>> dibuixa_tauler(t) # doctesttag: +TAG=1_TaulerVaixells ----- ----- ----- ----- -VVVV >>> t.afegeix_vaixell_V((2,2), 3) >>> dibuixa_tauler(t) # doctesttag: +TAG=1_TaulerVaixells --V-- --V-- --V-- ----- -VVVV >>> t.afegeix_vaixell_H((4,4), 1) >>> t.afegeix_vaixell_V((0,2), 2) >>> dibuixa_tauler(t) # doctesttag: +TAG=1_TaulerVaixells --V-V V-V-- V-V-- ----- -VVVV >>> t.dispara((0,3)) >>> t.num_tirades # doctesttag: +TAG=1_TaulerVaixells 1 >>> t.dispara((2,1)) >>> t.num_tirades # doctesttag: +TAG=1_TaulerVaixells 2 >>> dibuixa_tauler(t) # doctesttag: +TAG=1_TaulerVaixells --V-V X-V-- V-V-- ----- -VVVV >>> for i in range(5): t.dispara((i,i)) >>> t.num_tirades # doctesttag: +TAG=1_TaulerVaixells 7 >>> dibuixa_tauler(t) # doctesttag: +TAG=1_TaulerVaixells --V-X X-V-- V-X-- ----- -VVVV >>> t = TaulerVaixells(8) >>> t.num_tirades # doctesttag: +TAG=1_TaulerVaixells 0 >>> t.dimensio() # doctesttag: +TAG=1_TaulerVaixells 8 >>> dibuixa_tauler(t) # doctesttag: +TAG=1_TaulerVaixells -------- -------- -------- -------- -------- -------- -------- -------- >>> t.afegeix_vaixell_V((2,2), 1) >>> t.afegeix_vaixell_H((1,6), 5) >>> dibuixa_tauler(t) # doctesttag: +TAG=1_TaulerVaixells -------- -VVVVV-- -------- -------- -------- --V----- -------- -------- >>> t.afegeix_vaixell_V((7,0), 2) >>> t.afegeix_vaixell_H((0,0), 4) >>> dibuixa_tauler(t) # doctesttag: +TAG=1_TaulerVaixells -------- -VVVVV-- -------- -------- -------- --V----- -------V VVVV---V >>> t.afegeix_vaixell_V((5,1), 3) >>> t.afegeix_vaixell_H((4,5), 4) >>> dibuixa_tauler(t) # doctesttag: +TAG=1_TaulerVaixells -------- -VVVVV-- ----VVVV -------- -----V-- --V--V-- -----V-V VVVV---V >>> for i in range(6): t.dispara((i,7-i)) >>> dibuixa_tauler(t) # doctesttag: +TAG=1_TaulerVaixells -------- -XVVVV-- ----VVVV -------- -----V-- --V--X-- -----V-V VVVV---V >>> for i in range(8): t.dispara((5,i)) >>> dibuixa_tauler(t) # doctesttag: +TAG=1_TaulerVaixells -------- -XVVVX-- ----VXVV -------- -----X-- --V--X-- -----X-V VVVV---V Tests Exercici2: TaulerMaxTirades --------------------------------- >>> from vaixells_max import TaulerMaxTirades # Substituïm la classe base per la de vaixells_ok, que compleix l'especificació i és correcta >>> import vaixells_ok >>> TaulerMaxTirades.__bases__ = (vaixells_ok.TaulerVaixells, ) >>> t = TaulerMaxTirades() >>> t.num_tirades # doctesttag: +TAG=2_TaulerMaxTirades 0 >>> t.max_tirades # doctesttag: +TAG=2_TaulerMaxTirades 10 >>> t.dimensio() # doctesttag: +TAG=2_TaulerMaxTirades 5 >>> t.afegeix_vaixell_H((0,1), 5) >>> t.afegeix_vaixell_V((2,3), 2) >>> t.afegeix_vaixell_H((4,4), 1) >>> t.afegeix_vaixell_V((0,2), 2) >>> dibuixa_tauler(t) # doctesttag: +TAG=2_TaulerMaxTirades --V-V V-V-- V---- VVVVV ----- >>> t.caselles() # doctesttag: +TAG=2_TaulerMaxTirades (10, 0, 15) >>> t.dispara((2,2)) >>> t.dispara((4,4)) >>> t.num_tirades, t.max_tirades # doctesttag: +TAG=2_TaulerMaxTirades (2, 10) >>> dibuixa_tauler(t) # doctesttag: +TAG=2_TaulerMaxTirades --V-X V-V-- V---- VVVVV ----- >>> t.caselles() # doctesttag: +TAG=2_TaulerMaxTirades (9, 1, 15) >>> t.dispara((1,3)) >>> t.dispara((2,1)) >>> t.dispara((1,0)) >>> t.num_tirades, t.max_tirades # doctesttag: +TAG=2_TaulerMaxTirades (5, 10) >>> t.caselles() # doctesttag: +TAG=2_TaulerMaxTirades (8, 2, 15) >>> dibuixa_tauler(t) # doctesttag: +TAG=2_TaulerMaxTirades --V-X V-V-- V---- VVXVV ----- >>> for i in range(10): t.dispara((1,1)) >>> t.num_tirades, t.max_tirades # doctesttag: +TAG=2_TaulerMaxTirades (10, 10) >>> t.caselles() # doctesttag: +TAG=2_TaulerMaxTirades (7, 3, 15) >>> dibuixa_tauler(t) # doctesttag: +TAG=2_TaulerMaxTirades --V-X V-V-- V---- VXXVV ----- >>> t = TaulerMaxTirades(7, 5) >>> t.dimensio(), t.num_tirades, t.max_tirades # doctesttag: +TAG=2_TaulerMaxTirades (7, 0, 5) >>> t.afegeix_vaixell_H((1,1), 5) >>> t.afegeix_vaixell_V((2,4), 3) >>> t.afegeix_vaixell_H((6,5), 1) >>> t.afegeix_vaixell_V((0,3), 2) >>> dibuixa_tauler(t) # doctesttag: +TAG=2_TaulerMaxTirades --V---- --V---V V-V---- V------ ------- -VVVVV- ------- >>> t.caselles() # doctesttag: +TAG=2_TaulerMaxTirades (11, 0, 38) >>> t.dispara((3,2)) >>> t.dimensio(), t.num_tirades, t.max_tirades # doctesttag: +TAG=2_TaulerMaxTirades (7, 1, 5) >>> t.caselles() # doctesttag: +TAG=2_TaulerMaxTirades (11, 0, 38) >>> for i in range(6): t.dispara((6-i,i)) >>> t.caselles() # doctesttag: +TAG=2_TaulerMaxTirades (10, 1, 38) >>> t.dimensio(), t.num_tirades, t.max_tirades # doctesttag: +TAG=2_TaulerMaxTirades (7, 5, 5) >>> t = TaulerMaxTirades(3, 20) >>> t.dimensio(), t.num_tirades, t.max_tirades # doctesttag: +TAG=2_TaulerMaxTirades (3, 0, 20) >>> t.caselles() # doctesttag: +TAG=2_TaulerMaxTirades (0, 0, 9)