HSP로 레이더 그리기
원자재
프로그램 드로잉
소스 코드
tyy씨 말로는별도로 필요하다.
다운로드rec.hsp 파일을 같은 디렉터리에 설정하십시오.
N의 값을 조절하여 적당한 시간 안에 완성할 수 있다.
sida.hsp
#include "hsp3dish.as"
#include "m_rec.hsp"
rec_init 100000
#module
#defcfunc W1x double px, double py
return 0.836 * px + 0.044 * py
#defcfunc W1y double px, double py
return -0.044 * px + 0.836 * py + 0.169
#defcfunc W2x double px, double py
return -0.141 * px + 0.302 * py
#defcfunc W2y double px, double py
return 0.302 * px + 0.141 * py + 0.127
#defcfunc W3x double px, double py
return 0.141 * px - 0.302 * py
#defcfunc W3y double px, double py
return 0.302 * px + 0.141 * py + 0.169
#defcfunc W4x double px, double py
return 0.0
#defcfunc W4y double px, double py
return 0.175337 * py
#global
#const N 20
screen 0, 640, 480
*main
// 画面の書き換えを止める
redraw 0
color 255, 255, 255
boxf
pos 10, 10
color 0, 0, 0
mes "Drawing..."
k = N
x = 0.0
y = 0.0
rec_begin k, x, y
if (0 < k) {
rec_call k-1, W1x(x, y), W1y(x, y)
if (rnd(3) == 0) :rec_call k-1, W2x(x, y), W2y(x, y)
if (rnd(3) == 0) :rec_call k-1, W3x(x, y), W3y(x, y)
if (rnd(3) == 0) :rec_call k-1, W4x(x, y), W4y(x, y)
} else {
color 0, 255, 0
dx = int(x*ginfo_winx) + ginfo_winx/2
dy = ginfo_winy - int(y*ginfo_winy)
boxf dx, dy, dx+1, dy+1
}
rec_end
color 255, 255, 255
boxf 0, 0, 100, 100
pos 10, 10
color 0, 0, 0: mes "Finished"
// 画面の書き換えを反映
redraw 1
Reference
이 문제에 관하여(HSP로 레이더 그리기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mjhd/items/c4d72eec03723a2fd47b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)