O desafio dos monstros – parte 1

desafio-1_abertura.png

Este jogo, “O desafio dos monstros” (ou Monster Wrestling no título original), é um dos seis jogos que integram o livro Weird Computer Games. Todos eles são programas curtos, escritos totalmente em BASIC, de mecânica simples e compatíveis com os computadores Acorn BBC/Electron, Apple II, Commodore 64/VIC-20, TRS-80 Color e ZX-Spectrum — cada listagem contendo um apêndice com as instruções necessárias para adequá-lo à sintaxe/capacidades do interpretador em cada modelo.

Este livro foi escrito por Jenny Tyler e Chris Oxlade e editado em 1983 pela Usborne Publishing na Inglaterra. Em 1984 foi publicado no Brasil pela Editora Lutécia sob o título de Programas de Jogos de Terror, com o suporte aos computadores fabricados pela Acorn removido e acrescentadas instruções para compatibilidade com computadores MSX¹, PC, TRS-80 e até mesmo o TK-2000.

(¹) Algo curioso já que o MSX só foi lançado oficialmente no Brasil na segunda metade de 1985.

Como é o jogo?

Ao invés de explicar o jogo, republicarei a descrição dele mesmo das páginas do livro:

O Desafio dos Monstros

Lutar com monstros é um esporte perigoso! Pior para você, que se prepara para enfrentar alguns dos monstros mais ferozes do Universo. Para isso, terá que usar toda a sua agilidade mental. Deverá calcular, por exemplo, o esforço muscular necessário para deter o monstro, o que implica multiplicar o tamanho do monstro pela distância a que ele se encontra de você.

Se os números parecerem muito difíceis, você pode apertar o Botão de Pânico (tecla P). Nesse caso, terá que calcular a quantidade de adrenalina de que o seu corpo necessita para sobreviver à crise, dividindo o aumento do ritmo cardíaco pelo consumo de oxigênio. Cuidado, porém, para não usar demais o Botão de Pânico, ou poderá forçar o coração e perder os sentidos.

Para vencer o desafio, você terá que sobreviver a 12 rounds, cada um contra um monstro diferente.

Após a leitura da descrição/instruções do jogo já é possível entender que é um exercício de multiplicação e de divisão de números inteiros. Não há gráficos ou sons, apenas mensagens de texto descrevendo na tela o que está acontecendo.

O que torna o jogo realmente divertido é o tempo curto para dar as repostas.

O programa…

O programa, tal qual está listado no  livro, é este aqui:


20 LET P=0
30 LET K=3
40 CLS
50 LET X=1
60 LET Y=6
70 LET N=-1
75 LET N=N+1
80 LET G=INT(RND(0)*Y+X)
90 LET I=INT(RND(0)*K+K)
100 LET Y=Y+0.5
110 LET X=X+0.5
120 LET K=K+0.5
130 PRINT
140 PRINT
150 PRINT "TAMANHO DO MONSTRO: ";
160 PRINT G
170 PRINT
180 PRINT "DISTANCIA: ";
190 PRINT I
200 PRINT
210 PRINT "ESFORCO MUSCULAR?";
220 GOSUB 570
230 IF Z<>G*I THEN GOTO 320
240 CLS
250 PRINT "MONSTRO SOB CONTROLE"
260 IF N<11 THEN GOTO 75
270 PRINT "UFA!!! O MONSTRO"
280 PRINT "ESTA CANSADO E FOI"
290 PRINT "PROCURAR OUTRA VITIMA."
300 PRINT "VOCE ESCAPOU!!!"
310 STOP
320 CLS
330 PRINT "VOCE FOI ESMAGADO"
340 PRINT "ATE A MORTE"
350 PRINT "PELO MONSTRO."
360 PRINT
370 PRINT "VOCE SOBREVIVEU ";N;" ROUNDS"
380 STOP
390 CLS
400 LET WX=INT(RND(0)*9+1)
410 LET WY=INT(RND(0)*9+1)
420 LET W=WX*WY
430 LET P=P+1
440 IF P=4 THEN GOTO 700
450 IF P=3 THEN PRINT "ESTA VENDO ESTRELAS"
460 PRINT "PANICO!!!"
470 PRINT
480 PRINT "RITMO CARDIACO: ";W
490 PRINT "CONSUMO DE OXIGENIO: ";WX
500 PRINT
510 PRINT "QUANTIDADE DE ADRENALINA? ";
520 LET Q=100
530 GOSUB 580
540 IF Z<>WY THEN GOTO 320
550 CLS: IF N<11 THEN GOTO 75
560 GOTO 270
570 LET Q=0
580 LET Z$=""
590 LET A$=INKEY$
600 IF A$=CHR$(13) THEN GOTO 680
610 IF A$="P" THEN GOTO 390
620 IF VAL(A$)=0 AND A$<>"0" THEN GOTO 650
630 PRINT A$;
640 LET Z$=Z$+A$
650 LET Q=Q+1
660 IF Q=500 THEN GOTO 320
670 GOTO 590
680 LET Z=VAL(Z$)
690 RETURN
700 CLS
710 PRINT "VOCE DESMAIOU"
730 STOP

Exceto pelas mensagens traduzidas é o mesmo código nas duas edições do livro — apenas desconsiderando, claro, que a versão nacional o código está escrito no BASIC dos computadores TRS-80 level II enquanto que a edição inglesa usa o BBC BASIC dos computadores fabricados pela Acorn².

Claro, por ele ser escrito de forma genérica acaba sendo mais extenso do que o necessário e é aqui que começa o desafio, ou melhor, desafios pois resolvi:

  • Transcrevê-lo para outra linguagem de programação, neste caso, Python e
  • Reescrever o código em BASIC para aproveitar melhor os recursos do MSX-BASIC³

E nos dois casos, mantendo a mesma interface e sem introduzir novas funcionalidades ou recursos.

(²) De acordo com o livro está em “standard BASIC“.

(³) Pois é, do jeito que está ele roda no MSX mas algumas coisas poderiam ser feito de um modo bem mais simples (e rápido).

Fim desta parte

Antes de terminar, em 2016 a Usborne Publishing disponibilizou tanto o Weird Computer Games como outros títulos lançados por eles na década de 1980 para download e, especificamente no caso da edição brasileira, a versão digitalizada dela pode ser baixada no Datassette.

E até a versão em Python! 🙂

2 comentários sobre “O desafio dos monstros – parte 1

  1. Pingback: O desafio dos monstros – parte 2 | giovannireisnunes

  2. Pingback: Repórter Retro Nº 031 | Retrocomputaria

Os comentários estão desativados.