Advertisement
Guest User

Untitled

a guest
Nov 26th, 2015
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.26 KB | None | 0 0
  1.  
  2.  
  3. #include <stdlib.h>
  4. #include <stdio.h>
  5. #include <string.h>
  6.  
  7. int main ()
  8. {
  9. struct personagens
  10. {
  11. char nome[20];
  12. int classe;
  13. int HP;
  14. int MP;
  15. int atk;
  16. int def;
  17. int alcance;
  18. int deslocamento;
  19. int cordx;
  20. int cordy;
  21. };
  22.  
  23. struct personagens j1[3], j2[3];
  24. int i, c, a;
  25. int pontos=10, addpontos;
  26. int tabuleiro[16][16];
  27. int h,v;
  28.  
  29.  
  30. for(i=0;i<3;i++)
  31. {
  32. printf("Jogador 1:\nNome do personagem:");
  33. gets(j1[i].nome);
  34. fflush(stdin);
  35. printf("%s",j1[i].nome);
  36.  
  37. printf("Classe:\n1-Arqueiro\n2-Guerreiro\n3-Mago\n");
  38. scanf("%d", &j1[i].classe);
  39. fflush(stdin);
  40.  
  41. while((j1[i].classe<=0)||(j1[i].classe>3))
  42. {
  43. printf("Numero invalido! Inserir um numero entre 1 e 3.");
  44. fflush(stdin);
  45. scanf("%d", &j1[i].classe);
  46. fflush(stdin);
  47. }
  48.  
  49. switch(j1[i].classe)
  50. {
  51. case 1:
  52. j1[i].HP=30;
  53. j1[i].MP=15;
  54. j1[i].atk=5;
  55. j1[i].def=3;
  56. j1[i].deslocamento=3;
  57. j1[i].alcance=3;
  58. break;
  59.  
  60. case 2:
  61. j1[i].HP=40;
  62. j1[i].MP=10;
  63. j1[i].atk=8;
  64. j1[i].def=6;
  65. j1[i].deslocamento=4;
  66. j1[i].alcance=1;
  67. break;
  68.  
  69. case 3:
  70. j1[i].HP=20;
  71. j1[i].MP=50;
  72. j1[i].atk=3;
  73. j1[i].def=3;
  74. j1[i].deslocamento=2;
  75. j1[i].alcance=3;
  76. break;
  77.  
  78. }
  79.  
  80. system("cls");
  81. }
  82.  
  83.  
  84. for(i=0;i<3;i++)
  85. {
  86. printf("Jogador 2:\nNome do personagem: ");
  87. gets(j2[i].nome);
  88. fflush(stdin);
  89.  
  90. printf("Classe:\n1-Arqueiro\n2-Guerreiro\n3-Mago\n");
  91. scanf("%d", &j2[i].classe);
  92. fflush(stdin);
  93.  
  94. while((j2[i].classe<=0)||(j2[i].classe>3))
  95. {
  96. printf("Numero invalido! Inserir um numero entre 1 e 3.");
  97. scanf("%d", &j2[i].classe);
  98. fflush(stdin);
  99. }
  100.  
  101. switch(j2[i].classe)
  102. {
  103. case 1:
  104. j2[i].HP=30;
  105. j2[i].MP=15;
  106. j2[i].atk=5;
  107. j2[i].def=3;
  108. j2[i].deslocamento=3;
  109. j2[i].alcance=3;
  110. break;
  111.  
  112. case 2:
  113. j2[i].HP=40;
  114. j2[i].MP=10;
  115. j2[i].atk=8;
  116. j2[i].def=6;
  117. j2[i].deslocamento=4;
  118. j2[i].alcance=1;
  119. break;
  120.  
  121. case 3:
  122. j2[i].HP=20;
  123. j2[i].MP=50;
  124. j2[i].atk=3;
  125. j2[i].def=3;
  126. j2[i].deslocamento=2;
  127. j2[i].alcance=3;
  128. break;
  129.  
  130. }
  131.  
  132. system("cls");
  133. }
  134.  
  135. printf("Distribuicao de pontos:\nCada personagem tera uma quantidade de 10 pontos para serem distribuidos nos seguintes atributos:\nVida\nAtaque\nDefesa\nDeslocamento\nLembre-se que esses 10 pontos devem ser distribuidos entre os 3 personagens.\n\n");
  136. printf("Jogador 1: \nPontos disponiveis:%d\n", pontos);
  137.  
  138. c=1;
  139.  
  140. for(i=0;i<3;i++)
  141. {
  142. printf("\n%d. --------%s--------\n",c, j1[i].nome);
  143.  
  144. if(j1[i].classe==1)
  145. {
  146. printf("Arqueiro\n");
  147. }
  148.  
  149. if(j1[i].classe==2)
  150. {
  151. printf("Guerreiro\n");
  152. }
  153.  
  154. if(j1[i].classe==3)
  155. {
  156. printf("Mago\n");
  157. }
  158.  
  159. printf("Pontos de Vida: %d\n",j1[i].HP);
  160. printf("Ataque: %d\n",j1[i].atk);
  161. printf("Defesa: %d\n",j1[i].def);
  162. printf("Deslocamento: %d\n\n",j1[i].deslocamento);
  163.  
  164. c++;
  165. }
  166.  
  167. while(pontos!=0)
  168. {
  169. printf("Quantidade de pontos que sera adicionada: ");
  170. scanf("%d", &addpontos);
  171.  
  172. if(addpontos>pontos)
  173. {
  174. while(addpontos>pontos)
  175. {
  176. printf("A quantidade que esta tentando adicionar e maior que a quantidade de pontos que possui! Tente de novo.");
  177. scanf("%d", &addpontos);
  178. }
  179. }
  180.  
  181. printf("1. %s\n",j1[0].nome);
  182. printf("2. %s\n",j1[1].nome);
  183. printf("3. %s\n\n",j1[2].nome);
  184. printf("Escolha o personagem: ");
  185. scanf("%d",&i);
  186.  
  187. switch(i)
  188. {
  189. case 1:
  190. printf("1. Pontos de vida\n2. Ataque\n3. Defesa\n4. Deslocamento\n\n");
  191. printf("Atributo para adicionar os pontos: ");
  192. scanf("%d", &a);
  193. switch(a)
  194. {
  195. case 1:
  196. j1[0].HP+=addpontos;
  197. break;
  198.  
  199. case 2:
  200. j1[0].atk+=addpontos;
  201. break;
  202.  
  203. case 3:
  204. j1[0].def+=addpontos;
  205. break;
  206.  
  207. case 4:
  208. j1[0].deslocamento+=addpontos;
  209. break;
  210. }
  211. break;
  212.  
  213. case 2:
  214. printf("1. Pontos de vida\n2. Ataque\n3. Defesa\n4. Deslocamento\n\n");
  215. printf("Atributo para adicionar os pontos: ");
  216. scanf("%d", &a);
  217. switch(a)
  218. {
  219. case 1:
  220. j1[1].HP+=addpontos;
  221. break;
  222.  
  223. case 2:
  224. j1[1].atk+=addpontos;
  225. break;
  226.  
  227. case 3:
  228. j1[1].def+=addpontos;
  229. break;
  230.  
  231. case 4:
  232. j1[1].deslocamento+=addpontos;
  233. break;
  234. }
  235. break;
  236.  
  237. case 3:
  238. printf("1. Pontos de vida\n2. Ataque\n3. Defesa\n4. Deslocamento\n\n");
  239. printf("Atributo para adicionar os pontos: ");
  240. scanf("%d", &a);
  241. switch(a)
  242. {
  243. case 1:
  244. j1[2].HP+=addpontos;
  245. break;
  246.  
  247. case 2:
  248. j1[2].atk+=addpontos;
  249. break;
  250.  
  251. case 3:
  252. j1[2].def+=addpontos;
  253. break;
  254.  
  255. case 4:
  256. j1[2].deslocamento+=addpontos;
  257. break;
  258. }
  259. break;
  260. }
  261.  
  262. pontos=pontos-addpontos;
  263. system("cls");
  264. printf("Distribuicao de pontos:\nCada personagem tera uma quantidade de 10 pontos para serem distribuidos nos seguintes atributos:\nVida\nAtaque\nDefesa\nDeslocamento\nLembre-se que esses 10 pontos devem ser distribuidos entre os 3 personagens.\n\n");
  265. printf("Jogador 1: \nPontos disponiveis:%d\n", pontos);
  266.  
  267. c=1;
  268.  
  269. for(i=0;i<3;i++)
  270. {
  271. printf("\n%d. --------%s--------\n",c, j1[i].nome);
  272. if(j1[i].classe==1)
  273. {
  274. printf("Arqueiro\n");
  275. }
  276.  
  277. if(j1[i].classe==2)
  278. {
  279. printf("Guerreiro\n");
  280. }
  281.  
  282. if(j1[i].classe==3)
  283. {
  284. printf("Mago\n");
  285. }
  286.  
  287. printf("Pontos de Vida: %d\n",j1[i].HP);
  288. printf("Ataque: %d\n",j1[i].atk);
  289. printf("Defesa: %d\n",j1[i].def);
  290. printf("Deslocamento: %d\n\n",j1[i].deslocamento);
  291.  
  292. c++;
  293. }
  294.  
  295. }
  296.  
  297. system("cls");
  298.  
  299. pontos=10;
  300.  
  301. printf("Distribuicao de pontos:\nCada personagem tera uma quantidade de 10 pontos para serem distribuidos nos seguintes atributos:\nVida\nAtaque\nDefesa\nDeslocamento\nLembre-se que esses 10 pontos devem ser distribuidos entre os 3 personagens.\n\n");
  302. printf("Jogador 2: \nPontos disponiveis:%d\n", pontos);
  303.  
  304. c=1;
  305.  
  306. for(i=0;i<3;i++)
  307. {
  308. printf("\n%d. --------%s--------\n",c, j2[i].nome);
  309.  
  310. if(j2[i].classe==1)
  311. {
  312. printf("Arqueiro\n");
  313. }
  314.  
  315. if(j2[i].classe==2)
  316. {
  317. printf("Guerreiro\n");
  318. }
  319.  
  320. if(j2[i].classe==3)
  321. {
  322. printf("Mago\n");
  323. }
  324.  
  325. printf("Pontos de Vida: %d\n",j2[i].HP);
  326. printf("Ataque: %d\n",j2[i].atk);
  327. printf("Defesa: %d\n",j2[i].def);
  328. printf("Deslocamento: %d\n\n",j2[i].deslocamento);
  329.  
  330. c++;
  331. }
  332.  
  333. while(pontos!=0)
  334. {
  335. printf("Quantidade de pontos que sera adicionada: ");
  336. scanf("%d", &addpontos);
  337.  
  338. if(addpontos>pontos)
  339. {
  340. while(addpontos>pontos)
  341. {
  342. printf("A quantidade que esta tentando adicionar e maior que a quantidade de pontos que possui! Tente de novo.");
  343. scanf("%d", &addpontos);
  344. }
  345. }
  346.  
  347. printf("1. %s\n",j2[0].nome);
  348. printf("2. %s\n",j2[1].nome);
  349. printf("3. %s\n\n",j2[2].nome);
  350. printf("Escolha o personagem: ");
  351. scanf("%d",&i);
  352.  
  353. switch(i)
  354. {
  355. case 1:
  356. printf("1. Pontos de vida\n2. Ataque\n3. Defesa\n4. Deslocamento\n\n");
  357. printf("Atributo para adicionar os pontos: ");
  358. scanf("%d", &a);
  359. switch(a)
  360. {
  361. case 1:
  362. j2[0].HP+=addpontos;
  363. break;
  364.  
  365. case 2:
  366. j2[0].atk+=addpontos;
  367. break;
  368.  
  369. case 3:
  370. j2[0].def+=addpontos;
  371. break;
  372.  
  373. case 4:
  374. j2[0].deslocamento+=addpontos;
  375. break;
  376. }
  377. break;
  378.  
  379. case 2:
  380. printf("1. Pontos de vida\n2. Ataque\n3. Defesa\n4. Deslocamento\n\n");
  381. printf("Atributo para adicionar os pontos: ");
  382. scanf("%d", &a);
  383. fflush(stdin);
  384. switch(a)
  385. {
  386. case 1:
  387. j2[1].HP+=addpontos;
  388. break;
  389.  
  390. case 2:
  391. j2[1].atk+=addpontos;
  392. break;
  393.  
  394. case 3:
  395. j2[1].def+=addpontos;
  396. break;
  397.  
  398. case 4:
  399. j2[1].deslocamento+=addpontos;
  400. break;
  401. }
  402. break;
  403.  
  404. case 3:
  405. printf("1. Pontos de vida\n2. Ataque\n3. Defesa\n4. Deslocamento\n\n");
  406. printf("Atributo para adicionar os pontos: ");
  407. scanf("%d", &a);
  408. fflush(stdin);
  409. switch(a)
  410. {
  411. case 1:
  412. j2[2].HP+=addpontos;
  413. break;
  414.  
  415. case 2:
  416. j2[2].atk+=addpontos;
  417. break;
  418.  
  419. case 3:
  420. j2[2].def+=addpontos;
  421. break;
  422.  
  423. case 4:
  424. j2[2].deslocamento+=addpontos;
  425. break;
  426. }
  427. break;
  428. }
  429.  
  430. pontos=pontos-addpontos;
  431. system("cls");
  432. printf("Distribuicao de pontos:\nCada personagem tera uma quantidade de 10 pontos para serem distribuidos nos seguintes atributos:\nVida\nAtaque\nDefesa\nDeslocamento\nLembre-se que esses 10 pontos devem ser distribuidos entre os 3 personagens.\n\n");
  433. printf("Jogador 2: \nPontos disponiveis:%d\n", pontos);
  434.  
  435. c=1;
  436.  
  437. for(i=0;i<3;i++)
  438. {
  439. printf("\n%d. --------%s--------\n",c, j2[i].nome);
  440. if(j2[i].classe==1)
  441. {
  442. printf("Arqueiro\n");
  443. }
  444.  
  445. if(j2[i].classe==2)
  446. {
  447. printf("Guerreiro\n");
  448. }
  449.  
  450. if(j2[i].classe==3)
  451. {
  452. printf("Mago\n");
  453. }
  454.  
  455. printf("Pontos de Vida: %d\n",j2[i].HP);
  456. printf("Ataque: %d\n",j2[i].atk);
  457. printf("Defesa: %d\n",j2[i].def);
  458. printf("Deslocamento: %d\n\n",j2[i].deslocamento);
  459.  
  460. c++;
  461. }
  462.  
  463. }
  464.  
  465. system("cls");
  466.  
  467. for(h=0;h<16;h++)
  468. {
  469. if(h==0)
  470. {
  471. for(v=0;v<16;v++)
  472. {
  473. tabuleiro[h][v]=v;
  474. }
  475. }
  476.  
  477. if(h!=0)
  478. {
  479. for(v=0;v<16;v++)
  480. {
  481. if(v==0)
  482. {
  483. tabuleiro[h][v]=h;
  484. }
  485.  
  486. if(v!=0)
  487. {
  488. tabuleiro[h][v]=0;
  489. }
  490. }
  491. }
  492. }
  493.  
  494. for(h=0;h<16;h++)
  495. {
  496. for(v=0;v<16;v++)
  497. {
  498. if((h<10)&&(v<1))
  499. {
  500. printf("%2d ", tabuleiro[h][v]);
  501. }
  502. if((h<10)&&(v>=1))
  503. {
  504. printf("%2d ", tabuleiro[h][v]);
  505. }
  506. if(h>=10)
  507. {
  508. printf("%2d ", tabuleiro[h][v]);
  509. }
  510.  
  511. }
  512. printf("\n");
  513. }
  514.  
  515.  
  516. int j;
  517. for(i=1;i<4;i++)
  518. {
  519. for(j=1;j<3;j++)
  520. {
  521. if(j==1)
  522. {
  523. printf("----------Posicao dos Personagens----------\n");
  524. printf("Jogador %d\n\nPersonagem %d:\n", j, i);
  525. printf("Coordenada x(horizontal):");
  526. scanf("%d", &j1[i].cordx);
  527. fflush(stdin);
  528. printf("Coordenada y (vertical):");
  529. scanf("%d", &j1[i].cordy);
  530. fflush(stdin);
  531. tabuleiro[j1[i].cordx][j1[i].cordy]=(j*10)+i;
  532. fflush(stdin);
  533. }
  534.  
  535. if(j==2)
  536. {
  537. printf("----------Posicao dos Personagens----------\n");
  538. printf("Jogador %d\n\nPersonagem %d:\n", j, i);
  539. printf("Coordenada x(horizontal):");
  540. scanf("%d", &j2[i].cordx);
  541. fflush(stdin);
  542. printf("Coordenada y (vertical):");
  543. scanf("%d", &j2[i].cordy);
  544. fflush(stdin);
  545. tabuleiro[j2[i].cordx][j2[i].cordy]=(j*10)+i;
  546. fflush(stdin);
  547. }
  548. }
  549. }
  550.  
  551. for(h=0;h<16;h++)
  552. {
  553. for(v=0;v<16;v++)
  554. {
  555. if((h<10)&&(v<1))
  556. {
  557. printf("%2d ", tabuleiro[h][v]);
  558. }
  559. if((h<10)&&(v>=1))
  560. {
  561. printf("%2d ", tabuleiro[h][v]);
  562. }
  563. if(h>=10)
  564. {
  565. tabuleiro[12][0]=12;
  566. tabuleiro[13][0]=13;
  567. printf("%2d ", tabuleiro[h][v]);
  568. }
  569.  
  570. }
  571. printf("\n");
  572. }
  573.  
  574.  
  575.  
  576. return 0;
  577. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement