問題2の解答例

	#include "hmm.as"

	randomize

	; 画面の初期化
	ddinit
	ddscreen 640,480,1,2
	await 16
	ddgsel 0
	gosub *Clear_Screen

	; 初期位置(ballx,bally)、初期方向balldx,balldyを決め、球を書く
	rnd ballx,608
	rnd bally,448
	rnd balldx,2
	balldx=(balldx*2-1)*4
	rnd balldy,2
	balldy=(balldy*2-1)*4
	gosub *Write_Tama
	ddredraw

	; メインループ
*Main_Loop
	await 16
	ballx=ballx+balldx
	bally=bally+balldy
	if ballx<=0 {
		ballx=0
		balldx=-balldx
	}
	if ballx>=608 {
		ballx=608
		balldx=-balldx
	}
	if bally<=0 {
		bally=0
		balldy=-balldy
	}
	if bally>=448 {
		bally=448
		balldy=-balldy
	}
	gosub *Clear_Screen
	gosub *Write_Tama
	ddredraw
	goto *Main_Loop

	; 画面をクリアする
*Clear_Screen
	ddcolor 0,0,0
	ddboxf 0,0,640,480
	return

	; 「球」と書く
*Write_Tama
	ddcolor 255,255,255
	ddpos ballx,bally
	font "MS 明朝",32
	ddprint "球"
	return

[戻る] inserted by FC2 system