Jogo de Programação!!!

Started by DavidSalgueiro, March 23, 2006, 10:50:33 PM

Previous topic - Next topic

DavidSalgueiro

\\Pretendo com isto criar uma brincadeira com penso que muitos de vocês têm mais ou menos umas ideias básicas de programação, resolvi criar um novo jogo, não sei se isto vai resultar visto que cada um tem a sua maneira de programar, mas não perdemos nada em tentar.

\\Então é assim, eu vou começar com umas linhas de código em pascal, visto que esta é a linguagem mais simples que conheço, sem contar com a das calculadoras, e cada um pode alterar como quiser e voltar a postar aki o covo código. Só peço é que não postem mais nada neste tópico a não ser os códigos.

Quoteprogram jogo;

VAR
   num1:integer;
   num2:integer;

BEGIN
{Vou criar um programa para somar dois números}
   WriteLn(\\'Insira o 1Ã,º número a somar!\\');
   ReadLn(num1);
   WriteLn(\\'Insira o 2Ã,º número a somar!\\');
   ReadLn(num2);
   WriteLn(\\'O Resultado da Soma é:\\' num1+num2);
   ReadLn;
END.
Conection Refused!!!

southafrikanse

JAVA

Quoteimport java.util.*;

public Class Jogo {
private int num1;
private int num2;
public static void main (String args[]){
           
Scanner Le = new Scanner (System.in);  //A Classe Scanner permite  ler do teclado.
System.out.println(\\"Introduza um número\\");
num1 = Le.nextInt();
System.out.println(\\"Introduza o segundo número a somar\\");
num2 = Le.nextInt();
System.out.println(\\"A soma de \\" + num1 + \\" e de \\" + num2 + \\" é \\" + (num1+num2));            
}
}
Blog Pessoal | Tugatrónica | Fórum Webtuga
"Knowledge is knowing that a tomato is a fruit, but Wisdom is knowing not to put it in a fruit salad."

KTachyon

Lisp:

(defun soma (a b) (+ a b))
Para correr:

> (soma num1 num2)
My Q4 estimate: Macs: 5.89M; iPods: 4.19M; iPhones: 30.0M; iPads: 18.05M; Revenue: 37.00B; EPS: 9.50
AAPL Q3 result: Macs: 4.02M; iPods: 6.80M; iPhones: 26.0M; iPads: 17.04M; Revenue: 35.02B; EPS: 9.32

revx

Aqui fica em php:

Quote<html>
<head><title>Soma de dois números</title></head>
</html>
<body>
<form method=\\"post\\">
Introduza o 1Ã,º número:

<input name=\\"1\\" type=\\"text\\">

Introduza o 2Ã,º número:

<input name=\\"2\\" type=\\"text\\">

<input name=\\"submeter\\" type=\\"submit\\">
<?php

if(isset($_POST[\\'submeter\\']))
{

if ($_POST[\\'1\\'] == $null)
{
echo \\'Tem de introduzir o primeiro número!\\';
}

else if ($_POST[\\'2\\'] == $null)
{
echo \\'Tem de introduzir o segundo número!\\';
}

else
{
echo $_POST[\\'1\\']+$_POST[\\'2\\'];
}
}
?>
</form>
</body>
</html>

P.s. Não testei porque estou nas aulas mas presumo que esteja tudo correcto...
Carpe Ad Infinitum

Teotónio Ricardo

QuoteAqui fica em php:

Quote<html>
<head><title>Soma de dois números</title></head>
</html>
<body>
<form method=\\"post\\">
Introduza o 1Ã,º número:

<input name=\\"1\\" type=\\"text\\">

Introduza o 2Ã,º número:

<input name=\\"2\\" type=\\"text\\">

<input name=\\"submeter\\" type=\\"submit\\">
<?php

if(isset($_POST[\\'submeter\\']))
{

if ($_POST[\\'1\\'] == $null)
{
echo \\'Tem de introduzir o primeiro número!\\';
}

else if ($_POST[\\'2\\'] == $null)
{
echo \\'Tem de introduzir o segundo número!\\';
}

else
{
echo $_POST[\\'1\\']+$_POST[\\'2\\'];
}
}
?>
</form>
</body>
</html>

P.s. Não testei porque estou nas aulas mas presumo que esteja tudo correcto...

A funcionar, alterava era ai umas coisitas!

Teotónio Ricardo

Fica melhor assim:



Soma de dois números







Introduza o 1Ã,º número:





Introduza o 2Ã,º número:










if(isset($_POST[\\'submeter\\']))

