|
|
|
2011/1/1(Sat) 05:05:23|NO.36460
明けましておめでとう御座います。
今年も皆様とHSPにとって良い年でありますように。
という事でまずは小ネタから。
#include "obaq.as"
#define ctype rgb(%1, %2, %3) %1<<16|%2<<8|%3
randomize 4
qreset
qborder -80, -200, 80, 60
y_dat(0) = 215,224,226,234,241,242,243,244,247,247,249,254,258,259,263,265,266,270,275,283
y_dat(20) = 289,294,302,304,305,308,309,312,318,320,320,322,330,336,339,346,356
w_dat(0) = 008,015,018,021,022,026,031,032,039,042,044,045,054,062,063,064,068,070,072,074
w_dat(20) = 079,081,084,085,087,088,089,091,095,100,103,107,115,118,120,122,123,127,130,135
w_dat(40) = 139,141,142,153,154,155,156,158,159,161,169,170,171,172,173,174,178,182,188,192,206
*main
stick key
if key & 128 : end
redraw 0 : color 0 : boxf
switch maxflg
case 0
if objno < 380 {
qaddpoly obj, rnd(5) + 3, rnd(160), -100, 0.0, rnd(3) + 4, rnd(3) + 4
if obj > 0 : objno ++
qdamper obj, 0.1, 1.0
qmat obj, mat_wire, rgb(0, 0, 255)
} else : maxflg = 1
swbreak
case 1
if nextflg = 1 {
y_color = rgb(rnd(4)*50+55, rnd(5)*50, rnd(5)*50)
w_color = rgb(rnd(5)*50, rnd(4)*50+55, rnd(5)*50)
} else {
y_color = $ff7777
w_color = $00ff77
nextflg = 1
randomize
}
maxflg = 2
swbreak
case 2
if lcnt = 0 {
foreach y_dat
qmat y_dat(cnt), mat_wire2, y_color, $ffffff
loop
foreach w_dat
qmat w_dat(cnt), mat_wire2, w_color, $ffffff
loop
maxflg = 1
}
lcnt ++ : lcnt \ 30
swbreak
swend
qexec
qdraw 1 : redraw
await 30
goto *main
| |
|
2011/1/1(Sat) 05:06:31|NO.36461
小ネタ その2
うさぎ年という事でミニゲーム風なものを・・・
流れ星を踏み台にしてうさぎさん(みたいなモノ)を月に帰してあげて下さい。
操作方法はカーソルで左右移動
スペースorCTRLでジャンプです。
#include "obaq.as"
title "うさぎ↑ジャンプ"
#const JUMP_POW 0.7 ; ジャンプ力
#const JUMP_CNTMAX 3 ; ジャンプ入力受付時間
#const COL_BACK 1
#const COL_BASE 2
#const COL_RBODY 4
#const COL_RFOOT 8
#const COL_MOON 16
#const COL_STAR 32
randomize
qreset
buffer 1 : cls 4
gradf 120, 0, 240, 120, 1, $000000, $5555ff
color 255, 255, 200 : circle -1, 1, 120, 120
celdiv 1, 120, 120, 60, 60
; 背景
qborder -80, -800, 80, 200
qgroup 0, COL_BACK, 0, 0
qmat 0, mat_spr, 1, 1
; 床
qaddpoly base, 4, 80.0, 264.0, 0.0, 115.0, 5.0, 0, COL_BASE, COL_BACK
qtype base, type_bind
; うさぎ体
body_dat(0) = 0.0,-9.0,-3.0,-18.0,-6.0,-20.0,-7.0,-17.0,-2.0,-8.0,-4.0,-5.0,-3.0,-3.0,-7.0,7.0,-6.0,10.0
body_dat(18) = 6.0,10.0,7.0,7.0,3.0,-3.0,4.0,-5.0,2.0,-8.0,7.0,-17.0,6.0,-20.0,3.0,-18.0
qaddmodel rabi_body, body_dat, -1, 80.0, 250, 0.0, 1.0, 1.0, 0, COL_RBODY, COL_RFOOT, COL_BACK|COL_STAR
qtype rabi_body, type_bindR
qmat rabi_body, mat_wire2, $ffeeee, $ffffff
; うさぎ足
foot_dat(0) = 0.0,4.5,-5.0,6.0,-8.0,8.0,-3.0,8.0,0.0,5.0,3.0,8.0,8.0,8.0,5.0,6.0
qaddmodel rabi_foot, foot_dat, -1, 80.0, 255, 0.0, 1.0, 1.0, 0, COL_RFOOT, COL_BASE|COL_RBODY, COL_BASE|COL_STAR
qtype rabi_foot, type_bindR
qmat rabi_foot, mat_wire2, $ffeeee, $ffffff
; 月
qaddpoly moon, 20, 80.0, -650, 0.0, 80.0, 80.0, 0, COL_MOON, COL_RBODY|COL_RFOOT, COL_RBODY|COL_RFOOT
qtype moon, type_bind
qmat moon, mat_spr, 1, 0
; 星データ
star_dat(0) = 0.0,-10.0,-3.2,-4.4,-9.5,-3.0,-5.2,1.6,-5.8,8.0
star_dat(10) = -0.0,5.5,5.8,8.0,5.2,1.6,9.5,-3.0,3.2,-4.4
*main
gsel 0 : redraw 0 : color 0 : boxf
stick key, 5
if key & 128 : end
if jumpflg > 0 {
if (key & 16) or (key & 64) : qspeed rabi_body, 0.0, -JUMP_POW, 0.0, 1 : jump_cnt++
jumpflg = limit(jumpflg-1, 0, JUMP_CNTMAX)
}
if key & 1 : qspeed rabi_body, -0.05, 0.0, 0.0, 0
if key & 4 : qspeed rabi_body, 0.05, 0.0, 0.0, 0
qcollision rabi_foot, -1
qgetcol hit, hx, hy
if hit ! -1 : jumpflg = JUMP_CNTMAX
if hit = moon : dialog "ジャンプ " + jump_cnt + "回 でクリア!!", 0, "GOAL!!" : end
; 星発生
q_cnt ++ : q_cnt \ 25
if q_cnt = 0 {
qaddmodel star, star_dat, -1, rnd(150)+10, -470.0+rnd(100), rnd(628), 1.0, 1.0, 0, COL_STAR, COL_STAR, COL_BACK
qtype star, type_autowipe, 1
qinertia star, 0.98, 1.0
qmat star, mat_wire2, $ffff00, $ffffff
qstat star, stat_sleep, 20
}
qgetpos rabi_body, px, py, pz
qpos rabi_foot, px, py+5, pz
qexec
qview 4.0, 4.0, 320-px*4, 300-py*4 : qdraw 1
qview 0.5, 0.5, 10, 340 : qdraw 1
color 255, 255, 255 : pos 480, 450 : mes "ジャンプ回数 : " + jump_cnt
redraw 1
await 30
goto *main
| |
|
2011/1/1(Sat) 07:43:29|NO.36465
明けまして(以下略
うさぎ!月に還す事ができません!!(謎
|
|
2011/1/1(Sat) 11:26:44|NO.36473
明けましておめでとうございます。
月にたどり着けませんでした(泣
↑バグとかじゃなくて技術的に
すごいですね。こんなプログラムが簡単にかけるんですね。
|
|
2011/1/1(Sat) 11:41:02|NO.36475
あけましておめでとうございます。
>>Veさん
足場が無かったら飛べずに落ちるばかりなので、
とりあえずスペースを連打して最大ジャンプ高度ぎりぎりで星に確実に乗って飛ぶ必要があります。
後は両方の図を見ながら星から踏み外さないように確実にジャンプすることです。
|
|
2011/1/1(Sat) 20:39:33|NO.36490
ジャンプ 7回 でクリア!!
|
|
2011/1/1(Sat) 23:24:50|NO.36494
あけましておめでとうございます。
え、これクリアできるの?絶対無理だとばかり…。
|
|
2011/1/2(Sun) 02:11:13|NO.36497
遊んでくださってありがとうございます。
>うさぎ!月に還す事ができません!!(謎
>月にたどり着けませんでした(泣
>え、これクリアできるの?絶対無理だとばかり…。
すみません、大事な事を説明し忘れていました(汗)
ジャンプの判定は【足】の方にあるので【足】が星に重なっている時に
ジャンプキーを押すようにすればかなり簡単にクリアできると思います。
コツとしては足のみを星に重ねる感じです。
それでもどうしてもクリアできないという人はジャンプ力やジャンプ入力受付時間を
大きくしてみて下さい。
|
|
2011/1/2(Sun) 23:01:58|NO.36508
あけましておめでとうございます。
兎のゲームとても面白かったです。
プログラミングの方も目新しいものばかりで、大変勉強になりました。
|
|
2011/1/17(Mon) 02:28:14|NO.36653
むずかしぃー・・・orz 一回だけ月が見えた・・
|
|