WhileWhile Condição
// comandosEnd While
Exemplos WhileVar contador As Integer
contador = 0
While (contador < 10)
contador += 1console.ConsoleWrite(contador)
End While
O que faz este programa?Var contador As Integer
contador = 0
While true
contador += 1console.ConsoleWrite(contador)
End While
ExercicioDisco Voador que anda de um lado para outro...
ExercicioDefine disco As SpriteVar posX As IntegerVar direcao As Integer
disco.Load("ufo.gif")disco.MoveTo(0,200)disco.Show()
posX = 0direcao = 1
While (True)posX += 5*direcaoIf (posX > 500) Or (posX < 0) Then
direcao = direcao * -1End Ifdisco.MoveTo(posX, 200)delay(50)
End While
ExercicioE se quisessemos fazer que o disco acelerasse cada vez mais?
ExercicioE se agora houvessem dois discos voadores?
Função RandomMuitas vezes precisaremos de números aleatórios para diversas operações:
Valor = Random (min, max)
Onde Valor, min e max são inteiros
Função RandomCom a função acima, como poderiamos gerar números aleatórios reais?
ExercícioImplementar o jogo da adivinhação:
O computador pensa num número e pergunta ao jogador. Se o jogador disser um número maior, o computador responde “o número que pensei é menor”, se o número que o jogador chutou for menor o computador responde “o número que pensei é maior” e se o jogador acertar o computador diz “Acertou em X jogadas”, onde X é o número de tentativas.
Super Exercicio
A Função Iskeydown(“[tecla]”)
Retorna verdadeiro caso a [tecla] tenha sido pressionada.
Faça o disco se mover nas 4 direções, com as teclas a, s, w, z
Super Exercício
While (True)
If Iskeydown("a") ThenposX += 5disco.MoveTo(posX, 200)delay (100)
End If
End While
ForFor (Caso inicial) To (Caso Final) [Step k]
// Comandos
Next
ExemploFor i = 1 To 200
Disco.MoveTo (i, 200)Next
For i = 1 To 200 Step 3Disco.MoveTo (i, 200)
Next
Vetores e MatrizesConceito Matemático
ExemploDefine Meu_Vetor As Integer [4]
Meu_Vetor[1] = 0Meu_Vetor[4] = 40Meu_Vetor[2] = 20
ExercícioEscreva um programa (usando for) que lê 2 vetores e imprime o produto escalar deles.
Lembrando:
V1 . V2 = (v1.x*v2.x) + (v1.y*v2.y) + (v1.z*v2.z)
V1 . V2 = (v1[1]*v2[1]) + ... + (v1[n] * v2[n])
Agora Matrizes...Define Matriz2D As Decimal [ 2, 3 ]
Matriz2D [1,1] = 0Matriz2D [1,2] = 3.1Matriz2D [1,3] = 2.5Matriz2D [2,1] = 0.2Matriz2D [2,2] = 2.1Matriz2D [2,3] = 7.5
ExercícioEscreva um programa que lê duas matrizes de 13 x 22 e calcula a soma das duas...(imprima a matriz assim:
12 21 24 20223 12 11 224 2 2 3 1...
Joysticks...
If joysticks[1].IsButtonPressed(1) Then Console.WriteLine(“pressionou botao 1”)End If
PONG!
ScreenWidth() // Retorna a resolução horizontal da tela
ScreenHeight() // Retorna a resolução vertical da tela
PONG!!!
Mais alguns atributos do objeto Sprite:
Sprite.WidthSprite.HeightSprite.XSprite.Y
Exericio Pré-Pong
Fazer uma sprite “quicante”...
Como Encontrar Insetos no Programa
Funções
Function nome(var1 As Tipo, var2 As tipo) As tipo
// Corpo da Função
Return [alguma coisa]
End Function
Funções – Exemplo
Function soma (n1 As Integer, n2 As Integer) As Integer
Var result As Integer
result = n1 + n2
Return result
End Function
Funções – Exercicio
A série de Taylor que calcula o seno de um número é dada por:
Escreva uma função que calcula o seno de um número permitindo que o usuário defina a precisão desejada (parâmetro n_total)
Variável Local x Variável GlobalProgram MyNewProgram
Function soma (n1 As Integer, n2 As Integer) As Integer
Var result As Integerresult = n1 + n2Return result
End Function
Method Main()
Var v1 As IntegerVar v2 As Integer
v1 = ConsoleReadInt("numero 1: ", True)v2 = ConsoleReadInt ("numero 2: ", True)
Console.Write(soma(v1, v2))
End Method
End Program
Discussão – Quando usar Funções?
Flags...
Exemplo de Flags
Ler um vetor de números até encontrar o numero 0
Exemplo: MouseLeftPressedRightPressedMouseXMouseY
Fazer um curso de mouse
Fazer uma nave que atira...A tecla -> e <- movem horizontalmente a nave e os clicks do mouse atiram. Atencao: o tiro e da nave devem ter movimentos independentes…
O tipo String...
Var nome As StringVar nome2 As StringVar nome3 As String
nome = "esteban"
nome2 = "clua"
nome3 = nome + nome2
Pergunta
Var nome As StringVar nome2 As StringVar nome3 As String
Var numero As integer
nome = “3"
nome2 = “4"
nome3 = nome + nome2 // o que dá?
Numero = nome + nome2 // O que dá?
Operações com stringsResultado = Insert (string1, “texto a ser enxertado”, posicao)
Numero = Length (string1)
Posicao = IndexOf (string1, “padrão”, posicao_inicial)
Resultado = SubString (string1, posicao_inicial, tamanho)
Resultado = ToLowerCase (string1)
Booleano = StartWith(string1, string_teste)
Booleano = EndsWith (string1, string_teste)
Resposta_inteira = Compare (string1, string2, true/false)// 0 se forem iguais, - 1 se string1 < string2, 1 se string1 > string2. True/False para considerar ou não maiusculas/minusculas
Exercicio – Agenda TelefonicaEscreva um programa que pergunta quantos amigos você tem. Depois le este numero de nomes e o telefone de cada um. Finalmente o programa pergunta o nome de alguem e irá procurar o numero de telefone que o usuário deseja.
Exercicio (dificil)Escreva uma função que conta quantos espaços em branco tem num texto