{



if ($_POST[\\'1\\'] == $null and $_POST[\\'2\\'] == $null)

{

echo \\'Não foram introduzidos nenhuns dados!\\';

}

else if ($_POST[\\'1\\'] == $null)

{

echo \\'Tem de introduzir o primeiro número!\\';

}



else if ($_POST[\\'2\\'] == $null)

{

echo \\'Tem de introduzir o segundo número!\\';

}

else

{

echo ( $_POST[\\'1\\']+ $_POST[\\'2\\']);

}

}

?>






revx

Esse if é desnecessário... lol mas ok... da maneira que eu pus ele verificava o 1 e se nao tivesse ficava por ai... se tvesse o 1 verificava o 2 e se tivesse os dois dava o resultado... são questões de gosto !
Carpe Ad Infinitum

Teotónio Ricardo

QuoteEsse if é desnecessário... lol mas ok... da maneira que eu pus ele verificava o 1 e se nao tivesse ficava por ai... se tvesse o 1 verificava o 2 e se tivesse os dois dava o resultado... são questões de gosto !

Assim esta mais completo!

eheh

revx

Em C++ !!

Quote#include <stdio.h>

/*
    funcsoma.c
*/

soma (int x,int y)
{
  return (x+y);
}

int main ()
{
  int resultado;
  resultado = soma(numero1,numero2);
  printf (\\"A some é: %dn\\",resultado);
}

Susbtituam os numero1 e numero2 pelos numeros a somar !!!
Carpe Ad Infinitum

nDray

Python:

Quote# -*- coding: ISO-8859-15 -*-
print \\"Soma de dois números\\"
num1 = input(\\"Introduz o primeiro número!n\\")    #define a primeira variável
num2 = input(\\"Introduz o segundo número!n\\")    #define a segunda variável
print num1, \\"+\\", num2, \\"=\\", num1+num2             #processa as variáveis e apresenta o resultado

Acho que não arranjam linguagem mais simples!


Let\'s communicate one byte at a time :)

KTachyon

QuoteEm C++ !!

Quote#include <stdio.h>

/*
    funcsoma.c
*/

soma (int x,int y)
{
  return (x+y);
}

int main ()
{
  int resultado;
  resultado = soma(numero1,numero2);
  printf (\\"A some é: %dn\\",resultado);
}

Susbtituam os numero1 e numero2 pelos numeros a somar !!!

LOL... pois. getchar() e atoi() não se usam...
My Q4 estimate: Macs: 5.89M; iPods: 4.19M; iPhones: 30.0M; iPads: 18.05M; Revenue: 37.00B; EPS: 9.50
AAPL Q3 result: Macs: 4.02M; iPods: 6.80M; iPhones: 26.0M; iPads: 17.04M; Revenue: 35.02B; EPS: 9.32

revx

Carpe Ad Infinitum

revx

Carpe Ad Infinitum

KTachyon

Em C puro:

#include

#include



int main ()

{

int num1, num2;



printf("Numero1: ");

num1 = getNum();



printf("Numero2: ");

num2 = getNum();



printf ("A soma é: %dn",num1+num2);



return 1;

}



int getNum() {



char* val = (char*)malloc(10*sizeof(char));

int i = 0, b = 1;



while (b) {

while ((val[i] = getchar()) != \\'n\\' && i < 9) {

i++;

b = 0;

}

}



i = atoi(val);

free(val);



return i;

}


Em C++:

#include



int main ()

{

int num1, num2;



std::cout << "Numero1: ";

std::cin >> num1;



std::cout << "Numero2: ";

std::cin >> num2;



printf ("A soma é: %dn",num1+num2);



return 1;

}


Em RealBasic:


Sub Action ()

   MsgBox str(val(EditField1.text)+val(EditField2.text))

End Sub
My Q4 estimate: Macs: 5.89M; iPods: 4.19M; iPhones: 30.0M; iPads: 18.05M; Revenue: 37.00B; EPS: 9.50
AAPL Q3 result: Macs: 4.02M; iPods: 6.80M; iPhones: 26.0M; iPads: 17.04M; Revenue: 35.02B; EPS: 9.32

DavidSalgueiro

Aqui fica em VB.NET 2005( da forma mais simples):


QuotePublic Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)   Handles Button1.Click
        Dim n1, n2, resultado As Single
        n1 = CSng(TextBox1.Text)
        n2 = CSng(TextBox2.Text)
        resultado = n1 + n2
        TextBox3.Text = resultado


    End Sub
Conection Refused!!!

KTachyon

QuoteAqui fica em VB.NET 2005( da forma mais simples):


QuotePublic Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)   Handles Button1.Click
        Dim n1, n2, resultado As Single
        n1 = CSng(TextBox1.Text)
        n2 = CSng(TextBox2.Text)
        resultado = n1 + n2
        TextBox3.Text = resultado


    End Sub

