编写一个程序，摇骰子并计算点数，直到点数总和为30为止。
以下是Python编程语言的代码示例：

```python
import random

sum = 0

while sum < 30:
    roll = random.randint(1, 6)
    sum += roll
    print("You rolled a", roll, "and your total is now", sum)

print("You reached 30, game over!")
```

这个程序使用了Python标准库中的`random`模块，不停地摇骰子并将每次点数加入到`sum`变量中，直到`sum`大于或等于30时游戏结束。在每次摇骰子时，程序会打印出掷出的点数和当前总和。