Enviado em 03/07/2021 - 17:03h
Olá pessoal, estou iniciando na linguagem phyton e gostaria de uma ajuda para fazer este código em phyton, estou com dificuldade na questão de como fazer o ponteiro e a struct#include <stdio.h> #include <stdlib.h> #include <time.h> struct frame { char b1,b2; int ball1,ball2,score; }; int ball(int pins) { int jogada; printf("Entre com a pontuação da jogada: "); scanf("%d", &jogada); return jogada; } void get_frame(struct frame *f) { f->ball1 = ball(10); if(f->ball1==10) { f->ball2 = 0; f->b1 = ' '; f->b2 = 'X'; f->score = 10; return; } f->ball2 = ball(10 - f->ball1); f->score = f->ball1 + f->ball2; f->b1 = f->ball1 ? '0' + f->ball1 : '-'; f->b2 = f->ball2 ? '0' + f->ball2 : '-'; if( f->score==10 ) f->b2 = '/'; } int main() { struct frame game[12]; int x,score; srand((unsigned)time(NULL)); score = 0; /* Simulate 12 potential frames */ for(x=0;x<12;x++) get_frame(&game[x]); /* properly calculate the scores */ for(x=0;x<10;x++) { if( game[x].b2 == 'X' ) { if( game[x+1].b2 == 'X' ) score += 10 + game[x+1].ball1 + game[x+2].ball1; else score += 10 + game[x+1].score; } else if( game[x].b2 == '/' ) score += 10 + game[x+1].ball1; else score += game[x].score; game[x].score = score; } /* Display first row, frame numbers */ for(x=0;x<10;x++) printf(" %2d ",x+1); putchar('\n'); /* Second row, balls rolled */ for(x=0;x<9;x++) { if( game[x].b2 == 'X') printf("| |X"); else printf("| %c|%c",game[x].b1,game[x].b2); } /* Special output for 10th frame */ if( game[x].b2 == 'X') { if( game[x+1].b2 == 'X') { if( game[x+2].b2 == 'X') printf("| X|X|X|\n"); else printf("| X|X|%c|\n",game[x+2].b1); } else printf("| X|%c|%c|\n",game[x+1].b1,game[x+1].b2); } else if( game[x].b2 == '/') { if( game[x+1].b2 == 'X') printf("| %c|/|X|\n",game[x].b1); else printf("| %c|/|%c|\n",game[x].b1,game[x+1].b1); } else printf("| %c|%c| |\n",game[x].b1,game[x].b2); /* Third row, scores */ for(x=0;x<9;x++) { printf("| %3d",game[x].score); } printf("| %3d |\n",game[x].score); return(0); }
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Solução rápida para o problema do Network Manager conectar mas não navegar
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
Não acesso a conta do Banco do Brasil pelo Google Chrome [RESOLVIDO] (5)
Criar atalho para uma pasta na area de trabalho no Linux Mint? [RESOLV... (2)