<!DOCTYPE HTML>
<HTML LANG="ja">
<HEAD>
<META CHARSET="Shift_JIS">
<TITLE>スタイルシート インベーダーっぽいゲーム</TITLE>
<STYLE TYPE="text/css">
<!--
/* インベーダー 横位置 */
@keyframes inv-x-base {
from {
--inv-x-base:0;
}
to {
--inv-x-base:179;
}
}
/* インベーダー 縦位置オフセット */
@keyframes inv-off-y1 {
from {
--inv-off-y1:0;
}
to {
--inv-off-y1:240;
}
}
@keyframes inv-off-y2 {
from, 90% {
--inv-off-y2:0;
}
to {
--inv-off-y2:14;
}
}
/* インベーダーの弾 縦位置オフセット */
@keyframes inv-shot-off0 {
from {
--inv-shot-off0:0;
}
50%, to {
--inv-shot-off0:599;
}
}
@keyframes inv-shot-off1 {
from {
--inv-shot-off1:0;
}
50%, to {
--inv-shot-off1:599;
}
}
@keyframes inv-shot-off2 {
from {
--inv-shot-off2:0;
}
50%, to {
--inv-shot-off2:599;
}
}
@keyframes inv-shot-off3 {
from {
--inv-shot-off3:0;
}
50%, to {
--inv-shot-off3:599;
}
}
@keyframes inv-shot-off4 {
from {
--inv-shot-off4:0;
}
50%, to {
--inv-shot-off4:599;
}
}
@keyframes inv-shot-off5 {
from {
--inv-shot-off5:0;
}
50%, to {
--inv-shot-off5:599;
}
}
@keyframes inv-shot-off6 {
from {
--inv-shot-off6:0;
}
50%, to {
--inv-shot-off6:599;
}
}
@keyframes inv-shot-off7 {
from {
--inv-shot-off7:0;
}
50%, to {
--inv-shot-off7:599;
}
}
@keyframes inv-shot-off8 {
from {
--inv-shot-off8:0;
}
50%, to {
--inv-shot-off8:599;
}
}
@keyframes inv-shot-off9 {
from {
--inv-shot-off9:0;
}
50%, to {
--inv-shot-off9:599;
}
}
/* 弾 縦位置 */
@keyframes shot-y-m1 {
from {
--shot-y:340;
}
to {
--shot-y:61;
}
}
@keyframes shot-y-m2 {
from {
--shot-y:340;
}
to {
--shot-y:61;
}
}
@keyframes shot-y {
from {
--shot-y:340;
}
to {
--shot-y:-159;
}
}
@keyframes shot-y00 {
from {
--shot-y00:340;
}
to {
--shot-y00:-159;
}
}
@keyframes shot-y01 {
from {
--shot-y01:340;
}
to {
--shot-y01:-159;
}
}
@keyframes shot-y02 {
from {
--shot-y02:340;
}
to {
--shot-y02:-159;
}
}
@keyframes shot-y03 {
from {
--shot-y03:340;
}
to {
--shot-y03:-159;
}
}
@keyframes shot-y04 {
from {
--shot-y04:340;
}
to {
--shot-y04:-159;
}
}
@keyframes shot-y05 {
from {
--shot-y05:340;
}
to {
--shot-y05:-159;
}
}
@keyframes shot-y06 {
from {
--shot-y06:340;
}
to {
--shot-y06:-159;
}
}
@keyframes shot-y07 {
from {
--shot-y07:340;
}
to {
--shot-y07:-159;
}
}
@keyframes shot-y08 {
from {
--shot-y08:340;
}
to {
--shot-y08:-159;
}
}
@keyframes shot-y09 {
from {
--shot-y09:340;
}
to {
--shot-y09:-159;
}
}
@keyframes shot-y10 {
from {
--shot-y10:340;
}
to {
--shot-y10:-159;
}
}
@keyframes shot-y11 {
from {
--shot-y11:340;
}
to {
--shot-y11:-159;
}
}
@keyframes shot-y12 {
from {
--shot-y12:340;
}
to {
--shot-y12:-159;
}
}
@keyframes shot-y13 {
from {
--shot-y13:340;
}
to {
--shot-y13:-159;
}
}
@keyframes shot-y14 {
from {
--shot-y14:340;
}
to {
--shot-y14:-159;
}
}
@keyframes shot-y15 {
from {
--shot-y15:340;
}
to {
--shot-y15:-159;
}
}
@keyframes shot-y16 {
from {
--shot-y16:340;
}
to {
--shot-y16:-159;
}
}
@keyframes shot-y17 {
from {
--shot-y17:340;
}
to {
--shot-y17:-159;
}
}
@keyframes shot-y18 {
from {
--shot-y18:340;
}
to {
--shot-y18:-159;
}
}
@keyframes shot-y19 {
from {
--shot-y19:340;
}
to {
--shot-y19:-159;
}
}
@keyframes shot-y20 {
from {
--shot-y20:340;
}
to {
--shot-y20:-159;
}
}
@keyframes shot-y21 {
from {
--shot-y21:340;
}
to {
--shot-y21:-159;
}
}
@keyframes shot-y22 {
from {
--shot-y22:340;
}
to {
--shot-y22:-159;
}
}
@keyframes shot-y23 {
from {
--shot-y23:340;
}
to {
--shot-y23:-159;
}
}
@keyframes shot-y24 {
from {
--shot-y24:340;
}
to {
--shot-y24:-159;
}
}
@keyframes shot-y25 {
from {
--shot-y25:340;
}
to {
--shot-y25:-159;
}
}
@keyframes shot-y26 {
from {
--shot-y26:340;
}
to {
--shot-y26:-159;
}
}
@keyframes shot-y27 {
from {
--shot-y27:340;
}
to {
--shot-y27:-159;
}
}
@keyframes shot-y28 {
from {
--shot-y28:340;
}
to {
--shot-y28:-159;
}
}
@keyframes shot-y29 {
from {
--shot-y29:340;
}
to {
--shot-y29:-159;
}
}
@keyframes shot-y30 {
from {
--shot-y30:340;
}
to {
--shot-y30:-159;
}
}
@keyframes shot-y31 {
from {
--shot-y31:340;
}
to {
--shot-y31:-159;
}
}
@keyframes shot-y32 {
from {
--shot-y32:340;
}
to {
--shot-y32:-159;
}
}
@keyframes shot-y33 {
from {
--shot-y33:340;
}
to {
--shot-y33:-159;
}
}
@keyframes shot-y34 {
from {
--shot-y34:340;
}
to {
--shot-y34:-159;
}
}
@keyframes shot-y35 {
from {
--shot-y35:340;
}
to {
--shot-y35:-159;
}
}
@keyframes shot-y36 {
from {
--shot-y36:340;
}
to {
--shot-y36:-159;
}
}
@keyframes shot-y37 {
from {
--shot-y37:340;
}
to {
--shot-y37:-159;
}
}
@keyframes shot-y38 {
from {
--shot-y38:340;
}
to {
--shot-y38:-159;
}
}
@keyframes shot-y39 {
from {
--shot-y39:340;
}
to {
--shot-y39:-159;
}
}
/* 命中しない弾発射中 */
@keyframes firing-m1 {
from {
pointer-events:none;
}
}
@keyframes firing-m2 {
from {
pointer-events:none;
}
}
/* 命中しない弾の爆発 */
@keyframes explosion1 {
from {
visibility:visible;
}
}
@keyframes explosion2 {
from {
visibility:visible;
}
}
/* インベーダーの弾の縦方向の発射位置 保持中 */
@keyframes inv-sp-curr00 {
from {
--inv-sp-curr00:var(--inv-sp-hold00);
}
}
@keyframes inv-sp-curr01 {
from {
--inv-sp-curr01:var(--inv-sp-hold01);
}
}
@keyframes inv-sp-curr02 {
from {
--inv-sp-curr02:var(--inv-sp-hold02);
}
}
@keyframes inv-sp-curr03 {
from {
--inv-sp-curr03:var(--inv-sp-hold03);
}
}
@keyframes inv-sp-curr04 {
from {
--inv-sp-curr04:var(--inv-sp-hold04);
}
}
@keyframes inv-sp-curr05 {
from {
--inv-sp-curr05:var(--inv-sp-hold05);
}
}
@keyframes inv-sp-curr06 {
from {
--inv-sp-curr06:var(--inv-sp-hold06);
}
}
@keyframes inv-sp-curr07 {
from {
--inv-sp-curr07:var(--inv-sp-hold07);
}
}
@keyframes inv-sp-curr08 {
from {
--inv-sp-curr08:var(--inv-sp-hold08);
}
}
@keyframes inv-sp-curr09 {
from {
--inv-sp-curr09:var(--inv-sp-hold09);
}
}
@keyframes inv-sp-curr10 {
from {
--inv-sp-curr10:var(--inv-sp-hold10);
}
}
@keyframes inv-sp-curr11 {
from {
--inv-sp-curr11:var(--inv-sp-hold11);
}
}
@keyframes inv-sp-curr12 {
from {
--inv-sp-curr12:var(--inv-sp-hold12);
}
}
@keyframes inv-sp-curr13 {
from {
--inv-sp-curr13:var(--inv-sp-hold13);
}
}
@keyframes inv-sp-curr14 {
from {
--inv-sp-curr14:var(--inv-sp-hold14);
}
}
@keyframes inv-sp-curr15 {
from {
--inv-sp-curr15:var(--inv-sp-hold15);
}
}
@keyframes inv-sp-curr16 {
from {
--inv-sp-curr16:var(--inv-sp-hold16);
}
}
@keyframes inv-sp-curr17 {
from {
--inv-sp-curr17:var(--inv-sp-hold17);
}
}
@keyframes inv-sp-curr18 {
from {
--inv-sp-curr18:var(--inv-sp-hold18);
}
}
@keyframes inv-sp-curr19 {
from {
--inv-sp-curr19:var(--inv-sp-hold19);
}
}
@keyframes inv-sp-curr20 {
from {
--inv-sp-curr20:var(--inv-sp-hold20);
}
}
@keyframes inv-sp-curr21 {
from {
--inv-sp-curr21:var(--inv-sp-hold21);
}
}
@keyframes inv-sp-curr22 {
from {
--inv-sp-curr22:var(--inv-sp-hold22);
}
}
@keyframes inv-sp-curr23 {
from {
--inv-sp-curr23:var(--inv-sp-hold23);
}
}
@keyframes inv-sp-curr24 {
from {
--inv-sp-curr24:var(--inv-sp-hold24);
}
}
@keyframes inv-sp-curr25 {
from {
--inv-sp-curr25:var(--inv-sp-hold25);
}
}
@keyframes inv-sp-curr26 {
from {
--inv-sp-curr26:var(--inv-sp-hold26);
}
}
@keyframes inv-sp-curr27 {
from {
--inv-sp-curr27:var(--inv-sp-hold27);
}
}
@keyframes inv-sp-curr28 {
from {
--inv-sp-curr28:var(--inv-sp-hold28);
}
}
@keyframes inv-sp-curr29 {
from {
--inv-sp-curr29:var(--inv-sp-hold29);
}
}
@keyframes inv-sp-curr30 {
from {
--inv-sp-curr30:var(--inv-sp-hold30);
}
}
@keyframes inv-sp-curr31 {
from {
--inv-sp-curr31:var(--inv-sp-hold31);
}
}
@keyframes inv-sp-curr32 {
from {
--inv-sp-curr32:var(--inv-sp-hold32);
}
}
@keyframes inv-sp-curr33 {
from {
--inv-sp-curr33:var(--inv-sp-hold33);
}
}
@keyframes inv-sp-curr34 {
from {
--inv-sp-curr34:var(--inv-sp-hold34);
}
}
@keyframes inv-sp-curr35 {
from {
--inv-sp-curr35:var(--inv-sp-hold35);
}
}
@keyframes inv-sp-curr36 {
from {
--inv-sp-curr36:var(--inv-sp-hold36);
}
}
@keyframes inv-sp-curr37 {
from {
--inv-sp-curr37:var(--inv-sp-hold37);
}
}
@keyframes inv-sp-curr38 {
from {
--inv-sp-curr38:var(--inv-sp-hold38);
}
}
@keyframes inv-sp-curr39 {
from {
--inv-sp-curr39:var(--inv-sp-hold39);
}
}
/* インベーダー画像 */
@keyframes inv-img {
from {
--inv-img:var(--inv-img1);
}
to {
--inv-img:var(--inv-img2);
}
}
/* インベーダー 横位置 */
@property --inv-x-base {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
/* インベーダー 縦位置オフセット */
@property --inv-off-y1 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-off-y2 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
/* インベーダーの弾 縦位置オフセット */
@property --inv-shot-off0 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-shot-off1 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-shot-off2 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-shot-off3 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-shot-off4 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-shot-off5 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-shot-off6 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-shot-off7 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-shot-off8 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-shot-off9 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
/* 砲 位置 */
@property --cannon-x {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --pos-l {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --pos-r {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
/* 弾 横位置 */
@property --shot-x {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
/* 弾 縦位置 */
@property --shot-y {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y00 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y01 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y02 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y03 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y04 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y05 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y06 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y07 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y08 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y09 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y10 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y11 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y12 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y13 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y14 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y15 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y16 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y17 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y18 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y19 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y20 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y21 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y22 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y23 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y24 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y25 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y26 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y27 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y28 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y29 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y30 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y31 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y32 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y33 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y34 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y35 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y36 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y37 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y38 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --shot-y39 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
/* インベーダーの弾の縦方向の発射位置 保存 */
@property --inv-sp-hold00 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold10 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold20 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold30 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold01 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold11 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold21 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold31 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold02 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold12 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold22 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold32 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold03 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold13 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold23 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold33 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold04 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold14 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold24 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold34 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold05 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold15 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold25 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold35 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold06 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold16 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold26 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold36 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold07 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold17 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold27 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold37 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold08 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold18 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold28 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold38 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold09 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold19 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold29 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-hold39 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
/* インベーダーの弾の縦方向の発射位置 保持中 */
@property --inv-sp-curr00 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr01 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr02 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr03 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr04 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr05 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr06 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr07 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr08 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr09 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr10 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr11 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr12 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr13 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr14 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr15 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr16 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr17 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr18 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr19 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr20 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr21 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr22 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr23 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr24 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr25 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr26 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr27 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr28 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr29 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr30 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr31 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr32 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr33 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr34 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr35 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr36 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr37 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr38 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --inv-sp-curr39 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --over2 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --reset1 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --reset2 {
syntax:'<integer>';
inherits:true;
initial-value:0;
}
@property --int1 {
syntax:'<integer>';
inherits:false;
initial-value:0;
}
@property --int2 {
syntax:'<integer>';
inherits:false;
initial-value:0;
}
@counter-style score {
system:extends decimal;
pad:2 "0";
}
body {
background-color:#CCFFFF;
overflow:clip;
}
#title {
text-align:center;
color:#CC0000;
font-size:large;
font-weight:bold;
}
input {
display:none;
}
#base {
position:relative;
width:360px;
height:400px;
margin-left:auto;
margin-right:auto;
user-select:none;
}
/* カーソル位置取得用要素 */
.pos-x {
position:absolute;
top:-100vh;
width:2px;
height:200vh;
z-index:2;
}
.pos-x:hover ~ #logic1 {
transition:none;
}
.pos-x:hover ~ #logic1 :is(#logic2, .fire-h-l, #logic3, #logic4, .inv, #shot-m, #explosion) {
animation-play-state:running;
}
#pos-l {
position:absolute;
left:calc(-100vw + 12px);
top:-100vh;
width:100vw;
height:200vh;
z-index:2;
}
#pos-l:hover ~ #logic1 {
--cannon-x:10;
--pos-l:1;
transition:none;
}
#pos-l:hover ~ #logic1 :is(#logic2, .fire-h-l, #logic3, #logic4, .inv, #shot-m, #explosion) {
animation-play-state:running;
}
#pos-r {
position:absolute;
left:350px;
top:-100vh;
width:100vw;
height:200vh;
z-index:2;
}
#pos-r:hover ~ #logic1 {
--cannon-x:350;
--pos-r:1;
transition:none;
}
#pos-r:hover ~ #logic1 :is(#logic2, .fire-h-l, #logic3, #logic4, .inv, #shot-m, #explosion) {
animation-play-state:running;
}
#logic1 {
width:360px;
height:400px;
background-color:black;
--pos-l:0;
--pos-r:0;
transition:--cannon-x 0s 10000s,
--pos-l 0s 10000s,
--pos-r 0s 10000s;
}
#logic2 {
position:absolute;
left:0;
top:0;
width:360px;
height:400px;
--firing-m-name:none;
animation:inv-x-base 8s steps(180, jump-none) 8 forwards -1800ms paused,
inv-off-y1 64s steps(16, jump-end) forwards -1800ms paused,
inv-off-y2 4s steps(150, jump-none) 16 -1800ms paused,
var(--firing-m-name) 648ms step-end paused;
}
#logic2:hover {
animation-play-state:running;
}
#logic2:hover .fire-h-l {
animation-play-state:running;
}
#logic2:hover ~ #logic3 {
animation-play-state:running;
}
#logic2:hover ~ #logic3 :is(#logic4, .inv, #shot-m, #explosion) {
animation-play-state:running;
}
/* 発射ラジオ ボタンのラベルを砲の位置に合わせる */
.fire-l {
position:absolute;
left:calc(var(--pos-l) * (-100vw + 12px) + (1 - var(--pos-l)) * var(--cannon-x) * 1px);
top:-100vh;
width:calc((var(--pos-l) + var(--pos-r)) * 100vw + (1 - var(--pos-l) - var(--pos-r)) * 2px);
height:200vh;
}
/* クリック時にマウスの位置が少しずれてもいいように,マウス ボタン押下中は幅を少し広げる */
.fire:active ~ #base .fire-l {
left:calc(var(--pos-l) * (-100vw + 14px) + (1 - var(--pos-l)) * (var(--cannon-x) - 2) * 1px);
width:calc((var(--pos-l) + var(--pos-r)) * 100vw + (1 - var(--pos-l) - var(--pos-r)) * 6px);
}
#fire-m1-l, #fire-m2-l {
z-index:3;
}
#fire-m1:checked ~ #base #fire-m1-l {
visibility:hidden;
}
#fire-m2:checked ~ #base #fire-m2-l {
visibility:hidden;
}
#fire-m1:checked ~ #base #shot-m {
animation-name:shot-y-m1;
}
#fire-m2:checked ~ #base #shot-m {
animation-name:shot-y-m2;
}
#fire-m1:checked ~ #base #explosion {
animation-name:explosion1;
}
#fire-m2:checked ~ #base #explosion {
animation-name:explosion2;
}
#fire-m1:checked ~ #base #logic2 {
--firing-m-name:firing-m1;
}
#fire-m2:checked ~ #base #logic2 {
--firing-m-name:firing-m2;
}
.fire-h-l {
/* 命中するインベーダーに対応するラベルを前面にする */
/* 弾の発射後はインベーダーに当たるまで前面を維持し,他のラベルをマスクする */
--shot:clamp(0, 341 - var(--shot-y), 1);
--int1:calc((235/*340-(90+15)*/ - (var(--iy) * 30 + var(--inv-off-y1) + min(var(--inv-off-y2), 1) * 15))
* 0.036/*(800/500)/(8000/180)*/); /* 縦方向に移動中なら次の段 */
--x1:calc(var(--inv-x-base) + var(--int1));
--x2:calc(var(--x1) - clamp(0, var(--x1) - 179, 1) * 180);
--left:clamp(0, var(--x2) - 89, 1);
--dx:calc(18 + (1 - var(--left)) * min(var(--x2), 80) + var(--left) * max(170 - var(--x2), 0)
+ var(--ix) * 27 - var(--cannon-x));
z-index:calc(((1 - var(--shot)) * clamp(0, 81 - var(--dx) * var(--dx), 1) /* 命中する */
/* 弾発射中 */
+ var(--shot) * clamp(0, var(--shot-y) - (var(--iy) * 30 + var(--inv-off-y1) + var(--inv-off-y2) + 5/*90+15-100*/), 1)
) * 4 - 1);
--shot-y:10000;
animation:800ms steps(500, jump-none) forwards paused;
}
#logic3 {
/* インベーダーの弾の発射位置 */
/* 右に移動時 53, 204, 112, 290, 333 */
/* 左に移動時 279, 182, 193, 123, 26 */
--inv-shot-off0:10000;
--inv-shot-off1:10000;
--inv-shot-off2:10000;
--inv-shot-off3:10000;
--inv-shot-off4:10000;
--inv-shot-off5:10000;
--inv-shot-off6:10000;
--inv-shot-off7:10000;
--inv-shot-off8:10000;
--inv-shot-off9:10000;
--shot-y-n00:none;
--shot-y-n01:none;
--shot-y-n02:none;
--shot-y-n03:none;
--shot-y-n04:none;
--shot-y-n05:none;
--shot-y-n06:none;
--shot-y-n07:none;
--shot-y-n08:none;
--shot-y-n09:none;
--shot-y-n10:none;
--shot-y-n11:none;
--shot-y-n12:none;
--shot-y-n13:none;
--shot-y-n14:none;
--shot-y-n15:none;
--shot-y-n16:none;
--shot-y-n17:none;
--shot-y-n18:none;
--shot-y-n19:none;
--shot-y-n20:none;
--shot-y-n21:none;
--shot-y-n22:none;
--shot-y-n23:none;
--shot-y-n24:none;
--shot-y-n25:none;
--shot-y-n26:none;
--shot-y-n27:none;
--shot-y-n28:none;
--shot-y-n29:none;
--shot-y-n30:none;
--shot-y-n31:none;
--shot-y-n32:none;
--shot-y-n33:none;
--shot-y-n34:none;
--shot-y-n35:none;
--shot-y-n36:none;
--shot-y-n37:none;
--shot-y-n38:none;
--shot-y-n39:none;
--shot-y00:10000;
--shot-y01:10000;
--shot-y02:10000;
--shot-y03:10000;
--shot-y04:10000;
--shot-y05:10000;
--shot-y06:10000;
--shot-y07:10000;
--shot-y08:10000;
--shot-y09:10000;
--shot-y10:10000;
--shot-y11:10000;
--shot-y12:10000;
--shot-y13:10000;
--shot-y14:10000;
--shot-y15:10000;
--shot-y16:10000;
--shot-y17:10000;
--shot-y18:10000;
--shot-y19:10000;
--shot-y20:10000;
--shot-y21:10000;
--shot-y22:10000;
--shot-y23:10000;
--shot-y24:10000;
--shot-y25:10000;
--shot-y26:10000;
--shot-y27:10000;
--shot-y28:10000;
--shot-y29:10000;
--shot-y30:10000;
--shot-y31:10000;
--shot-y32:10000;
--shot-y33:10000;
--shot-y34:10000;
--shot-y35:10000;
--shot-y36:10000;
--shot-y37:10000;
--shot-y38:10000;
--shot-y39:10000;
animation:inv-x-base 8s steps(180, jump-none) 8 forwards -1800ms paused,
inv-off-y1 64s steps(16, jump-end) forwards -1800ms paused,
inv-off-y2 4s steps(150, jump-none) 16 -1800ms paused,
inv-shot-off1 8s steps(600, jump-none) 7 6556ms/*3600ms*( 8/81)+8s-1800ms*/ paused,
inv-shot-off6 8s steps(600, jump-none) 7 7267ms/*3600ms*(24/81)+8s-1800ms*/ paused,
inv-shot-off2 8s steps(600, jump-none) 7 7978ms/*3600ms*(40/81)+8s-1800ms*/ paused,
inv-shot-off8 8s steps(600, jump-none) 8 689ms/*3600ms*(56/81) -1800ms*/ paused,
inv-shot-off9 8s steps(600, jump-none) 8 1400ms/*3600ms*(72/81) -1800ms*/ paused,
inv-shot-off7 8s steps(600, jump-none) 8 2556ms/*3600ms*( 8/81)+4s-1800ms*/ paused,
inv-shot-off4 8s steps(600, jump-none) 8 3267ms/*3600ms*(24/81)+4s-1800ms*/ paused,
inv-shot-off5 8s steps(600, jump-none) 8 3978ms/*3600ms*(40/81)+4s-1800ms*/ paused,
inv-shot-off3 8s steps(600, jump-none) 8 4689ms/*3600ms*(56/81)+4s-1800ms*/ paused,
inv-shot-off0 8s steps(600, jump-none) 8 5400ms/*3600ms*(72/81)+4s-1800ms*/ paused,
var(--shot-y-n00) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n01) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n02) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n03) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n04) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n05) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n06) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n07) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n08) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n09) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n10) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n11) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n12) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n13) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n14) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n15) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n16) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n17) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n18) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n19) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n20) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n21) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n22) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n23) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n24) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n25) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n26) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n27) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n28) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n29) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n30) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n31) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n32) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n33) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n34) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n35) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n36) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n37) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n38) 800ms steps(500, jump-none) forwards paused,
var(--shot-y-n39) 800ms steps(500, jump-none) forwards paused;
/* インベーダーの縦方向の位置(下端) */
--y0:calc(var(--inv-off-y1) + var(--inv-off-y2) + 105/*90+15*/);
--y1:calc(var(--y0) + 30);
--y2:calc(var(--y0) + 60);
--y3:calc(var(--y0) + 90);
/* 当たり判定 */
--hit00:clamp(0, var(--y0) - var(--shot-y00), 1);
--hit01:clamp(0, var(--y0) - var(--shot-y01), 1);
--hit02:clamp(0, var(--y0) - var(--shot-y02), 1);
--hit03:clamp(0, var(--y0) - var(--shot-y03), 1);
--hit04:clamp(0, var(--y0) - var(--shot-y04), 1);
--hit05:clamp(0, var(--y0) - var(--shot-y05), 1);
--hit06:clamp(0, var(--y0) - var(--shot-y06), 1);
--hit07:clamp(0, var(--y0) - var(--shot-y07), 1);
--hit08:clamp(0, var(--y0) - var(--shot-y08), 1);
--hit09:clamp(0, var(--y0) - var(--shot-y09), 1);
--hit10:clamp(0, var(--y1) - var(--shot-y10), 1);
--hit11:clamp(0, var(--y1) - var(--shot-y11), 1);
--hit12:clamp(0, var(--y1) - var(--shot-y12), 1);
--hit13:clamp(0, var(--y1) - var(--shot-y13), 1);
--hit14:clamp(0, var(--y1) - var(--shot-y14), 1);
--hit15:clamp(0, var(--y1) - var(--shot-y15), 1);
--hit16:clamp(0, var(--y1) - var(--shot-y16), 1);
--hit17:clamp(0, var(--y1) - var(--shot-y17), 1);
--hit18:clamp(0, var(--y1) - var(--shot-y18), 1);
--hit19:clamp(0, var(--y1) - var(--shot-y19), 1);
--hit20:clamp(0, var(--y2) - var(--shot-y20), 1);
--hit21:clamp(0, var(--y2) - var(--shot-y21), 1);
--hit22:clamp(0, var(--y2) - var(--shot-y22), 1);
--hit23:clamp(0, var(--y2) - var(--shot-y23), 1);
--hit24:clamp(0, var(--y2) - var(--shot-y24), 1);
--hit25:clamp(0, var(--y2) - var(--shot-y25), 1);
--hit26:clamp(0, var(--y2) - var(--shot-y26), 1);
--hit27:clamp(0, var(--y2) - var(--shot-y27), 1);
--hit28:clamp(0, var(--y2) - var(--shot-y28), 1);
--hit29:clamp(0, var(--y2) - var(--shot-y29), 1);
--hit30:clamp(0, var(--y3) - var(--shot-y30), 1);
--hit31:clamp(0, var(--y3) - var(--shot-y31), 1);
--hit32:clamp(0, var(--y3) - var(--shot-y32), 1);
--hit33:clamp(0, var(--y3) - var(--shot-y33), 1);
--hit34:clamp(0, var(--y3) - var(--shot-y34), 1);
--hit35:clamp(0, var(--y3) - var(--shot-y35), 1);
--hit36:clamp(0, var(--y3) - var(--shot-y36), 1);
--hit37:clamp(0, var(--y3) - var(--shot-y37), 1);
--hit38:clamp(0, var(--y3) - var(--shot-y38), 1);
--hit39:clamp(0, var(--y3) - var(--shot-y39), 1);
/* インベーダーの弾の縦方向の発射位置 */
--sp0:max(107 - var(--hit00) * 10000, 137 - var(--hit10) * 10000,
167 - var(--hit20) * 10000, 197 - var(--hit30) * 10000);
--sp1:max(107 - var(--hit01) * 10000, 137 - var(--hit11) * 10000,
167 - var(--hit21) * 10000, 197 - var(--hit31) * 10000);
--sp2:max(107 - var(--hit02) * 10000, 137 - var(--hit12) * 10000,
167 - var(--hit22) * 10000, 197 - var(--hit32) * 10000);
--sp3:max(107 - var(--hit03) * 10000, 137 - var(--hit13) * 10000,
167 - var(--hit23) * 10000, 197 - var(--hit33) * 10000);
--sp4:max(107 - var(--hit04) * 10000, 137 - var(--hit14) * 10000,
167 - var(--hit24) * 10000, 197 - var(--hit34) * 10000);
--sp5:max(107 - var(--hit05) * 10000, 137 - var(--hit15) * 10000,
167 - var(--hit25) * 10000, 197 - var(--hit35) * 10000);
--sp6:max(107 - var(--hit06) * 10000, 137 - var(--hit16) * 10000,
167 - var(--hit26) * 10000, 197 - var(--hit36) * 10000);
--sp7:max(107 - var(--hit07) * 10000, 137 - var(--hit17) * 10000,
167 - var(--hit27) * 10000, 197 - var(--hit37) * 10000);
--sp8:max(107 - var(--hit08) * 10000, 137 - var(--hit18) * 10000,
167 - var(--hit28) * 10000, 197 - var(--hit38) * 10000);
--sp9:max(107 - var(--hit09) * 10000, 137 - var(--hit19) * 10000,
167 - var(--hit29) * 10000, 197 - var(--hit39) * 10000);
/* 命中する前のインベーダーの弾の発射位置 */
/* 命中前に発射された弾は発射位置を維持する */
/* 弾がインベーダーに命中するまでの時間とインベーダーが弾を発射するまでの時間を比較する */
--off:calc(var(--inv-off-y1) + min(var(--inv-off-y2), 1) * 15); /* 縦方向に移動中なら次の段 */
--int1:calc(var(--off) / 30 - 0.1); /* 切り捨て */
--adj1:calc(var(--int1) * 30 + 15);
--int2:calc(var(--off) / 30); /* 切り上げ */
--adj2:calc(var(--int2) * 30);
--x1:calc(var(--inv-x-base) - clamp(0, var(--inv-x-base) - 8, 1) * 180);
--x6:calc(var(--inv-x-base) - clamp(0, var(--inv-x-base) - 24, 1) * 180);
--x2:calc(var(--inv-x-base) - clamp(0, var(--inv-x-base) - 40, 1) * 180);
--x8:calc(var(--inv-x-base) - clamp(0, var(--inv-x-base) - 56, 1) * 180);
--x9:calc(var(--inv-x-base) - clamp(0, var(--inv-x-base) - 72, 1) * 180);
--x7:calc(var(--inv-x-base) - clamp(0, var(--inv-x-base) - 98, 1) * 180);
--x4:calc(var(--inv-x-base) - clamp(0, var(--inv-x-base) - 114, 1) * 180);
--x5:calc(var(--inv-x-base) - clamp(0, var(--inv-x-base) - 130, 1) * 180);
--x3:calc(var(--inv-x-base) - clamp(0, var(--inv-x-base) - 146, 1) * 180);
--x0:calc(var(--inv-x-base) - clamp(0, var(--inv-x-base) - 162, 1) * 180);
/* 8000/180 : 800/500 = 250 : 9 */
--sp-hold0:calc(var(--sp0) - (1 - clamp(0,
(340 - var(--sp0) - var(--off)) * 9 - (162 - var(--x0)) * clamp(0, var(--x0) - 50, 1) * 250
, 1)) * 10000);
--sp-hold1:calc(var(--sp1) - (1 - clamp(0,
(340 - var(--sp1) - var(--adj2)) * 9 - ( 8 - var(--x1)) * clamp(0, var(--x1) - -104, 1) * 250
, 1)) * 10000);
--sp-hold2:calc(var(--sp2) - (1 - clamp(0,
(340 - var(--sp2) - var(--adj2)) * 9 - ( 40 - var(--x2)) * clamp(0, var(--x2) - -72, 1) * 250
, 1)) * 10000);
--sp-hold3:calc(var(--sp3) - (1 - clamp(0,
(340 - var(--sp3) - var(--adj1)) * 9 - (146 - var(--x3)) * clamp(0, var(--x3) - 34, 1) * 250
, 1)) * 10000);
--sp-hold4:calc(var(--sp4) - (1 - clamp(0,
(340 - var(--sp4) - var(--adj1)) * 9 - (114 - var(--x4)) * clamp(0, var(--x4) - 2, 1) * 250
, 1)) * 10000);
--sp-hold5:calc(var(--sp5) - (1 - clamp(0,
(340 - var(--sp5) - var(--adj1)) * 9 - (130 - var(--x5)) * clamp(0, var(--x5) - 18, 1) * 250
, 1)) * 10000);
--sp-hold6:calc(var(--sp6) - (1 - clamp(0,
(340 - var(--sp6) - var(--adj2)) * 9 - ( 24 - var(--x6)) * clamp(0, var(--x6) - -88, 1) * 250
, 1)) * 10000);
--sp-hold7:calc(var(--sp7) - (1 - clamp(0,
(340 - var(--sp7) - var(--adj1)) * 9 - ( 98 - var(--x7)) * clamp(0, var(--x7) - -14, 1) * 250
, 1)) * 10000);
--sp-hold8:calc(var(--sp8) - (1 - clamp(0,
(340 - var(--sp8) - var(--adj2)) * 9 - ( 56 - var(--x8)) * clamp(0, var(--x8) - -56, 1) * 250
, 1)) * 10000);
--sp-hold9:calc(var(--sp9) - (1 - clamp(0,
(340 - var(--sp9) - var(--off)) * 9 - ( 72 - var(--x9)) * clamp(0, var(--x9) - -40, 1) * 250
, 1)) * 10000);
--inv-sp-hold00:var(--sp-hold0);
--inv-sp-hold10:var(--sp-hold0);
--inv-sp-hold20:var(--sp-hold0);
--inv-sp-hold30:var(--sp-hold0);
--inv-sp-hold01:var(--sp-hold1);
--inv-sp-hold11:var(--sp-hold1);
--inv-sp-hold21:var(--sp-hold1);
--inv-sp-hold31:var(--sp-hold1);
--inv-sp-hold02:var(--sp-hold2);
--inv-sp-hold12:var(--sp-hold2);
--inv-sp-hold22:var(--sp-hold2);
--inv-sp-hold32:var(--sp-hold2);
--inv-sp-hold03:var(--sp-hold3);
--inv-sp-hold13:var(--sp-hold3);
--inv-sp-hold23:var(--sp-hold3);
--inv-sp-hold33:var(--sp-hold3);
--inv-sp-hold04:var(--sp-hold4);
--inv-sp-hold14:var(--sp-hold4);
--inv-sp-hold24:var(--sp-hold4);
--inv-sp-hold34:var(--sp-hold4);
--inv-sp-hold05:var(--sp-hold5);
--inv-sp-hold15:var(--sp-hold5);
--inv-sp-hold25:var(--sp-hold5);
--inv-sp-hold35:var(--sp-hold5);
--inv-sp-hold06:var(--sp-hold6);
--inv-sp-hold16:var(--sp-hold6);
--inv-sp-hold26:var(--sp-hold6);
--inv-sp-hold36:var(--sp-hold6);
--inv-sp-hold07:var(--sp-hold7);
--inv-sp-hold17:var(--sp-hold7);
--inv-sp-hold27:var(--sp-hold7);
--inv-sp-hold37:var(--sp-hold7);
--inv-sp-hold08:var(--sp-hold8);
--inv-sp-hold18:var(--sp-hold8);
--inv-sp-hold28:var(--sp-hold8);
--inv-sp-hold38:var(--sp-hold8);
--inv-sp-hold09:var(--sp-hold9);
--inv-sp-hold19:var(--sp-hold9);
--inv-sp-hold29:var(--sp-hold9);
--inv-sp-hold39:var(--sp-hold9);
/* クリア判定 */
--clear:calc(var(--hit00) * var(--hit01) * var(--hit02) * var(--hit03) * var(--hit04)
* var(--hit05) * var(--hit06) * var(--hit07) * var(--hit08) * var(--hit09)
* var(--hit10) * var(--hit11) * var(--hit12) * var(--hit13) * var(--hit14)
* var(--hit15) * var(--hit16) * var(--hit17) * var(--hit18) * var(--hit19)
* var(--hit20) * var(--hit21) * var(--hit22) * var(--hit23) * var(--hit24)
* var(--hit25) * var(--hit26) * var(--hit27) * var(--hit28) * var(--hit29)
* var(--hit30) * var(--hit31) * var(--hit32) * var(--hit33) * var(--hit34)
* var(--hit35) * var(--hit36) * var(--hit37) * var(--hit38) * var(--hit39));
}
#logic4 {
--inv-sp-curr-n00:none;
--inv-sp-curr-n01:none;
--inv-sp-curr-n02:none;
--inv-sp-curr-n03:none;
--inv-sp-curr-n04:none;
--inv-sp-curr-n05:none;
--inv-sp-curr-n06:none;
--inv-sp-curr-n07:none;
--inv-sp-curr-n08:none;
--inv-sp-curr-n09:none;
--inv-sp-curr-n10:none;
--inv-sp-curr-n11:none;
--inv-sp-curr-n12:none;
--inv-sp-curr-n13:none;
--inv-sp-curr-n14:none;
--inv-sp-curr-n15:none;
--inv-sp-curr-n16:none;
--inv-sp-curr-n17:none;
--inv-sp-curr-n18:none;
--inv-sp-curr-n19:none;
--inv-sp-curr-n20:none;
--inv-sp-curr-n21:none;
--inv-sp-curr-n22:none;
--inv-sp-curr-n23:none;
--inv-sp-curr-n24:none;
--inv-sp-curr-n25:none;
--inv-sp-curr-n26:none;
--inv-sp-curr-n27:none;
--inv-sp-curr-n28:none;
--inv-sp-curr-n29:none;
--inv-sp-curr-n30:none;
--inv-sp-curr-n31:none;
--inv-sp-curr-n32:none;
--inv-sp-curr-n33:none;
--inv-sp-curr-n34:none;
--inv-sp-curr-n35:none;
--inv-sp-curr-n36:none;
--inv-sp-curr-n37:none;
--inv-sp-curr-n38:none;
--inv-sp-curr-n39:none;
--inv-sp-curr00:-10000;
--inv-sp-curr01:-10000;
--inv-sp-curr02:-10000;
--inv-sp-curr03:-10000;
--inv-sp-curr04:-10000;
--inv-sp-curr05:-10000;
--inv-sp-curr06:-10000;
--inv-sp-curr07:-10000;
--inv-sp-curr08:-10000;
--inv-sp-curr09:-10000;
--inv-sp-curr10:-10000;
--inv-sp-curr11:-10000;
--inv-sp-curr12:-10000;
--inv-sp-curr13:-10000;
--inv-sp-curr14:-10000;
--inv-sp-curr15:-10000;
--inv-sp-curr16:-10000;
--inv-sp-curr17:-10000;
--inv-sp-curr18:-10000;
--inv-sp-curr19:-10000;
--inv-sp-curr20:-10000;
--inv-sp-curr21:-10000;
--inv-sp-curr22:-10000;
--inv-sp-curr23:-10000;
--inv-sp-curr24:-10000;
--inv-sp-curr25:-10000;
--inv-sp-curr26:-10000;
--inv-sp-curr27:-10000;
--inv-sp-curr28:-10000;
--inv-sp-curr29:-10000;
--inv-sp-curr30:-10000;
--inv-sp-curr31:-10000;
--inv-sp-curr32:-10000;
--inv-sp-curr33:-10000;
--inv-sp-curr34:-10000;
--inv-sp-curr35:-10000;
--inv-sp-curr36:-10000;
--inv-sp-curr37:-10000;
--inv-sp-curr38:-10000;
--inv-sp-curr39:-10000;
animation:var(--inv-sp-curr-n00) 3s step-end paused,
var(--inv-sp-curr-n01) 3s step-end paused,
var(--inv-sp-curr-n02) 3s step-end paused,
var(--inv-sp-curr-n03) 3s step-end paused,
var(--inv-sp-curr-n04) 3s step-end paused,
var(--inv-sp-curr-n05) 3s step-end paused,
var(--inv-sp-curr-n06) 3s step-end paused,
var(--inv-sp-curr-n07) 3s step-end paused,
var(--inv-sp-curr-n08) 3s step-end paused,
var(--inv-sp-curr-n09) 3s step-end paused,
var(--inv-sp-curr-n10) 3s step-end paused,
var(--inv-sp-curr-n11) 3s step-end paused,
var(--inv-sp-curr-n12) 3s step-end paused,
var(--inv-sp-curr-n13) 3s step-end paused,
var(--inv-sp-curr-n14) 3s step-end paused,
var(--inv-sp-curr-n15) 3s step-end paused,
var(--inv-sp-curr-n16) 3s step-end paused,
var(--inv-sp-curr-n17) 3s step-end paused,
var(--inv-sp-curr-n18) 3s step-end paused,
var(--inv-sp-curr-n19) 3s step-end paused,
var(--inv-sp-curr-n20) 3s step-end paused,
var(--inv-sp-curr-n21) 3s step-end paused,
var(--inv-sp-curr-n22) 3s step-end paused,
var(--inv-sp-curr-n23) 3s step-end paused,
var(--inv-sp-curr-n24) 3s step-end paused,
var(--inv-sp-curr-n25) 3s step-end paused,
var(--inv-sp-curr-n26) 3s step-end paused,
var(--inv-sp-curr-n27) 3s step-end paused,
var(--inv-sp-curr-n28) 3s step-end paused,
var(--inv-sp-curr-n29) 3s step-end paused,
var(--inv-sp-curr-n30) 3s step-end paused,
var(--inv-sp-curr-n31) 3s step-end paused,
var(--inv-sp-curr-n32) 3s step-end paused,
var(--inv-sp-curr-n33) 3s step-end paused,
var(--inv-sp-curr-n34) 3s step-end paused,
var(--inv-sp-curr-n35) 3s step-end paused,
var(--inv-sp-curr-n36) 3s step-end paused,
var(--inv-sp-curr-n37) 3s step-end paused,
var(--inv-sp-curr-n38) 3s step-end paused,
var(--inv-sp-curr-n39) 3s step-end paused,
inv-img 1600ms steps(2, jump-none) infinite paused;
--inv-sp-hold00:var(--sp-hold0);
--inv-sp-hold10:var(--sp-hold0);
--inv-sp-hold20:var(--sp-hold0);
--inv-sp-hold30:var(--sp-hold0);
--inv-sp-hold01:var(--sp-hold1);
--inv-sp-hold11:var(--sp-hold1);
--inv-sp-hold21:var(--sp-hold1);
--inv-sp-hold31:var(--sp-hold1);
--inv-sp-hold02:var(--sp-hold2);
--inv-sp-hold12:var(--sp-hold2);
--inv-sp-hold22:var(--sp-hold2);
--inv-sp-hold32:var(--sp-hold2);
--inv-sp-hold03:var(--sp-hold3);
--inv-sp-hold13:var(--sp-hold3);
--inv-sp-hold23:var(--sp-hold3);
--inv-sp-hold33:var(--sp-hold3);
--inv-sp-hold04:var(--sp-hold4);
--inv-sp-hold14:var(--sp-hold4);
--inv-sp-hold24:var(--sp-hold4);
--inv-sp-hold34:var(--sp-hold4);
--inv-sp-hold05:var(--sp-hold5);
--inv-sp-hold15:var(--sp-hold5);
--inv-sp-hold25:var(--sp-hold5);
--inv-sp-hold35:var(--sp-hold5);
--inv-sp-hold06:var(--sp-hold6);
--inv-sp-hold16:var(--sp-hold6);
--inv-sp-hold26:var(--sp-hold6);
--inv-sp-hold36:var(--sp-hold6);
--inv-sp-hold07:var(--sp-hold7);
--inv-sp-hold17:var(--sp-hold7);
--inv-sp-hold27:var(--sp-hold7);
--inv-sp-hold37:var(--sp-hold7);
--inv-sp-hold08:var(--sp-hold8);
--inv-sp-hold18:var(--sp-hold8);
--inv-sp-hold28:var(--sp-hold8);
--inv-sp-hold38:var(--sp-hold8);
--inv-sp-hold09:var(--sp-hold9);
--inv-sp-hold19:var(--sp-hold9);
--inv-sp-hold29:var(--sp-hold9);
--inv-sp-hold39:var(--sp-hold9);
--shot-x-hold:10000s;
--hold00:0s;
--hold10:0s;
--hold20:0s;
--hold30:0s;
--hold01:0s;
--hold11:0s;
--hold21:0s;
--hold31:0s;
--hold02:0s;
--hold12:0s;
--hold22:0s;
--hold32:0s;
--hold03:0s;
--hold13:0s;
--hold23:0s;
--hold33:0s;
--hold04:0s;
--hold14:0s;
--hold24:0s;
--hold34:0s;
--hold05:0s;
--hold15:0s;
--hold25:0s;
--hold35:0s;
--hold06:0s;
--hold16:0s;
--hold26:0s;
--hold36:0s;
--hold07:0s;
--hold17:0s;
--hold27:0s;
--hold37:0s;
--hold08:0s;
--hold18:0s;
--hold28:0s;
--hold38:0s;
--hold09:0s;
--hold19:0s;
--hold29:0s;
--hold39:0s;
--over2:var(--over);
transition:--shot-x 0s var(--shot-x-hold),
--over2 0s 160ms,
--inv-sp-hold00 0s var(--hold00),
--inv-sp-hold10 0s var(--hold10),
--inv-sp-hold20 0s var(--hold20),
--inv-sp-hold30 0s var(--hold30),
--inv-sp-hold01 0s var(--hold01),
--inv-sp-hold11 0s var(--hold11),
--inv-sp-hold21 0s var(--hold21),
--inv-sp-hold31 0s var(--hold31),
--inv-sp-hold02 0s var(--hold02),
--inv-sp-hold12 0s var(--hold12),
--inv-sp-hold22 0s var(--hold22),
--inv-sp-hold32 0s var(--hold32),
--inv-sp-hold03 0s var(--hold03),
--inv-sp-hold13 0s var(--hold13),
--inv-sp-hold23 0s var(--hold23),
--inv-sp-hold33 0s var(--hold33),
--inv-sp-hold04 0s var(--hold04),
--inv-sp-hold14 0s var(--hold14),
--inv-sp-hold24 0s var(--hold24),
--inv-sp-hold34 0s var(--hold34),
--inv-sp-hold05 0s var(--hold05),
--inv-sp-hold15 0s var(--hold15),
--inv-sp-hold25 0s var(--hold25),
--inv-sp-hold35 0s var(--hold35),
--inv-sp-hold06 0s var(--hold06),
--inv-sp-hold16 0s var(--hold16),
--inv-sp-hold26 0s var(--hold26),
--inv-sp-hold36 0s var(--hold36),
--inv-sp-hold07 0s var(--hold07),
--inv-sp-hold17 0s var(--hold17),
--inv-sp-hold27 0s var(--hold27),
--inv-sp-hold37 0s var(--hold37),
--inv-sp-hold08 0s var(--hold08),
--inv-sp-hold18 0s var(--hold18),
--inv-sp-hold28 0s var(--hold28),
--inv-sp-hold38 0s var(--hold38),
--inv-sp-hold09 0s var(--hold09),
--inv-sp-hold19 0s var(--hold19),
--inv-sp-hold29 0s var(--hold29),
--inv-sp-hold39 0s var(--hold39);
/* インベーダーの弾の縦方向の位置 */
--inv-shot-y0:calc(max(var(--sp0),
var(--inv-sp-curr00), var(--inv-sp-curr10), var(--inv-sp-curr20), var(--inv-sp-curr30))
+ var(--inv-off-y1) + var(--inv-shot-off0));
--inv-shot-y1:calc(max(var(--sp1),
var(--inv-sp-curr01), var(--inv-sp-curr11), var(--inv-sp-curr21), var(--inv-sp-curr31))
+ var(--inv-off-y1) + var(--inv-shot-off1));
--inv-shot-y2:calc(max(var(--sp2),
var(--inv-sp-curr02), var(--inv-sp-curr12), var(--inv-sp-curr22), var(--inv-sp-curr32))
+ var(--inv-off-y1) + var(--inv-shot-off2));
--inv-shot-y3:calc(max(var(--sp3),
var(--inv-sp-curr03), var(--inv-sp-curr13), var(--inv-sp-curr23), var(--inv-sp-curr33))
+ var(--inv-off-y1) + var(--inv-shot-off3));
--inv-shot-y4:calc(max(var(--sp4),
var(--inv-sp-curr04), var(--inv-sp-curr14), var(--inv-sp-curr24), var(--inv-sp-curr34))
+ var(--inv-off-y1) + var(--inv-shot-off4));
--inv-shot-y5:calc(max(var(--sp5),
var(--inv-sp-curr05), var(--inv-sp-curr15), var(--inv-sp-curr25), var(--inv-sp-curr35))
+ var(--inv-off-y1) + var(--inv-shot-off5));
--inv-shot-y6:calc(max(var(--sp6),
var(--inv-sp-curr06), var(--inv-sp-curr16), var(--inv-sp-curr26), var(--inv-sp-curr36))
+ var(--inv-off-y1) + var(--inv-shot-off6));
--inv-shot-y7:calc(max(var(--sp7),
var(--inv-sp-curr07), var(--inv-sp-curr17), var(--inv-sp-curr27), var(--inv-sp-curr37))
+ var(--inv-off-y1) + var(--inv-shot-off7));
--inv-shot-y8:calc(max(var(--sp8),
var(--inv-sp-curr08), var(--inv-sp-curr18), var(--inv-sp-curr28), var(--inv-sp-curr38))
+ var(--inv-off-y1) + var(--inv-shot-off8));
--inv-shot-y9:calc(max(var(--sp9),
var(--inv-sp-curr09), var(--inv-sp-curr19), var(--inv-sp-curr29), var(--inv-sp-curr39))
+ var(--inv-off-y1) + var(--inv-shot-off9));
/* 被弾判定 */
--dx0:calc(var(--cannon-x) - 26/*10+8+ 8*/);
--dx1:calc(var(--cannon-x) - 53/*10+8+ 35*/);
--dx2:calc(var(--cannon-x) - 112/*10+8+ 94*/);
--dx3:calc(var(--cannon-x) - 123/*10+8+105*/);
--dx4:calc(var(--cannon-x) - 182/*10+8+164*/);
--dx5:calc(var(--cannon-x) - 193/*10+8+175*/);
--dx6:calc(var(--cannon-x) - 204/*10+8+186*/);
--dx7:calc(var(--cannon-x) - 279/*10+8+261*/);
--dx8:calc(var(--cannon-x) - 290/*10+8+272*/);
--dx9:calc(var(--cannon-x) - 333/*10+8+315*/);
/* ((340 - 12) + (340 + 15)) / 2 = 341 */
--dy0:calc(var(--inv-shot-y0) - 341);
--dy1:calc(var(--inv-shot-y1) - 341);
--dy2:calc(var(--inv-shot-y2) - 341);
--dy3:calc(var(--inv-shot-y3) - 341);
--dy4:calc(var(--inv-shot-y4) - 341);
--dy5:calc(var(--inv-shot-y5) - 341);
--dy6:calc(var(--inv-shot-y6) - 341);
--dy7:calc(var(--inv-shot-y7) - 341);
--dy8:calc(var(--inv-shot-y8) - 341);
--dy9:calc(var(--inv-shot-y9) - 341);
--inv-hit:calc(clamp(0, 100 - var(--dx0) * var(--dx0), 1) * clamp(0, 169 - var(--dy0) * var(--dy0), 1)
+ clamp(0, 100 - var(--dx1) * var(--dx1), 1) * clamp(0, 169 - var(--dy1) * var(--dy1), 1)
+ clamp(0, 100 - var(--dx2) * var(--dx2), 1) * clamp(0, 169 - var(--dy2) * var(--dy2), 1)
+ clamp(0, 100 - var(--dx3) * var(--dx3), 1) * clamp(0, 169 - var(--dy3) * var(--dy3), 1)
+ clamp(0, 100 - var(--dx4) * var(--dx4), 1) * clamp(0, 169 - var(--dy4) * var(--dy4), 1)
+ clamp(0, 100 - var(--dx5) * var(--dx5), 1) * clamp(0, 169 - var(--dy5) * var(--dy5), 1)
+ clamp(0, 100 - var(--dx6) * var(--dx6), 1) * clamp(0, 169 - var(--dy6) * var(--dy6), 1)
+ clamp(0, 100 - var(--dx7) * var(--dx7), 1) * clamp(0, 169 - var(--dy7) * var(--dy7), 1)
+ clamp(0, 100 - var(--dx8) * var(--dx8), 1) * clamp(0, 169 - var(--dy8) * var(--dy8), 1)
+ clamp(0, 100 - var(--dx9) * var(--dx9), 1) * clamp(0, 169 - var(--dy9) * var(--dy9), 1));
/* 負け */
--lose:min(var(--inv-hit)
/* 最下段到達判定 */
+ clamp(0, max(var(--sp0), var(--sp1), var(--sp2), var(--sp3), var(--sp4),
var(--sp5), var(--sp6), var(--sp7), var(--sp8), var(--sp9))
+ var(--inv-off-y1) - 346, 1), 1);
/* ゲーム終了 */
--over:calc(var(--clear) + var(--lose));
/* インベーダー画像 */
--inv-img1:
5px 0 #3FF4,6px 0 #3FF8,7px 0,8px 0,9px 0,10px 0 #3FF8,11px 0 #3FF4,4px 1px #3FF4,5px 1px,6px 1px,
7px 1px,8px 1px,9px 1px,10px 1px,11px 1px,12px 1px #3FF4,3px 2px #3FF4,4px 2px,5px 2px,6px 2px,
7px 2px,8px 2px,9px 2px,10px 2px,11px 2px,12px 2px,13px 2px #3FF4,2px 3px #3FF4,3px 3px,4px 3px,
5px 3px,6px 3px,7px 3px,8px 3px,9px 3px,10px 3px,11px 3px,12px 3px,13px 3px,14px 3px #3FF4,
1px 4px #3FF8,2px 4px,3px 4px,4px 4px,5px 4px #2DDF,6px 4px #2DDF,7px 4px,8px 4px,9px 4px,
10px 4px #2DDF,11px 4px #2DDF,12px 4px,13px 4px,14px 4px,15px 4px #3FF8,0 5px #3FFB,1px 5px,2px 5px,
3px 5px,4px 5px #2DDF,5px 5px #000F,6px 5px #000F,7px 5px #188F,8px 5px,9px 5px #188F,10px 5px #000F,
11px 5px #000F,12px 5px #2DDF,13px 5px,14px 5px,15px 5px,16px 5px #3FFB,0 6px,1px 6px,2px 6px,3px 6px,
4px 6px,5px 6px #2DDF,6px 6px #2DDF,7px 6px,8px 6px,9px 6px,10px 6px #2DDF,11px 6px #2DDF,12px 6px,
13px 6px,14px 6px,15px 6px,16px 6px,0 7px #3FF4,1px 7px #3FFB,2px 7px,3px 7px,4px 7px,5px 7px,6px 7px,
7px 7px,8px 7px,9px 7px,10px 7px,11px 7px,12px 7px,13px 7px,14px 7px,15px 7px #3FFB,16px 7px #3FF4,
3px 8px,5px 8px #3FF8,6px 8px,7px 8px,8px 8px,9px 8px,10px 8px,11px 8px #3FF8,13px 8px,
2px 9px #3FF4,3px 9px,6px 9px,10px 9px,13px 9px,14px 9px #3FF4,1px 10px #3FF4,2px 10px,3px 10px #3FF4,
6px 10px,10px 10px,13px 10px #3FF4,14px 10px,15px 10px #3FF4,0 11px #3FF6,1px 11px,2px 11px #3FF4,
5px 11px #3FF7,6px 11px #3FFB,10px 11px #3FFB,11px 11px #3FF7,14px 11px #3FF4,15px 11px,16px 11px #3FF6,
0 12px,5px 12px,11px 12px,16px 12px,0 13px,1px 13px #3FF4,5px 13px,6px 13px #3FF4,10px 13px #3FF4,
11px 13px,15px 13px #3FF4,16px 13px,0 14px #3FF4,1px 14px,2px 14px,5px 14px #3FF4,6px 14px,10px 14px,
11px 14px #3FF4,14px 14px,15px 14px,16px 14px #3FF4;
--inv-img2:
5px 0 #3FF4,6px 0 #3FF8,7px 0,8px 0,9px 0,10px 0 #3FF8,11px 0 #3FF4,4px 1px #3FF4,5px 1px,6px 1px,
7px 1px,8px 1px,9px 1px,10px 1px,11px 1px,12px 1px #3FF4,3px 2px #3FF4,4px 2px,5px 2px,6px 2px,
7px 2px,8px 2px,9px 2px,10px 2px,11px 2px,12px 2px,13px 2px #3FF4,2px 3px #3FF4,3px 3px,4px 3px,
5px 3px,6px 3px,7px 3px,8px 3px,9px 3px,10px 3px,11px 3px,12px 3px,13px 3px,14px 3px #3FF4,
1px 4px #3FF8,2px 4px,3px 4px,4px 4px,5px 4px #2DDF,6px 4px #2DDF,7px 4px,8px 4px,9px 4px,
10px 4px #2DDF,11px 4px #2DDF,12px 4px,13px 4px,14px 4px,15px 4px #3FF8,0 5px #3FFB,1px 5px,2px 5px,
3px 5px,4px 5px #2DDF,5px 5px #000F,6px 5px #000F,7px 5px #188F,8px 5px,9px 5px #188F,10px 5px #000F,
11px 5px #000F,12px 5px #2DDF,13px 5px,14px 5px,15px 5px,16px 5px #3FFB,0 6px,1px 6px,2px 6px,3px 6px,
4px 6px,5px 6px #2DDF,6px 6px #2DDF,7px 6px,8px 6px,9px 6px,10px 6px #2DDF,11px 6px #2DDF,12px 6px,
13px 6px,14px 6px,15px 6px,16px 6px,0 7px #3FF4,1px 7px #3FFB,2px 7px,3px 7px,4px 7px,5px 7px,6px 7px,
7px 7px,8px 7px,9px 7px,10px 7px,11px 7px,12px 7px,13px 7px,14px 7px,15px 7px #3FFB,16px 7px #3FF4,
3px 8px,5px 8px #3FF8,6px 8px,7px 8px,8px 8px,9px 8px,10px 8px,11px 8px #3FF8,13px 8px,
3px 9px,6px 9px,10px 9px,13px 9px,2px 10px #3FF4,3px 10px,6px 10px,10px 10px,13px 10px,14px 10px #3FF4,
2px 11px,3px 11px #3FF4,6px 11px,10px 11px,13px 11px #3FF4,14px 11px,1px 12px #3FF4,2px 12px,5px 12px #3FF3,
6px 12px,10px 12px,11px 12px #3FF3,14px 12px,15px 12px #3FF4,0 13px #3FF4,1px 13px,2px 13px #3FF4,
5px 13px #3FF7,6px 13px #3FF8,10px 13px #3FF8,11px 13px #3FF7,14px 13px #3FF4,15px 13px,16px 13px #3FF4,
0 14px,1px 14px #3FF4,5px 14px,6px 14px #3FF4,10px 14px #3FF4,11px 14px,15px 14px #3FF4,16px 14px;
}
/* 弾の発射位置を固定する */
.fire:active ~ #base #logic4 {
--shot-x:var(--cannon-x);
--shot-x-hold:0s;
}
/* マウス ボタン押下中はアニメーションを停止する */
/* #dummy は詳細度を上げるため */
:is(#dummy, .fire):active ~ #base :is(#logic2, #logic3, #logic4) {
animation-play-state:paused;
}
#clip {
position:absolute;
left:0;
top:0;
width:360px;
height:400px;
overflow:clip;
}
/* インベーダー */
.inv {
position:absolute;
--left:clamp(0, var(--inv-x-base) - 89, 1);
--x:calc(18 + (1 - var(--left)) * min(var(--inv-x-base), 80)
+ var(--left) * max(170 - var(--inv-x-base), 0) + var(--ix) * 27);
--y:calc(90 + var(--iy) * 30 + var(--inv-off-y1) + var(--inv-off-y2));
left:calc((var(--x) - 8) * 1px);
top:calc(var(--y) * 1px);
width:1px;
height:1px;
color:#3FF;
box-shadow:var(--inv-img);
--y2:calc(var(--y) + 15 - var(--shot-y));
--hit:clamp(0, var(--y2), 1);
z-index:calc(1 - (clamp(0, var(--y2) - 100, 1) + clamp(0, 341 - var(--shot-y), 1) * var(--over2)) * 2);
--shot-y:10000;
animation:800ms steps(500, jump-none) forwards paused;
}
/* 命中する弾 */
.inv::before {
position:absolute;
left:calc((var(--shot-x) - var(--x) + 6) * 1px);
top:calc((var(--shot-y) - var(--y) - var(--hit) * 10000) * 1px);
width:4px;
height:calc(min(340 - var(--shot-y), 12) * 1px);
background-color:red;
content:"";
}
/* 消滅 */
.inv::after {
position:absolute;
left:0;
top:-1px;
width:calc(var(--hit) * 17px);
height:17px;
background-image:radial-gradient(circle, black 5px, transparent 5px),
repeating-conic-gradient(from 10deg, #3FF 0deg 10deg, black 10deg 45deg);
content:"";
}
/* インベーダーの弾 */
.inv-shot {
position:absolute;
left:calc((var(--inv-shot-x) + 16/*10+8-2*/) * 1px);
top:calc(min(var(--inv-shot-y), 360) * 1px);
width:4px;
height:12px;
z-index:calc(0 - clamp(0, var(--inv-shot-y) - 399, 1) - var(--over2));
--inv-miss:clamp(0, var(--inv-shot-y) - 359, 1);
}
#inv-shot0 {
--inv-shot-x:8;
--inv-shot-y:var(--inv-shot-y0);
}
#inv-shot1 {
--inv-shot-x:35;
--inv-shot-y:var(--inv-shot-y1);
}
#inv-shot2 {
--inv-shot-x:94;
--inv-shot-y:var(--inv-shot-y2);
}
#inv-shot3 {
--inv-shot-x:105;
--inv-shot-y:var(--inv-shot-y3);
}
#inv-shot4 {
--inv-shot-x:164;
--inv-shot-y:var(--inv-shot-y4);
}
#inv-shot5 {
--inv-shot-x:175;
--inv-shot-y:var(--inv-shot-y5);
}
#inv-shot6 {
--inv-shot-x:186;
--inv-shot-y:var(--inv-shot-y6);
}
#inv-shot7 {
--inv-shot-x:261;
--inv-shot-y:var(--inv-shot-y7);
}
#inv-shot8 {
--inv-shot-x:272;
--inv-shot-y:var(--inv-shot-y8);
}
#inv-shot9 {
--inv-shot-x:315;
--inv-shot-y:var(--inv-shot-y9);
}
/* 弾 */
.inv-shot::before {
position:absolute;
left:0;
top:0;
width:calc((1 - var(--inv-miss)) * 4px);
height:12px;
background:linear-gradient(to bottom, #FF40FF 2px, black 2px) 0 0 / 2px 4px repeat-y,
linear-gradient(to bottom, black 2px, #FF40FF 2px) 2px 0 / 2px 4px repeat-y;
content:"";
}
/* 爆発 */
.inv-shot::after {
position:absolute;
left:-3px;
top:0;
width:calc(var(--inv-miss) * 1px);
height:1px;
color:#FF40FF;
box-shadow:
8px 0,4px 1px,7px 1px,1px 2px,2px 2px,4px 2px,4px 3px,7px 3px,9px 3px,1px 4px,5px 4px,7px 4px,0 5px,
1px 5px,7px 5px,9px 5px,0 6px,2px 6px,3px 6px,4px 6px,5px 6px,7px 6px,1px 7px,3px 7px,6px 7px,4px 8px;
content:"";
}
/* 砲 */
#cannon {
position:absolute;
left:calc((var(--cannon-x) - 10) * 1px);
top:340px;
width:20px;
height:15px;
z-index:calc(0 - var(--inv-hit));
}
#cannon-1 {
position:absolute;
left:0;
top:5px;
width:20px;
height:10px;
background-color:#E0E000;
border-top-left-radius:3px;
border-top-right-radius:3px;
}
#cannon-2 {
position:absolute;
left:8px;
top:0;
width:4px;
height:5px;
background-color:#E0E000;
border-top-left-radius:2px;
border-top-right-radius:2px;
}
/* 命中しない弾 */
#shot-m {
position:absolute;
left:calc((var(--shot-x) - 2) * 1px);
top:calc(var(--shot-y) * 1px);
width:4px;
height:calc(min(340 - var(--shot-y), 12) * 1px);
background-color:red;
z-index:calc(0 - var(--over2));
--shot-y:10000;
animation:448ms steps(280, jump-none) paused;
}
/* 弾の爆発 */
#explosion {
position:absolute;
left:calc((var(--shot-x) - 8) * 1px);
top:52px;
width:16px;
height:16px;
background-color:red;
clip-path:polygon(8px 0px, 2.34px 13.66px, 16px 8px, 2.34px 2.34px,
8px 16px, 13.66px 2.34px, 0px 8px, 13.66px 13.66px);
visibility:hidden;
z-index:calc(0 - var(--over2));
animation:200ms step-end 448ms paused;
}
/* 被弾 */
#destroyed {
position:absolute;
left:calc((var(--cannon-x) - 10) * 1px);
top:337px;
width:1px;
height:1px;
color:#E0E000;
box-shadow:
10px 0,11px 0,12px 0,16px 0,17px 0,5px 1px,9px 1px,12px 1px,5px 2px,11px 2px,18px 2px,2px 3px,
4px 3px,6px 3px,10px 3px,11px 3px,17px 3px,18px 3px,19px 3px,12px 4px,13px 4px,14px 4px,16px 4px,
17px 4px,18px 4px,12px 5px,14px 5px,16px 5px,4px 6px,9px 6px,13px 6px,18px 6px,1px 7px,4px 7px,
1px 8px,4px 8px,6px 8px,8px 8px,14px 8px,0 9px,8px 9px,10px 9px,11px 9px,13px 9px,19px 9px,1px 10px,
2px 10px,3px 10px,6px 10px,7px 10px,8px 10px,14px 10px,15px 10px,16px 10px,17px 10px,4px 11px,
8px 11px,10px 11px,12px 11px,13px 11px,17px 11px,0 12px,7px 12px,8px 12px,9px 12px,13px 12px,
16px 12px,1px 13px,6px 13px,7px 13px,8px 13px,9px 13px,10px 13px,12px 13px,13px 13px,14px 13px,
15px 13px,5px 14px,6px 14px,7px 14px,8px 14px,9px 14px,10px 14px,11px 14px,12px 14px,13px 14px,
14px 14px,15px 14px,16px 14px,1px 15px,4px 15px,5px 15px,6px 15px,7px 15px,8px 15px,9px 15px,10px 15px,
11px 15px,12px 15px,13px 15px,14px 15px,18px 15px,5px 16px,6px 16px,7px 16px,8px 16px,9px 16px,
10px 16px,11px 16px,12px 16px,13px 16px,14px 16px,15px 16px,18px 16px,4px 17px,5px 17px,6px 17px,
7px 17px,8px 17px,9px 17px,10px 17px,11px 17px,12px 17px,13px 17px,14px 17px,16px 17px,17px 17px;
z-index:calc(var(--inv-hit) - 1);
}
/* 得点 */
#score {
position:absolute;
left:20px;
top:20px;
color:white;
font-family:monospace;
font-size:16px;
font-weight:bold;
counter-reset:score calc(var(--hit00) + var(--hit01) + var(--hit02) + var(--hit03) + var(--hit04)
+ var(--hit05) + var(--hit06) + var(--hit07) + var(--hit08) + var(--hit09)
+ var(--hit10) + var(--hit11) + var(--hit12) + var(--hit13) + var(--hit14)
+ var(--hit15) + var(--hit16) + var(--hit17) + var(--hit18) + var(--hit19)
+ var(--hit20) + var(--hit21) + var(--hit22) + var(--hit23) + var(--hit24)
+ var(--hit25) + var(--hit26) + var(--hit27) + var(--hit28) + var(--hit29)
+ var(--hit30) + var(--hit31) + var(--hit32) + var(--hit33) + var(--hit34)
+ var(--hit35) + var(--hit36) + var(--hit37) + var(--hit38) + var(--hit39));
}
#score::after {
position:absolute;
left:calc(100% + 10px);
top:0;
content:counter(score, score);
}
/* GAME OVER */
#lose {
position:absolute;
left:0;
top:60px;
width:100%;
text-align:center;
color:white;
font-family:monospace;
font-size:16px;
font-weight:bold;
}
#lose-1, #lose-2, #lose-3, #lose-4, #lose-5, #lose-6, #lose-7, #lose-8 {
position:relative;
z-index:calc(var(--lose) - 1);
}
#lose-1 {
transition:z-index 0s 500ms;
}
#lose-2 {
transition:z-index 0s 600ms;
}
#lose-3 {
transition:z-index 0s 700ms;
}
#lose-4 {
transition:z-index 0s 800ms;
}
#lose-5 {
transition:z-index 0s 1000ms;
}
#lose-6 {
transition:z-index 0s 1100ms;
}
#lose-7 {
transition:z-index 0s 1200ms;
}
#lose-8 {
transition:z-index 0s 1300ms;
}
#mask {
position:fixed;
left:0;
top:0;
width:100vw;
height:100vh;
z-index:calc(var(--over) * 5 - 1);
}
/* スタート */
#start-l {
display:block;
position:relative;
top:410px;
width:76px;
height:32px;
margin-left:auto;
margin-right:auto;
text-align:center;
color:white;
font-size:14px;
font-weight:bold;
line-height:32px;
background-color:navy;
border-radius:5px;
z-index:4;
cursor:pointer;
}
#start:checked ~ #base #start-l {
display:none;
}
#start:not(:checked) ~ #base :is(#logic2, .fire-h-l, #logic3, #logic4, .inv, #shot-m, #explosion) {
animation:none;
}
#start:not(:checked) ~ #base #logic1 {
--cannon-x:180;
transition:none;
}
#start:not(:checked) ~ #base #logic3 {
--inv-x-base:40;
--inv-off-y1:0;
--inv-off-y2:0;
}
#start:not(:checked) ~ #base #logic4 {
--inv-img:var(--inv-img1);
}
#start:not(:checked) ~ #base :is(#lose-1, #lose-2, #lose-3, #lose-4, #lose-5, #lose-6, #lose-7, #lose-8, #reset-l) {
transition:none;
}
#start:not(:checked) ~ #base #mask {
z-index:4;
}
/* リセット */
#reset-l {
display:block;
position:relative;
top:calc(410px + (1 - var(--reset1)) * (1 - var(--reset2)) * 100vh);
width:76px;
height:32px;
margin-left:auto;
margin-right:auto;
text-align:center;
color:white;
font-size:14px;
font-weight:bold;
line-height:32px;
background-color:navy;
border-radius:5px;
z-index:4;
cursor:pointer;
--reset1:var(--clear);
--reset2:var(--lose);
transition:--reset1 0s 1s, --reset2 0s 2s;
}
/* カーソル位置取得 */
#pos-x6:hover ~ #logic1 {
--cannon-x:12;
}
#pos-x7:hover ~ #logic1 {
--cannon-x:14;
}
#pos-x8:hover ~ #logic1 {
--cannon-x:16;
}
#pos-x9:hover ~ #logic1 {
--cannon-x:18;
}
#pos-x10:hover ~ #logic1 {
--cannon-x:20;
}
#pos-x11:hover ~ #logic1 {
--cannon-x:22;
}
#pos-x12:hover ~ #logic1 {
--cannon-x:24;
}
#pos-x13:hover ~ #logic1 {
--cannon-x:26;
}
#pos-x14:hover ~ #logic1 {
--cannon-x:28;
}
#pos-x15:hover ~ #logic1 {
--cannon-x:30;
}
#pos-x16:hover ~ #logic1 {
--cannon-x:32;
}
#pos-x17:hover ~ #logic1 {
--cannon-x:34;
}
#pos-x18:hover ~ #logic1 {
--cannon-x:36;
}
#pos-x19:hover ~ #logic1 {
--cannon-x:38;
}
#pos-x20:hover ~ #logic1 {
--cannon-x:40;
}
#pos-x21:hover ~ #logic1 {
--cannon-x:42;
}
#pos-x22:hover ~ #logic1 {
--cannon-x:44;
}
#pos-x23:hover ~ #logic1 {
--cannon-x:46;
}
#pos-x24:hover ~ #logic1 {
--cannon-x:48;
}
#pos-x25:hover ~ #logic1 {
--cannon-x:50;
}
#pos-x26:hover ~ #logic1 {
--cannon-x:52;
}
#pos-x27:hover ~ #logic1 {
--cannon-x:54;
}
#pos-x28:hover ~ #logic1 {
--cannon-x:56;
}
#pos-x29:hover ~ #logic1 {
--cannon-x:58;
}
#pos-x30:hover ~ #logic1 {
--cannon-x:60;
}
#pos-x31:hover ~ #logic1 {
--cannon-x:62;
}
#pos-x32:hover ~ #logic1 {
--cannon-x:64;
}
#pos-x33:hover ~ #logic1 {
--cannon-x:66;
}
#pos-x34:hover ~ #logic1 {
--cannon-x:68;
}
#pos-x35:hover ~ #logic1 {
--cannon-x:70;
}
#pos-x36:hover ~ #logic1 {
--cannon-x:72;
}
#pos-x37:hover ~ #logic1 {
--cannon-x:74;
}
#pos-x38:hover ~ #logic1 {
--cannon-x:76;
}
#pos-x39:hover ~ #logic1 {
--cannon-x:78;
}
#pos-x40:hover ~ #logic1 {
--cannon-x:80;
}
#pos-x41:hover ~ #logic1 {
--cannon-x:82;
}
#pos-x42:hover ~ #logic1 {
--cannon-x:84;
}
#pos-x43:hover ~ #logic1 {
--cannon-x:86;
}
#pos-x44:hover ~ #logic1 {
--cannon-x:88;
}
#pos-x45:hover ~ #logic1 {
--cannon-x:90;
}
#pos-x46:hover ~ #logic1 {
--cannon-x:92;
}
#pos-x47:hover ~ #logic1 {
--cannon-x:94;
}
#pos-x48:hover ~ #logic1 {
--cannon-x:96;
}
#pos-x49:hover ~ #logic1 {
--cannon-x:98;
}
#pos-x50:hover ~ #logic1 {
--cannon-x:100;
}
#pos-x51:hover ~ #logic1 {
--cannon-x:102;
}
#pos-x52:hover ~ #logic1 {
--cannon-x:104;
}
#pos-x53:hover ~ #logic1 {
--cannon-x:106;
}
#pos-x54:hover ~ #logic1 {
--cannon-x:108;
}
#pos-x55:hover ~ #logic1 {
--cannon-x:110;
}
#pos-x56:hover ~ #logic1 {
--cannon-x:112;
}
#pos-x57:hover ~ #logic1 {
--cannon-x:114;
}
#pos-x58:hover ~ #logic1 {
--cannon-x:116;
}
#pos-x59:hover ~ #logic1 {
--cannon-x:118;
}
#pos-x60:hover ~ #logic1 {
--cannon-x:120;
}
#pos-x61:hover ~ #logic1 {
--cannon-x:122;
}
#pos-x62:hover ~ #logic1 {
--cannon-x:124;
}
#pos-x63:hover ~ #logic1 {
--cannon-x:126;
}
#pos-x64:hover ~ #logic1 {
--cannon-x:128;
}
#pos-x65:hover ~ #logic1 {
--cannon-x:130;
}
#pos-x66:hover ~ #logic1 {
--cannon-x:132;
}
#pos-x67:hover ~ #logic1 {
--cannon-x:134;
}
#pos-x68:hover ~ #logic1 {
--cannon-x:136;
}
#pos-x69:hover ~ #logic1 {
--cannon-x:138;
}
#pos-x70:hover ~ #logic1 {
--cannon-x:140;
}
#pos-x71:hover ~ #logic1 {
--cannon-x:142;
}
#pos-x72:hover ~ #logic1 {
--cannon-x:144;
}
#pos-x73:hover ~ #logic1 {
--cannon-x:146;
}
#pos-x74:hover ~ #logic1 {
--cannon-x:148;
}
#pos-x75:hover ~ #logic1 {
--cannon-x:150;
}
#pos-x76:hover ~ #logic1 {
--cannon-x:152;
}
#pos-x77:hover ~ #logic1 {
--cannon-x:154;
}
#pos-x78:hover ~ #logic1 {
--cannon-x:156;
}
#pos-x79:hover ~ #logic1 {
--cannon-x:158;
}
#pos-x80:hover ~ #logic1 {
--cannon-x:160;
}
#pos-x81:hover ~ #logic1 {
--cannon-x:162;
}
#pos-x82:hover ~ #logic1 {
--cannon-x:164;
}
#pos-x83:hover ~ #logic1 {
--cannon-x:166;
}
#pos-x84:hover ~ #logic1 {
--cannon-x:168;
}
#pos-x85:hover ~ #logic1 {
--cannon-x:170;
}
#pos-x86:hover ~ #logic1 {
--cannon-x:172;
}
#pos-x87:hover ~ #logic1 {
--cannon-x:174;
}
#pos-x88:hover ~ #logic1 {
--cannon-x:176;
}
#pos-x89:hover ~ #logic1 {
--cannon-x:178;
}
#pos-x90:hover ~ #logic1 {
--cannon-x:180;
}
#pos-x91:hover ~ #logic1 {
--cannon-x:182;
}
#pos-x92:hover ~ #logic1 {
--cannon-x:184;
}
#pos-x93:hover ~ #logic1 {
--cannon-x:186;
}
#pos-x94:hover ~ #logic1 {
--cannon-x:188;
}
#pos-x95:hover ~ #logic1 {
--cannon-x:190;
}
#pos-x96:hover ~ #logic1 {
--cannon-x:192;
}
#pos-x97:hover ~ #logic1 {
--cannon-x:194;
}
#pos-x98:hover ~ #logic1 {
--cannon-x:196;
}
#pos-x99:hover ~ #logic1 {
--cannon-x:198;
}
#pos-x100:hover ~ #logic1 {
--cannon-x:200;
}
#pos-x101:hover ~ #logic1 {
--cannon-x:202;
}
#pos-x102:hover ~ #logic1 {
--cannon-x:204;
}
#pos-x103:hover ~ #logic1 {
--cannon-x:206;
}
#pos-x104:hover ~ #logic1 {
--cannon-x:208;
}
#pos-x105:hover ~ #logic1 {
--cannon-x:210;
}
#pos-x106:hover ~ #logic1 {
--cannon-x:212;
}
#pos-x107:hover ~ #logic1 {
--cannon-x:214;
}
#pos-x108:hover ~ #logic1 {
--cannon-x:216;
}
#pos-x109:hover ~ #logic1 {
--cannon-x:218;
}
#pos-x110:hover ~ #logic1 {
--cannon-x:220;
}
#pos-x111:hover ~ #logic1 {
--cannon-x:222;
}
#pos-x112:hover ~ #logic1 {
--cannon-x:224;
}
#pos-x113:hover ~ #logic1 {
--cannon-x:226;
}
#pos-x114:hover ~ #logic1 {
--cannon-x:228;
}
#pos-x115:hover ~ #logic1 {
--cannon-x:230;
}
#pos-x116:hover ~ #logic1 {
--cannon-x:232;
}
#pos-x117:hover ~ #logic1 {
--cannon-x:234;
}
#pos-x118:hover ~ #logic1 {
--cannon-x:236;
}
#pos-x119:hover ~ #logic1 {
--cannon-x:238;
}
#pos-x120:hover ~ #logic1 {
--cannon-x:240;
}
#pos-x121:hover ~ #logic1 {
--cannon-x:242;
}
#pos-x122:hover ~ #logic1 {
--cannon-x:244;
}
#pos-x123:hover ~ #logic1 {
--cannon-x:246;
}
#pos-x124:hover ~ #logic1 {
--cannon-x:248;
}
#pos-x125:hover ~ #logic1 {
--cannon-x:250;
}
#pos-x126:hover ~ #logic1 {
--cannon-x:252;
}
#pos-x127:hover ~ #logic1 {
--cannon-x:254;
}
#pos-x128:hover ~ #logic1 {
--cannon-x:256;
}
#pos-x129:hover ~ #logic1 {
--cannon-x:258;
}
#pos-x130:hover ~ #logic1 {
--cannon-x:260;
}
#pos-x131:hover ~ #logic1 {
--cannon-x:262;
}
#pos-x132:hover ~ #logic1 {
--cannon-x:264;
}
#pos-x133:hover ~ #logic1 {
--cannon-x:266;
}
#pos-x134:hover ~ #logic1 {
--cannon-x:268;
}
#pos-x135:hover ~ #logic1 {
--cannon-x:270;
}
#pos-x136:hover ~ #logic1 {
--cannon-x:272;
}
#pos-x137:hover ~ #logic1 {
--cannon-x:274;
}
#pos-x138:hover ~ #logic1 {
--cannon-x:276;
}
#pos-x139:hover ~ #logic1 {
--cannon-x:278;
}
#pos-x140:hover ~ #logic1 {
--cannon-x:280;
}
#pos-x141:hover ~ #logic1 {
--cannon-x:282;
}
#pos-x142:hover ~ #logic1 {
--cannon-x:284;
}
#pos-x143:hover ~ #logic1 {
--cannon-x:286;
}
#pos-x144:hover ~ #logic1 {
--cannon-x:288;
}
#pos-x145:hover ~ #logic1 {
--cannon-x:290;
}
#pos-x146:hover ~ #logic1 {
--cannon-x:292;
}
#pos-x147:hover ~ #logic1 {
--cannon-x:294;
}
#pos-x148:hover ~ #logic1 {
--cannon-x:296;
}
#pos-x149:hover ~ #logic1 {
--cannon-x:298;
}
#pos-x150:hover ~ #logic1 {
--cannon-x:300;
}
#pos-x151:hover ~ #logic1 {
--cannon-x:302;
}
#pos-x152:hover ~ #logic1 {
--cannon-x:304;
}
#pos-x153:hover ~ #logic1 {
--cannon-x:306;
}
#pos-x154:hover ~ #logic1 {
--cannon-x:308;
}
#pos-x155:hover ~ #logic1 {
--cannon-x:310;
}
#pos-x156:hover ~ #logic1 {
--cannon-x:312;
}
#pos-x157:hover ~ #logic1 {
--cannon-x:314;
}
#pos-x158:hover ~ #logic1 {
--cannon-x:316;
}
#pos-x159:hover ~ #logic1 {
--cannon-x:318;
}
#pos-x160:hover ~ #logic1 {
--cannon-x:320;
}
#pos-x161:hover ~ #logic1 {
--cannon-x:322;
}
#pos-x162:hover ~ #logic1 {
--cannon-x:324;
}
#pos-x163:hover ~ #logic1 {
--cannon-x:326;
}
#pos-x164:hover ~ #logic1 {
--cannon-x:328;
}
#pos-x165:hover ~ #logic1 {
--cannon-x:330;
}
#pos-x166:hover ~ #logic1 {
--cannon-x:332;
}
#pos-x167:hover ~ #logic1 {
--cannon-x:334;
}
#pos-x168:hover ~ #logic1 {
--cannon-x:336;
}
#pos-x169:hover ~ #logic1 {
--cannon-x:338;
}
#pos-x170:hover ~ #logic1 {
--cannon-x:340;
}
#pos-x171:hover ~ #logic1 {
--cannon-x:342;
}
#pos-x172:hover ~ #logic1 {
--cannon-x:344;
}
#pos-x173:hover ~ #logic1 {
--cannon-x:346;
}
#pos-x174:hover ~ #logic1 {
--cannon-x:348;
}
/* 命中する弾を発射 */
/* 命中するインベーダーが発射する(した)弾の発射位置を保持する */
#fire00:checked ~ #base #logic3 {
--shot-y-n00:shot-y00;
}
#fire01:checked ~ #base #logic3 {
--shot-y-n01:shot-y01;
}
#fire02:checked ~ #base #logic3 {
--shot-y-n02:shot-y02;
}
#fire03:checked ~ #base #logic3 {
--shot-y-n03:shot-y03;
}
#fire04:checked ~ #base #logic3 {
--shot-y-n04:shot-y04;
}
#fire05:checked ~ #base #logic3 {
--shot-y-n05:shot-y05;
}
#fire06:checked ~ #base #logic3 {
--shot-y-n06:shot-y06;
}
#fire07:checked ~ #base #logic3 {
--shot-y-n07:shot-y07;
}
#fire08:checked ~ #base #logic3 {
--shot-y-n08:shot-y08;
}
#fire09:checked ~ #base #logic3 {
--shot-y-n09:shot-y09;
}
#fire10:checked ~ #base #logic3 {
--shot-y-n10:shot-y10;
}
#fire11:checked ~ #base #logic3 {
--shot-y-n11:shot-y11;
}
#fire12:checked ~ #base #logic3 {
--shot-y-n12:shot-y12;
}
#fire13:checked ~ #base #logic3 {
--shot-y-n13:shot-y13;
}
#fire14:checked ~ #base #logic3 {
--shot-y-n14:shot-y14;
}
#fire15:checked ~ #base #logic3 {
--shot-y-n15:shot-y15;
}
#fire16:checked ~ #base #logic3 {
--shot-y-n16:shot-y16;
}
#fire17:checked ~ #base #logic3 {
--shot-y-n17:shot-y17;
}
#fire18:checked ~ #base #logic3 {
--shot-y-n18:shot-y18;
}
#fire19:checked ~ #base #logic3 {
--shot-y-n19:shot-y19;
}
#fire20:checked ~ #base #logic3 {
--shot-y-n20:shot-y20;
}
#fire21:checked ~ #base #logic3 {
--shot-y-n21:shot-y21;
}
#fire22:checked ~ #base #logic3 {
--shot-y-n22:shot-y22;
}
#fire23:checked ~ #base #logic3 {
--shot-y-n23:shot-y23;
}
#fire24:checked ~ #base #logic3 {
--shot-y-n24:shot-y24;
}
#fire25:checked ~ #base #logic3 {
--shot-y-n25:shot-y25;
}
#fire26:checked ~ #base #logic3 {
--shot-y-n26:shot-y26;
}
#fire27:checked ~ #base #logic3 {
--shot-y-n27:shot-y27;
}
#fire28:checked ~ #base #logic3 {
--shot-y-n28:shot-y28;
}
#fire29:checked ~ #base #logic3 {
--shot-y-n29:shot-y29;
}
#fire30:checked ~ #base #logic3 {
--shot-y-n30:shot-y30;
}
#fire31:checked ~ #base #logic3 {
--shot-y-n31:shot-y31;
}
#fire32:checked ~ #base #logic3 {
--shot-y-n32:shot-y32;
}
#fire33:checked ~ #base #logic3 {
--shot-y-n33:shot-y33;
}
#fire34:checked ~ #base #logic3 {
--shot-y-n34:shot-y34;
}
#fire35:checked ~ #base #logic3 {
--shot-y-n35:shot-y35;
}
#fire36:checked ~ #base #logic3 {
--shot-y-n36:shot-y36;
}
#fire37:checked ~ #base #logic3 {
--shot-y-n37:shot-y37;
}
#fire38:checked ~ #base #logic3 {
--shot-y-n38:shot-y38;
}
#fire39:checked ~ #base #logic3 {
--shot-y-n39:shot-y39;
}
#fire00:checked ~ #base #logic4 {
--inv-sp-curr-n00:inv-sp-curr00;
--hold00:10000s;
}
#fire01:checked ~ #base #logic4 {
--inv-sp-curr-n01:inv-sp-curr01;
--hold01:10000s;
}
#fire02:checked ~ #base #logic4 {
--inv-sp-curr-n02:inv-sp-curr02;
--hold02:10000s;
}
#fire03:checked ~ #base #logic4 {
--inv-sp-curr-n03:inv-sp-curr03;
--hold03:10000s;
}
#fire04:checked ~ #base #logic4 {
--inv-sp-curr-n04:inv-sp-curr04;
--hold04:10000s;
}
#fire05:checked ~ #base #logic4 {
--inv-sp-curr-n05:inv-sp-curr05;
--hold05:10000s;
}
#fire06:checked ~ #base #logic4 {
--inv-sp-curr-n06:inv-sp-curr06;
--hold06:10000s;
}
#fire07:checked ~ #base #logic4 {
--inv-sp-curr-n07:inv-sp-curr07;
--hold07:10000s;
}
#fire08:checked ~ #base #logic4 {
--inv-sp-curr-n08:inv-sp-curr08;
--hold08:10000s;
}
#fire09:checked ~ #base #logic4 {
--inv-sp-curr-n09:inv-sp-curr09;
--hold09:10000s;
}
#fire10:checked ~ #base #logic4 {
--inv-sp-curr-n10:inv-sp-curr10;
--hold10:10000s;
}
#fire11:checked ~ #base #logic4 {
--inv-sp-curr-n11:inv-sp-curr11;
--hold11:10000s;
}
#fire12:checked ~ #base #logic4 {
--inv-sp-curr-n12:inv-sp-curr12;
--hold12:10000s;
}
#fire13:checked ~ #base #logic4 {
--inv-sp-curr-n13:inv-sp-curr13;
--hold13:10000s;
}
#fire14:checked ~ #base #logic4 {
--inv-sp-curr-n14:inv-sp-curr14;
--hold14:10000s;
}
#fire15:checked ~ #base #logic4 {
--inv-sp-curr-n15:inv-sp-curr15;
--hold15:10000s;
}
#fire16:checked ~ #base #logic4 {
--inv-sp-curr-n16:inv-sp-curr16;
--hold16:10000s;
}
#fire17:checked ~ #base #logic4 {
--inv-sp-curr-n17:inv-sp-curr17;
--hold17:10000s;
}
#fire18:checked ~ #base #logic4 {
--inv-sp-curr-n18:inv-sp-curr18;
--hold18:10000s;
}
#fire19:checked ~ #base #logic4 {
--inv-sp-curr-n19:inv-sp-curr19;
--hold19:10000s;
}
#fire20:checked ~ #base #logic4 {
--inv-sp-curr-n20:inv-sp-curr20;
--hold20:10000s;
}
#fire21:checked ~ #base #logic4 {
--inv-sp-curr-n21:inv-sp-curr21;
--hold21:10000s;
}
#fire22:checked ~ #base #logic4 {
--inv-sp-curr-n22:inv-sp-curr22;
--hold22:10000s;
}
#fire23:checked ~ #base #logic4 {
--inv-sp-curr-n23:inv-sp-curr23;
--hold23:10000s;
}
#fire24:checked ~ #base #logic4 {
--inv-sp-curr-n24:inv-sp-curr24;
--hold24:10000s;
}
#fire25:checked ~ #base #logic4 {
--inv-sp-curr-n25:inv-sp-curr25;
--hold25:10000s;
}
#fire26:checked ~ #base #logic4 {
--inv-sp-curr-n26:inv-sp-curr26;
--hold26:10000s;
}
#fire27:checked ~ #base #logic4 {
--inv-sp-curr-n27:inv-sp-curr27;
--hold27:10000s;
}
#fire28:checked ~ #base #logic4 {
--inv-sp-curr-n28:inv-sp-curr28;
--hold28:10000s;
}
#fire29:checked ~ #base #logic4 {
--inv-sp-curr-n29:inv-sp-curr29;
--hold29:10000s;
}
#fire30:checked ~ #base #logic4 {
--inv-sp-curr-n30:inv-sp-curr30;
--hold30:10000s;
}
#fire31:checked ~ #base #logic4 {
--inv-sp-curr-n31:inv-sp-curr31;
--hold31:10000s;
}
#fire32:checked ~ #base #logic4 {
--inv-sp-curr-n32:inv-sp-curr32;
--hold32:10000s;
}
#fire33:checked ~ #base #logic4 {
--inv-sp-curr-n33:inv-sp-curr33;
--hold33:10000s;
}
#fire34:checked ~ #base #logic4 {
--inv-sp-curr-n34:inv-sp-curr34;
--hold34:10000s;
}
#fire35:checked ~ #base #logic4 {
--inv-sp-curr-n35:inv-sp-curr35;
--hold35:10000s;
}
#fire36:checked ~ #base #logic4 {
--inv-sp-curr-n36:inv-sp-curr36;
--hold36:10000s;
}
#fire37:checked ~ #base #logic4 {
--inv-sp-curr-n37:inv-sp-curr37;
--hold37:10000s;
}
#fire38:checked ~ #base #logic4 {
--inv-sp-curr-n38:inv-sp-curr38;
--hold38:10000s;
}
#fire39:checked ~ #base #logic4 {
--inv-sp-curr-n39:inv-sp-curr39;
--hold39:10000s;
}
#fire00:checked ~ #base :is(#inv00, #fire00-l),
#fire01:checked ~ #base :is(#inv01, #fire01-l),
#fire02:checked ~ #base :is(#inv02, #fire02-l),
#fire03:checked ~ #base :is(#inv03, #fire03-l),
#fire04:checked ~ #base :is(#inv04, #fire04-l),
#fire05:checked ~ #base :is(#inv05, #fire05-l),
#fire06:checked ~ #base :is(#inv06, #fire06-l),
#fire07:checked ~ #base :is(#inv07, #fire07-l),
#fire08:checked ~ #base :is(#inv08, #fire08-l),
#fire09:checked ~ #base :is(#inv09, #fire09-l),
#fire10:checked ~ #base :is(#inv10, #fire10-l),
#fire11:checked ~ #base :is(#inv11, #fire11-l),
#fire12:checked ~ #base :is(#inv12, #fire12-l),
#fire13:checked ~ #base :is(#inv13, #fire13-l),
#fire14:checked ~ #base :is(#inv14, #fire14-l),
#fire15:checked ~ #base :is(#inv15, #fire15-l),
#fire16:checked ~ #base :is(#inv16, #fire16-l),
#fire17:checked ~ #base :is(#inv17, #fire17-l),
#fire18:checked ~ #base :is(#inv18, #fire18-l),
#fire19:checked ~ #base :is(#inv19, #fire19-l),
#fire20:checked ~ #base :is(#inv20, #fire20-l),
#fire21:checked ~ #base :is(#inv21, #fire21-l),
#fire22:checked ~ #base :is(#inv22, #fire22-l),
#fire23:checked ~ #base :is(#inv23, #fire23-l),
#fire24:checked ~ #base :is(#inv24, #fire24-l),
#fire25:checked ~ #base :is(#inv25, #fire25-l),
#fire26:checked ~ #base :is(#inv26, #fire26-l),
#fire27:checked ~ #base :is(#inv27, #fire27-l),
#fire28:checked ~ #base :is(#inv28, #fire28-l),
#fire29:checked ~ #base :is(#inv29, #fire29-l),
#fire30:checked ~ #base :is(#inv30, #fire30-l),
#fire31:checked ~ #base :is(#inv31, #fire31-l),
#fire32:checked ~ #base :is(#inv32, #fire32-l),
#fire33:checked ~ #base :is(#inv33, #fire33-l),
#fire34:checked ~ #base :is(#inv34, #fire34-l),
#fire35:checked ~ #base :is(#inv35, #fire35-l),
#fire36:checked ~ #base :is(#inv36, #fire36-l),
#fire37:checked ~ #base :is(#inv37, #fire37-l),
#fire38:checked ~ #base :is(#inv38, #fire38-l),
#fire39:checked ~ #base :is(#inv39, #fire39-l) {
animation-name:shot-y;
}
-->
</STYLE>
</HEAD>
<BODY>
<BR>
<DIV ID="title">スタイルシート インベーダーっぽいゲーム</DIV>
<BR>
<FORM ID="form"></FORM>
<!-- スタート -->
<INPUT TYPE=RADIO ID="start" FORM="form">
<!-- 発射 -->
<INPUT TYPE=RADIO NAME="fire-m" ID="fire-m1" FORM="form" CLASS="fire">
<INPUT TYPE=RADIO NAME="fire-m" ID="fire-m2" FORM="form" CLASS="fire">
<INPUT TYPE=RADIO ID="fire00" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire01" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire02" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire03" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire04" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire05" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire06" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire07" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire08" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire09" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire10" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire11" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire12" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire13" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire14" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire15" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire16" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire17" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire18" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire19" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire20" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire21" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire22" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire23" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire24" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire25" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire26" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire27" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire28" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire29" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire30" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire31" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire32" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire33" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire34" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire35" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire36" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire37" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire38" FORM="form" CLASS="fire fire-h">
<INPUT TYPE=RADIO ID="fire39" FORM="form" CLASS="fire fire-h">
<!-- リセット -->
<INPUT TYPE=RESET ID="reset" FORM="form">
<DIV ID="base">
<!-- カーソル位置取得 -->
<DIV ID="pos-x6" CLASS="pos-x" STYLE="left:12px"></DIV>
<DIV ID="pos-x7" CLASS="pos-x" STYLE="left:14px"></DIV>
<DIV ID="pos-x8" CLASS="pos-x" STYLE="left:16px"></DIV>
<DIV ID="pos-x9" CLASS="pos-x" STYLE="left:18px"></DIV>
<DIV ID="pos-x10" CLASS="pos-x" STYLE="left:20px"></DIV>
<DIV ID="pos-x11" CLASS="pos-x" STYLE="left:22px"></DIV>
<DIV ID="pos-x12" CLASS="pos-x" STYLE="left:24px"></DIV>
<DIV ID="pos-x13" CLASS="pos-x" STYLE="left:26px"></DIV>
<DIV ID="pos-x14" CLASS="pos-x" STYLE="left:28px"></DIV>
<DIV ID="pos-x15" CLASS="pos-x" STYLE="left:30px"></DIV>
<DIV ID="pos-x16" CLASS="pos-x" STYLE="left:32px"></DIV>
<DIV ID="pos-x17" CLASS="pos-x" STYLE="left:34px"></DIV>
<DIV ID="pos-x18" CLASS="pos-x" STYLE="left:36px"></DIV>
<DIV ID="pos-x19" CLASS="pos-x" STYLE="left:38px"></DIV>
<DIV ID="pos-x20" CLASS="pos-x" STYLE="left:40px"></DIV>
<DIV ID="pos-x21" CLASS="pos-x" STYLE="left:42px"></DIV>
<DIV ID="pos-x22" CLASS="pos-x" STYLE="left:44px"></DIV>
<DIV ID="pos-x23" CLASS="pos-x" STYLE="left:46px"></DIV>
<DIV ID="pos-x24" CLASS="pos-x" STYLE="left:48px"></DIV>
<DIV ID="pos-x25" CLASS="pos-x" STYLE="left:50px"></DIV>
<DIV ID="pos-x26" CLASS="pos-x" STYLE="left:52px"></DIV>
<DIV ID="pos-x27" CLASS="pos-x" STYLE="left:54px"></DIV>
<DIV ID="pos-x28" CLASS="pos-x" STYLE="left:56px"></DIV>
<DIV ID="pos-x29" CLASS="pos-x" STYLE="left:58px"></DIV>
<DIV ID="pos-x30" CLASS="pos-x" STYLE="left:60px"></DIV>
<DIV ID="pos-x31" CLASS="pos-x" STYLE="left:62px"></DIV>
<DIV ID="pos-x32" CLASS="pos-x" STYLE="left:64px"></DIV>
<DIV ID="pos-x33" CLASS="pos-x" STYLE="left:66px"></DIV>
<DIV ID="pos-x34" CLASS="pos-x" STYLE="left:68px"></DIV>
<DIV ID="pos-x35" CLASS="pos-x" STYLE="left:70px"></DIV>
<DIV ID="pos-x36" CLASS="pos-x" STYLE="left:72px"></DIV>
<DIV ID="pos-x37" CLASS="pos-x" STYLE="left:74px"></DIV>
<DIV ID="pos-x38" CLASS="pos-x" STYLE="left:76px"></DIV>
<DIV ID="pos-x39" CLASS="pos-x" STYLE="left:78px"></DIV>
<DIV ID="pos-x40" CLASS="pos-x" STYLE="left:80px"></DIV>
<DIV ID="pos-x41" CLASS="pos-x" STYLE="left:82px"></DIV>
<DIV ID="pos-x42" CLASS="pos-x" STYLE="left:84px"></DIV>
<DIV ID="pos-x43" CLASS="pos-x" STYLE="left:86px"></DIV>
<DIV ID="pos-x44" CLASS="pos-x" STYLE="left:88px"></DIV>
<DIV ID="pos-x45" CLASS="pos-x" STYLE="left:90px"></DIV>
<DIV ID="pos-x46" CLASS="pos-x" STYLE="left:92px"></DIV>
<DIV ID="pos-x47" CLASS="pos-x" STYLE="left:94px"></DIV>
<DIV ID="pos-x48" CLASS="pos-x" STYLE="left:96px"></DIV>
<DIV ID="pos-x49" CLASS="pos-x" STYLE="left:98px"></DIV>
<DIV ID="pos-x50" CLASS="pos-x" STYLE="left:100px"></DIV>
<DIV ID="pos-x51" CLASS="pos-x" STYLE="left:102px"></DIV>
<DIV ID="pos-x52" CLASS="pos-x" STYLE="left:104px"></DIV>
<DIV ID="pos-x53" CLASS="pos-x" STYLE="left:106px"></DIV>
<DIV ID="pos-x54" CLASS="pos-x" STYLE="left:108px"></DIV>
<DIV ID="pos-x55" CLASS="pos-x" STYLE="left:110px"></DIV>
<DIV ID="pos-x56" CLASS="pos-x" STYLE="left:112px"></DIV>
<DIV ID="pos-x57" CLASS="pos-x" STYLE="left:114px"></DIV>
<DIV ID="pos-x58" CLASS="pos-x" STYLE="left:116px"></DIV>
<DIV ID="pos-x59" CLASS="pos-x" STYLE="left:118px"></DIV>
<DIV ID="pos-x60" CLASS="pos-x" STYLE="left:120px"></DIV>
<DIV ID="pos-x61" CLASS="pos-x" STYLE="left:122px"></DIV>
<DIV ID="pos-x62" CLASS="pos-x" STYLE="left:124px"></DIV>
<DIV ID="pos-x63" CLASS="pos-x" STYLE="left:126px"></DIV>
<DIV ID="pos-x64" CLASS="pos-x" STYLE="left:128px"></DIV>
<DIV ID="pos-x65" CLASS="pos-x" STYLE="left:130px"></DIV>
<DIV ID="pos-x66" CLASS="pos-x" STYLE="left:132px"></DIV>
<DIV ID="pos-x67" CLASS="pos-x" STYLE="left:134px"></DIV>
<DIV ID="pos-x68" CLASS="pos-x" STYLE="left:136px"></DIV>
<DIV ID="pos-x69" CLASS="pos-x" STYLE="left:138px"></DIV>
<DIV ID="pos-x70" CLASS="pos-x" STYLE="left:140px"></DIV>
<DIV ID="pos-x71" CLASS="pos-x" STYLE="left:142px"></DIV>
<DIV ID="pos-x72" CLASS="pos-x" STYLE="left:144px"></DIV>
<DIV ID="pos-x73" CLASS="pos-x" STYLE="left:146px"></DIV>
<DIV ID="pos-x74" CLASS="pos-x" STYLE="left:148px"></DIV>
<DIV ID="pos-x75" CLASS="pos-x" STYLE="left:150px"></DIV>
<DIV ID="pos-x76" CLASS="pos-x" STYLE="left:152px"></DIV>
<DIV ID="pos-x77" CLASS="pos-x" STYLE="left:154px"></DIV>
<DIV ID="pos-x78" CLASS="pos-x" STYLE="left:156px"></DIV>
<DIV ID="pos-x79" CLASS="pos-x" STYLE="left:158px"></DIV>
<DIV ID="pos-x80" CLASS="pos-x" STYLE="left:160px"></DIV>
<DIV ID="pos-x81" CLASS="pos-x" STYLE="left:162px"></DIV>
<DIV ID="pos-x82" CLASS="pos-x" STYLE="left:164px"></DIV>
<DIV ID="pos-x83" CLASS="pos-x" STYLE="left:166px"></DIV>
<DIV ID="pos-x84" CLASS="pos-x" STYLE="left:168px"></DIV>
<DIV ID="pos-x85" CLASS="pos-x" STYLE="left:170px"></DIV>
<DIV ID="pos-x86" CLASS="pos-x" STYLE="left:172px"></DIV>
<DIV ID="pos-x87" CLASS="pos-x" STYLE="left:174px"></DIV>
<DIV ID="pos-x88" CLASS="pos-x" STYLE="left:176px"></DIV>
<DIV ID="pos-x89" CLASS="pos-x" STYLE="left:178px"></DIV>
<DIV ID="pos-x90" CLASS="pos-x" STYLE="left:180px"></DIV>
<DIV ID="pos-x91" CLASS="pos-x" STYLE="left:182px"></DIV>
<DIV ID="pos-x92" CLASS="pos-x" STYLE="left:184px"></DIV>
<DIV ID="pos-x93" CLASS="pos-x" STYLE="left:186px"></DIV>
<DIV ID="pos-x94" CLASS="pos-x" STYLE="left:188px"></DIV>
<DIV ID="pos-x95" CLASS="pos-x" STYLE="left:190px"></DIV>
<DIV ID="pos-x96" CLASS="pos-x" STYLE="left:192px"></DIV>
<DIV ID="pos-x97" CLASS="pos-x" STYLE="left:194px"></DIV>
<DIV ID="pos-x98" CLASS="pos-x" STYLE="left:196px"></DIV>
<DIV ID="pos-x99" CLASS="pos-x" STYLE="left:198px"></DIV>
<DIV ID="pos-x100" CLASS="pos-x" STYLE="left:200px"></DIV>
<DIV ID="pos-x101" CLASS="pos-x" STYLE="left:202px"></DIV>
<DIV ID="pos-x102" CLASS="pos-x" STYLE="left:204px"></DIV>
<DIV ID="pos-x103" CLASS="pos-x" STYLE="left:206px"></DIV>
<DIV ID="pos-x104" CLASS="pos-x" STYLE="left:208px"></DIV>
<DIV ID="pos-x105" CLASS="pos-x" STYLE="left:210px"></DIV>
<DIV ID="pos-x106" CLASS="pos-x" STYLE="left:212px"></DIV>
<DIV ID="pos-x107" CLASS="pos-x" STYLE="left:214px"></DIV>
<DIV ID="pos-x108" CLASS="pos-x" STYLE="left:216px"></DIV>
<DIV ID="pos-x109" CLASS="pos-x" STYLE="left:218px"></DIV>
<DIV ID="pos-x110" CLASS="pos-x" STYLE="left:220px"></DIV>
<DIV ID="pos-x111" CLASS="pos-x" STYLE="left:222px"></DIV>
<DIV ID="pos-x112" CLASS="pos-x" STYLE="left:224px"></DIV>
<DIV ID="pos-x113" CLASS="pos-x" STYLE="left:226px"></DIV>
<DIV ID="pos-x114" CLASS="pos-x" STYLE="left:228px"></DIV>
<DIV ID="pos-x115" CLASS="pos-x" STYLE="left:230px"></DIV>
<DIV ID="pos-x116" CLASS="pos-x" STYLE="left:232px"></DIV>
<DIV ID="pos-x117" CLASS="pos-x" STYLE="left:234px"></DIV>
<DIV ID="pos-x118" CLASS="pos-x" STYLE="left:236px"></DIV>
<DIV ID="pos-x119" CLASS="pos-x" STYLE="left:238px"></DIV>
<DIV ID="pos-x120" CLASS="pos-x" STYLE="left:240px"></DIV>
<DIV ID="pos-x121" CLASS="pos-x" STYLE="left:242px"></DIV>
<DIV ID="pos-x122" CLASS="pos-x" STYLE="left:244px"></DIV>
<DIV ID="pos-x123" CLASS="pos-x" STYLE="left:246px"></DIV>
<DIV ID="pos-x124" CLASS="pos-x" STYLE="left:248px"></DIV>
<DIV ID="pos-x125" CLASS="pos-x" STYLE="left:250px"></DIV>
<DIV ID="pos-x126" CLASS="pos-x" STYLE="left:252px"></DIV>
<DIV ID="pos-x127" CLASS="pos-x" STYLE="left:254px"></DIV>
<DIV ID="pos-x128" CLASS="pos-x" STYLE="left:256px"></DIV>
<DIV ID="pos-x129" CLASS="pos-x" STYLE="left:258px"></DIV>
<DIV ID="pos-x130" CLASS="pos-x" STYLE="left:260px"></DIV>
<DIV ID="pos-x131" CLASS="pos-x" STYLE="left:262px"></DIV>
<DIV ID="pos-x132" CLASS="pos-x" STYLE="left:264px"></DIV>
<DIV ID="pos-x133" CLASS="pos-x" STYLE="left:266px"></DIV>
<DIV ID="pos-x134" CLASS="pos-x" STYLE="left:268px"></DIV>
<DIV ID="pos-x135" CLASS="pos-x" STYLE="left:270px"></DIV>
<DIV ID="pos-x136" CLASS="pos-x" STYLE="left:272px"></DIV>
<DIV ID="pos-x137" CLASS="pos-x" STYLE="left:274px"></DIV>
<DIV ID="pos-x138" CLASS="pos-x" STYLE="left:276px"></DIV>
<DIV ID="pos-x139" CLASS="pos-x" STYLE="left:278px"></DIV>
<DIV ID="pos-x140" CLASS="pos-x" STYLE="left:280px"></DIV>
<DIV ID="pos-x141" CLASS="pos-x" STYLE="left:282px"></DIV>
<DIV ID="pos-x142" CLASS="pos-x" STYLE="left:284px"></DIV>
<DIV ID="pos-x143" CLASS="pos-x" STYLE="left:286px"></DIV>
<DIV ID="pos-x144" CLASS="pos-x" STYLE="left:288px"></DIV>
<DIV ID="pos-x145" CLASS="pos-x" STYLE="left:290px"></DIV>
<DIV ID="pos-x146" CLASS="pos-x" STYLE="left:292px"></DIV>
<DIV ID="pos-x147" CLASS="pos-x" STYLE="left:294px"></DIV>
<DIV ID="pos-x148" CLASS="pos-x" STYLE="left:296px"></DIV>
<DIV ID="pos-x149" CLASS="pos-x" STYLE="left:298px"></DIV>
<DIV ID="pos-x150" CLASS="pos-x" STYLE="left:300px"></DIV>
<DIV ID="pos-x151" CLASS="pos-x" STYLE="left:302px"></DIV>
<DIV ID="pos-x152" CLASS="pos-x" STYLE="left:304px"></DIV>
<DIV ID="pos-x153" CLASS="pos-x" STYLE="left:306px"></DIV>
<DIV ID="pos-x154" CLASS="pos-x" STYLE="left:308px"></DIV>
<DIV ID="pos-x155" CLASS="pos-x" STYLE="left:310px"></DIV>
<DIV ID="pos-x156" CLASS="pos-x" STYLE="left:312px"></DIV>
<DIV ID="pos-x157" CLASS="pos-x" STYLE="left:314px"></DIV>
<DIV ID="pos-x158" CLASS="pos-x" STYLE="left:316px"></DIV>
<DIV ID="pos-x159" CLASS="pos-x" STYLE="left:318px"></DIV>
<DIV ID="pos-x160" CLASS="pos-x" STYLE="left:320px"></DIV>
<DIV ID="pos-x161" CLASS="pos-x" STYLE="left:322px"></DIV>
<DIV ID="pos-x162" CLASS="pos-x" STYLE="left:324px"></DIV>
<DIV ID="pos-x163" CLASS="pos-x" STYLE="left:326px"></DIV>
<DIV ID="pos-x164" CLASS="pos-x" STYLE="left:328px"></DIV>
<DIV ID="pos-x165" CLASS="pos-x" STYLE="left:330px"></DIV>
<DIV ID="pos-x166" CLASS="pos-x" STYLE="left:332px"></DIV>
<DIV ID="pos-x167" CLASS="pos-x" STYLE="left:334px"></DIV>
<DIV ID="pos-x168" CLASS="pos-x" STYLE="left:336px"></DIV>
<DIV ID="pos-x169" CLASS="pos-x" STYLE="left:338px"></DIV>
<DIV ID="pos-x170" CLASS="pos-x" STYLE="left:340px"></DIV>
<DIV ID="pos-x171" CLASS="pos-x" STYLE="left:342px"></DIV>
<DIV ID="pos-x172" CLASS="pos-x" STYLE="left:344px"></DIV>
<DIV ID="pos-x173" CLASS="pos-x" STYLE="left:346px"></DIV>
<DIV ID="pos-x174" CLASS="pos-x" STYLE="left:348px"></DIV>
<DIV ID="pos-l"></DIV>
<DIV ID="pos-r"></DIV>
<DIV ID="logic1">
<!-- 発射 -->
<DIV ID="logic2">
<LABEL ID="fire-m1-l" FOR="fire-m1" CLASS="fire-l"></LABEL>
<LABEL ID="fire-m2-l" FOR="fire-m2" CLASS="fire-l"></LABEL>
<LABEL ID="fire00-l" FOR="fire00" CLASS="fire-l fire-h-l" STYLE="--iy:0; --ix:0"></LABEL>
<LABEL ID="fire01-l" FOR="fire01" CLASS="fire-l fire-h-l" STYLE="--iy:0; --ix:1"></LABEL>
<LABEL ID="fire02-l" FOR="fire02" CLASS="fire-l fire-h-l" STYLE="--iy:0; --ix:2"></LABEL>
<LABEL ID="fire03-l" FOR="fire03" CLASS="fire-l fire-h-l" STYLE="--iy:0; --ix:3"></LABEL>
<LABEL ID="fire04-l" FOR="fire04" CLASS="fire-l fire-h-l" STYLE="--iy:0; --ix:4"></LABEL>
<LABEL ID="fire05-l" FOR="fire05" CLASS="fire-l fire-h-l" STYLE="--iy:0; --ix:5"></LABEL>
<LABEL ID="fire06-l" FOR="fire06" CLASS="fire-l fire-h-l" STYLE="--iy:0; --ix:6"></LABEL>
<LABEL ID="fire07-l" FOR="fire07" CLASS="fire-l fire-h-l" STYLE="--iy:0; --ix:7"></LABEL>
<LABEL ID="fire08-l" FOR="fire08" CLASS="fire-l fire-h-l" STYLE="--iy:0; --ix:8"></LABEL>
<LABEL ID="fire09-l" FOR="fire09" CLASS="fire-l fire-h-l" STYLE="--iy:0; --ix:9"></LABEL>
<LABEL ID="fire10-l" FOR="fire10" CLASS="fire-l fire-h-l" STYLE="--iy:0; --ix:0"></LABEL>
<LABEL ID="fire11-l" FOR="fire11" CLASS="fire-l fire-h-l" STYLE="--iy:1; --ix:1"></LABEL>
<LABEL ID="fire12-l" FOR="fire12" CLASS="fire-l fire-h-l" STYLE="--iy:1; --ix:2"></LABEL>
<LABEL ID="fire13-l" FOR="fire13" CLASS="fire-l fire-h-l" STYLE="--iy:1; --ix:3"></LABEL>
<LABEL ID="fire14-l" FOR="fire14" CLASS="fire-l fire-h-l" STYLE="--iy:1; --ix:4"></LABEL>
<LABEL ID="fire15-l" FOR="fire15" CLASS="fire-l fire-h-l" STYLE="--iy:1; --ix:5"></LABEL>
<LABEL ID="fire16-l" FOR="fire16" CLASS="fire-l fire-h-l" STYLE="--iy:1; --ix:6"></LABEL>
<LABEL ID="fire17-l" FOR="fire17" CLASS="fire-l fire-h-l" STYLE="--iy:1; --ix:7"></LABEL>
<LABEL ID="fire18-l" FOR="fire18" CLASS="fire-l fire-h-l" STYLE="--iy:1; --ix:8"></LABEL>
<LABEL ID="fire19-l" FOR="fire19" CLASS="fire-l fire-h-l" STYLE="--iy:1; --ix:9"></LABEL>
<LABEL ID="fire20-l" FOR="fire20" CLASS="fire-l fire-h-l" STYLE="--iy:1; --ix:0"></LABEL>
<LABEL ID="fire21-l" FOR="fire21" CLASS="fire-l fire-h-l" STYLE="--iy:2; --ix:1"></LABEL>
<LABEL ID="fire22-l" FOR="fire22" CLASS="fire-l fire-h-l" STYLE="--iy:2; --ix:2"></LABEL>
<LABEL ID="fire23-l" FOR="fire23" CLASS="fire-l fire-h-l" STYLE="--iy:2; --ix:3"></LABEL>
<LABEL ID="fire24-l" FOR="fire24" CLASS="fire-l fire-h-l" STYLE="--iy:2; --ix:4"></LABEL>
<LABEL ID="fire25-l" FOR="fire25" CLASS="fire-l fire-h-l" STYLE="--iy:2; --ix:5"></LABEL>
<LABEL ID="fire26-l" FOR="fire26" CLASS="fire-l fire-h-l" STYLE="--iy:2; --ix:6"></LABEL>
<LABEL ID="fire27-l" FOR="fire27" CLASS="fire-l fire-h-l" STYLE="--iy:2; --ix:7"></LABEL>
<LABEL ID="fire28-l" FOR="fire28" CLASS="fire-l fire-h-l" STYLE="--iy:2; --ix:8"></LABEL>
<LABEL ID="fire29-l" FOR="fire29" CLASS="fire-l fire-h-l" STYLE="--iy:2; --ix:9"></LABEL>
<LABEL ID="fire30-l" FOR="fire30" CLASS="fire-l fire-h-l" STYLE="--iy:3; --ix:0"></LABEL>
<LABEL ID="fire31-l" FOR="fire31" CLASS="fire-l fire-h-l" STYLE="--iy:3; --ix:1"></LABEL>
<LABEL ID="fire32-l" FOR="fire32" CLASS="fire-l fire-h-l" STYLE="--iy:3; --ix:2"></LABEL>
<LABEL ID="fire33-l" FOR="fire33" CLASS="fire-l fire-h-l" STYLE="--iy:3; --ix:3"></LABEL>
<LABEL ID="fire34-l" FOR="fire34" CLASS="fire-l fire-h-l" STYLE="--iy:3; --ix:4"></LABEL>
<LABEL ID="fire35-l" FOR="fire35" CLASS="fire-l fire-h-l" STYLE="--iy:3; --ix:5"></LABEL>
<LABEL ID="fire36-l" FOR="fire36" CLASS="fire-l fire-h-l" STYLE="--iy:3; --ix:6"></LABEL>
<LABEL ID="fire37-l" FOR="fire37" CLASS="fire-l fire-h-l" STYLE="--iy:3; --ix:7"></LABEL>
<LABEL ID="fire38-l" FOR="fire38" CLASS="fire-l fire-h-l" STYLE="--iy:3; --ix:8"></LABEL>
<LABEL ID="fire39-l" FOR="fire39" CLASS="fire-l fire-h-l" STYLE="--iy:3; --ix:9"></LABEL>
</DIV>
<DIV ID="logic3">
<DIV ID="logic4">
<DIV ID="score">SCORE</DIV>
<!-- インベーダー -->
<DIV ID="clip">
<DIV ID="inv00" CLASS="inv" STYLE="--iy:0; --ix:0"></DIV>
<DIV ID="inv01" CLASS="inv" STYLE="--iy:0; --ix:1"></DIV>
<DIV ID="inv02" CLASS="inv" STYLE="--iy:0; --ix:2"></DIV>
<DIV ID="inv03" CLASS="inv" STYLE="--iy:0; --ix:3"></DIV>
<DIV ID="inv04" CLASS="inv" STYLE="--iy:0; --ix:4"></DIV>
<DIV ID="inv05" CLASS="inv" STYLE="--iy:0; --ix:5"></DIV>
<DIV ID="inv06" CLASS="inv" STYLE="--iy:0; --ix:6"></DIV>
<DIV ID="inv07" CLASS="inv" STYLE="--iy:0; --ix:7"></DIV>
<DIV ID="inv08" CLASS="inv" STYLE="--iy:0; --ix:8"></DIV>
<DIV ID="inv09" CLASS="inv" STYLE="--iy:0; --ix:9"></DIV>
<DIV ID="inv10" CLASS="inv" STYLE="--iy:1; --ix:0"></DIV>
<DIV ID="inv11" CLASS="inv" STYLE="--iy:1; --ix:1"></DIV>
<DIV ID="inv12" CLASS="inv" STYLE="--iy:1; --ix:2"></DIV>
<DIV ID="inv13" CLASS="inv" STYLE="--iy:1; --ix:3"></DIV>
<DIV ID="inv14" CLASS="inv" STYLE="--iy:1; --ix:4"></DIV>
<DIV ID="inv15" CLASS="inv" STYLE="--iy:1; --ix:5"></DIV>
<DIV ID="inv16" CLASS="inv" STYLE="--iy:1; --ix:6"></DIV>
<DIV ID="inv17" CLASS="inv" STYLE="--iy:1; --ix:7"></DIV>
<DIV ID="inv18" CLASS="inv" STYLE="--iy:1; --ix:8"></DIV>
<DIV ID="inv19" CLASS="inv" STYLE="--iy:1; --ix:9"></DIV>
<DIV ID="inv20" CLASS="inv" STYLE="--iy:2; --ix:0"></DIV>
<DIV ID="inv21" CLASS="inv" STYLE="--iy:2; --ix:1"></DIV>
<DIV ID="inv22" CLASS="inv" STYLE="--iy:2; --ix:2"></DIV>
<DIV ID="inv23" CLASS="inv" STYLE="--iy:2; --ix:3"></DIV>
<DIV ID="inv24" CLASS="inv" STYLE="--iy:2; --ix:4"></DIV>
<DIV ID="inv25" CLASS="inv" STYLE="--iy:2; --ix:5"></DIV>
<DIV ID="inv26" CLASS="inv" STYLE="--iy:2; --ix:6"></DIV>
<DIV ID="inv27" CLASS="inv" STYLE="--iy:2; --ix:7"></DIV>
<DIV ID="inv28" CLASS="inv" STYLE="--iy:2; --ix:8"></DIV>
<DIV ID="inv29" CLASS="inv" STYLE="--iy:2; --ix:9"></DIV>
<DIV ID="inv30" CLASS="inv" STYLE="--iy:3; --ix:0"></DIV>
<DIV ID="inv31" CLASS="inv" STYLE="--iy:3; --ix:1"></DIV>
<DIV ID="inv32" CLASS="inv" STYLE="--iy:3; --ix:2"></DIV>
<DIV ID="inv33" CLASS="inv" STYLE="--iy:3; --ix:3"></DIV>
<DIV ID="inv34" CLASS="inv" STYLE="--iy:3; --ix:4"></DIV>
<DIV ID="inv35" CLASS="inv" STYLE="--iy:3; --ix:5"></DIV>
<DIV ID="inv36" CLASS="inv" STYLE="--iy:3; --ix:6"></DIV>
<DIV ID="inv37" CLASS="inv" STYLE="--iy:3; --ix:7"></DIV>
<DIV ID="inv38" CLASS="inv" STYLE="--iy:3; --ix:8"></DIV>
<DIV ID="inv39" CLASS="inv" STYLE="--iy:3; --ix:9"></DIV>
</DIV>
<!-- インベーダーの弾 -->
<DIV ID="inv-shot0" CLASS="inv-shot"></DIV>
<DIV ID="inv-shot1" CLASS="inv-shot"></DIV>
<DIV ID="inv-shot2" CLASS="inv-shot"></DIV>
<DIV ID="inv-shot3" CLASS="inv-shot"></DIV>
<DIV ID="inv-shot4" CLASS="inv-shot"></DIV>
<DIV ID="inv-shot5" CLASS="inv-shot"></DIV>
<DIV ID="inv-shot6" CLASS="inv-shot"></DIV>
<DIV ID="inv-shot7" CLASS="inv-shot"></DIV>
<DIV ID="inv-shot8" CLASS="inv-shot"></DIV>
<DIV ID="inv-shot9" CLASS="inv-shot"></DIV>
<!-- 砲 -->
<DIV ID="cannon">
<DIV ID="cannon-1"></DIV>
<DIV ID="cannon-2"></DIV>
</DIV>
<!-- 命中しない弾 -->
<DIV ID="shot-m"></DIV>
<!-- 弾の爆発 -->
<DIV ID="explosion"></DIV>
<!-- 被弾 -->
<DIV ID="destroyed"></DIV>
<DIV ID="lose">
<SPAN ID="lose-1">G</SPAN><SPAN ID="lose-2">A</SPAN><SPAN ID="lose-3">M</SPAN><SPAN ID="lose-4">E</SPAN>
<SPAN ID="lose-5">O</SPAN><SPAN ID="lose-6">V</SPAN><SPAN ID="lose-7">E</SPAN><SPAN ID="lose-8">R</SPAN>
</DIV>
<DIV ID="mask"></DIV>
<LABEL ID="start-l" FOR="start">スタート</LABEL>
<LABEL ID="reset-l" FOR="reset">リセット</LABEL>
</DIV>
</DIV>
</DIV>
</DIV>
</BODY>
</HTML>
|