Hamlet Game (八ムレットゲーム)

Hamlet Game - Banner

Title –Hamlet Game (八ムレットゲーム)
System – Nintendo Family BASIC
Author – Unknown
Publication –小学館入門百科シリーズ 191: きみにも作れる!! フアミリーコンピュータゲーム (Shogakukan Introductory Encyclopedia Series 191: You can make it too!! Family Computer Games)
Page Scans – 1 2 3 4 5 6 7 8
Preserved By – ozidual
Recommended Emulator – VirtualNES

Hamlet Game - Screen Capture 1 - English Hamlet Game - Screen Capture 2 - Japanese

Download ROM

Notes: 2-Player Only, Keyboard Only

Translated Article:
Simply put, it’s a four-in-one game, but except for the top row, you can’t place a tile on a sport that doesn’t already have a tile on it. If you want to place a tile on your own you have to come up with a strategy and force your opponent to place a tile first.

Since this is a two-player game, you first decide wwho goes first by rock-paper-scissors. Mario goes first, and Luigi goes second. You can’t make the next move until Mario or Luigi reaches the right edge of the screen. The Famicom automatically decides whether or not the game is a win or a draw. No controller is used.

How to use the keyboard:

To start the game, type in RUN and press return. Start by pressing the 0, 7, 8, or 9 key. A buzzer will sound when you press the 1 key, and you can then re-enter the numbers using 1-6. When the game is over, you can restart the game by pressing Y and RETUNG. If you want to quit, press any key other than Y and press RETURN.

Always make sure to press the RETURN key after choosing a number.

Code:

100 DIM T(6,6),CW(1),CP(1)
110 VIEW:SPRITE ON:C=1
120 CP(0)=10:CP(1)=1
130 CW(0)=40:CW(1)=4
140 CGSET 1,0
150 PALETS 0,9,54,22,2
160 PALETS 1,9,39,48,25
170 PALETS 2,9,23,23,23
180 PALETS 3,9,34,34,34
200 PALETB 0,9,38,23,34
500 FOR T=1 TO 36
510 IF C=1 THEN C=0:GOTO 530
520 IF C=0 THEN C=1
530 GOSUB 5000
540 GOSUB 2000
550 IF W<>0 GOTO 700
560 NEXT
700 IF W=0 THEN P$=”ヒキクケデス”:GOTO 750
710 IF C=0 THEN P$=”マリオ ノ カチ!!”
720 IF C=1 THEN P$=”ルイ-ジ ノ カチ!!”
750 LOCATE 5,21:PRINT P$;
800 LOCATE 0,22:INPUT”モウ1カイ スルトキハ Y ヲ オシテネ”,IX$
820 IF IX$=”Y” THEN RUN
830 END
2000 ‘
2010 FOR I=1 TO 3
2020 FOR X=1 TO 6:IF W=1 GOTO 2040
2030 IF T(X,I)+T(X,I+1)+T(X,I+2)+T(X,I+3)=CW(C) THEN W=1
2040 NEXT
2050 FOR Y=1 TO 6:IF W=1 GOTO 2070
2060 IF T(I,Y)+T(I+1,Y)+T(I+2,Y)+T(I+3,Y)=CW(C) THEN W=1
2070 NEXT
2080 FOR Y=1 TO 3:IF W=1 GOTO 2100
2090 IF T(I,Y)+T(I+1,Y+1)+T(I+2,Y+2)+T(I+3,Y+3)=CW(C) THEN W=1
2100 NEXT
2110 FOR Y=1 TO 3:IF W=1 GOTO 2130
2120 IF T(I+3,Y)+T(I+2,Y+1)+T(I+1,Y+2)+T(I,Y+3)=CW(C) THEN W=1
2130 NEXT
2140 NEXT
2900 IF MOVE(0)<>0 GOTO 2900
2950 ERA 0
2990 RETURN
5000 ‘
5010 LOCATE 0,5
5020 IF C=0 THEN PRINT “マリオ “;
5030 IF C=1 THEN PRINT “ルイ-ジ”;
5040 PRINT “サンデス”
5050 BEEP
5060 IX$=INKEY$:IF IX$=”” GOTO 5060
5070 IX=VAL(IX$)
5080 IF IX<1 OR IX>6 THEN PLAY “O0C2#CC”:GOTO 5060
5090 IF T(IX,1)<>0 THEN PLAY “O0C2#CC”:GOTO 5060
5100 DEF MOVE(0)=SPRITE(0,3,1,121,0,C)
5110 POSITION 0,0,192
5120 MOVE 0
5130 DEF SPRITE 0,(C+2,1,1,0,0)=CHR$(253)+CHR$(253)+CHR$(253)+CHR$(253)
5140 FOR I=230 TO 24 STEP -1
5150 SPRITE 0,32,I
5160 NEXT
5200 FOR I=1 TO 6
5210 IF T(IX,I)=0 THEN IY=I
5220 NEXT
5230 FOR I=32 TO IX*24+64
5240 SPRITE 0,I,24
5250 NEXT
5260 FOR I=32 TO IY*24+24
5270 SPRITE 0,IX*24+64,I
5280 NEXT
5300 T(IX,IY)=CP(C)
5310 IF C=0 THEN P$=CHR$(254)+CHR$(254)
5320 IF C=1 THEN P$=CHR$(255)+CHR$(255)
5330 LOCATE IX*3+6,IY*3
5340 PRINT P$
5350 LOCATE IX*3+6,IY*3+1
5360 PRINT P$
5370 PLAY “O3C0:O3F0:O3A0”
5380 SPRITE 0
5390 RETURN

About eboy71

eboy71, or Bryon as he's known IRL, grew up in the 80's, bathed in that warm monitor glow from his Commodore 64. He enjoys preserving programs from the computer magazines of his youth, especially COMPUTE!, and still manages to get in a game of Impossible Mission from time to time.

Leave a Reply

Your email address will not be published. Required fields are marked *