Skip to content

Instantly share code, notes, and snippets.

@edmorais
Last active April 22, 2016 15:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save edmorais/570083dc4fad51db7ee9 to your computer and use it in GitHub Desktop.
Save edmorais/570083dc4fad51db7ee9 to your computer and use it in GitHub Desktop.
Diagonais (tipo 10 PRINT), em modo de texto!
/* __ ________ ___ ___ _______
/ / / __/ _/ |_ |/ _ < / __/
/ /___\ \_/ / / __// // / /__ \
/____/___/___/ /____/\___/_/____/
Aula de 27/03/2015:
Diagonais (tipo 10 PRINT), em modo de texto!
Por Eduardo Morais / FBAUP - www.eduardomorais.pt/fbaup/
*/
/*
Declaramos uma variável do tipo String (sequência de caracteres)
para preencher com o nosso 'texto'. Para já vai vazio:
*/
String texto = "";
int numero = 600; // e já agora, quantos caracteres queremos?
/*
Vamos sortear caracteres aquele número de vezes e acrescentar ('concatenar') ao texto:
*/
while (numero > 0) {
// enquanto o numero for maior que zero:
// sorteamos um número ENTRE 0 e 1 -
// o tipo float significa um número com casas decimais:
float sorte = random(0,1);
// isto porque a função random produz um float, não um int (isso daria erro):
// https://www.processing.org/reference/random_.html
// vamos então arredondar o número à sorte para o inteiro mais próximo:
int moeda = round(sorte); // ex. 0 = cara, 1 = coroa :)
if (moeda == 0) {
// se comparamos positivamente (atenção ao igual-igual) a 'face da moeda' com zero:
// acrescentamos uma diagonal 'crescente' ao nosso texto.
texto = texto + "/";
} else {
// senão...
// acrescentamos uma diagonal 'decrescente'...
texto = texto + "\\";
// mas atenção! esta diagonal é o célebre 'cararacter de escape'!
// logo teremos que a colocar duas vezes para que o computador entenda nos referimos a ela mesma.
} // fim do if/else
// numero = numero - 1;
// subtraímos 1 ao número, o que também podemos escrever assim:
numero--;
// vamos acrescentar um 'enter' (para mudarmos de linha) a cada 40 números?
if (numero % 40 == 0) {
// a operação % chama-se 'modulo', ou em bom português, 'resto'.
// ou seja, o que estamos a verificar é se número é divisível por 40 -
// ou mais exactamente, se dividido por 40 o resto é igual a 0.
texto = texto + "\n"; // o \n é o código que designa um caracter 'newline'.
}
} // fim do ciclo while
/*
Está feito, 'bora lá imprimir:
*/
println(texto);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment