应该可以的。设计一个阵列,描述墙壁和空间,通过算法使阵列可以旋转。
小球从入口进入以后,在阵列里滚动,通过计算重力和在斜面上的分力,算出小球运动的方向和速度。
到达阵列墙壁时,根据速度和方向以及墙壁的角度,计算反弹的方向和速度。直到小球滚出阵列。
我有一个Python3写的匀速运动弹球的代码,可以参考下
import turtledef stop():
global running
running = False
def main():
global running
screenx, screeny = turtle.Screen().screensize()
x, y = turtle.pos()
stepx = 10
stepy = 10
print(x,y,screenx,screeny)
turtle.clear()
turtle.speed(0)
#turtle.Screen().bgcolor("gray10")
#turtle.Screen().tracer(False)
turtle.up()
turtle.shape("circle")
turtle.shapesize(5,5)
turtle.left(45)
while True:
if x+5>screenx:
stepx = -stepx
turtle.left(90)
if y+5>screeny:
stepy = -stepy
turtle.left(90)
if x+5<-screenx:
stepx = -stepx
turtle.left(90)
if y+5<-screeny:
stepy = -stepy
turtle.left(90)
turtle.fd(10)
x += stepx
y += stepy
if __name__=='__main__':
print(main())
turtle.done()
数组是可以整体初始化,比如下面的代码,利用 {} 即可整体初始化 #include using namespace stdint main(){int a[10] = {0}//整体初始化for(int i = 0i <10++i){cout!