diff --git a/html/ore_.css b/html/ore_.css index 3527fda..bbfb681 100644 --- a/html/ore_.css +++ b/html/ore_.css @@ -1,33 +1,191 @@ -body { font-size: 12px; font-family: "MS Pゴシック", "Osaka"} -.moji1 { font-size: 14px; font-style: normal; font-weight: 400; color: #bbbbcc} -.moji2 { font-size: 12px; font-style: normal; font-weight: 400; color: #bbbbcc} -.button1{ - font-family: "MS Pゴシック", "Osaka"; font-size: 14px; font-weight: 400; color: #bbbbcc; - border: 4px #666699 ridge; cursor: hand; background-color: #111122; - width:160px; height:28px; +@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700&family=Inter:wght@300;400;500;600&display=swap'); + +:root { + --bg-color: #0b0b1a; + --card-bg: rgba(22, 22, 43, 0.65); + --border-color: rgba(99, 99, 153, 0.35); + --text-primary: #f0f0f7; + --text-secondary: #aaaab9; + --accent-color: #7b66ff; + --accent-glow: rgba(123, 102, 255, 0.4); } -.button2{ - font-family: "MS Pゴシック", "Osaka"; font-size: 14px; font-weight: 400; color: #bbbbcc; - border: 2px #9999CC ridge; cursor: hand; background-color: #222244; - height:24px; + +body { + background-color: var(--bg-color); + background-image: + radial-gradient(at 0% 0%, rgba(20, 20, 60, 0.5) 0px, transparent 50%), + radial-gradient(at 100% 100%, rgba(30, 20, 50, 0.4) 0px, transparent 50%); + color: var(--text-primary); + font-family: 'Inter', 'Outfit', system-ui, sans-serif; + font-size: 14px; + margin: 0; + padding: 0; + min-height: 100vh; + display: flex; + justify-content: center; + align-items: flex-start; } -.button3{ - font-family: "MS Pゴシック", "Osaka"; font-size: 12px; font-weight: 400; color: #9999bb; - border: 1px #9999CC solid; cursor: hand; background-color: #222244; - height:20px; + +/* Container & Grid layout */ +.game-container { + width: 100%; + max-width: 960px; + margin: 20px auto; + padding: 0 15px; + box-sizing: border-box; } -select { - font-family: "MS Pゴシック", "Osaka"; font-size: 14px; font-weight: 400; color: #ccccee; - cursor: hand; background-color: #333366; - width:160px; height:28px; + +.game-layout { + display: grid; + grid-template-columns: 1fr 240px; + gap: 20px; + margin-top: 15px; } -td { font-size:11pt;color:#222222} -.bar { - scrollbar-face-color: #333333; - scrollbar-highlight-color: #333333; - scrollbar-shadow-color: #000000; - scrollbar-arrow-color: #ffffff; - scrollbar-base-color: #000000; - scrollbar-3d-light-color: #ffffff; - scrollbar-dark-shadow-color: #000000 + +@media (max-width: 768px) { + .game-layout { + grid-template-columns: 1fr; + } +} + +/* Card components */ +.card { + background: var(--card-bg); + border: 1px solid var(--border-color); + border-radius: 12px; + padding: 20px; + box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37); + backdrop-filter: blur(8px); + -webkit-backdrop-filter: blur(8px); + margin-bottom: 20px; +} + +.card-title { + font-family: 'Outfit', sans-serif; + font-size: 18px; + font-weight: 600; + color: #ffffff; + margin-bottom: 15px; + border-bottom: 1px solid var(--border-color); + padding-bottom: 10px; + display: flex; + align-items: center; + justify-content: space-between; +} + +/* Legacy fonts overrides */ +tt, pre { + font-family: 'Inter', system-ui, sans-serif; + font-size: 14px; + line-height: 1.6; +} + +.moji1 { font-size: 14px; color: var(--text-primary); } +.moji2 { font-size: 12px; color: var(--text-secondary); } + +/* Buttons & Inputs */ +.button1, .button2, .button3, input[type="submit"], input[type="button"], input[type="reset"] { + font-family: 'Outfit', sans-serif; + font-size: 14px; + font-weight: 500; + color: #ffffff; + background-color: var(--accent-color); + border: 1px solid rgba(255, 255, 255, 0.1); + border-radius: 8px; + padding: 8px 16px; + cursor: pointer; + transition: all 0.3s ease; + box-shadow: 0 4px 12px var(--accent-glow); + display: inline-block; + text-align: center; + box-sizing: border-box; +} + +.button1 { + width: 100%; + height: auto; + margin-bottom: 10px; +} + +.button1:hover, .button2:hover, .button3:hover, input[type="submit"]:hover, input[type="button"]:hover { + background-color: #644eff; + box-shadow: 0 6px 16px rgba(123, 102, 255, 0.6); + transform: translateY(-2px); +} + +select { + font-family: 'Inter', sans-serif; + font-size: 14px; + color: #ffffff; + background-color: #1a1a3a; + border: 1px solid var(--border-color); + border-radius: 8px; + padding: 8px 12px; + width: 100%; + height: auto; + cursor: pointer; + box-sizing: border-box; +} + +input[type="text"], input[type="password"] { + background-color: rgba(10, 10, 25, 0.6); + border: 1px solid var(--border-color); + border-radius: 6px; + padding: 6px 10px; + color: #ffffff; + font-family: 'Inter', sans-serif; +} + +/* Stat progress bars */ +img[src*="spc.gif"] { + display: inline-block !important; + height: 10px !important; + border-radius: 5px; + vertical-align: middle; + margin: 0 8px; + box-shadow: 0 0 6px rgba(255, 255, 255, 0.2); +} + +/* Header illustration */ +.menu-illustration { + width: 100%; + max-height: 200px; + object-fit: cover; + border-radius: 10px; + margin-bottom: 20px; + border: 1px solid var(--border-color); + box-shadow: 0 4px 15px rgba(0,0,0,0.3); +} + +.title-section { + display: flex; + justify-content: space-between; + align-items: center; + flex-wrap: wrap; + margin-bottom: 15px; + border-bottom: 1px solid var(--border-color); + padding-bottom: 10px; +} + +.title-images { + display: flex; + align-items: center; + gap: 15px; +} + +.title-images img { + max-height: 50px; +} + +hr { + border: 0; + height: 1px; + background-image: linear-gradient(to right, rgba(99, 99, 153, 0), rgba(99, 99, 153, 0.75), rgba(99, 99, 153, 0)); + margin: 20px 0; +} + +/* Quick fixes for alignment */ +center { + display: block; + width: 100%; } diff --git a/imgs/ability.png b/imgs/ability.png new file mode 100644 index 0000000..f27949b Binary files /dev/null and b/imgs/ability.png differ diff --git a/imgs/changes.png b/imgs/changes.png new file mode 100644 index 0000000..dff3b60 Binary files /dev/null and b/imgs/changes.png differ diff --git a/imgs/infomation.png b/imgs/infomation.png new file mode 100644 index 0000000..3c395ef Binary files /dev/null and b/imgs/infomation.png differ diff --git a/imgs/lobby.png b/imgs/lobby.png new file mode 100644 index 0000000..11d755c Binary files /dev/null and b/imgs/lobby.png differ diff --git a/imgs/mission.png b/imgs/mission.png new file mode 100644 index 0000000..0c4d5e1 Binary files /dev/null and b/imgs/mission.png differ diff --git a/imgs/politics.png b/imgs/politics.png new file mode 100644 index 0000000..e1f59da Binary files /dev/null and b/imgs/politics.png differ diff --git a/imgs/shop.png b/imgs/shop.png new file mode 100644 index 0000000..53c85ab Binary files /dev/null and b/imgs/shop.png differ diff --git a/imgs/subdue.png b/imgs/subdue.png new file mode 100644 index 0000000..a814265 Binary files /dev/null and b/imgs/subdue.png differ diff --git a/imgs/training.png b/imgs/training.png new file mode 100644 index 0000000..aa76547 Binary files /dev/null and b/imgs/training.png differ diff --git a/imgs/war.png b/imgs/war.png new file mode 100644 index 0000000..d2dbb7d Binary files /dev/null and b/imgs/war.png differ diff --git a/inc/ore_sub-base-p1_pc.cgi b/inc/ore_sub-base-p1_pc.cgi index 10fe497..89b54b4 100755 --- a/inc/ore_sub-base-p1_pc.cgi +++ b/inc/ore_sub-base-p1_pc.cgi @@ -13,133 +13,110 @@ #------------------------------------------------------------------------------- # 통상 표시용 sub layout_flag_0{ + my @metu=('','(멸망)'); + my $reset_time_out = int(($set-$time)/(3600*24)); + print < - - +
+ +
EOM if($log){ - print <<"EOM"; - - - - -
- -$log - -
- -
+ print < +
행동 로그
+
$log
+
EOM -} + } - my @metu=('','(멸망)'); - my $reset_time_out = int(($set-$time)/(3600*24)); - print <<"EOM"; - - - - -
- -$bmes - -
+ print < +
공지사항
+
$bmes
+
-
+
+
국가 정세
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 $cmp[1]$metu[$ce1]$cmp[2]$metu[$ce2]$cmp[3]$metu[$ce3]$cmp[4]$metu[$ce4]$cmp[5]$metu[$ce5]
총 국력$cn1$cn2$cn3$cn4$cn5
국가 예산$cg1$cg2$cg3$cg4$cg5
총 군량$cf1$cf2$cf3$cf4$cf5
총 병사 수$cs1$cs2$cs3$cs4$cs5
소속 인원$c1/$c1a$c2/$c2a$c3/$c3a$c4/$c4a$c5/$c5a
+
+ - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 $cmp[1]$metu[$ce1]$cmp[2]$metu[$ce2]$cmp[3]$metu[$ce3]$cmp[4]$metu[$ce4]$cmp[5]$metu[$ce5]
총 국력$cn1$cn2$cn3$cn4$cn5
국가 예산$cg1$cg2$cg3$cg4$cg5
총 군량$cf1$cf2$cf3$cf4$cf5
총 병사 수$cs1$cs2$cs3$cs4$cs5
소속 인원$c1/$c1a$c2/$c2a$c3/$c3a$c4/$c4a$c5/$c5a
- -
+ +
+
+
시스템 정보
+
+   제 $goal_no 기
+   통일 기한까지 남은 시간: $reset_time_out일 +
+
- - - - - - - -
-
- System Infomation -
-
-  제 $goal_no 기
-  통일 기한까지 남은 시간: $reset_time_out일 +
+
접속자 정보
+
+ 참가 총수: $all_mem명 / 정원 $sanka명
+ 통일 국력: $data_reset  난이도: $reset_point +
+ 이전 패자: $hasya [$cmp[$hcamp]] +
+
+ -
- -
- - - - - -
-참가 총수: $all_mem명 / 정원 $sanka명
-통일 국력: $data_reset  난이도: $reset_point -
-이전 패자: $hasya [$cmp[$hcamp]] -
- - - - - EOM } diff --git a/inc/ore_sub-base_pc.cgi b/inc/ore_sub-base_pc.cgi index f3449e0..3d46899 100755 --- a/inc/ore_sub-base_pc.cgi +++ b/inc/ore_sub-base_pc.cgi @@ -20,11 +20,24 @@ sub html{ # 마우스 자동 조작 치트 격퇴 전투 시에 4/400 확률로 발동 my $no_mouse = ($no_mouse && $type eq '수행중') ? int(rand(400)) : 100 ; + # 활성화된 이미지 결정 (동적 이미지 매핑) + my $menu_img = "lobby.png"; + if ($type eq '수행' || $type eq '수행중' || $cmd == 1) { $menu_img = "training.png"; } + elsif ($type eq '내정' || $cmd == 2) { $menu_img = "politics.png"; } + elsif ($type eq '전쟁' || $type eq '전쟁중' || $cmd == 3) { $menu_img = "war.png"; } + elsif ($type eq '능력' || $cmd == 4) { $menu_img = "ability.png"; } + elsif ($type eq '사관' || $cmd == 5) { $menu_img = "changes.png"; } + elsif ($type eq '정보' || $cmd == 6) { $menu_img = "infomation.png"; } + elsif ($type eq '토벌' || $type eq '토벌 중' || $cmd == 7) { $menu_img = "subdue.png"; } + elsif ($type eq '군사' || $cmd == 8) { $menu_img = "mission.png"; } + elsif ($type eq '쇼핑' || $cmd == 20) { $menu_img = "shop.png"; } + print < + $titleh - + EOM # Javascript 자동 조작 치트 방어(frame 방어) @@ -42,137 +55,113 @@ EOM print < - -
- - - - -
-$title -
+ +
+
+
+
+ + +
+
+ + + Menu Illustration +
- - - - -
- - - - - -
-$log1 -
- -
- - - - - - - +
+ +
+ $log1 +
+ + +
$log2|; + # $log2 는 수행 등 커맨드 폼의 셀렉트 및 NEXT 버튼 + print $log2; } - print< -
-
- - + + print < + + + + + + EOM + if($no_mouse==1){ - print qq|$log2|; + print $log2; } - print< -
-
- - + + print < + + + + EOM -if(!$type && $cmd<=0){ - print <<"EOM"; - - - - - + if(!$type && $cmd<=0){ + print < + + + + + EOM -} - print <<"EOM"; - - - - - + } + + print < + + + + EOM + if($no_mouse==2){ - print qq|$log2|; + print $log2; } - print< -
-
- - -EOM - if($no_mouse>=3){ - print qq|$log2|; - } - print< - - -
- -
- - - - - -
- - - -
- - - - -
- - - -
- - - -
-
+ print < + + + + +EOM + + if($no_mouse>=3){ + print $log2; + } + + print < + EOM my($uti, $sti, $cuti, $csti) = times(); $uti += $cuti; $sti += $csti; my($cpu) = $uti + $sti; - my $disp="CPUs($cpu): User($uti) System($sti)
"; + my $disp="
CPUs($cpu): User($uti) System($sti)
"; if($layout_flag==1){ print < -
- -$log - -


diff --git a/logdata/cdata.cgi b/logdata/cdata.cgi index 2930117..36b0ac9 100755 --- a/logdata/cdata.cgi +++ b/logdata/cdata.cgi @@ -1 +1 @@ -cn1;5200,cg1;1020,cf1;7500,cs1;3700,ce1;0,c1;0,c1a;2,cn2;5900,cg2;1120,cf2;4700,cs2;3600,ce2;0,c2;0,c2a;3,cn3;4200,cg3;300,cf3;3900,cs3;2850,ce3;0,c3;0,c3a;3,cn4;3700,cg4;820,cf4;8400,cs4;4950,ce4;0,c4;0,c4a;3,cn5;4000,cg5;900,cf5;2500,cs5;2850,ce5;0,c5;0,c5a;3,set;1783861306,all_mem;0,goal_no;2,hasya;,hcamp;,ad;127.0.0.1,ht;localhost,date;6/23 8:59:44,wr_mes;긴 세월이 흘렀으나, +cn1;5200,cg1;1020,cf1;7500,cs1;3700,ce1;0,c1;0,c1a;2,cn2;5900,cg2;1120,cf2;4700,cs2;3600,ce2;0,c2;0,c2a;3,cn3;4200,cg3;300,cf3;3900,cs3;2850,ce3;0,c3;0,c3a;3,cn4;3700,cg4;820,cf4;8400,cs4;4950,ce4;0,c4;0,c4a;3,cn5;4000,cg5;900,cf5;2500,cs5;2850,ce5;0,c5;0,c5a;3,set;1783861306,all_mem;1,goal_no;2,hasya;,hcamp;,ad;127.0.0.1,ht;localhost,date;6/23 9:16:23,wr_mes;긴 세월이 흘렀으나, diff --git a/logdata/park_mem.cgi b/logdata/park_mem.cgi index e69de29..8809bf9 100755 --- a/logdata/park_mem.cgi +++ b/logdata/park_mem.cgi @@ -0,0 +1 @@ +1782172953<>테스트<>127.0.0.1<> diff --git a/ore_config.cgi b/ore_config.cgi index 9227189..49bd3a0 100755 --- a/ore_config.cgi +++ b/ore_config.cgi @@ -123,14 +123,10 @@ $kisei = 0; # 신규 등록 규제(0:없음 1:있음) # なし:PC・モバイル両対応 # pc :PC限定モード(モバイル非対応) # mv :モバイル固定モード(PC上でモバイル画面をエミュレート表示) -$mv_mode = ''; +$mv_mode = 'pc'; -# 機種別設定 -if( $ENV{'HTTP_USER_AGENT'} =~/DoCoMo/ || - $ENV{'HTTP_USER_AGENT'} =~/UP\.Browser/ || - $ENV{'HTTP_USER_AGENT'} =~/J-PHONE/ || - $ENV{'HTTP_USER_AGENT'} =~/ASTEL/ || - $ENV{'HTTP_X_JPHONE_MSNAME'} || $mv_mode eq 'mv'){ +# 기기 분류 강제 지정 (모든 환경에서 반응형 PC 레이아웃 사용) +if( 0 ){ # -- 모바일용 설정 -- $mv_mode = 'mv'; # 모바일 식별자 변경 불가 require './inc/ore_sub-base_mv.cgi';# 모바일용 베이스 루틴