首页作者勇芳
  • VisualFreeBasic游戏趣味编程_第4章_“旋转蛇”错觉

    在本章我们将讲解如何绘制非常神奇的错觉图片,如图4-1所示,静止的圆盘看起来却有在转动的错觉。本章首先介绍了扇形函数和RGB颜色模型,解析了一个基本单元的绘制方式;然后介绍了for循环语句和循环的嵌套,解析了多层圆盘的绘制方式;最后介绍了HSV颜色模型,并利用随机函数和按键切换,解析了丰富多变的“旋转蛇”错觉图案的绘制方式。
  • VisualFreeBasic游戏趣味编程_3.7_避免空中起跳

    在这一节,我们处理一个游戏中的小bug,避免小球在空中还能继续起跳。首先,定义变量isBallOnFloor记录小球是否在地面上,并初始化为1,表示开始小球在地面上:DimisBallOnFloorAsLong=1'小球是否在地面上,避免重复起跳当用户按下空格键时,必须同时满足isBallOnFloor为1,才让小球起跳。起跳后,设定isBallOnFloor=0,表示目前小球不在地面上了:IfI…
  • VisualFreeBasic游戏趣味编程_3.6_得分的计算与显示

    定义整型变量记录游戏的得分,并初始化为0:DimscoreAsLong=0'得分当方块跑到画面最左边时,得分增加1:If(rect_left_x
  • VisualFreeBasic游戏趣味编程_3.5_随机方块的速度和高度

    为了增加游戏的趣味性,可以添加一定的随机性。首先输入并运行代码Sub游戏执行过程(hWndFormAshWnd)PrintRndPrintRndPrintRndEndSubrnd()函数可以生成随机数,程序运行后输出一些随机数:为了得到设定范围内的随机数(比如:0~100),我们需要乘法。输入并运行代码Sub游戏执行过程(hWndFormAshWnd)PrintRnd*100PrintRnd*10…
  • VisualFreeBasic游戏趣味编程_3.4_小球和方块的碰撞判断

    图3-5列出了小球和方块发生碰撞的3种边界情况,由图分析可认为小球和方块发生碰撞需同时满足以下3个条件。(a)rect_left_x=ball_x-radius(方块最右边在小球最左边的右侧或二者x坐标相同)。(c)height-rect_height3Print53)Print2>3And53Or53输出0,print53)为假,则Not(2>3)为真,printNot(2>3)输出-1。逻辑与…
  • VisualFreeBasic游戏趣味编程_3.3_方块的绘制与移动

    函数gg.DrawFrame(x,y,w,h)可以绘制矩形,其中(x,y)为矩形左上角的(x,y)坐标,(w,h)为矩形的宽度和高度,单位全部是像素。在3-2的基础上添加以下代码:DimAsSinglerect_left_x,rect_top_y,rect_width,rect_height'方块障碍物的相关参数rect_height=100'方块高度rect_width=20'方块宽度rect_…
  • VisualFreeBasic游戏趣味编程_3.2_按空格键控制小球起跳

    结合2-9与3-1,以下代码让小球初始在地面上,按下空格键后起跳,落地后小球静止。在2-9的基础上,把窗口宽度、高度、小球半径等数值均用变量表示,这样代码更易阅读与调整,如3-2所示。Sub游戏执行过程(hWndFormAshWnd)DimggAsyGDI=hWndFormgg.Brush(&HFF0000)'球的颜色DimAsSingleww,hh,gravity'重力加速度DimAsSingl…
  • VisualFreeBasic游戏趣味编程_3.1_字符

    除了整型(Long)、浮点型(Single),C语言还提供了字符型(String)数据类型。输入并运行以下代码:Sub游戏执行过程(hWndFormAshWnd)Print"文字"DimcAsStringc="中文"PrintcEndSub程序运行后输出:提示当输出区内容很多,不利于我们查看打印输出内容,可以点清除按钮,清除内容。不清除,每次输出的内容都会被保留,最多保留最近1000个常见的字符包…
  • VisualFreeBasic游戏趣味编程_第3章_“别碰方块”游戏”

    在本章我们将探讨如何实现一个小球跳跃躲避方块的游戏,如图3-1所示。本章首先介绍了字符的知识,按空格键控制小球起跳;然后介绍了矩形的绘制,并利用逻辑运算符解析如何实现小球和方块的碰撞判断;接着介绍了整除、取余和类型转换,以及如何利用随机数增加游戏的趣味性;最后分析了得分的计算显示实现方式,解决了小球在空中起跳的问题。
  • VisualFreeBasic游戏趣味编程_2.9_小球加速下落

    在现实物理世界中,自由落体的物体会受重力影响加速下落。为了在FB语言中处理数值为小数的重力加速度,我们可以利用一种新的数据类型——Single(浮点型)。Sub游戏执行过程(hWndFormAshWnd)DimgAsSingleg=9.8PrintgEndSub浮点型的关键词为Single,DimgAsSingle定义了一个浮点型的变量g。FB语言中的小数被自动认为是浮点型常量,并可以赋值给浮点型…