• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

elementsky

Já alguem fez alguma coisa em Kids Programming Language?

17 mensagens neste tópico

Já alguem daqui fez alguma coisa em KPL, se já alguém tiver feito alguma coisa poste aqui!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ainda hoje tentei fazer uma calculadora mas parei a meio porque tive de pegar no PHP. ;)

Mesmo assim, vou por aqui o código que fui escrevendo..

Program Calculadora

Method Soma(A As Int,B As Int)
Var A As Int=ConsoleReadInt("Primeira parcela: ",True)
Var B As Int=ConsoleReadInt("Segunda parcela: ",True)
Var c As Int = A + B
ConsoleWriteLine("Resultado: "+C)
End Method

Method Subtraccao(A As Int,B As Int)
Var A As Int=ConsoleReadInt("Primeira parcela: ",True)
Var B As Int=ConsoleReadInt("Segunda parcela: ",True)
Var c As Int = A - B
ConsoleWriteLine("Resultado: "+C)
End Method

Method Multiplicacao(A As Int, B As Int)
Var A As Int=ConsoleReadInt("Primeira parcela: ",True)
Var B As Int=ConsoleReadInt("Segunda parcela: ",True)
Var c As Int = A * B
ConsoleWriteLine("Resultado: "+C)
End Method

Method Divisao (A As Int, B As Int)
Var A As Int=ConsoleReadInt("Primeira parcela: ",True)
Var B As Int=ConsoleReadInt("Segunda parcela: ",True)
Var C As Int = A / B
ConsoleWriteLine("Resultado: "+C)
End Method




Function MostraOpcoesMenu() As String

Define Escolha As String

While True

ClearConsole()

SetConsoleIndent(15)

MostraOpcoesMenu("1","Soma(A,B)")
MostraOpcoesMenu("2","Subtraccao(A,B)")
MostraOpcoesMenu("3","Multiplicacao(A,B)")
MostraOpcoesMenu("4","Divisao(A,B)")
MostraOpcoesMenu("Q","Sair")

ConsoleWriteLine("")

ConsoleWrite("Introduz a operacao que pretende efectuar: ")

Escolha=ConsoleReadKey( True)

If (Escolha >= "1" And Escolha <= "4") Or (Escolha = "Q") Then
			ClearConsole()
			Return Escolha
		End If

End While

End Function

Method Main()

	SetConsoleIndent(4)

Define Escolha As String = ""

	While Escolha <> "Q"

		Escolha = MostraOpcoesMenu

		Select Escolha

			Case "1"
				Soma(A,B)
			End Case

			Case "2"
				Subtraccao(A,B)
			End Case

			Case "3"
				Multiplicacao(A,B)
			End Case

			Case "4"
				Divisao(A,B)
			End Case



			Case Else
				If Escolha <> "Q" Then
					Alert( "Essa não é uma opçao valida!", "Ai ai" )
				End If
			End Case

		End Select
	End While

End Method

End Program

Não dá para por a funcionar. Se alguem souber o que está mal, faça favor de me ajudar. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sabes de algum tutorial?

Bem, eu não conheço nenhum tutorial. Aprendo pelos exemplos que vou vendo porque estes realmente servem.

Mas acho que seria um bom investimento escrever um tutorial de KPL. :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Existem tutorials que vêm com o programa apesar de serem bastante reduzidos ...

PS: deathseeker25 tens a certeza que estás a declarar as variaveis da forma correcta? é que fiquei com a impressao de que se declaravam como em VB:

Dim x, y, z As Integer 'Por exemplo

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Existem tutorials que vêm com o programa apesar de serem bastante reduzidos ...

PS: deathseeker25 tens a certeza que estás a declarar as variaveis da forma correcta? é que fiquei com a impressao de que se declaravam como em VB:

Dim x, y, z As Integer 'Por exemplo

UnKnowN, vou experimentar dessa forma. Eu declarava as variáveis exactamente como via nos ficheiros de código fonte de outros programas já criados, que vêm com o IDE.

