O meu projecto em pascal
2 participantes
:: Nerd Talk :: Computação
Página 1 de 1
O meu projecto em pascal
Bem o que eu estou a tentar fazer talvez alguns de vocês já conheçam, é do tipo de RPGs mais antigo que já existiu conhecido por "Rouge like RPG", basicamente um 'Rouge like RPG' como qualquer outro RPG consistem em seres a personagem principal que vais evoluindo achando/comprando armas poções etc mas é tudo feito a texto ou seja a tua personagem é uma '@' um monstro por exemplo... um rato pode ser um 'R' uma cobra um 'S' etc se procurarem na internet de certeza que acham vários jogos assim.
Mais informações sobre este tipo de jogos aqui:
http://en.wikipedia.org/wiki/Roguelike
Nesse site também tem um exemplo de como o jogo funciona.
Deixem ideias etc começar a por pequenas porções de código que já fiz.
Mais informações sobre este tipo de jogos aqui:
http://en.wikipedia.org/wiki/Roguelike
Nesse site também tem um exemplo de como o jogo funciona.
Deixem ideias etc começar a por pequenas porções de código que já fiz.
Kiruwagaka- Second God
- Número de Mensagens : 189
Rep : 43
Data de inscrição : 10/02/2009
Re: O meu projecto em pascal
Ya já vi jogos feitos em pascal assim lolz olha lá preciso de ajuda a pensar num procedure para o crash por exemplo se o gotoxy() do @ for igual ao de uma parede ele não anda mas não sei como identificar que ali tá uma letra ou simbolo e não queria por uma lista enorme sobre os gotoxy() todos das paredes alguma ideia?
Kiruwagaka- Second God
- Número de Mensagens : 189
Rep : 43
Data de inscrição : 10/02/2009
Re: O meu projecto em pascal
if coordenada(x,y)=símbolo/letra then
begin
gotoxy(uma linha fora do quadro de jogo)
writeln('OMG! Você espetou-se na parede!');
end;
n sei como comparar as coordenadas, mas deve ser uma coisa parecida a isso.
ou então comparares com o x/y q têm parede desenhado
if (var q recebe o goto) in (linha de cima) or in (1º valor da coluna da esq do y..último valor da coluna da esq) or in (linha de baixo) or in (1ª célula da coluna da dir..última célula da coluna da dir) then...
begin
gotoxy(uma linha fora do quadro de jogo)
writeln('OMG! Você espetou-se na parede!');
end;
n sei como comparar as coordenadas, mas deve ser uma coisa parecida a isso.
ou então comparares com o x/y q têm parede desenhado
if (var q recebe o goto) in (linha de cima) or in (1º valor da coluna da esq do y..último valor da coluna da esq) or in (linha de baixo) or in (1ª célula da coluna da dir..última célula da coluna da dir) then...
Re: O meu projecto em pascal
Ah isso do in até é boa ideia thank you quando acabar esse procedure ponho aqui
Kiruwagaka- Second God
- Número de Mensagens : 189
Rep : 43
Data de inscrição : 10/02/2009
Re: O meu projecto em pascal
Como eu tava a dizer, a condição era:
faz de conta q "a" é a variavel q dá o valor x, e "b" a variavel q dá o valor y.
O exemplo é como se o campo de jogo fosse 10x10
(Para ver se vai bater na linha de cima)
if ((a in (1..10)) and (b=1)) then
crash;
(Para ver se vai bater na linha de baixo)
if ((a in (1..10)) and (b=10)) then
crash;
(Para ver as paredes)
(Parede da esquerda)
if ((a=1) and (b in (1..10)) then
crash;
(Parede da direita)
if ((a=10) and (b in (1..10)) then
crash;
faz de conta q "a" é a variavel q dá o valor x, e "b" a variavel q dá o valor y.
O exemplo é como se o campo de jogo fosse 10x10
(Para ver se vai bater na linha de cima)
if ((a in (1..10)) and (b=1)) then
crash;
(Para ver se vai bater na linha de baixo)
if ((a in (1..10)) and (b=10)) then
crash;
(Para ver as paredes)
(Parede da esquerda)
if ((a=1) and (b in (1..10)) then
crash;
(Parede da direita)
if ((a=10) and (b in (1..10)) then
crash;
Re: O meu projecto em pascal
Então imagina que eu simplesmente ponho uma cena k pode ser "batida" por todos os lados
Kiruwagaka- Second God
- Número de Mensagens : 189
Rep : 43
Data de inscrição : 10/02/2009
Re: O meu projecto em pascal
Mas aí sabes a coordenada certa lol
if a=(x desse objecto) and b=(y desse objecto) then crash;
if a=(x desse objecto) and b=(y desse objecto) then crash;
Re: O meu projecto em pascal
a cena é que tipo eu não quero por milhares de crash é por isso que queria fazer um procedimento que fize-se isso tudo de uma vez lol tipo if crash=true then
write('gameover'); ou uma coisa assim
write('gameover'); ou uma coisa assim
Kiruwagaka- Second God
- Número de Mensagens : 189
Rep : 43
Data de inscrição : 10/02/2009
Re: O meu projecto em pascal
Bem já concigo pôr a '@' a mecher sem ter que escrever, neste momento a '@' meche-se só por clicar nas setas do teclado e sai do programa quando o esc é clicado
Kiruwagaka- Second God
- Número de Mensagens : 189
Rep : 43
Data de inscrição : 10/02/2009
:: Nerd Talk :: Computação
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|