사용자:유한림: 두 판 사이의 차이

리버티게임, 모두가 만들어가는 자유로운 게임
백괴게임>유한림
(사용자 문서에 넣고 두고두고 봐야 될 것들.)
 
편집 요약 없음
 
(사용자 2명의 중간 판 27개는 보이지 않습니다)
1번째 줄: 1번째 줄:
== {{|Linkget}}의 이용 ==
{{#babel:ko|en-2}}
게임을 제작하다 보면 자신이 생각했던 것을 쉽게 구현하지 못하는 경우가 허다할 것입니다. 그래서 미디어위키에서 제공하는 여러 가지 {{주석|확장 기능|추가 기능}}들을 사용해서 게임을 꾸밀수도 있습니다.


{{틀|Linkget}}은 매개변수를 사용할 수 있게 해 주는 틀입니다. 몇몇 게임을 플레이 하다보면 ?offset=숫자 같은것들이 주소에 붙어있는것을 확인할 수 있습니다. 이런 건 {{틀|CGI}}를 이용한 게임으로(참고로 구형입니다), 새로 만들어진 {{틀|Linkget}}의 기능은 이와 유사합니다.
만든 게임 유지보수하는 것만으로도 빡시네.
* {{틀|Linkget}}의 이용방법
: <nowiki>{{#urlget:var}}</nowiki> 라고 바로 쓰게 되면 주소에 쓰여 있는 var= 뒤의 값을 바로 출력합니다. 주소에 그런 게 없다면, 아무 것도 출력하지 않습니다.
: <nowiki>{{Linkget|링크에 나타날 텍스트|get=var=값}}</nowiki> 라고 바로 쓰게 되면 현재 페이지에 var의 새로운 값을 넘겨줍니다.
: <nowiki>{{Linkget|넘길 페이지|링크에 나타날 텍스트|get=var={{#urlget:var}}}}</nowiki> 라고 바로 쓰게 되면 현재 var의 값을 다른 페이지로 넘겨줍니다.
: 지금까지 계속 변수 이름으로 var라는 것을 사용해 왔는데요, var 대신 다른 문자열을 택해도 좋습니다. 여러 변수값을 넘겨주려면 <code>get=변수1=값1&변수2=값2&...</code>과 같이 쓸 수 있습니다. (여기서 변수1, 변수2, ...는 아까 썼던 var와 같은 것입니다.)


== 특수 함수 ==
== 유지보수 게임 ==
=== #ifanon, #ifblocked, #ifsysop ===
{{게임아이콘|돈벌기 게임|4|0|CGI|전체|제작자들=[[사용자:Ash|Ash]], [[사용자:유한림|유한림]]}}
사용자의 여부와 관련된 특수 함수로 #ifanon은 익명 (IP 사용자)의 여부를 알려주며, #ifblocked는 차단 당했는지의 여부를, #ifsysop는 관리자의 여부를 알려줍이다.
{{게임아이콘|인터넷전쟁|4|1|CGI|12|제작자=유한림}} <112.158.104.26 사용자의 게임을 이어받음>


<pre><nowiki>{{#ifanon: 참 | 거짓}}</nowiki></pre>
== 안 쓰는 파일 분류 방지 ==
여기서 익명일 때에는 참을, 아닐 때에는 거짓을 출력합니다.
[[파일:.jpg|1px]]
 
<!--파일:돈벌기 게임-집1.jpg|1px-->
너가 익명인가? {{#ifanon:참|거짓}}
<!--파일:돈벌기 게임-집2.jpg|1px-->
 
{{사문동결}}
이 때 #ifanon 뿐만 아니라 #ifblocked와 #ifsysop도 사용법은 같습니다.
 
=== #ifingroup ===
<nowiki>#ifingroup</nowiki>은 소속된 사용자 권한 그룹의 여부를 알려줍니다.
 
<pre><nowiki>{{#ifingroup: 그룹 | 구성원일 경우 | 구성원이 아닐 경우}}</nowiki></pre>
 
이 때 그룹에는 {{주석|autoconfirmed|자동 인증된 사용자}}, {{주석|sysop|관리자}}, {{주석|user|사용자}}, {{주석|rollback|롤백}}을 입력할 수 있습니다.
 
아래는 예제입니다.
<pre>너가 자동으로 인증된 사용자인가? {{#ifingroup:autoconfirmed|참|거짓}}</pre>
아래는 결과입니다.
너가 자동으로 인증된 사용자인가?  {{#ifingroup:autoconfirmed|참|거짓}}
 
=== #time ===
 
<nowiki>{{</nowiki>{{#if: 형식|&#32;}}'''#time''':{{#if: 형식|&#32;<tt> 형식</tt>{{#if:{{{ml|}}}||&#32;}}}}<nowiki>}}</nowiki>
<nowiki>{{</nowiki>{{#if: 형식 &#124; 시간|&#32;}}'''#time''':{{#if: 형식 &#124; 시간|&#32;<tt> 형식 &#124; 시간</tt>{{#if:{{{ml|}}}||&#32;}}}}<nowiki>}}</nowiki>
 
시간을 출력합니다.
 
{| cellpadding="6px" border=1 style="border:1px solid #C0C0C0; border-collapse:collapse;"
! 코드
! 설명
! 예시
! 현재
|--------------
| Y
| 네 자리 연도
| 예: 2006
| {{#time:Y}}
|--------------
| y
| 두 자리 연도
| 00~99,<br />예: 06=2006.
| {{#time:y}}
|--------------
| L
| 윤년일 경우
| 1이면 윤년, 0이면 평년
| {{#time:L}}
|--------------
| n
| 현재 달(앞에 0이 붙지 않음)
| 1~12
| {{#time:n}}
|--------------
| m
| 현재 달(앞에 0이 붙음)
| 01~12
| {{#time:m}}
|--------------
| M
| 줄인 달 이름
| 1~12
| {{#time:M}}
|--------------
| F
| 달 이름
| 1월~12월
| {{#time:F}}
|--------------
| t
| 각 달에 있는 날짜 수
| 28~31
| {{#time:t}}
|--------------
| j
| 현재 날(앞에 0이 붙지 않음)
| 1~31
| {{#time:j}}
|--------------
| d
| 현재 날(앞에 0이 붙음)
| 01~31
| {{#time:d}}
|--------------
| z
| 그 해부터 지난 날수(0부터 시작함)
| 0~364, 윤년일 경우 365까지
| {{#time:z}}
|--------------
| D
| 줄인 요일 이름
| 월~일
| {{#time:D}}
|--------------
| l
| 요일 이름
| 월요일~일요일
| {{#time:l}}
|--------------
| w
| 요일 숫자(미국식)
| 0(일요일)~6(토요일)
| {{#time:w}}
|--------------
| N
| 요일 숫자(ISO 8601 방식).
| 1(월요일)~7(일요일)
| {{#time:N}}
|--------------
| W
| ISO 8601 주 숫자(ISO 연도는 월요일부터 일요일까지 완전히 있어야 한 주로 치고, 첫 번째 주는 늘 1월 4일이나 역년 목요일을 포함한다.).
| 1 to 52 or 53 (depends on year)
| {{#time:W}}
|--------------
| a
| am(같은 날 01:00:00부터 12:59:59까지)이나 pm을 소문자로 나타낸다(시간 단위를 12시간제로 표시할 때 쓴다.).
| am이나 pm
| {{#time:a}}
|--------------
| A
| 위 <tt>a</tt>와 같지만, 대문자로 나타낸다.
| AM이나 PM
| {{#time:A}}
|--------------
| g
| 시간을 12시간 단위로 표기하되, 앞에 0을 붙이지 않음(1, 2자리이고 am/pm 또는 AM/PM과 같이 쓴다.).
| 1~12
| {{#time:g}}
|--------------
| h
| 시간을 12시간 단위로 표기하되, 앞에 0을 붙임(2자리이고 am/pm 또는 AM/PM과 같이 쓴다.).
| 01~12
| {{#time:h}}
|--------------
| G
| 시간을 24시간 단위로 표기하되, 앞에 0을 붙이지 않음(1자리 또는 2자리).
| 0~23
| {{#time:G}}
|--------------
| H
| 시간을 24시간 단위로 표기하되, 앞에 0을 붙임(2자리).
| 00~23
| {{#time:H}}
|--------------
| i
| 분(2자리).
| 00~59
| {{#time:i}}
|--------------
| s
| 초(2자리).
| 00~59
| {{#time:s}}
|--------------
| U
| 1970년 1월 1일 00:00:00 UTC부터 흐른 초 수.
| 0~2147483647
| {{#time:U}}
|--------------
| c
| ISO 8601 형식을 따른 날짜로, <nowiki>{{#time:Y-m-dTH:m:s{{#time:+H:m|+0 hours}}}}</nowiki>와 같다.
| fixed length string
| {{#time:c}}
|--------------
| r
| RFC 2822 형식을 따른 날짜로, <nowiki>{{#time:D, j M Y H:m:s {{#time:+H:m|+0 hours}}}}</nowiki>와 같다.
| variable length string
| {{#time:r}}
|}
 
==== 예제 ====
*{{ft|#time|<nowiki>Y년 M월 j일 l | 20070304</nowiki>}} → "{{#time:Y년 M월 j일 l|20070304}}"
*{{ft|#time|<nowiki>Y년 M월 j일 l | 2007-3-4</nowiki>}} → "{{#time:Y년 M월 j일 l|2007-3-4}}"
*{{ft|#time|<nowiki>Y년 M월 j일 l | 4 March 2007</nowiki>}} → "{{#time:Y년 M월 j일 l|4 March 2007}}"
*{{ft|#time|<nowiki>Y년 M월 j일 l | -32 days</nowiki>}} → "{{#time:Y년 M월 j일 l|-32 days}}" (32일 전)
*{{ft|#time|<nowiki>H:i | +9 hours</nowiki>}} → "{{#time:H:i|+9 hours}}" (UTC보다 9시간 빠름)
*{{ft|#time|<nowiki>H:i | 8:15 +9 hours</nowiki>}} → "{{#time:H:i|8:15 +9 hours}}"
*{{ft|#time|<nowiki>Y/m | -17 months</nowiki>}} → "{{#time:Y/m|-17 months}}" (17개월 전)
*{{ft|#time|<nowiki>[[Y년]] [[M월 j일]] l | 4 March 2007</nowiki>}} → "{{#time:[[Y년]] [[M월 j일]] l | 4 March 2007}}"
 
=== #var , #vardefine ===
<nowiki>#var 과 #vardefine</nowiki>은 변수를 지정하고 사용할 수 있는 함수로 다음과 같이 사용합니다.
<pre><nowiki>{{#vardefine: 변수이름 | 변수값 }}
{{#var: 변수이름 }}</nowiki></pre>
이렇게 사용할 수 있습니다.
<pre>{{#vardefine:sky|blue}}
Sky is {{#var:sky}}</pre>
아래는 결과값입니다.
{{#vardefine:sky|blue}}
Sky is {{#var:sky}}
 
=== #len ===
<nowiki>#len</nowiki>는 문자열의 개수를 새어주는 함수로 다음과 같이 사용합니다.
<pre>{{#len: 문자열 }}</pre>
아래는 예제입니다.
<pre>"Nu is babo"의 길이는 {{#len:Nu is babo}}입니다.</pre>
아래는 결과값입니다.
"Nu is babo"의 길이는 {{#len:Nu is babo}}입니다.
 
=== #pos ===
<nowiki>#pos</nowiki>는 문자열에 어떤 문자를 찾아서 맨처음으로 찾아진 문자가 어디에 위치해 있는지 확인해주는 함수로 다음과 같이 사용합니다.
<pre>{{#pos: 문자열 | 찾을 문자 }}</pre>
아래는 예제입니다.
<pre>"Nu와 GNU가 싸우면 GNU가 이긴다. 왜냐하면 GNU가 이름이 제일 길기 때문이다."에 "GNU"의 위치는 {{#pos:Nu와 GNU가 싸우면 GNU가 이긴다.|GNU}}입니다.</pre>
아래는 결과값입니다.
"Nu와 GNU가 싸우면 GNU가 이긴다. 왜냐하면 GNU가 이름이 제일 길기 때문이다."에 "GNU"의 위치는 {{#pos:Nu와 GNU가 싸우면 GNU가 이긴다. 왜냐하면 GNU가 이름이 제일 길기 때문이다.|GNU}}입니다.
 
=== #rpos ===
<nowiki>#rpos</nowiki>는 문자열에 어떤 문자를 찾아서 마지막으로 찾아진 문자가 어디에 위치해 있는지 확인해주는 함수로 다음과 같이 사용합니다.
<pre>{{#rpos: 문자열 | 찾을 문자 }}</pre>
아래는 예제입니다.
<pre>"Nu와 GNU가 싸우면 GNU가 이긴다. 왜냐하면 GNU가 이름이 제일 길기 때문이다."에 "GNU"의 위치는 {{#rpos:Nu와 GNU가 싸우면 GNU가 이긴다. 왜냐하면 GNU가 이름이 제일 길기 때문이다.|GNU}}입니다.</pre>
아래는 결과값입니다.
"Nu와 GNU가 싸우면 GNU가 이긴다. 왜냐하면 GNU가 이름이 제일 길기 때문이다."에 "GNU"의 위치는 {{#rpos:Nu와 GNU가 싸우면 GNU가 이긴다. 왜냐하면 GNU가 이름이 제일 길기 때문이다.|GNU}}입니다.
 
=== #replace ===
<nowiki>#replace</nowiki>는 문자열에서 특정 단어를 찾아서 다른 단어로 치환해주는 함수로 다음과 같이 사용합니다.
<pre>{{#replace:문자열|특정 단어|다른단어}}</pre>
아래는 예제입니다.
<pre>"Nu는 바보다" 에서 Nu를 GNU로 바꾸면 "{{#replace:Nu는 바보다|Nu|GNU}}"입니다.</pre>
아래는 결과값입니다.
"Nu는 바보다" 에서 Nu를 GNU로 바꾸면 "{{#replace:Nu는 바보다|Nu|GNU}}"입니다.
 
=== #rand ===
임의의 숫자를 출력해주는 기능을 갖고 있습니다. <nowiki>{{#rand:a|b}}</nowiki>로 입력하시면 a에서 b사이에 있는 임의의 정수를 출력합니다.
{|border=1 align="center"
!예제
|<nowiki>{{#rand:1|100}}</nowiki>
|-
!결과
|{{#rand:1|100}}
|}
 
=== #titleparts ===
#titleparts는 페이지 제목을 조금 더 정교하게 자르기 위한 것입니다. [[mw:Help:Magic_words/ko|Magic Words]] 중 하나인 <nowiki>{{PAGENAME}}</nowiki>류와 함께 쓰면 더욱 효과적입니다.
 
<pre><nowiki>{{#titleparts: 페이지명 | 반환할 구역 수 | 반환할 첫번째 구역 }}</nowiki></pre>
 
구역이라는 것은 상위/하위 문서 하나 단위를 의미합니다. 예제를 보겠습니다.
 
<pre><nowiki>{{#titleparts: 백괴책:낚시학개론/둘째낚시/셋째낚시/넷째낚시방/마지막이다|2}}</nowiki></pre>
 
이와 같이 하면 다음과 같이 출력됩니다. '''두번째 변수가 없으면 처음부터 앞에 쓴 숫자만큼 잘라버립니다'''.
 
{{#titleparts: 백괴책:낚시학개론/둘째낚시/셋째낚시/넷째낚시방/마지막이다|2}}
 
다른 예제를 보겠습니다.
 
:<div style="background-color:#ffe;border:1px solid #ccc;width:40em;padding:0.5em;"><nowiki>{{</nowiki>#titleparts: 백괴책:낚시학개론/둘째낚시/셋째낚시/넷째낚시방/마지막이다|<span style="color:red;">'''3'''</span>|<span style="color:blue;">'''2'''</span><nowiki>}}</nowiki></div>
 
이는 <span style="color:red;">'''3'''</span>개만큼 자르되 <span style="color:blue;">'''2'''</span>번째 칸부터 시작한다는 뜻입니다. 첫번째 변수(빨간 글씨)를 생략할 시는 기본값이 1로 지정됩니다. 따라서 결과는 다음과 같습니다.
 
{{#titleparts: 백괴책:낚시학개론/둘째낚시/셋째낚시/넷째낚시방/마지막이다|3|2}}
 
<nowiki>#</nowiki>titleparts는 음수도 가능합니다.
 
<pre><nowiki>{{#titleparts: 백괴책:낚시학개론/둘째낚시/셋째낚시/넷째낚시방/마지막이다|-1}}</nowiki></pre>
 
'''음수의 경우 뒤쪽부터 셉니다'''. 따라서 이렇게 입력하였을 때의 결과는 '''{{#titleparts: 백괴책:낚시학개론/둘째낚시/셋째낚시/넷째낚시방/마지막이다|-1}}'''이 됩니다. 같은 원리로, 첫째 변수가 아닌 둘째 변수가 -1일 시에는 '''{{#titleparts: 백괴책:낚시학개론/둘째낚시/셋째낚시/넷째낚시방/마지막이다||-1}}'''가 나옵니다.
 
== 고급 내부 링크 ==
바깥 링크를 거는 방법을 응용해서 고급 내부 링크를 걸 수 있습니다. 이때 fullurl과 urlencode를 사용하게 됩니다. fullurl은 현재 위키의 주소를 나타내며 urlencode는 문서 제목을 입력할 때 URL 주소에 맞게 글자를 변환(인코딩)을 해줍니다. 다만 <nowiki>{{urlencode:{{FULLPAGENAME}}}}</nowiki>와 같은 경우에는 <nowiki>{{FULLPAGENAMEE}}</nowiki> 처럼 ‘E’를 덧붙임으로서 문서를 URL 주소에 맞게 변환해줍니다.
=== 문서를 보여줄 때 ===
문서를 보여줄 때에는 다음과 같이 링크를 걸면 됩니다만 보여줄 내용을 태그로 글자를 꾸미지 않는 이상 쓸 필요는 없습니다.
&#91;&#123;&#123;fullurl:&#123;&#123;urlencode:문서 제목&#125;&#125;|offset=오프셋&#125;&#125; 보여줄 내용&#93;
* 문서 제목 : 링크할 문서 제목을 입력합니다.
* offset : 오프셋 숫자를 입력합니다. {{틀|CGI}} 또는 {{틀|Get}}에서 사용하는 변수로, 해당 숫자를 CGI 틀에 보여줄 수 있습니다.
* 보여줄 내용 : 링크에 보여줄 내용을 입력합니다.
*  오프셋을 사용하지 않을 때 보여줄 내용에 태그로 글자를 꾸미려면 다음과 같은 방법으로 걸 것을 권합니다.
** <nowiki>[[문서 제목|보여줄 내용]]</nowiki>
* 보여줄 내용을 태그로 글자를 꾸미지 않고 그냥 넣을 때에는 고급 내부 링크를 거는 대신에 다음과 같은 방법으로 걸 것을 권합니다.
** {{틀|CGI}}
** {{틀|미궁}}
** {{틀|CGI미궁}}
 
=== 편집을 할 때 ===
편집을 할 때에는 다음과 같이 링크를 걸면 됩니다.
&#91;&#123;&#123;fullurl:&#123;&#123;urlencode:문서 제목&#125;&#125;|action=edit&editintro=&#123;&#123;urlencode:편집 윗부분에 보여줄 문서 제목&#125;&#125;&summary=&#123;&#123;urlencode:편집 요약&#125;&#125;&minor=사소한 편집&offset=오프셋&#125;&#125; 보여줄 내용&#93;
여기서 editintro, summary, minor, offset 변수는 생략할 수 있으며 나머지는 반드시 입력해야 올바른 링크가 됩니다.
* 문서 제목 : 링크할 문서 제목을 입력합니다.
* editintro : 편집 윗부분에 보여줄 문서 제목을 입력합니다.
* summary : 편집 요약을 입력할 수 있습니다.
* minor : 사소한 편집 여부를 체크합니다. 1일 때는 사소한 편집에 체크가 되며, 0일 때는 체크가 되지 않습니다.
* offset : 오프셋 숫자를 입력합니다. {{틀|CGI}} 또는 {{틀|Get}}에서 사용하는 변수로, 해당 숫자를 CGI 틀에 보여줄 수 있습니다.
* 보여줄 내용 : 링크에 보여줄 내용을 입력합니다.

2023년 11월 14일 (화) 13:19 기준 최신판

사용자 언어 정보
ko-N 이 사용자는 한국어모어입니다.
en-2 This user has intermediate knowledge of English.
언어별 사용자

만든 게임 유지보수하는 것만으로도 빡시네.

유지보수 게임

안 쓰는 파일 분류 방지

집.jpg


Nuvola apps kgpg.png
이 문서는 옛 백괴게임 사이트이전 주소의 리버티게임 사이트에서 활동이 있었던 유저의 자기 소개 및 유저 개인의 대화를 보존한 문서입니다.
만일 현 사이트에서 이 문서의 저작자라는 증거를 제시 가능한 경우 즉시 편집하는 행위가 가능하며, 그렇지 않은 경우 관리단 유저에게 문서 삭제를 요청하고 새로운 사용자 문서를 쓰실 수 있습니다.