BadDriver aka Roberts ENBs Posted April 26, 2016 Share Posted April 26, 2016 (edited) Descriere: Python vad ca nu foloseste nimeni pe aici, desi este un limbaj excelent pentru un incepator. Este mult mai potrivit sa inveti Python ca incepator, decat C++, care este un mamut de limbaj. Sa nu mai spun ca la scoala se invata defapt C-ul din C++, dar in fine. Eu am facut repede un miniprogram ca sa vedeti care e treaba cu Python. Ideea este exact ca in jocul acela unde trebuie sa nimeresti unde are adversarul puse barcutele dintr-un tabel de NxN casute. Insa la mine este o varianta mai simpla. Este un tabel 5X5 iar jucatorul are 4 incercari sa nimereasca unde este pozitia. Jucatorul are posibilitatea de a alege linia si coloana ( logic ) pentru a face acest lucru. Programelul are un bug pe care n-am stat sa-l rezolv din cauza timpului. Atunci cand puneti o litera in loc de un intreg, va va da eroare. Poze / Video: Nu cred ca e nevoie, este un program care ruleaza in consola, n-are o interfata. Cat de curand voi incepe sa fac si programe cu interfata Link download: http://www.mediafire.com/download/kmrjqixtg4dqq4r/OoO.rar Alte precizari: Are mai multe fisiere, doar deschideti "OOOOO.exe". De ce? Deoarece Python pentru a rula pe Windows are nevoie de instalarea lui propriu-zis, de aici: https://www.python.org/ Eu am folosit un program de convertire de la .py la .exe, insa are nevoie si de fisierele cu care vine pentru a rula pe un calculator fara python instalat. Cod sursa: #Printeaza O sub forma 5x5 #sa fie 4 ture #Se dau la nimereala #Deoarece calculatorul numara de la 0, se schimba putin #Se verifica daca sunt nimerite #Se verifica daca sunt in alea 5 #Se verifica daca au mai fost #Dupa cele 4 ture daca nu se nimereste, se incheie from random import randint raw_input("Bine ai venit la jocul cu oute!!") print " " print " " print "Mai jos ai tabelul. Tu trebuie sa ghicesti din 4 incercari unde este X." print "Trebuie sa selectezi linia si coloana." print "Linia 4 si coloana 4 inseamna ultimul \'O' din dreapta de pe ultimul rand" print "Mai jos vor fi si respunsurile. Este doar pentru debugging, ignora" print " " print " " raw_input(("Daca ai inteles cum se joaca, apasa orice tasta pentru a incepe!")) print " " tabel = [] for ouri in range(5): tabel.append((["O"] * 5)) def ouri_spatiate(): for ouri_spatiate in tabel: print " ".join(ouri_spatiate) rand_aleatoriu = randint(1, len(tabel)) coloana_aleatoriu = randint(1, len(tabel)) print "Ignora asta, este pentru debugging!" print rand_aleatoriu print coloana_aleatoriu print " " ouri_spatiate() print " " for mutari in range(4): print "Mutarea: ", mutari + 1 alegere_rand = int(raw_input("Scrie pe ce rand crezi ca se afla \'X-ul': ")) - int(1) alegere_coloana = int(raw_input("Scrie pe ce coloana crezi ca se afla \'X-ul': ")) - int(1) if (alegere_rand + 1) == rand_aleatoriu and (alegere_coloana + 1) == coloana_aleatoriu: print " " print "Ai castigat!" tabel[alegere_rand][alegere_coloana] = "X" ouri_spatiate() raw_input("Apasa orice tasta pentru a iesi") break else: if mutari == 3: print "Joc terminat, ai pierdut" raw_input("Apasa orice tasta pentru a iesi") if (alegere_rand < 0 or alegere_rand > 4) or (alegere_coloana < 0 or alegere_coloana > 4): print "Ai ales inafara gridului 5X5" elif tabel[alegere_rand][alegere_coloana] == "X": print "Ai mai ales asta odata" else: tabel[alegere_rand][alegere_coloana] = "X" print "Ai gresit" print ouri_spatiate() Edited April 26, 2016 by BdDr Link to comment Share on other sites More sharing options...
zL Dark ReturN Posted April 26, 2016 Share Posted April 26, 2016 @, sfat de la mine. Incearca sa te axezi pe limbaje de programare care nu iti impun sa ai niste fisiere in calculator. Ce-i drept, da, C e destul de complicat fata de Python pentru incepatori, dar trebuie subliniat, incepatori. Link to comment Share on other sites More sharing options...
BadDriver aka Roberts ENBs Posted April 26, 2016 Author Share Posted April 26, 2016 (edited) In Linux nu ai nevoie de asta. Sub Windows trebuie sa instalezi niste librarii pentru a-l recunoaste deoarece Python este un limbaj de programare exat pe programarea web si scripturi web( programare, nu design precum css, html etc ). Si s-ar putea ca ramura aceasta a programarii sa mi-o aleg, programare in web. Pana la urma si in C# ai nevoie de Visual Studio pt a functiona. Totusi, probabil dupa ce ma mai joc putin cu Python, voi incepe C#, mereu mi s-a parut interesant. Edited April 26, 2016 by BdDr Link to comment Share on other sites More sharing options...
zL Dark ReturN Posted April 26, 2016 Share Posted April 26, 2016 @, sper sa ajungi cat mai sus, deoarece, in zilele de astazi, cu programarea ajungi departe. Se castiga mult si bine. Link to comment Share on other sites More sharing options...
BAWZIE Posted April 27, 2016 Share Posted April 27, 2016 Iti urez mult bafta. Fain jocul. <'> Link to comment Share on other sites More sharing options...
zL Dark ReturN Posted May 1, 2016 Share Posted May 1, 2016 Consider ca se poate da T/C. Link to comment Share on other sites More sharing options...
BadDriver aka Roberts ENBs Posted May 6, 2016 Author Share Posted May 6, 2016 (edited) Am adus cateva mici modificari, aceasta este versiunea finala. Voi mai face cateva programe mici iar dupa cred ca este timpul sa incep sa le fac cu GUI. Dupa ce o sa stapanesc bine Python, voi trece la C++ pt a putea da bacul la informatica. Stiu ca nu prea ii pasa nimanui de cacaturile astea mici de programe, insa totul are un inceput. Download Link: http://www.mediafire.com/download/43svdabf979jo58/Joc+Oute+final.rar Ce am adus nou: -Acum grid-ul nu mai este prestabilit 5X5, se poate seta de jucator sub orice forma doreste el. De exemplu, 2X6 sau 40X69. -Numarul de incercari nu mai este prestabilit la 3, jucatorul poate alege cate incercari doreste sa aiba. -Dupa fiecare pierdere sau castig, jucatorul este intrebat daca vrea sa reinceapa. Daca scrie "Y" sau "y", jocul reincepe, daca scrie "n" sau "N", jocul se termina iar daca scrie orice altceva, va fi repus sa aleaga dintre variantele amintite mai devreme. -Ii va aparea dupa ce castiga de cate incercari a avut nevoie. #Printeaza un grid costum #Ture custom #Calculatorul genereaza pozitia #Se verifica daca sunt nimerite #Se verifica daca sunt in grid #Se verifica daca au mai fost #Dupa turele custom daca nu se nimereste, se incheie si se intreaba daca se vrea rematch from random import randint raw_input("Bine ai venit la Battleship! Apasa orice tasta!") print " " print " " print "Mai jos ai tabelul. Tu trebuie sa ghicesti din cate incercari pui tu sa fie unde este X." print "Trebuie sa selectezi linia si coloana." print "Mai jos vor fi si respunsurile. Este doar pentru debugging, ignora" print " " print " " raw_input(("Daca ai inteles cum se joaca, apasa orice tasta pentru a incepe!")) print " " def rematch(): while True: alegere_rematch = raw_input("Vrei sa reincepi jocul? Scrie \'Y' sau \'N': ") if alegere_rematch.lower() == "y": match() break elif alegere_rematch.lower() == "n": raw_input( "Ai ales nu. Apasa orice tasta pt a iesi, la revedere...") break else: print "Alege dintre \'Y' sau \'N'!" def match(): numar_o_rand = int(raw_input("Cate \'O-uri' vrei sa fie pe rand?")) numar_o_coloana = int(raw_input("Cate \'O-uri vrei sa fie pe coloana?")) tabel = [] for ouri in range(numar_o_rand): tabel.append((["O"] * numar_o_coloana)) def ouri_spatiate(): for ouri_spatiate in tabel: print " ".join(ouri_spatiate) rand_aleatoriu = randint(1, (numar_o_rand -1)) coloana_aleatoriu = randint(1, (numar_o_coloana -1)) print "Ignora asta, este pentru debugging!" print rand_aleatoriu print coloana_aleatoriu print " " ouri_spatiate() print " " print " " numar_mutari = int(raw_input("Alege numarul de mutari disponibile: ")) for mutari in range(numar_mutari): print "Mutarea: ", mutari + 1 alegere_rand = int(raw_input("Scrie pe ce rand crezi ca se afla \'X-ul': ")) - int(1) alegere_coloana = int(raw_input("Scrie pe ce coloana crezi ca se afla \'X-ul': ")) - int(1) if (alegere_rand + 1) == rand_aleatoriu and (alegere_coloana + 1) == coloana_aleatoriu: print " " print "Ai castigat!" print "Ai avut nevoie de %s incercari." %(mutari +1) tabel[alegere_rand][alegere_coloana] = "X" ouri_spatiate() rematch() break if mutari == numar_mutari - 1: print "Joc terminat, ai pierdut" rematch() break if (alegere_rand < 0 or alegere_rand > (numar_o_coloana - 1)) or (alegere_coloana < 0 or alegere_coloana > (numar_o_coloana - 1)): print "Ai ales inafara gridului 5X5" elif tabel[alegere_rand][alegere_coloana] == "X": print "Ai mai ales asta odata" else: tabel[alegere_rand][alegere_coloana] = "X" print "Ai gresit" print ouri_spatiate() match() Edited May 6, 2016 by BdDr Link to comment Share on other sites More sharing options...
Vengador Posted May 7, 2016 Share Posted May 7, 2016 Destul de fainut, bravo Link to comment Share on other sites More sharing options...
AndreiV Posted May 7, 2016 Share Posted May 7, 2016 Frumos, m-ar tenta si pe mine sa invat un limbaj de programare curand, dar stiu ca este mult de munca! Link to comment Share on other sites More sharing options...
zL Dark ReturN Posted May 8, 2016 Share Posted May 8, 2016 Inchid topicul pentru a evita spamul. T/C. Link to comment Share on other sites More sharing options...
Recommended Posts