Mas vou experimentar e já digo algo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Existem tutorials que vêm com o programa apesar de serem bastante reduzidos ...

PS: deathseeker25 tens a certeza que estás a declarar as variaveis da forma correcta? é que fiquei com a impressao de que se declaravam como em VB:

Dim x, y, z As Integer 'Por exemplo

Eu acho que as variáveis se definem:


Define x,a,s as Int //por exemplo

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Existem tutorials que vêm com o programa apesar de serem bastante reduzidos ...

PS: deathseeker25 tens a certeza que estás a declarar as variaveis da forma correcta? é que fiquei com a impressao de que se declaravam como em VB:

Dim x, y, z As Integer 'Por exemplo

Eu acho que as variáveis se definem:


Define x,a,s as Int //por exemplo

Ah ya, tenho uma vaga ideia de que eram parecidas com VB e sendo assim continuam a parecer-se em muito com VB por isso é uma hipótese, esperemos pela resposta do deathseeker25 :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Lá consegui resolver os problemas. Cá fica o código:

Program Calculadora

Method Reset()

	SetConsoleTextAlignment( "Left" )
	SetConsoleFont( "Courier New", 10 )
	SetConsoleIndent( 0 )
	SetConsoleHangingIndent( 0 )
	SetConsoleFontStyle( False, False, False )
	SetConsoleBulletMode( Off )

End Method

Method Pause()

	Reset()

	ConsoleWriteLine( "" )
	ConsoleWrite( "Clique numa tecla para continuar...." )
	ConsoleReadKey( False )
	ConsoleWriteLine( "" )
	ConsoleWriteLine( "" )

End Method

Method Soma()
Define A As Int 
Define B As Int
Define C As Int
 A =ConsoleReadInt("Primeira parcela: ",True)
 B =ConsoleReadInt("Segunda parcela: ",True)
 C = A + B
ConsoleWriteLine("Resultado: "+C)
Pause()
End Method

Method Subtraccao()
Define A As Int
Define B As Int
Define C As Int
 A =ConsoleReadInt("Primeira parcela: ",True)
 B =ConsoleReadInt("Segunda parcela: ",True)
 C = A - B
ConsoleWriteLine("Resultado: "+C)
Pause()
End Method

Method Multiplicacao()
Define A As Int
Define B As Int
Define C As Int
 A =ConsoleReadInt("Primeira parcela: ",True)
 B =ConsoleReadInt("Segunda parcela: ",True)
 C = A * B
ConsoleWriteLine("Resultado: "+C)
Pause()
End Method

Method Divisao ()
Define A As Int
Define B As Int
Define C As Int
 A =ConsoleReadInt("Primeira parcela: ",True)
 B =ConsoleReadInt("Segunda parcela: ",True)
 C = A / B
ConsoleWriteLine("Resultado: "+C)
Pause()
End Method


Method MostraOpcoesMenu( Letter As String, Description As String )

	SetConsoleFontStyle( On, Off, Off )
	ConsoleWrite( "[ " + Letter + " ]\t" )
	SetConsoleFontStyle( Off, Off, Off )

	ConsoleWriteLine( Description )

End Method

Function SeleccionaOpcoesMenu() As String

Define Escolha As String

While True

ClearConsole()

SetConsoleIndent(15)

MostraOpcoesMenu("1","Soma()")
MostraOpcoesMenu("2","Subtraccao()")
MostraOpcoesMenu("3","Multiplicacao()")
MostraOpcoesMenu("4","Divisao()")
MostraOpcoesMenu("Q","Sair")

ConsoleWriteLine("")

ConsoleWrite("Introduz a operacao que pretende efectuar: ")

Escolha=ConsoleReadKey( True)

If (Escolha >= "1" And Escolha <= "4") Or (Escolha = "Q") Then
			ClearConsole()
			Return Escolha 
		End If

End While

Return ""
End Function

Method Main()

	SetConsoleIndent(4)

