|
END IF NEXT i sammy(1).row = 7: sammy(2).row = 43 sammy(1).col = 65: sammy(2).col = 15 sammy(1).direction = 2: sammy(2).direction = 1
CASE 7 FOR i = 4 TO 49 STEP 2 Set i, 40, colorTable(3) NEXT i sammy(1).row = 7: sammy(2).row = 43 sammy(1).col = 65: sammy(2).col = 15 sammy(1).direction = 2: sammy(2).direction = 1
CASE 8 FOR i = 4 TO 40 Set i, 10, colorTable(3) Set 53 - i, 20, colorTable(3) Set i, 30, colorTable(3) Set 53 - i, 40, colorTable(3) Set i, 50, colorTable(3) Set 53 - i, 60, colorTable(3) Set i, 70, colorTable(3) NEXT i sammy(1).row = 7: sammy(2).row = 43 sammy(1).col = 65: sammy(2).col = 15 sammy(1).direction = 2: sammy(2).direction = 1
CASE 9 FOR i = 6 TO 47 Set i, i, colorTable(3) Set i, i + 28, colorTable(3) NEXT i sammy(1).row = 40: sammy(2).row = 15 sammy(1).col = 75: sammy(2).col = 5 sammy(1).direction = 1: sammy(2).direction = 2 CASE ELSE FOR i = 4 TO 49 STEP 2 Set i, 10, colorTable(3) Set i + 1, 20, colorTable(3) Set i, 30, colorTable(3) Set i + 1, 40, colorTable(3) Set i, 50, colorTable(3) Set i + 1, 60, colorTable(3) Set i, 70, colorTable(3) NEXT i sammy(1).row = 7: sammy(2).row = 43 sammy(1).col = 65: sammy(2).col = 15 sammy(1).direction = 2: sammy(2).direction = 1
END SELECT END SUB
''''PlayNibbles: '''' Main routine that controls game play SUB PlayNibbles (NumPlayers, speed, diff$)
''''Initialize Snakes DIM sammyBody(MAXSNAKELENGTH - 1, 1 TO 2) AS snakeBody DIM sammy(1 TO 2) AS snaketype sammy(1).lives = 5 sammy(1).score = 0 sammy(1).scolor = colorTable(1) sammy(2).lives = 5 sammy(2).score = 0 sammy(2).scolor = colorTable(2) Level STARTOVER, sammy() startRow1 = sammy(1).row: startCol1 = sammy(1).col startRow2 = sammy(2).row: startCol2 = sammy(2).col
curSpeed = speed
''''play Nibbles until finished
SpacePause " Level" + STR$(curLevel) + ", Push Space" gameOver = FALSE DO IF NumPlayers = 1 THEN sammy(2).row = 0 END IF
number = 1 ''''Current number that snakes are trying to run into nonum = TRUE ''''nonum = TRUE if a number is not on the screen
playerDied = FALSE PrintScore NumPlayers, sammy(1).score, sammy(2).score, sammy(1).lives, sammy(2).lives PLAY "T160O1>L20CDEDCDL10ECC"
DO ''''Print number if no number exists IF nonum = TRUE THEN DO numberRow = INT(RND(1) * 47 + 3) NumberCol = INT(RND(1) * 78 + 2) sisterRow = numberRow + arena(numberRow, NumberCol).sister LOOP UNTIL NOT PointIsThere(numberRow, NumberCol, colorTable(4)) AND NOT PointIsThere(sisterRow, NumberCol, colorTable(4)) numberRow = arena(numberRow, NumberCol).realRow nonum = FALSE COLOR colorTable(1), colorTable(4) LOCATE numberRow, NumberCol PRINT RIGHT$(STR$(number), 1); count = 0 END IF
''''Delay game FOR a# = 1 TO curSpeed: NEXT a#
''''Get keyboard input & Change direction accordingly kbd$ = INKEY$ SELECT CASE kbd$ CASE "w", "W": IF sammy(2).direction <> 2 THEN sammy(2).direction = 1 CASE "s", "S": IF sammy(2).direction <> 1 THEN sammy(2).direction = 2 CASE "a", "A": IF sammy(2).direction <> 4 THEN sammy(2).direction = 3 CASE "d", "D": IF sammy(2).direction <> 3 THEN sammy(2).direction = 4 CASE CHR$(0) + "H": IF sammy(1).direction <> 2 THEN sammy(1).direction = 1 CASE CHR$(0) + "P": IF sammy(1).direction <> 1 THEN sammy(1).direction = 2 CASE CHR$(0) + "K": IF sammy(1).direction <> 4 THEN sammy(1).direction = 3 CASE CHR$(0) + "M": IF sammy(1).direction <> 3 THEN sammy(1).direction = 4 CASE "p", "P": SpacePause " Game Paused ... Push Space " CASE ELSE END SELECT
FOR a = 1 TO NumPlayers ''''Move Snake 上一页 [1] [2] [3] [4] [5] [6] 下一页 [Web开发]VS2005+SQL2005之.NET2.0数据库连接 [Web开发]authentication mode=Windows/之“/”应用程序中的… [网页制作]CSS+DIV制作圆角边框,无须使用图片 [网页制作]DIV+CSS+javascript实现DIV对象显示在页面任何位置… [网页制作]网页设计之css+div PK table+css [网页制作]css+div实现新闻显示列表 [网页制作]网页技术CSS+DIV网页布局的居中 [网页制作]利用css+div层轻松实现表格table布局 [网页制作]使用CSS+DIV制作网页的⑩大好处(与Table表格相比) [办公软件]用Ctrl+Shift+8快速选择Excel连续的块状数据
|