Jump to content

Column

Members
  • Posts

    48
  • Joined

  • Last visited

Everything posted by Column

  1. S.L.C., eu incerc sa creez un DLL care sa fie simplu, adica sa nu contina eu stiu alte dll-uri care sa le apeleze gen: pythonlib.dll sau ceva de genul ci singur(vreau sa mentionez faptul ca aplicatia in executabil contine python si ca urmare eu doresc sa apelez dll-ul meu cu extensia .pyd. Mi-ai mai raspuns la asta si sfatul tau mi-a fost de mare ajutor insa cand l-am testat pe windows xp nu mi-a mers sa-l apelez. Am inteles ca trebuie sa folosesc ceva de genul "DLL Recursiv" care sa apeleze dll-ul din memorie.. asta nu prea am inteles.
  2. De curand am vrut sa-mi creez propriul program care sa functioneze pe mai multe sisteme de operare gen: Windows, Linux, etc. Mi-am facut un fisier DLL ce am inclus bibliotecile python-ului, deoarece vreau sa-l folosesc la o alta aplicatie impreuna cu C++. Dupa ce am creat fisierul si l-am facut "static" adica sa-si includa el toate fisierele pentru a putea functiona pe mai multe sisteme de operare, nu a mers. Eu am windows 8 si l-am incercat dupa ce am instalat iarasi windows-ul, am vazut ca nu mai mergea sa-l apelez.. Vreau sa-mi spuneti cum pot sa-l fac static adica sa functioneze pe toate sistemele de operare fara sa mai instalez eu anumite programe si fara sa mai poarte el alte fisiere pe care la randul lui le va apela pentru a putea functiona. Dupa cum am spus si in titlu, folosesc CodeBlocks. Va rog tare mult sa ma ajutati, multumesc! PS: Sa nu razi niciodata de un nepriceput pentru ca si tu vei fi in aceeasi ipostaza mai tarziu!
  3. Iar datele sa le introduci tu sau automat? Da-mi PM cu mai multe explicatii.
  4. S.L.C. m-am prins cum sta treaba, acum o sa reiau proiectul de la cap fericit!
  5. #OFF Topic! PS: Scuze ca am postat de 2 ori!
  6. Am cunostinte. O sa folosesc C_API si asa scriu programul de la 0. PS: Scuze, dar imi place Comic Sans MS si nu, nu e boldat:))
  7. MrGrj stiu ce inseamna fisierele .pyd, nu trebuie sa-mi dai exemple, iar la intrebare am fost destul de explicit dupa parerea mea. Eu vreau sa fac o extensie de python care sa interactioneze cu C++, mai exact vreau sa transmit niste date din C++ in python. O sa-ti dau un exemplu doar, daca incerci sa incluzi bibliotecile python-ului si fisierele din "include" in CodeBlocks, nu o sa ti le vada si desigur nu o sa le compile-ze, dar in Visual C++ merge sa le folosesti insa am spus, Visual C++ o sa-mi incarce si bibliotecile din .NET ceea ce ma enerveaza. Am uitat sa spun ca nu doresc sa folosesc "<BOOST-ul>" ci doar vreau sa fac declaratiile proprii si toate cele, daca intelegi. Eu o sa las un exemplu mic mai sus in descriere, iar tu incearca sa-l rulezi in CodeBlocks fara BOOST, iar daca iti merge te rog da-mi PM.
  8. watsonAI, stiu ce sunt, stiu cum se lucreaza cu ele, insa nu stiu cu ce sa le compilez.
  9. tjt, folosesc si CodeBlocks, DevC++, Visual Studio 2010 (include aici Visual Basic, Visual C++, etc), Borland etc. dar nici-un compilator nu-mi compileaza extensia .pyd . Mai mult decat atat, Visual C++ mi-l compileaza insa imi adauga bibliotecile alea .NET iar cand vrei sa-ti mearga programul pe alte sisteme de operare sau alte calculatoare ce nu au instalate framework-urile, trebuie sa le instalezi chiar daca tu in program nu le folosesti.. Daca intelegi ce vreau sa spun. Programul pus in PHP este doar asa de "design" nu are nicio legatura cu ce am zis:)) dar mersi de sfat... Mai astept pareri.
  10. As dori sa stiu cu ce IDE pot crea o extensie de python .pyd . Am facut o aplicatie in Visual C++ 2010 si o extensie insa dupa ce am instalat acea aplicatie in alt calculator imi dadea erori, imi spunea ca nu am .NET si alte lucruri care nu imi trebuiesc intr-un .dll . Am incercat si cu DEV C++ insa am vazut ca nu se compileaza... #include <Python.h> PyMethodDef MyProgramByColumn[] = { {0,0,0,0}; }; PyMODINIT_FUNC initmyprogram(void) { PyObject *m; m=Py_InitModule("myprogram", MyProgramByColumn); if(m==NULL) return; } Sunt la inceput si doresc sa lucrez cat mai mult in C/C++, daca am spus ceva banal nu doresc sa ma luati peste picior, ca va asigur ca voi nu stiti foarte multe!
  11. S.L.C. am testat inainte de a-l pune pe forum cu mai multe linii si coloane si am uitat sa le mai editez.. si yoyois este frumos jocul!
  12. Stiu ca sunt tineri programatori ce isi doresc sa-si faca propriul joc si de aceea m-am gandit sa le ofer o sursa de inspiratie. #include <iostream> #include <windows.h> #include <ctime> using namespace std; char GameOver[50][50] = {"-------------------------", "- -", "- GAME OVER -", "- -", "-1)Apasati ESC(ExitGame)-", "-2)Apasati F1(Repetare) -", "-------------------------"}; char GameWinner[50][50] = {"@@@@@@@@@@@@@@@@@@@@@@@", "@ @", "@ @", "@ Win this Game @", "@ @", "@ F1 - Repeat @", "@@@@@@@@@@@@@@@@@@@@@@@"}; char map[50][50] = {"################", "# #", "# #", "# @ #", "# #", "#* #", "################"}; int game_speed = 90; bool pause = false; //----------PLAYER------------// int score = 0; bool IsDead = false; int playerCount = 0; int inc_score = 5; int HP = 100; int SP = 100; //----------OTHER-------------// int over = 0; int enemy = 0; int totalenemy = 0; //----------------------------// //---------DIRECTION----------// bool LimitUpDown = false; //----------------------------// void MyGame(); void WinGame() { while(pause==true) { system("cls"); for(int x = 0; x < 20; x++) { cout<<GameWinner[x]<<endl; } if(GetAsyncKeyState(VK_F1)!=0) { pause = false; if(enemy==0) { map[2][2] = '*'; map[2][3] = '@'; } MyGame(); } if(GetAsyncKeyState(VK_ESCAPE)!=0) { pause = false; } } } void MyGame() { while((pause==false)&&(IsDead == false)) { system("cls"); for(int x = 0; x < 7; x++) { cout<<map[x]<<endl; } for(int x = 0; x < 17; x ++ ) { for(int y = 0 ; y < 17 ; y ++ ) { switch(map[y][x]) { case '*': { if(LimitUpDown==false) { int y2 = y - 1; //up switch(map[y2][x]) { case ' ': { map[y][x] = ' '; y -= 1; map[y2][x] = '*'; }break; case '@': { map[y][x] = ' '; y -= 1; map[y2][x] = '*'; }break; case '#': { LimitUpDown = true; }break; } } else { //down int y2 = y + 1; switch(map[y2][x]) { case ' ': { map[y][x] = ' '; y += 1; map[y2][x] = '*'; }break; case '@': { map[y][x] = ' '; y += 1; map[y2][x] = '*'; }break; case '#': { LimitUpDown = false; }break; } } }break; case '@': { if(GetAsyncKeyState(VK_UP)!=0) { int y2 = y - 1; switch(map[y2][x]) { case ' ': { map[y][x] = ' '; y -= 1; map[y2][x] = '@'; }break; case '*': { score = score+inc_score; map[y][x] = ' '; y -= 1; map[y2][x] = '@'; }break; } } if(GetAsyncKeyState(VK_DOWN)!=0) { int y2 = y + 1; switch(map[y2][x]) { case ' ': { map[y][x] = ' '; y += 1; map[y2][x] = '@'; }break; case '*': { score = score+inc_score; map[y][x] = ' '; y += 1; map[y2][x] = '@'; }break; } } if(GetAsyncKeyState(VK_RIGHT)!=0) { int x2 = x + 1; switch(map[y][x2]) { case ' ': { map[y][x] = ' '; x += 1; map[y][x2] = '@'; }break; case '*': { score = score+inc_score; map[y][x] = ' '; x += 1; map[y][x2] = '@'; }break; } } if(GetAsyncKeyState(VK_LEFT)!=0) { int x2 = x - 1; switch(map[y][x2]) { case ' ': { map[y][x] = ' '; x -= 1; map[y][x2] = '@'; }break; case '*': { score = score+inc_score; map[y][x] = ' '; x -= 1; map[y][x2] = '@'; }break; } } }break; } if(GetAsyncKeyState(VK_ESCAPE)!=0) { pause = true; } } } for(int x = 0 ; x < 17; x ++ ) { for(int y = 0; y < 17; y ++ ) { if(map[y][x]=='@') { playerCount ++; } } } if(playerCount==0) { IsDead = true; over += 1; } for(int x = 0 ; x < 17; x ++ ) { for(int y = 0; y < 17 ; y++) { if(map[y][x]=='*') { enemy ++; } } } if(totalenemy<=enemy) { totalenemy = enemy; } if(enemy==0) { pause = true; WinGame(); } cout<<"----------------------------------"<<endl; cout<<"ENEMY: "<<enemy<<endl; cout<<"SCORE: "<<score<<endl; cout<<"GAME SPEED: "<<game_speed<<endl; cout<<"----------------------------------"<<endl; cout<<"Health: "<<HP<<endl; cout<<"----------------------------------"<<endl; Sleep(game_speed); enemy = 0; playerCount = 0; } while(IsDead == true) { system("cls"); for(int x = 0; x < 15; x ++ ) { cout<<GameOver[x]<<endl; } if(GetAsyncKeyState(VK_F1)!=0) { IsDead = false; pause = false; if(enemy == 0) { map[2][2] = '*'; } map[2][3] = '@'; MyGame(); } if(GetAsyncKeyState(VK_ESCAPE)!=0) { IsDead = false; } } } int main() { MyGame(); } Jocul este facut in CodeBlocks, nu l-am testat in Visual sau Dev, in orice caz sper ca nu apar erori.
  13. Un limbaj de programare daca vrei sa-l stapanesti trebuie sa inveti bazele. Dupa ce ai invatat bazele adica lucruri cu (for, if, while, etc. ) atunci treci la lucruri mai avansate cum ar fi diverse programe care combini mai multe structuri din acel limbaj si sa nu uitam si de notiunile principale. Cu cat avansezi in aceste structuri te vei obisnui sa faci programe mai putin detaliate si mai restranse pentru o mai buna functionare. Daca esti stapan si pe acest pas, atunci vei trece la urmatorul nivel, ci anume lucruri cu obiecte. Prima data vei lucra cu windows-ul in consola spre ex.: vei face un program prin care sa misti mouse-ul de la pozitia x la pozitia x+50 etc, si vei testa anumite obiecte din windows. Dupa care incepi sa faci programele dorite de tine de la bun inceput asta dupa ce inveti sa faci butoane, ferestre, texte, etc. Aici ti-am dat exemplu c++, dar in general asa se procedeaza cam in toate limbajele. Eu personal prima data cand am invatat un limbaj(Python) mi se parea foarte usor, ca dupa cand am trecut la c++ si nu numai, in basic, c, java, sa mi se para foarte foarte usor. Trebuie sa inveti cu ce limbaje doresti si cu ce esti motivat sa inveti, pentru ca daca nu vei fi motivat nu vei reusi nimic. Personal am inceput cu python-ul pentru ca ma motiva sa fac "hack-uri" pentru niste jocuri, iar dupa cu c++ pentru ca ma tenta sa lucrez cu el, iar celelalte au venit de la sine, chiar daca si php mi s-a parut foarte fascinant nu am continuat cu el.. Ideea este ca o data ce lucrezi cu anumite librarii principale, cum ar fi "string, ctime, etc. etc." incepi sa le retii si acestea le poti folosi si in alte limbaje. Un limbaj de programare invatat de la 0, poate dura cateva saptamani(mie cam atat mi-a luat) pana sa ajungi la acea perioada "awakening" cand poti asimila ideile
  14. Multumesc watsonAI, de asta aveam nevoie, sa stiu daca functioneaza bine si pe alte sisteme.
  15. De curand m-am apucat de un proiect si va spun ca nu am mai lucrat de mult cu c++ si deloc cu wxwidgets... Vreau sa fac un program care sa nu aiba nicio legatura cu .NET, sa fie pur de la 0. Intrebarea mea este: Cum vi se pare "wxwidgets" avand in vedere eventualele probleme a folosirii programului in alte sisteme de operare... ori cat de securizat este pentru codul original(codul sursa), ma tem sa nu fie decompilat prea usor:)) Dati-mi niste detalii despre el.. PS: Nu sunt fanul Microsoft, insa ii felicit pentru munca depusa pana acum!
  16. "Bosketar." Multumesc pentru rectificare!
  17. Vezi ca am facut un "MiniJoc" in consola Clopotel, daca te uiti peste cod si intelegi poti realiza si tu un joc in ASCII! Uite linkul: C++ Game
  18. #include <iostream> #include <windows.h> using namespace std; int y, x; char Map[100][100] = { "----ATEM KNIGHT----- ", "#################### *-------Legenda-------*", "# # % # | |", "# # # # # ######### | #-> Wall |", "# # # # # ### %## | @-> Character |", "# # # # ## ### #### | !-> Finish Line |", "#@#% %# !# * *### | %-> Enemies |", "#################### | Copyright->'Column' |", " | or Copyright->'Atem'|", " *---------------------*" }; int GameSpeed = 90; int level = 1; int stopgame = false; int HP = 100; int Score = 0; int main() { while(stopgame == false && level == 1) { system("cls"); for(int y=0; y<20;y++) { cout<<Map[y]<<endl; } cout<<"Level: "<<level<<endl; cout<<"Score: "<<Score<<endl; cout<<"HP: "<<HP<<endl; for(y=0;y<20;y++) { for(x=0;x<20;x++) { switch(Map[y][x]) { case '@': { if(GetAsyncKeyState(VK_UP) != 0) { int y2 = (y-1); switch(Map[y2][x]) { case ' ': { Map[y][x] = ' '; y -= 1; Map[y2][x] = '@'; }break; case '!': { level = 2; } case '%': { HP -= 20; Map[y][x] = ' '; y += 1; Map[y2][x] = '@'; } case '*': { HP +=5; Map[y][x] = ' '; y += 1; Map[y2][x] = '@'; Score += 4; } } } if(GetAsyncKeyState(VK_DOWN) != 0) { int y2 = (y+1); switch(Map[y2][x]) { case ' ': { Map[y][x] = ' '; y += 1; Map[y2][x] = '@'; }break; case '!': { level = 2; } case '%': { HP -= 20; Map[y][x] = ' '; y += 1; Map[y2][x] = '@'; } case '*': { HP += 5; Map[y][x] = ' '; y += 1; Score += 4; Map[y2][x] = '@'; } } } if(GetAsyncKeyState(VK_RIGHT) != 0) { int x2 = (x+1); switch(Map[y][x2]) { case ' ': { Map[y][x] = ' '; x += 1; Map[y][x2] = '@'; }break; case '!': { level = 2; } case '%': { HP -= 20; Map[y][x] = ' '; x += 1; Map[y][x2] = '@'; } case '*': { HP += 5; Map[y][x] = ' '; x += 1; Score += 4; Map[y][x2] = '@'; } } } if(GetAsyncKeyState(VK_LEFT) != 0) { int x2 = (x-1); switch(Map[y][x2]) { case ' ': { Map[y][x] = ' '; x -= 1; Map[y][x2] = '@'; }break; case '!': { level = 2; } case '%': { HP -= 20; Map[y][x] = ' '; x -= 1; Map[y][x2] = '@'; } case '*': { HP += 5; Map[y][x] = ' '; x-=1; Score += 4; Map[y][x2] = '@'; } } } }break; } } } Sleep(GameSpeed); } while(stopgame == false && level == 2) { system("cls"); cout<<"Felicitari! Ai obtinut Level: "<<level<<", scor"<<endl; system("pause"); } return 0;} PS: "Am realizat acest joc pentru programatorii incepatori si de asemenea ii incurajez sa invete inca din clasele 9-12 librariile <windows.h> <ctype.h> <ctime.h> chiar si altele ce se fac prin facultate! Succes programatorilor!"
  19. Oricum, jos palaria pentru cine a facut treaba asta, nu doar ca este un bun cunoscator in ceea ce face, dar pe deasupra a realizat si ceva care unii credeau a fi imposibil(ma refer aici la oamenii de rand)!
×
×
  • Create New...