Podes melhorar isso. Os profs de programação tendem a gostar de código mais arrumado (para além de comentado e OO, mas isso é outra história). Isto é válido para todos os programadores daki, não apenas aki ao David. Só tomei como exemplo pk foi o ultimo a aparecer e eu axar k o código que vocês escrevem parece um bocadinho \\'feio\\'.
My Q4 estimate: Macs: 5.89M; iPods: 4.19M; iPhones: 30.0M; iPads: 18.05M; Revenue: 37.00B; EPS: 9.50
AAPL Q3 result: Macs: 4.02M; iPods: 6.80M; iPhones: 26.0M; iPads: 17.04M; Revenue: 35.02B; EPS: 9.32

KTachyon

Ok... agora em Lex e Yacc uma calculadora basica:

Ficheiro Lex:
%{

#include "y.tab.h"

#include

extern int yylval;

%}

%%

[0-9]+ {yylval=atoi(yytext);

return NUMBER;}



[ t];



n |

. return yytext[0];



%%

int yywrap()

{

return 1;

}


Ficheiro Yacc:
%{

#include

#include

int divisao = 0;

%}

%token NUMBER

%right \\'+\\' \\'-\\'

%left \\'*\\' \\'/\\'



%%

statement: statement expression \\'n\\' {if (divisao) divisao = 0; else printf("%dn", $2);}

| expression \\'n\\' {if (divisao) divisao = 0; else printf("%dn", $2);}

;



expression: expression \\'/\\' expression {if ($3 != 0) $$=$1/$3; else { printf("Divide by zero!n"); divisao = 1;}}

 | expression \\'*\\' expression {$$=$1*$3;}

 | expression \\'+\\' expression {$$=$1+$3;}

 | expression \\'-\\' expression {$$=$1-$3;}

 | \\'(\\' expression \\')\\' {$$=$2;}

 | NUMBER {$$=$1;}

;

 

%%

int main()

{

yyparse();

}



void yyerror (char *s)

{

printf("%sn", s);

}
My Q4 estimate: Macs: 5.89M; iPods: 4.19M; iPhones: 30.0M; iPads: 18.05M; Revenue: 37.00B; EPS: 9.50
AAPL Q3 result: Macs: 4.02M; iPods: 6.80M; iPhones: 26.0M; iPads: 17.04M; Revenue: 35.02B; EPS: 9.32

DavidSalgueiro

Quote
QuoteAqui fica em VB.NET 2005( da forma mais simples):


QuotePublic Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)   Handles Button1.Click
        Dim n1, n2, resultado As Single
        n1 = CSng(TextBox1.Text)
        n2 = CSng(TextBox2.Text)
        resultado = n1 + n2
        TextBox3.Text = resultado


    End Sub

Podes melhorar isso. Os profs de programação tendem a gostar de código mais arrumado (para além de comentado e OO, mas isso é outra história). Isto é válido para todos os programadores daki, não apenas aki ao David. Só tomei como exemplo pk foi o ultimo a aparecer e eu axar k o código que vocês escrevem parece um bocadinho \\'feio\\'.

mas eu arrumo o codigo, nao consigo e que ele fique identado aqui no forum nao sei porque

EDIT: Já sei é porque eu faço citação em vez de codigo
Conection Refused!!!

KTachyon

Ya, mas axo k tb podes reduzir um pouco o tamanho.
My Q4 estimate: Macs: 5.89M; iPods: 4.19M; iPhones: 30.0M; iPads: 18.05M; Revenue: 37.00B; EPS: 9.50
AAPL Q3 result: Macs: 4.02M; iPods: 6.80M; iPhones: 26.0M; iPads: 17.04M; Revenue: 35.02B; EPS: 9.32

DavidSalgueiro

QuoteFica melhor assim:



Soma de dois números







Introduza o 1Ã,º número:





Introduza o 2Ã,º número:










if(isset($_POST[\\'submeter\\']))

{



if ($_POST[\\'1\\'] == $null and $_POST[\\'2\\'] == $null)

{

echo \\'Não foram introduzidos nenhuns dados!\\';

}

else if ($_POST[\\'1\\'] == $null)

{

echo \\'Tem de introduzir o primeiro número!\\';

}



else if ($_POST[\\'2\\'] == $null)

{

echo \\'Tem de introduzir o segundo número!\\';

}

else

{

echo ( $_POST[\\'1\\']+ $_POST[\\'2\\']);

}

}

?>







eu n percebo nd de php, e testei este codigo emcasa e da-me estes erros:

Notice: Undefined variable: null in f:programaseasyphp1-8wwwteste.php on line 16

Notice: Undefined variable: null in f:programaseasyphp1-8wwwteste.php on line 20

Notice: Undefined variable: null in f:programaseasyphp1-8wwwteste.php on line 25
4
Conection Refused!!!