elementsky Posted May 7, 2006 at 08:50 PM Report #26220 Posted May 7, 2006 at 08:50 PM Já alguem daqui fez alguma coisa em KPL, se já alguém tiver feito alguma coisa poste aqui! O meu Blog:http://damnit.blogs.sapo.pt
deathseeker25 Posted May 7, 2006 at 09:34 PM Report #26238 Posted May 7, 2006 at 09:34 PM 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. 😉
elementsky Posted May 7, 2006 at 09:44 PM Author Report #26249 Posted May 7, 2006 at 09:44 PM Sabes de algum tutorial? O meu Blog:http://damnit.blogs.sapo.pt
deathseeker25 Posted May 7, 2006 at 09:49 PM Report #26253 Posted May 7, 2006 at 09:49 PM 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. 👍
UnKnowN Posted May 8, 2006 at 12:18 PM Report #26314 Posted May 8, 2006 at 12:18 PM 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
deathseeker25 Posted May 8, 2006 at 05:02 PM Report #26366 Posted May 8, 2006 at 05:02 PM 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.
elementsky Posted May 8, 2006 at 08:50 PM Author Report #26455 Posted May 8, 2006 at 08:50 PM 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 O meu Blog:http://damnit.blogs.sapo.pt
UnKnowN Posted May 8, 2006 at 08:59 PM Report #26460 Posted May 8, 2006 at 08:59 PM 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 🙂
deathseeker25 Posted May 8, 2006 at 09:54 PM Report #26496 Posted May 8, 2006 at 09:54 PM 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. 🙂
Warrior Posted May 10, 2006 at 08:11 PM Report #26791 Posted May 10, 2006 at 08:11 PM 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.
deathseeker25 Posted May 10, 2006 at 10:25 PM Report #26808 Posted May 10, 2006 at 10:25 PM 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. 👍
elementsky Posted May 11, 2006 at 08:47 PM Author Report #26963 Posted May 11, 2006 at 08:47 PM 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! O meu Blog:http://damnit.blogs.sapo.pt
joninho Posted May 14, 2006 at 08:34 PM Report #27426 Posted May 14, 2006 at 08:34 PM 🙂 lol tou a ver que o povo anda -se a aplicar 🙂
skin Posted June 19, 2006 at 09:35 PM Report #33808 Posted June 19, 2006 at 09:35 PM 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
maiden Posted June 19, 2006 at 11:29 PM Report #33829 Posted June 19, 2006 at 11:29 PM 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,
zxsat Posted September 27, 2006 at 01:29 PM Report #53208 Posted September 27, 2006 at 01:29 PM 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
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now