回 帖 发 新 帖 刷新版面

主题:[原创]一个制造纸牌的程序

下面是一个制造点数为1-10的纸牌的程序,虽然界面没有真实的纸牌那么好看,但是已经非常像了。

如果你们谁想编个纸牌游戏就可以拿我这个程序来制造纸牌。

CLS
RANDOMIZE TIMER
SCREEN 12
LINE (1, 1)-(130, 160), 14, BF                  '画牌面
poi = INT(RND * 10) + 1                         '随机点数
IF poi = 1 THEN p$ = " A " ELSE p$ = STR$(poi) + " "
LOCATE 10, 13: PRINT p$                         '输出点数 
LOCATE 1, 1: PRINT p$
zl = INT(RND * 4) + 1      
k = zl + 2: k$ = CHR$(k)             '随机的花色,花色的ASCII码是3-6
IF poi = 10 THEN i = 15 ELSE i = 14
LOCATE 2, 1: PRINT " "; k$: LOCATE 9, i: PRINT " "; k$  '输出两个角的花色
DRAW "l130u160r130d160"
ON poi GOSUB 1, 2, 3, 4, 5, 6, 7, 8, 9, 10   '按点数输出中间的花色
END
1 LOCATE 5, 8: PRINT k$: RETURN
2 LOCATE 4, 8: PRINT k$: LOCATE 6, 8: PRINT k$: RETURN
3 LOCATE 3, 8: PRINT k$: LOCATE 5, 8: PRINT k$
  LOCATE 7, 8: PRINT k$: RETURN
4 LOCATE 4, 6: PRINT k$: LOCATE 4, 10: PRINT k$
  LOCATE 6, 6: PRINT k$: LOCATE 6, 10: PRINT k$: RETURN
5 LOCATE 3, 6: PRINT k$: LOCATE 3, 10: PRINT k$
  LOCATE 5, 8: PRINT k$: LOCATE 7, 6: PRINT k$
  LOCATE 7, 10: PRINT k$: RETURN
6 LOCATE 3, 6: PRINT k$: LOCATE 3, 10: PRINT k$
  LOCATE 5, 6: PRINT k$: LOCATE 5, 10: PRINT k$
  LOCATE 7, 6: PRINT k$: LOCATE 7, 10: PRINT k$: RETURN
7 LOCATE 2, 6: PRINT k$: LOCATE 2, 10: PRINT k$
  LOCATE 4, 8: PRINT k$: LOCATE 6, 6: PRINT k$
  LOCATE 6, 10: PRINT k$: LOCATE 8, 6: PRINT k$
  LOCATE 8, 10: PRINT k$: RETURN
8 LOCATE 2, 6: PRINT k$: LOCATE 2, 10: PRINT k$
  LOCATE 4, 6: PRINT k$: LOCATE 4, 10: PRINT k$
  LOCATE 6, 6: PRINT k$: LOCATE 6, 10: PRINT k$
  LOCATE 8, 6: PRINT k$: LOCATE 8, 10: PRINT k$: RETURN
9 LOCATE 3, 6: PRINT k$: LOCATE 3, 10: PRINT k$
  LOCATE 4, 8: PRINT k$: LOCATE 5, 6: PRINT k$
  LOCATE 5, 10: PRINT k$: LOCATE 6, 6: PRINT k$
  LOCATE 6, 10: PRINT k$: LOCATE 8, 6: PRINT k$
  LOCATE 8, 10: PRINT k$: RETURN
10 LOCATE 3, 6: PRINT k$: LOCATE 3, 10: PRINT k$
   LOCATE 4, 8: PRINT k$: LOCATE 5, 6: PRINT k$
   LOCATE 5, 10: PRINT k$: LOCATE 6, 6: PRINT k$
   LOCATE 6, 10: PRINT k$: LOCATE 7, 8: PRINT k$
   LOCATE 8, 6: PRINT k$: LOCATE 8, 10: PRINT k$: RETURN

回复列表 (共5个回复)

沙发

强!

板凳

不过在输出花色的时候,会有黑色的背景,请大家想想怎么把这背景去掉,变成透明的。

3 楼

4 楼

你可以到网上找纸牌的图片,再保存成BMP格式,再写一个程序把图片的象素点读出保存起来。再在程序中调用。在网上先找个BMP文件格式详解,配合16进制编辑器使用,效果不错。

5 楼

若单是为了显示扑克牌..强强说的的确是一个好办法..花点时间把54张拍做成54张图片...名字取成有规律的....直接读取图片.....用get命令存好....用的时候再用put命令显示.....缺点就是占内存多了点....800一张,54张....应该是占用了大概45K的数组空间了吧.....省着点用.整个程序应该不会超过64K吧....实在不行就每次读入一张图片.虽然这样速度会慢很多...不过程序能正常运行不是......将就着用用吧


楼主的方法和我当年想的差不多..我是从2~10自己画...J.Q.K.A是用上面说的方法...
后来觉得还不如全用图片调用..整个程序就几行.看得也清爽.

我来回复

您尚未登录,请登录后再回复。点此登录或注册