Jump to content

Recommended Posts

Posted

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. 😉

Posted

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
Posted

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.

Posted

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

Posted

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 🙂

Posted

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. 🙂

Posted

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. 👍

  • 1 month later...
Posted

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

Our lives begin to end the day we become silent about things that matter - Martin Luther King

  • 3 months later...
Posted

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.