Define Escolha As String = ""

	While Escolha <> "Q" 

		Escolha = SeleccionaOpcoesMenu()

		Select Escolha

			Case "1"
				Soma()
			End Case

			Case "2"
				Subtraccao()
			End Case

			Case "3"
				Multiplicacao()
			End Case

			Case "4"
				Divisao()
			End Case



			Case Else
				If Escolha <> "Q" Then
					Alert( "Essa não é uma opçao valida!", "Ai ai" )
				End If
			End Case

		End Select
	End While


End Method

End Program

É uma calculadora básica, mas para primeiro programa té nem está mau. Esta linguagem é muito fácil e tem bom potencial de desenvolvimento de jogos em 2D, por exemplo. :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sinceramente, estive a olhar para essa linguagem e não consigo perceber o que tem de tão simples comparada com muitas outras.. nada de novo imo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sinceramente, estive a olhar para essa linguagem e não consigo perceber o que tem de tão simples comparada com muitas outras.. nada de novo imo.

Na verdade é como dizes: a linguagem não é tão simples quanto o nome aparenta e nada traz de novo. É apenas uma junção das funções mais fáceis de outras linguagens (pelo menos o autor assim o considerou) o que faz com fique um bocado complicada e confusa.

Seja como for, continuo a aconselhar a aprendizagem de Pascal e de seguida Python para os novatos. :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

claro sempre o pascal em primeiro, mas n acho que a linguagem seja confusa, e ate tem algum potencial, e uma linguagem a ser explorada!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu ja tentei começar mas nepia! vou ver se aprendo alguma coisa de C porque deve ajudar n??

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu também estava a aprender C, mas passei para Python tem todas as potencialidades de C e mais algumas e é simples e fácil de aprender.

5 estrelas.  ;)

Cumps,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já alguem daqui fez alguma coisa em KPL, se já alguém tiver feito alguma coisa poste aqui!

Só mesmo uma brincadeira pra ver como funcionava... Não gostei da linguagem, estou habituado a coisas mais free form.

A imagem "Ship3.png" faz parte das imagens que vêm com o kpl.

Mas tenho que reconhecer que é uma das maneiras mais faceis que já vi de por uma imagem no ecran e de a controlar de alguma forma. É bem mais facil de fazer do que em VB, por exemplo.

Program t1

Define x As Int
Define y As Int
Define R As Decimal
Define fr As Int
Define MaxFrames As Int

Method Main()

	Define k As Int
	Define LEFT As Int
	Define RIGHT As Int
	Define ESC As Int
	Define lll As Bool

	lll=True
	x=320
	y=240
	R=0
	fr=1

	LEFT=1
	RIGHT=2
	ESC=3

	setupscr(x,y)
	MaxFrames=GetSpriteFrameCount ("stick")
	While True
		k=gkey()
		If k=LEFT Then
			R= R - 0.1
		End If
		If k=RIGHT Then
			R= R + 0.1
		End If
		If k=ESC  Then
			Stop()
		End If

		If k <> 0 Then
			x=320+200*Sin(R/100)
			y=240+200*Cos(R/100)
			RotateSprite("stick",R)
			MoveSpriteToPoint("stick",x,y)
			fr = fr + 1
			If fr > MaxFrames Then
				fr = 1
			End If
			SetSpriteActiveFrame("stick",fr)
		End If

		RefreshScreen()
	End While
End Method

Method rotate_right()
	RotateSprite("stick",0.1)
End Method


Function gkey() As Int
	If IsKeyDown("Left") Then
		Return 1
	End If
	If IsKeyDown("Right") Then
		Return 2
	End If
	If IsKeyDown("Escape") Then
		Return 3
	End If
	Return 0
End Function

Method setupscr(xx As Int,yy As Int)
	SetDeviceCoordinates()
	Color(black)
	Rectangle(640,480,True)
	LoadSprite("stick", "Ship3.png")
	MoveSpriteToPoint("stick",xx,yy)
	ShowSprite("stick")
End Method

Method rotate_left()
	RotateSprite("stick",-0.1) 
End Method

End Program

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora