七行プログラミング p ..
202:デフォルトの名無しさん
02/04/25 04:02
>193氏のアスキーアートをさらに縮めて4行に。
class A{static{new javax.swing.ImageIcon(System.getProperty("i")){int i,w=80,h
=w*getIconHeight()/getIconWidth();{new java.awt.image.BufferedImage(w,h,10){{
for(getGraphics().drawImage(getImage(),0,0,w,h,null);++i<w*h;)System.out.print
(" `.-:i+*3X8&%$W#@".charAt(getData().getDataBuffer().getElem(i)>>4));}};}};}}
コンソールの横幅を80桁にして
java -Di=C:\graphic\hoge.jpg A
みたいな感じで実行。例外吐いて終了。
なんというか、これぞ糞コードの極み。みたいな。
203:デフォルトの名無しさん
02/04/25 07:06
テトリスうざいのは同感だが、
作った物を見てくれ……というS氏の気持ちもわからんではない。
204:デフォルトの名無しさん
02/04/25 17:11
extern int putchar(int);char*P="31287f861fa1fa187e7a182085efa186187efe0fa083ff\
e0fa08207a182785e861fe186110410410404104185e862f248a182082083f873b61861871a658\
e17a186185efa187e8207a186589dfa187e8a17a078185e7c410410486186185e86186148c8618\
6dce185230c4a144a104104fc210843f";B(int i,int c){long long int j,x;for(x=j=0;j<
9;j++)x=(x<<4)+(*(P+i*9+j)-(*(P+i*9+j)>60?87:48));for(j=0;j<6;j++)putchar(((x>>
c*6)&63)>>(5-j)&1?35:32);putchar(32);}main(int c,char*v[]){char*l,j;if(c>1)for(
j=5;j>=0;j--){for(l=v[1];*l!=0;l++)B(*l-65,j);putchar(10);}}
banner
大文字アルファベットのみ。long long int を __int64 にすればVCでも動くと思う。
上のAA生成に比べると見劣りするナァ(;´Д`)
205:デフォルトの名無しさん
02/04/25 17:31
>199はageとアップを混同してると思われ。
プログラミング過程はどんどんカキコしていいけど、
完成品じゃないならメール欄にsageと書くべし。
206:193
02/04/25 21:21
>>187
new Thread(new Runnable(){ ...
の new Runnable っていらんのじゃないの?
なくなってもいいから,もっと縮むかも.
>>202
縮むもんだねぇ.
ちゃんとインデントして見たソース.
私には書けない...
喜んでいいのやら哀しんでいいのやら...
207:perl16
02/04/26 00:56
ピンポンには正直驚いた。
僕はJAVAプログラミングできませんが、
ピンポンを発展させて7行でブロック崩しができたらすごいと思う。
Perlでなんかいいネタないかなー。
208:187
02/04/26 09:21
>>206縮めてみた
import java.net.*;import java.io.*;class P{static void main(String a[])throws
Exception{ServerSocket s=new ServerSocket(a.length>2?Integer.parseInt(a[2]):8080
);for(;;){Socket n=s.accept(),o=new Socket(a[0],Integer.parseInt(a[1]));new P(o.
getInputStream(),n.getOutputStream());new P(n.getInputStream(),o.getOutputStream
());}}P(final InputStream i,final OutputStream o){new Thread(){public void run()
{try{for(int d;(d=i.read())!=-1;)o.write(d);i.close();o.close();}catch(Exception
e){}}}.start();}}
こんなもんか
209:S ◆Q14CxNhI
02/04/26 22:19
>>198 >> 203
うざっこく思われているということに全く気付いていませんでした。
申し訳ありません。
今後は気をつけて参加したいと思います。
210:デフォルトの名無しさん
02/04/26 22:36
>>209
ガンバレSさん。sageだけど応援してるよ
いつかロシア人もビックリの7行テトリスを夢見て
211:デフォルトの名無しさん
02/04/26 23:38
こういった心遣いによってこのスレは成り立ってるんだね。
誰もレスしてないのに何度もアップしたのは確かにS氏のチョンボだけど、
テトリス自体は応援してるので、是非いつか遊びやすくて7行のテトリスを
ずずんとアップしてください
212:S ◆Q14CxNhI
02/04/27 01:20
ついにやりました! テトリス7行達成です!!
叱咤激励いろいろいただきました、みなさんのレスに感謝いたします。
遊び方:カーソル左右で移動、リターンキーで回転
プレイ環境:おそらく IE 5.01 以上?
<body onKeyDown=K=event.keyCode><script>X=[Z=[B=A=12]];h=e=K=t=P=0;function Y()
{C=[d=K-38];c=0;for(i=4;i--*K;K-13?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.round(p/
A)*145)])p=B[i];!t|c+4?c-4?0:h+=d:B=C;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+B[i++]]=1
if(e=!e){if(f|B){for(l=228;i--;)Z[h+B[i]]=k=1;for(B=[[-7,-20,6,17,-9,3,6][t=++t
%7]-4,0,1,t-6?-A:-1];l--;h=5)if(l%A)l-=l%A*!Z[l];else for(P+=k++,j=l+=A;--j>A;)
Z[j]=Z[j-A]}h+=A}for(i=S="";i<240;X[i]=Z[i]|=++i%A<2|i>228)i%A?0:S+="<br>",S+=X
[i]?"■":"_";document.body.innerHTML=S+P;Z[5]||setTimeout(Y,99-P)}Y()</script>
...これは age て良かったですよね?
213:デフォルトの名無しさん
02/04/27 01:24
>212
下キー押すと右に行くのは仕様ですか?
214:デフォルトの名無しさん
02/04/27 01:28
ちなみに1行79文字がこのスレの標準ルールです。
215:S ◆Q14CxNhI
02/04/27 01:30
>>213
残念ながらそうなります。縮めるだけで精一杯なもので・・・
カーソル左右とリターンキー以外のキーを押すと、トンでもないことになります。
216:デフォルトの名無しさん
02/04/27 06:58
>>212
おめでとう
綺麗にまとまったもんだねー、すごい。
これならageても文句はなかろう。
217:デフォルトの名無しさん
02/04/27 08:23
やっとテトリス終わりですか。嬉しい。
218:デフォルトの名無しさん
02/04/27 10:13
S、嫌われたね。自己厨の典型的な末路だな
219:デフォルトの名無しさん
02/04/27 13:28
>>218
はあ?うざいのは確かだったが、誰も嫌ってなどはいない
少なくともテトリスは賞賛に値する(紙かどうかは別として)
今後は正しく sage てね、で終わりでいいじゃないか
本人も反省しているよう出し
220:デフォルトの名無しさん
02/04/27 14:04
>>218、嫌われたね。自己厨の典型的な末路だな
221:デフォルトの名無しさん
02/04/27 14:09
>>S
感動すますた
222:デフォルトの名無しさん
02/04/27 23:04
荒れるのはやだねぇ。新しい作品期待。
ここで自分で「これみろや!」って出せないのが鬱
223:デフォルトの名無しさん
02/04/28 01:01
テトリスは俺の中で神。というわけで解説キボンヌ
224:デフォルトの名無しさん
02/04/28 01:09
簡単な障害物よけゲームをJAVAアプレットで作ってみました。
import java.awt.*;public class H extends java.applet.Applet{int p,c,m,b,t=300,
s[]=new int[18];{new Thread(){public void run(){for(;s[p+15]<1&b<1;){repaint()
;try{sleep(t--);}catch(Exception e){}for(c=17;c>=0;c--)s[c]=c>2?s[c-3]:m>2?0:m
==c?0:1;m=m>2?(int)(Math.random()*3):3;}}}.start();}public void paint(Graphics
g){for(c=0;c<18;c++)g.drawString(s[c]>0?"■":c==p+15?"△":"□",c%3*10,c/3*10);
}public boolean keyDown(Event e,int k){if(k==1006&p>0)p--;if(k==1007&p<2)p++;b
=s[p+15];repaint();return 1>0;}}
アプレットなので、以下のHTMLを使ってください。
<HTML>
<BODY>
<CENTER>
<APPLET code="H.class" width="30" height="50"></APPLET>
</CENTER>
</BODY>
</HTML>
矢印キーで左右に移動します、だんだんスピードが上がっていきます。
225:デフォルトの名無しさん
02/04/28 01:20
>>223
テトリスの解説は >>117 にすでにあります
226:223
02/04/28 01:32
>225 それは知っていたんだけど、完成型は随分違うから全然わかんない
もしかして俺はバカ? 無限にウィンドウを開くJS作ってOSごとしんできます
227:デフォルトの名無しさん
02/04/28 10:32
スレリンク(gamedev板)
「ソースを上げるスレッド」 @ゲ制技板
114前後しか今のところ言ってないみたいだし、
あまり変化がないならここに張ったらどうよ?
228:デフォルトの名無しさん
02/04/28 13:43
7文字プログラミングは?
229:デフォルトの名無しさん
02/04/28 13:46
#includ
cは早くも脱落
230:デフォルトの名無しさん
02/04/28 13:51
void mai
231:デフォルトの名無しさん
02/04/28 14:18
main(){
232:デフォルトの名無しさん
02/04/28 16:47
10 CLS
233:デフォルトの名無しさん
02/04/28 17:02
1CLS:FOR
234:デフォルトの名無しさん
02/04/28 19:45
N88BASICで、リストと実行結果が全く同じプログラム
10 list
ネタはこの程度にしておこう。
誰か作品出してくれっ
235:デフォルトの名無しさん
02/04/28 20:18
トリッキーの1降臨キボン
236:VB厨
02/04/29 22:52
Sub Main
237:デフォルトの名無しさん
02/04/29 22:52
旧スレが上がってるのでage
238:デフォルトの名無しさん
02/04/30 13:43
del %0
バッチはダメ?
239:ロボ鉄 ◆MGTy6iYI
02/04/30 21:27
おぉ、僕の冗談で作った2行カウンタが晒されてる・・・
ただのカウンタをちょっと縮めただけなのに。
恥ずかしいからsage。
誰も見ないでくれ
240:デフォルトの名無しさん
02/04/30 22:07
正直、7行で作ってくれ
241:ロボ鉄 ◆MGTy6iYI
02/04/30 22:17
カウンタに七行も無いでしょうが
242:デフォルトの名無しさん
02/05/01 00:20
じゃ、スレ違い
243:デフォルトの名無しさん
02/05/01 08:25
>>239
逝け
244:デフォルトの名無しさん
02/05/01 11:32
ついにロボ鉄が来たか…
このスレももう終わりだな。
良スレから駄スレへ
悲しいけど
∧∧ ミ _ ドスッ
( ,,)┌─┴┴─┐
/' つ 糸冬 了 │
〜′ /´ └─┬┬─┘
∪ ∪ ││ _ε3
゛゛'゛'゛
245:デフォルトの名無しさん
02/05/01 20:39
ネタ募集
246:
02/05/01 21:06
遺伝子的循環
247:デフォルトの名無しさん
02/05/02 00:54
前スレが激良スレだったからこそなんだろうか…
248:デフォルトの名無しさん
02/05/02 01:12
ネタを与えれば活発に動き出すと思われます
249:デフォルトの名無しさん
02/05/02 10:42
テトリス見てる限りそれも怪しいぞ…
250:デフォルトの名無しさん
02/05/03 23:42
そういえば、cって戻り値だけじゃなくて、引数がintの時に
func(a, b)
{ return a + b; }
こうやって省略できるんだね。
これも多少は縮めるのに役立つんじゃないかな。
251:デフォルトの名無しさん
02/05/03 23:43
前スレのSHA-1縮めていて思いついたけど、
やっぱり11行より短くなりそうもなかったので破棄したけど。
252:デフォルトの名無しさん
02/05/04 01:04
>>250
みんな普通にやってるみたいだけど?オセロ参照
253:デフォルトの名無しさん
02/05/04 16:48
>>252
引数まで省略してるのは見つからないけど。
記事番号キボンヌ
254:デフォルトの名無しさん
02/05/06 03:27
>>253
引数省略はC++で許されたっけ?
gccではエラー出てたような?うろ覚えスマソ
255:デフォルトの名無しさん
02/05/06 11:07
縮めるためならK&R
256:デフォルトの名無しさん
02/05/06 13:15
誰かが「すでに動いてるソースコードで」ネタを提供しなきゃ駄目なんだよ
257:デフォルトの名無しさん
02/05/06 13:44
テトリスやオセロもそうだったけど、比較的上級者?が最初にネタを提供しても、
始めから縮めテクが使われているし、そのまま自分で解決してしまうからねぇ・・・
# それはそれで、見ていて楽しかったけれど。
あまり縮めるのが得意でない人が、10数行でネタを投稿するのが良いかも。
# スネークとかライフゲームとか
258:デフォルトの名無しさん
02/05/06 16:07
>>257
初心者の出すネタは上級者には面白くないという罠。
上級者が考えると、ホントに出来るかどうか微妙だから面白い。
テトリスはそういう意味では、ネタとしては、ナイスだったね。
259:デフォルトの名無しさん
02/05/06 18:32
色当てゲームはどうかな。
260:デフォルトの名無しさん
02/05/06 18:38
P2Pチャットシステムとかどうよ?
261:デフォルトの名無しさん
02/05/06 18:39
7行でメールソフト作ってください。
コマンドラインから
*** <smtpサーバ> <port> <送信先アドレス> <subject> <内容> <添付ファイル>
みたいな感じで送れるやつ。
262:デフォルトの名無しさん
02/05/06 18:44
添付ファイルは無理だろ
Base64 encodingだけで2~3行食いそう
263:デフォルトの名無しさん
02/05/06 20:16
2 rem 言語:Basic
4 rem 使用方法:使えません(w
10 print "ここは七行でプログラムを作る・鑑賞するスレです。"
20 print "マターリが原則です。"
30 print "ネタ提供時/七行達成時いがいはsage推奨"
40 print:print "ソースUP時は、必ず"
50 pirnt "言語"
60 print "使用方法"
70 print "何を作ったのか"
80 print"などを書きましょう。"
90 goto 20
264:デフォルトの名無しさん
02/05/06 22:25
>>258
テトリスは絶対不可能だと思ってたからね。驚いたよ
オセロやテトリス、倉庫番など、
元があるゲーム類ってのはネタとして興味が大きそうだね
265:デフォルトの名無しさん
02/05/07 06:14
ファイラーなんてどうでしょ?
削除とかしか出来ない超低機能な奴。
266:デフォルトの名無しさん
02/05/07 15:52
>>265
昔 MSX で作ったことがあるよ。BASIC 15行くらいで、名前変更と削除のみができるの。
超低機能ならば、できるでしょうね。
あとは、7行でどれだけの機能を詰め込めるか・・・
267:デフォルトの名無しさん
02/05/07 18:03
ゴールが見えない時点で曖昧だなぁ
268:デフォルトの名無しさん
02/05/07 22:08
じゃぁ,コラムスとか。
269:デフォルトの名無しさん
02/05/07 22:27
お絵かきロジック、できるかもだ。
270:デフォルトの名無しさん
02/05/08 00:47
箱入り娘はどうよ?
0.1.2.3
-----
a| BAAC G,1-e って入力すると、Gが(1,e)に移動。
b| BAAC で、Aを (1,d)-(2,e) に持ってこれればクリア。
c| DF.FE でもこれだとわかりづらいから、別の表示方法キボンヌ。
d| DGHE (記号とかもありかも)
e| .I .J たしか、最短の手が81手だったかな。
271:デフォルトの名無しさん
02/05/08 01:10
キタ━━( ゚∀゚ )━( ゚∀)━( ゚)━( )━(゚ )━(∀゚ )━( ゚∀゚ )━━!!!!
272:age
02/05/11 17:10
273:デフォルトの名無しさん
02/05/11 23:23
メーラー 11行。
#include <stdio.h>
#include <winsock.h>
#define k send(s,t,l,0);Sleep(999);while(z=recv(s,t,99,0)){t[z]=0;printf("%s",t);}
#define sp sprintf
main(int c,char **a){SOCKADDR_IN d;WSADATA w;char t[99],z,l;SOCKET s;
WSAStartup(MAKEWORD(2,2),&w);s=socket(AF_INET,SOCK_STREAM,0);if(c!=2)return;
d.sin_family=AF_INET;d.sin_port=htons(25);d.sin_addr.s_addr=inet_addr(a[1]);
if(!connect(s,(PSOCKADDR)&d,sizeof(d)))
{l=sp(t,"HELO %s\r\n",a[2]);k;l=sp(t,"MAIL FROM:%s\r\n",a[3]);k;
l=sp(t,"RCPT TO:%s\r\n",a[4]);k;l=sp(t,"DATA\r\n",a[4]);k;
l=sp(t,"Subject: %s\r\n",a[5]);k;l=sp(t,"%s\r\n",a[6]);k;
l=sp(t,"\r\n.\r\n");k;l=sp(t,"QUIT");k;}closesocket(s);}
274:261
02/05/11 23:26
>>273
まだやってみてないけど、ありがとう!
275:デフォルトの名無しさん
02/05/11 23:30
#include <stdio.h>
#include <winsock.h>
#define k send(s,t,l,0);Sleep(999);while(z=recv(s,t,99,0)){t[z]=0;printf("%s",t);}
#define sp sprintf
main(int c,char **a){SOCKADDR_IN d;WSADATA w;char t[99],z,l;SOCKET s;WSAStartup(
0x0202,&w);s=socket(2,1,0);if(c!=2)return;d.sin_family=2;d.sin_port=htons(25);d.
sin_addr.s_addr=inet_addr(a[1]);if(!connect(s,(PSOCKADDR)&d,sizeof(d))){l=sp(t,
"HELO %s\r\n",a[2]);k;l=sp(t,"MAIL FROM:%s\r\n",a[3]);k;l=sp(t,"RCPT TO:%s\r\n",
a[4]);k;l=sp(t,"DATA\r\n",a[4]);k;l=sp(t,"Subject: %s\r\n",a[5]);k;l=sp(t,"%s\r\
\n",a[6]);k;l=sp(t,"\r\n.\r\n");k;l=sp(t,"QUIT");k;}closesocket(s);}
俺にはコレが限界。
276:デフォルトの名無しさん
02/05/11 23:31
>>274
動かなかったらごめん。
プロバイダのメール鯖の認証の関係で、
動作確認できなくて・・・
277:デフォルトの名無しさん
02/05/12 00:13
>>273 >>275
つーか、実行できんやろ。
if(c!=2)return; ってなんや?
278:273
02/05/12 00:34
あー HTTPクライアントを適当に変えただけだからね。
基になるソースコードが無いと
誰も手をつけてくれなさそうだったからさ・・・
俺、ネットプログラム初心者です。ごめん。
279:273
02/05/12 00:42
#include <stdio.h>
#include <winsock.h>
#define k printf("%d,%s\n",l,t);send(s,t,l,0);Sleep(999);z=recv(s,t,99,0);t[z]=0;printf("%s",t);
#define sp sprintf
main(int c,char **a){SOCKADDR_IN d;WSADATA w;char t[99],z,l;SOCKET s;WSAStartup(
0x0202,&w);s=socket(2,1,0);d.sin_family=2;d.sin_port=htons(25);d.
sin_addr.s_addr=inet_addr(a[1]);if(!connect(s,(PSOCKADDR)&d,sizeof(d))){l=sp(t,
"HELO %s\r\n",a[2]);k;l=sp(t,"MAIL FROM:%s\r\n",a[3]);k;l=sp(t,"RCPT TO:%s\r\n",
a[4]);k;l=sp(t,"DATA\r\n",a[4]);k;l=sp(t,"Subject: %s\r\n",a[5]);send(s,t,l,0);
l=sp(t,"%s\r\n",a[6]);send(s,t,l,0);;l=sp(t,"\r\n.\r\n");send(s,t,l,0);;l=sp(t,"QUIT");k;}closesocket(s);}
一応送信できるはず。
ウザくてごめんね
280:デフォルトの名無しさん
02/05/12 01:27
>>279
おー、送信できました。実験する場合はローカルにサーバを立てるのがよろしいかと。
ただプログラムの無駄は多そうですので、十分7行になるのでは?
281:デフォルトの名無しさん
02/05/12 01:50
縮めてみますた
#include <stdio.h>
#include <winsock.h>
SOCKET s;char t[99],z,l,f,*b;k(char*b,char*x){l=sprintf(t,b,x);printf("%s",t);
send(s,t,l,0);if(!f){Sleep(999);t[recv(s,t,99,0)]=0;puts(t);}}main(int c,char**
a){SOCKADDR_IN d;WSADATA w;WSAStartup(514,&w);s=socket(d.sin_family=2,1,0);d.
sin_port=htons(25);d.sin_addr.s_addr=inet_addr(a[1]);if(!connect(s,(PSOCKADDR)&
d,sizeof(d))){k("HELO %s\r\n",a[2]);k("MAIL FROM:%s\r\n",a[3]);k("RCPT TO:%s\r\
\n",a[4]);k("DATA\r\n",a[4]);k("Subject: %s\r\n",a[f=5]);k("%s\r\n",a[6]);k(
"\r\n.\r\n","");f=0;k("QUIT\n","");}closesocket(s);}
282:デフォルトの名無しさん
02/05/12 02:39
>>261
添付ファイルは難しいが(uuencode形式ならOK)、telnet コマンドを使えばいいのでは???
つーことは、Unix系なら perl かシェルスクリプトで、Windows なら BAT でもできる?
283:281
02/05/12 02:45
winsock の使い方が良くわからないので、その辺がどうにもならぬ
#include <winsock.h>
typedef char C;puts(C*);sprintf(C*,C*,C*,C*);SOCKET s;C t[99],l,f;k(C*b,C*x){l=
sprintf(t,"%s%s\r\n",b,x);puts(t);send(s,t,l,0);if(!f)Sleep(999),t[recv(s,t,99,
0)]=0,puts(t);}main(int c,C**a){SOCKADDR_IN d;WSADATA w;WSAStartup(514,&w);s=
socket(d.sin_family=2,1,0);d.sin_port=6400;d.sin_addr.s_addr=inet_addr(a[1]);if
(!connect(s,(PSOCKADDR)&d,sizeof(d)))k("HELO ",a[2]),k("MAIL FROM:",a[3]),k("R\
CPT TO:",a[4]),k("DATA",""),k("Subject: ",a[f=5]),f=0,k(a[6],"\r\n.\r\nQUIT");
closesocket(s);}
284:デフォルトの名無しさん
02/05/12 03:35
>>279
腹が立って作ったプログラムなのに、ツッコマレても謙虚な姿。感心アゲ。
285:tara
02/05/12 05:23
超簡易七行SMTPクライアントです。エラー処理ほとんど無翅です。
コンパイルすると警告が出ますが、無視してください。
#include <winsock.h>
main(int c,char **a){SOCKADDR_IN d;WSADATA w;char t[999];SOCKET s;WSAStartup(
514,&w);s=socket(d.sin_family=2,1,0);if(c!=7)return;d.sin_port=6400;d.sin_addr
. s_addr=inet_addr(a[1]);if(!connect(s,(PSOCKADDR)&d,sizeof(d))){int z;send(s,t
,sprintf(t,"HELO %s\r\nMAIL FROM: %s\r\nRCPT TO: %s\r\nDATA\r\nSubject: %s\r\n\
\r\n%s\r\n.\r\nQUIT\r\n",a[2],a[3],a[4],a[5],a[6]),0);while(z=recv(s,t,99,0))
{t[z]=0;printf("%s",t);}}closesocket(s);}
実行時には、以下の順序で引数を指定する必要があります。
・SMTPサーバーのIP(ドット区切りの数字で指定)
・発信元のホスト名
・発信者のメールアドレス
・受信者のメールアドレス
・Subject(題名)
・メール本文
ex)
program 127.0.0.1 7gyou.com sender@7line.com rcpt@7line.com subject data
多分これで動くはず、です。
なお、引数の区切り文字がスペースであるため、メール本文その他に
スペースを入れることができません。
286:tara
02/05/12 05:35
しまった、訂正。
スペースは入れられます。
program 127.0.0.1 7gyou.com sender@7line.com rcpt@7line.com subject "This is test."
と、スペースを含む内容を「"」で囲んでやればOKです。
287:273
02/05/12 14:53
>>281 とりあえず送信できることを目指したんで、無駄は勘弁
>>282 それじゃ面白くないじゃん
>>284 ありがとう
>>285 7行達成おめでとう
次はTelnetかFTPクライアント・・・
ネタさえあればこのスレもPatt 1.並なんだけどな
288:261
02/05/12 15:00
ネタ提供だけでスマソ。感動しました。
採用してくれてありがとうございましたー!
289:XXXXXXX
02/05/12 15:02
1> <html>
2> <head>
3> <title>7行プログラム</title>
4> </head>
5> <body bgcolor="black">ここに本文を書きます
6> </body>
7> </html>
290:デフォルトの名無しさん
02/05/12 18:01
CじゃFTPは不可能だーね
コネクションが2つ必要な時点でヤヴァイ
291:デフォルトの名無しさん
02/05/12 18:49
>>290
FTP、Javaなら行けるかな
292:デフォルトの名無しさん
02/05/12 22:54
>>285
stdio.h をインクルードしないと printf,sprintf 使えなくないですか?
293:デフォルトの名無しさん
02/05/12 22:56
age
294:デフォルトの名無しさん
02/05/12 22:58
いい流れになってきたね
295:デフォルトの名無しさん
02/05/12 23:30
一番、画面内密度を上げられる言語ってなんでしょう?LISP系かな?
296:デフォルトの名無しさん
02/05/12 23:32
>>295
BASICじゃないの?大文字だし。
297:デフォルトの名無しさん
02/05/12 23:34
perlでしょ
lispはカッコがあるから
298:デフォルトの名無しさん
02/05/12 23:45
Ruby!!!
299:デフォルトの名無しさん
02/05/12 23:48
>>298
Ruby厨ってこうやって叫ぶだけで特に害がないから良いよね。
結構独自路線だからアイデンティティはしっかりしてるのか。
それに比べて多方面にコンプレックスのあるVB厨とかは痛いな・・・。
300:デフォルトの名無しさん
02/05/13 00:00
300!!!
301:VB厨
02/05/13 00:28
>>299
スマン。
302:デフォルトの名無しさん
02/05/13 00:37
>>301
謝ってくれる人は心優しい人だね。
バカとは自分がバカと言うことに気が付いていないからバカなんだ。
>>301さんは賢人のようです。
303:デフォルトの名無しさん
02/05/13 01:48
>295
MSXべーしっくがいいと思う。スペースすら省略可能だし。
PRINTは ? で書けるし。(LIST取ったら伸張されちゃうけど)
304:デフォルトの名無しさん
02/05/13 13:21
>>303
N88でいいじゃん。?も同様だし。
305:前775
02/05/13 16:34
あー、なんか、、スレ間違えたかと思った。
昔は文章よりプログラムの方が多いくらいのスレだったのに・・。
306:前スレ853
02/05/13 18:23
Perl は全ての変数にプレフィクスが付く分、極まってくると
画面密度が上がる。
ex.
($n,$p,@e)=split/,/,<>;$_=<>;$j=(@m=map{split//}$_,<>)-($k=($c=length)-2)-2;@g=
('.')x@e;$t=0;sub w{(*z,$g)=@_;$m[$i=$z+($z%$c?-1:$k,$z>=$j?-$j:$c,$z<$k?$j:-$c
,$z%$c==$k?-$k:1)[--$g]]eq'#'||$l&&grep$i==$_,@e or$z=$i}sub u{@m[@e,$p]=@_}sub
r{1+int rand 4}while($m[$p]ne'*'or$t+=$n){u(('m')x(@g=@m[@e]),($d=grep$p==$_,@e
)?'D':'C');$r=grep/[*.]/,@m,@g;print@m,"R:$r T:$t >";$r&&($t||!$d)?u@g,' ':exit
;$l=0;w*p,<>%5||next;for(@e){if(($w=$e=pop@e)-$p){w*w,$w%$c-$p%$c?int$w/$c-$p/
$c?r:$w<$p?4:1:$w<$p?2:3;w*w,r while++$l%9&&$w==$e}@e=($w,@e)}$t--if$t}
307:デフォルトの名無しさん
02/05/13 18:53
>>306
思わずishにかけたくなるねw
308:デフォルトの名無しさん
02/05/13 20:19
>>307
ホントだ。なんかのエンコードかけてあるみたい。
このままメモ帳に書いて拡張子を.comにしたら動きそうだ
309:デフォルトの名無しさん
02/05/14 00:56
2行目文頭 ('.')
3行目 [--$g]
4行目 ('m')
Perlを知らない俺から見ると、この辺はもはや顔文字だな。
310:デフォルトの名無しさん
02/05/14 04:05
ネット対戦オセロ作ってください。
よろしく。
311:tara
02/05/14 04:23
超簡易七行SNTPクライアントです。(SMTPではない)
エラーチェック皆無です。引数の数すらチェックしてません。
コンパイルすると警告が出ますが、無視してやってください。
#include <winsock.h>
#include <time.h>
int N[12];int z;u_int n;struct tm*T;SOCKADDR_IN d={2,31488},u={2,4,0};main(int
c,char **a){WSADATA w;SOCKET s;SOCKADDR*q=(SOCKADDR*)&u;WSAStartup(514,&w);s=
socket(2,2,0);bind(s,q,16);d.sin_addr.s_addr=inet_addr(a[1]);*N=11;z=48;sendto
(s,&N,z,0,(PSOCKADDR)&d,16);recvfrom(s,&N,z,0,(PSOCKADDR)&d,&z);n=ntohl(N[10])
-2208988800;printf("%s",ctime(&n));closesocket(s);}
前回に引き続きstdio.hをincludeできませんでした……残念。
実行時には、SNTPサーバーのIP(ドット区切りの数字で指定)を引数として
指定する必要があります。
ex)
program 127.0.0.1
多分これで動くはず、です。
312:tara
02/05/14 04:36
……言ってるそばから縮みました。
#include <winsock.h>
#include <stdio.h>
#include <time.h>
int N[12];int z;u_int n;struct tm*T;SOCKADDR_IN d={2,31488},u={2,4};main(int c,
char **a){WSADATA w;SOCKET s;SOCKADDR*q=&u;WSAStartup(514,&w);s=socket(2,2,0);
bind(s,q,16);d.sin_addr.s_addr=inet_addr(a[1]);*N=11;z=48;sendto(s,&N,z,0,&d,
16);recvfrom(s,&N,z,0,&d,&z);n=ntohl(N[10])-2208988800;printf("%s",ctime(&n));}
VC++ .NETで動作検証しました。
これでも動くのか……。
313:前スレ853
02/05/15 01:23
久々に読み返したらまだ縮むじゃんよ…。ついでに画面密度も
上げる方向で修正。
URLリンク(boobar.hoops.ne.jp)
($n,$p,@e)=<>=~/\d+/g;$j=(@m=map/./gs,($_=<>),<>)-($k=($c=length)-2)-2;$t=0;sub
u{@m[@e,$p]=@_}@g=(".")x@e;sub w{(*z,$g)=@_;$m[$i=$z+($z%$c?-1:$k,$z>=$j?-$j:$c
,$z<$k?$j:-$c,$z%$c==$k?-$k:1)[--$g]]eq"#"||$l&&grep$i==$_,@e or$z=$i}while($m[
$p]ne"*"or$t+=$n){u(("m")x(@g=@m[@e]),($d=grep$p==$_,@e)?"D":"C");$r=grep/[*.]/
,@m,@g;print@m,"R:$r T:$t >";$r&&($t||!$d)?u@g," ":exit;$l=0;w*p,<>%5||next;sub
r{1+int rand 4}for(@e){if(($w=$e=pop@e)-$p){w*w,$w%$c-$p%$c?int$w/$c-$p/$c?r:$w
<$p?4:1:$w<$p?2:3;w*w,r while++$l%9&&$w==$e}@e=($w,@e)}$t&&$t--}
延々バグ取りしてるから大分枯れてる筈。
314:前スレ843
02/05/16 03:06
>>313
そろそろしつこいと思いますた。
315:デフォルトの名無しさん
02/05/16 11:58
悲しいことを言うなぁ
316:デフォルトの名無しさん
02/05/16 12:16
またーり行こうよ
317:前スレ853
02/05/16 18:54
いや、自分でもしつこいと思った。(w
sub h{sprintf"\\x%X",($i+=$_)}$c=join q/\xA1-\xFE]/,(q/\G((?:[\x00-\x7F]|[\x8E/
,"[","|\\x8F[","[",")*?)");$i=160;for((2)x5,1,(2)x11,3,(2)x3,(1)x5,(3)x5,(1)x4,
(2)x3,(1)x5,2,3,1,-48,32,2,2){$s.=h;$S{$j}=chr$i;$j=$i}$i=170;for((2)x12,3,2,2,
7,(3)x4){$d.=h;$D{$i}=chr($i-1)."\xA1\xAB"}$i=206;for((3)x5){$d.=h;$D{$i}=chr(
$i-2)."\xA1\xAC"}sub u{unpack"C",$3}eval join q/\xA1/,(q/s!$c([\xA4\xA5])([/.$d
.q|])!"$1$2".$D{&u}!eg;s/$c|,'\\xAC/$1','\\xDF/g;s/$c','\\xAB/$1','\\xAC/g;
s/$c','\\xA9/$1',q{\xAB/g;s/$c[\xA4\xA5]\xE7/$1},q{\xA9/g;s!$c([\xA4\xA5])([}.
$s.q|])!"$1$2".$S{&u}!eg;s/$c|,q{\xBC/$1\xA4\xA2/g;print})while<>
日本語→ひんたぼ語フィルタ。
Usage: perl hintabo text.euc > text.hintabo
変換テーブルの生成部分がもっと縮めば七行いけるかも。
七行いけてもネタ的にイマイチかも。(w
318:デフォルトの名無しさん
02/05/16 20:06
折れ的にはしつこくない。
つーか勉強になるのでどんどん短くしてぽ。
できたらどこかにコメント付でうぷしてほしいなぁ。
319:デフォルトの名無しさん
02/05/16 22:01
誰かが7行スレ専用ソース公開ページを作ってくれるといいのになぁ。
そうすると、ここのスレでは「また短くなったので見てね」と書いておいて、
公開ページの方で、短いソース(とコメントつきソース)を見て貰う事が出来るのに。
でもそうすると、新しい人が入りづらいか。某メガデモスレみたいな感じで。
320:デフォルトの名無しさん
02/05/17 12:00
それなりに動くソフトウェアだし、著作権的に面倒だってんで皆気が進まないんじゃ。
321:前スレ853
02/05/17 19:00
Wiki みたく、各作者が好きな時に更新できるフレームワークを
準備しないと不便だし、そこまでする気になる人がいないだけかと。
自分のだけなら適当なアカ取って普通にメンテすりゃ済むから
楽だけど。つか俺はそうしてる。 URLリンク(boobar.hoops.ne.jp)
sub u{"$1$2".$D{unpack"C",$3}}sub h{*t=pop;$t.=sprintf"\\x%X",$i+=$_;chr($i-pop
).pop}$c=join q/\xA1-\xFE]/,qw!\G((?:[\x00-\x7F]|[\x8E [ |\\x8F[ [ )*?)!;$z=$c.
q/([\xA4\xA5])/;$i=160;map{$D{$j}=h*s;$j=$i}(2)x5,1,(2)x11,3,(2)x3,(1)x5,(3)x5,
(1)x4,(2)x3,(1)x5,2,3,1,-48,32,2,2;$i=170;$D{$i}=h"\xA1\xAB",1,*d for(2)x12,3,2
,2,7,(3)x4;$i=206;$D{$i}=h"\xA1\xAC",2,*d for(3)x5;eval join'\\xA1','s!$z(['.$d
.'])!u!eg;s/$c',qw!\xAC/$1 \xDF/g;s/$c \xAB/$1 \xAC/g;s/$c \xA9/$1!,q{\xAB/g;
s/$z\xE7/$1},q{\xA9/g;s!$z([}.$s.'])!u!eg;s/$c',q{\xBC/$1\xA4\xA2/g;print}for<>
あっさり七行達成してもた。でも数字やアルファベットを変換してない
から、フィルタとしては不完全。萎え。
322:デフォルトの名無しさん
02/05/17 19:14
いちいち「更新」とかこのスレに描くくらいなら
最初からここにうぷしたほうがいいと思うけど?
どうせ7行程度なんだしさっさとスクロールすれば いいんじゃないの?
323:デフォルトの名無しさん
02/05/17 23:44
ちょっとだけしか縮めていないときとか、
説明のために長いプログラムをうぷするときとか、
そういったスレは欲しいかもね。
こっちに載せるときは、ネタ提供か、完成か、バグ取りか、大幅改変か・・・
324:前スレ843
02/05/18 08:57
>>前スレ853
ネタ提供。
??行→7行へのunindent。
325:デフォルトの名無しさん
02/05/18 10:15
ひんたぼ語って何だか知らないけどすげー
ここは神が集まるスレだな
326:名無しさん@Vim%Chalice
02/05/18 11:26
>>325 勉強してください。
URLリンク(www4.airnet.ne.jp)
327:前スレ853
02/05/19 18:37
>>324
とりあえずたたき台を作ってみたよ。まだまだ機能的に不完全だけど。
URLリンク(boobar.hoops.ne.jp)
$_=join" ",grep{s/^\s*(?:#.*)?|\s+$//g;s/\s+/ /g;length}<>;%k=qw|( ) < > [ ] {
}|;1 while s=\G(.*?)((?:(?:(?<![\$\%\&\*\@])(?:(?:m|q[qrwx]?)(?:([(<[{]).*?${k{
$3}}|([^\w\s(<[{]).*?\4)|(?:s|tr|y)(?:([(<[{]).*?$k{$5}\s*\5.*?${k{$5}}|(
[^\w\s(<[{]).*?\6.*?\6))|(?<![\w])/(?:\\/|[^/])*/)[a-z]*)|"(?:\\"|[^"])*"|'(?:
\\'|[^'])*')=push@c,$1,$2;''=egx;$q=1 if$c[0]=~m!^(?:["'/]|(?:[ms]|q[qrwx]?|tr)
[^\w\s])!x;($_,@c)=map{++$q%2?split:$_}grep/\S+/,@c,$_;sub j{$_.=$_[0].shift@c}
sub l(){length$_.$c[0]}sub p{print"$_\n";$_=shift@c}sub w(){/\w$/&&$c[0]=~/^\w/
}79<=l?79<l?p:w?p:j&&p:w?j" ":j while@c;p;
さぁ、縮めようか。(w
328:デフォルトの名無しさん
02/05/19 21:45
保守保守
329:前スレ843
02/05/20 08:38
>>327
僕には無理です。
がんばって縮めてください。
応援してます(w
330:775
02/05/20 19:38
#include <stdio.h>/*7行になるかチェッカーーー*/
main(int c,char**v){FILE *f = fopen(v[1],"r");int i=0;if(c<1)return;for(;fgetc
(f)!=-1;i++);if(i<80*7)printf("イイ!: %d文字(%d行?)\n",i,i/80);else printf(
"糸冬 了 :%d文字(%d行?)\n",i,i/80);}
正直すまん・・・。
AVIファイル生成は構造わからんで脱落。
331:ネタ出
02/05/20 20:21
格闘ゲーム(パンチとかが出てHPが減りさえすればイイ) きぼんぬ!
モナーのダンレボ きぼんぬ!
15パズル きぼんぬ!
もぐらたたき きぼんぬ!
Hello world きぼんぬ!
えっと・・・えっと・・・・(ワラ
332:デフォルトの名無しさん
02/05/21 00:01
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
main(int a, char **v){struct sockaddr_in h;int s;char c[1024];
bzero(&h,sizeof(h));h.sin_family=AF_INET;h.sin_port=htons(21);inet_aton(v[1],&h.sin_addr);
s=socket(AF_INET,SOCK_STREAM,0);connect(s,(struct sockaddr *)&h,sizeof(h));
read(s,c,1024);write(s,v[2],strlen(v[2]));write(s,"\r\n",2);read(s,c,1024);
write(s,v[3],strlen(v[3]));write(s,"\r\n",2);read(s,c,1024);while(1){
printf("$: ");fgets(c,1024,stdin);write(s,c,strlen(c));write(s,"\r\n",2);
read(s,c,1024);printf("%s", c);}close(s);}
7行じゃないけど。ftpもどき
./a.out 127.0.0.1 "USER user" "PASS password"
$:の後にコマンドです。
333:デフォルトの名無しさん
02/05/21 01:50
>332
うーん……、手元にPC-UNIX系の環境が無いから、検証できないまま口出して
申し訳ないけれど、これだとファイルのやり取りはできないんじゃ?
FTPサーバー接続してコマンド打つのが限界のような……。
334:332
02/05/21 21:23
>333
telnetでport21につないでるようなカンジだから、
たいした事は出来ない&バッファもクリアしてないからゴミが残ると。。。
全然使えないね(藁
335:前スレ843
02/05/22 09:28
>>331
Perlには無理だな。
やろうと思えばできるけど。(漏れには無理)
336:デフォルトの名無しさん
02/05/22 09:40
意味もなく上げまくるなよ、自己主張激しすぎて見苦しい
337:デフォルトの名無しさん
02/05/22 13:55
>>319
縮む過程で加えられたテクも見たい
CVSサーバ付けてくれれば文句無いけど
338:デフォルトの名無しさん
02/05/22 14:18
sourceforge.jpで7行プロジェクトとか・・・ダメかなぁ。
339:デフォルトの名無しさん
02/05/22 19:48
7-liner
340:前スレ843
02/05/24 10:46
>>336
スマソ。
341:デフォルトの名無しさん
02/05/24 18:55
前スレの猛者が戻ってこない限り、このスレが良スレになることはないな
342:デフォルトの名無しさん
02/05/24 23:31
トリッキーの1氏や前スレ60氏の降臨きぼーーーんぬ。
*nix厨氏とか、S氏とかも来てほしー。
343:デフォルトの名無しさん
02/05/25 13:23
Sタン、JavaScriptでぷよぷよ作ってー。
7行、7行、7行、7行、7行、ハァハァ
7行、7行、7行、7行、7行、ゼェゼェ。
みんな来てよー(w
344:猛者募集
02/05/26 11:07
agge
345:デフォルトの名無しさん
02/05/29 00:46
>>343
無理っぽいな。消滅判定と落下だけでかなり食うと思う。
連鎖中は同時に複数色消えることもあるし・・・
なんつって無理無理いっててもしょうがないんで
叩き台を作ってみよっかな
346:デフォルトの名無しさん
02/05/29 00:52
>>345
S氏ですか?
347:デフォルトの名無しさん
02/05/29 01:48
>346
いや、通りすがりのものです。
昔X68で作ったもんで
348:デフォルトの名無しさん
02/06/01 04:15
mange
349:デフォルトの名無しさん
02/06/01 12:05
たたき台が重要だ
350:デフォルトの名無しさん
02/06/07 15:35
URLリンク(wildmag.de)
ねたをくれなんていってる時点で間違ってたんだ…
351:デフォルトの名無しさん
02/06/07 18:11
>>350
感動した
ソースを見て更に感動した
352:デフォルトの名無しさん
02/06/07 18:36
イカス
353:デフォルトの名無しさん
02/06/07 21:08
>>350
!!!
マジかよおい!
感動した…マジ感動した!
354:デフォルトの名無しさん
02/06/07 22:00
>>350
スゲー!!
なるほどソース見て感動!!
355:デフォルトの名無しさん
02/06/07 22:52
>>350
これは凄い!
356:デフォルトの名無しさん
02/06/07 23:01
>>350
な、なぬ・・・・
357:デフォルトの名無しさん
02/06/08 00:28
>>350 見た目は驚かなかったけど、ソースの簡潔さに驚いた。
358:デフォルトの名無しさん
02/06/08 01:15
俺はできないけど、がんばってください
ってのがうざい
359:デフォルトの名無しさん
02/06/08 01:18
サーバ側七行、クライアント側七行で、ネット対戦できるオセロつくってください。
360:デフォルトの名無しさん
02/06/08 01:44
サーバ:
#include "osero-server.h"
#include <stdlib.h>
int main()
{
do_osero_server();
return EXIT_SUCSESS;
}
クライアント:
#include "osero-cliant.h"
#include <stdlib.h>
int main()
{
do_osero_cliant();
return EXIT_SUCSESS;
}
361:デフォルトの名無しさん
02/06/08 13:31
>>360
言ってはならないことかもしれないけど
あなたはここにくる前にしなければならないことがあるような気がします
362:デフォルトの名無しさん
02/06/09 18:23
>>350
スクロールバーが動いたので部落らかと思った。
スゲー。感動すた。
363:デフォルトの名無しさん
02/06/09 20:48
<script>s=Math.sin;z=0;function a(){for(i=0;i<50;){z?0:document.write('<b id=x'
+i+' style=position:absolute><big>O</big><sub>'+i+'</sub></b>');
w=i*s(z);o=eval('x'+i).style;o.top=s(w)*i*4+230;o.left=s(w+2)*i++*4+230}
z+=.015;setTimeout('a()',50)}a()</script>
>>350 名前: デフォルトの名無しさん 投稿日:02/06/07 (金) 15:35
> URLリンク(wildmag.de)
> ねたをくれなんていってる時点で間違ってたんだ…
より。(改行をマジで適当に追加)。
すげーな。
364:デフォルトの名無しさん
02/06/11 06:12
前ここにprintfってあったっけ?
365:デフォルトの名無しさん
02/06/11 18:01
>>364
sprintfなら
スレリンク(tech板:428番)
366:デフォルトの名無しさん
02/06/13 00:20
あと一行が縮まらない8行迷路。HSP。
一番右下がゴール。
dim g,4,2:g=-1,0,1,0,0,-1,0,1:dim m,49,49:randomize:repeat 49:t=cnt:repeat 49
s=cnt:if ((s\2)+(t\2))=2{m.s.t=1:rnd r,4:a=s+g.r.0:b=t+g.r.1:m.a.b=1}loop:loop
gsel 0,-1:screen 2,10,10,8:repeat:repeat 10:b=cnt:repeat 10:a=cnt:d=a+v:e=b+w
palcolor 1-m.d.e*7:pset a,b:loop:loop:d=(k&4!0)-(k&1!0)+x:palcolor 39:stick k,15
e=(k&8!0)-(k&2!0)+y:r=(d<0)|(d>48):d=1-r*d+(r*x):r=(e<0)|(e>48):e=1-r*e+(r*y)
r=m.d.e:d=1-r*d+(r*x):v=1-(d>43)*(1-(d<5)*(d-4))+((d>43)*39):x=d:r=m.d.e:c++
e=1-r*e+(r*y):w=1-(e>43)*(1-(e<5)*(e-4))+((e>43)*39):y=e:if (x=48)&(y=48):break
pset x-v,y-w:redraw:title ""+c:wait 5:loop:dialog "cleared:"+c
367:デフォルトの名無しさん
02/06/14 19:40
キタ━━(・∀・)━━━!!!!!!!
368:366
02/06/14 20:04
ここの人はレベルが高くてHSPを知らない罠か・・・(´д`;
369:デフォルトの名無しさん
02/06/14 21:09
>368
いや、縮める隙を探してるさいちゅう。
HSPだって立派じゃないけど言語だしね
370:366
02/06/14 21:35
>>369
ありがたや。なるべくif文使わないようにしたから、回りくどいことやってます。(´ー`
もっといい迷路アルゴリズムが使いたいんだけど、長くなる・・・
371:デフォルトの名無しさん
02/06/14 23:05
>>350
(゚д゚)すげー
372:デフォルトの名無しさん
02/06/14 23:22
>>367だけど
>>366,>>368ゴメソ、HSPだったのね、よく考えずにレスしてた(w
勉強中の折れは「レベルが低くてHSPを知らない」のであった。
ダウソしてみよかな?
373:moge
02/06/15 00:12
もっと繁栄を願ってage
374:デフォルトの名無しさん
02/06/15 14:38
7行以内でbase64エンコード/デコードプログラム作ってくれ
375:デフォルトの名無しさん
02/06/15 15:24
#include "stdafx.h"
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )
{
ExitWindowsEx(EWX_SHUTDOWN,0);return 0;}
まぁ激しくガイシュツだろうな・・・。
376:デフォルトの名無しさん
02/06/15 17:21
ネットワークゲーム用の汎用サーバとかは7行じゃ大変?
Javaでキボンヌ。
377:デフォルトの名無しさん
02/06/15 20:35
>>376
そもそも汎用サーバなどという発想自体が厨
仕様を定義してみせい
378:デフォルトの名無しさん
02/06/16 13:41
アクセスしてきたクライアントのソケットを保持。
どのクライアントから言われたことも、すべてのクライアントに返す。
という意味でした。
379:デフォルトの名無しさん
02/06/16 13:46
>>378
絶対どこかでデータの動機ミスが怒りそうな予感。
380:デフォルトの名無しさん
02/06/16 18:48
>>378
それはむしろチャットサーバだね。そのくらいならできそうかな。
本気でネットゲの鯖やるならオブジェクトの同期も考えるから難しい。
381:デフォルトの名無しさん
02/06/21 22:16
たまには、あげにゃ
382:デフォルトの名無しさん
02/06/22 00:08
HSP製があったので、私もHSPでチャレンジ。
行数削るのだるいんでそのまんま。
一応砂嵐。改行なくせば一行いくかな?
boxf 0,400,640,0
repeat
redraw 0
repeat 60
y=cnt*8
repeat 80
x=cnt*8
pos x,y
rnd rx,640
rnd ry,480
gcopy 0,rx,ry,8,8
loop
loop
redraw 1
await 1
loop
処理的にはパレットモードにして、
パレットを白黒にランダムで変更てのが楽なんだけどね。
つーか、そっちも作ってみるかな。
383:デフォルトの名無しさん
02/06/22 00:13
>>382
7行にまとめよ
384:382
02/06/22 00:37
>>383
スマソ、そういうわけでまとめてみたら2行になった。
boxf 0,0,640,400:repeat:redraw 0:repeat 60:y=cnt*8:repeat 80:x=cnt*8:pos x,y
rnd rx,640:rnd ry,480:gcopy 0,rx,ry,8,8:loop:loop:redraw 1:await 1:loop
砂嵐の濃度調整はboxf 0,0,640,400の部分で、画面を何割黒で塗りつぶすかで決まるから。
385:デフォルトの名無しさん
02/06/22 00:46
お題:BlockSorting
386:デフォルトの名無しさん
02/06/22 01:20
>>385
#include <stdlib.h>
typedef unsigned char b;e(b*s,b*d,int c){unsigned*o,i=0,r;o=calloc(65536,4);c--
;for(i;i<c;i++)o[s[i]<<8|s[i+1]]++;o[s[c]<<8|*s]++;for(i=1;i<65536;i++)o[i]+=o[
i-1];d[--o[s[c]<<8|*s]]=s[i=c-1];for(;i;i--)d[--o[s[i]<<8|s[i+1]]]=s[i-1];r=--o
[*s<<8|s[1]];d[r]=s[c];free(o);return r;}
一応、限定ソートなり。
387:デフォルトの名無しさん
02/06/22 01:44
こっちは復元
#include <stdlib.h>
typedef unsigned char B;void d(B*s,B*d,int c,unsigned x){unsigned*o,i,a=0,t[256
];memset(t,0,1024);for(i=--c;i;i--)t[s[i]]++;o=calloc(65536,4);for(;i<256;i++){
memset(d+a,i,t[i]);a+=t[i];}for(i=0;i<=c;i++)o[(s[i]<<8)+d[i]]++;for(i=1;i<
65536;i++)o[i]+=o[i-1];*d=d[x];d[c]=s[x];d[c-1]=s[--o[(d[c]<<8)+*d]];for(i=c;i>
2;i--)d[i-2]=s[--o[d[i-1]<<8|d[i]]];free(o);}
388:385
02/06/22 01:58
>386-387
(゚д゚)ハヤー
で、自分でも作ってみた。動作未確認・ブロックサイズ256に固定。
#include <stdlib.h>
enum{S=256};typedef unsigned char UC;int cmp(void*a,void*b){return memcmp(a,b,S
);}UC*bs(UC*s,UC*d){UC*p,**t,i;p=malloc(S*2);t=malloc(S);for(i=0;i<S;i++)p[i]=p
[i+S]=s[i],t[i]=p+i;qsort(t,S,S,cmp);for(i=0;i<size;i++)if(p== t[i])break;*d++=
i;for(i=0;i<S;i++)d[i]=t[i][S-1];free(p);free(t);return --d;}
389:385
02/06/22 02:50
ぅぁー、>388バグりまくりだ。
出なおしてきます。
390:デフォルトの名無しさん
02/06/24 00:47
ageじゃ!
391:デフォルトの名無しさん
02/06/24 19:14
インチキだけど(includeとか含めなければ)7行
アナログ時計
#define NO_STRICT
#include <windows.h>
typedef void*v;typedef int i;typedef float f;f q=50,r=100;f R(f n){return(90.0\
-n)/57.3;}void L(v h,f r){MoveToEx(h,q,q,0);LineTo(h,q+q*cos(r),q-q*sin(r));}i\
WINAPI WinMain(v,v,char*,i){v h=CreateWindow("EDIT","n",(1<<28),0,0,1<<31,1<<\
31,0,0,0,0);HideCaret(h);SetTimer(h,1,r,0);MSG m;while(GetMessage(&m,0,0,0)!=0\
){if(m.message==275){v d=GetDC(h);Rectangle(d,0,0,r,r);SYSTEMTIME s;GetLocalTi\
me(&s);L(d,R(s.wSecond*6));L(d,R(s.wMinute*6));L(d,R(s.wHour*30));ReleaseDC(h,\
d);}if(m.message==513){break;}DispatchMessage(&m);}KillTimer(h,1);}
392:デフォルトの名無しさん
02/06/28 14:31
漏れの環境(VS6SP5)だと、
math.hをインクルードしないとエラーになったので、
一行減って、一行増えたから、減ってない・・・。
鬱だ。
#define NO_STRICT
#include <windows.h>
#include <math.h>
typedef void*v;typedef float f;v d;f q=50;void L(f r){r=(15-r)/9.55;MoveToEx(d,
q,q,0);LineTo(d,q+q*cos(r),q-q*sin(r));}int WINAPI WinMain(v,v,char*,int){v h=\
CreateWindow("EDIT","n",1<<28,0,0,1<<31,1<<31,0,0,0,0);HideCaret(h);SetTimer(h,
1,100,0);MSG m;while(GetMessage(&m,0,0,0)&&m.message!=513){if(m.message==275){
d=GetDC(h);Rectangle(d,0,0,100,100);SYSTEMTIME s;GetLocalTime(&s);L(s.wSecond);
L(s.wMinute);L(s.wHour*5);ReleaseDC(h,d);}DispatchMessage(&m);}KillTimer(h,1);}
393:デフォルトの名無しさん
02/06/28 15:00
「 #include
は数えないのはどうよ?」
って議論になったことがあった(はず)なのでキニスンナ!
394:デフォルトの名無しさん
02/06/28 19:29
新たなお題キボーン
395:デフォルトの名無しさん
02/06/28 19:47
>>393
おいおい、ソリャだめだって話になったろ
396:392
02/06/28 21:22
>>395
オーケイ、分かった
#include <windows.h>
#include <math.h>
HDC d;float q=50;L(float r){r=(15-r)/9.55;MoveToEx(d,q,q,0);LineTo(d,q+q*cos(r)
,q-q*sin(r));}WINAPI WinMain(HINSTANCE i,HINSTANCE,LPSTR,int){WNDCLASS w={67,D\
efWindowProc,0,0,i,0,0,0,0,"1"};RegisterClass(&w);HWND h=CreateWindow("1",0,51\
3<<19,0,0,200,200,0,0,i,0);SetTimer(h,1,99,0);MSG m;d=GetDC(h);while(GetMessag\
e(&m,h,0,0)!=-1){if(m.message==275){Rectangle(d,0,0,100,100);SYSTEMTIME s;GetL\
ocalTime(&s);L(s.wSecond);L(s.wMinute);L(s.wHour*5);}DispatchMessage(&m);}}
先人の遺産(砂嵐)を参考にしてみた
でも、漏れには限界・・・
397:392
02/06/28 22:55
前スレの537を参考に・・・
#include <windows.h>
typedef double b;b cos(b);b sin(b);HDC d;b q=30;L(b r){r=(15-r)/9.55;MoveToEx(d
,q,q,0);LineTo(d,q+q*cos(r),q-q*sin(r));}WINAPI WinMain(HINSTANCE i,HINSTANCE p
,LPSTR l,int q){MSG m;HWND h;SYSTEMTIME s;WNDCLASS w={67,DefWindowProc,0,0,i,0,
0,0,0,"1"};RegisterClass(&w);h=CreateWindow("1",0,513<<19,0,0,95,95,0,0,i,0);S\
etTimer(h,1,99,0);d=GetDC(h);while(GetMessage(&m,h,0,0)!=-1){if(m.message==275)
{Rectangle(d,0,0,60,60);GetLocalTime(&s);L(s.wSecond);L(s.wMinute);L(s.wHour*5)
;}DispatchMessage(&m);}}
あと、24字で七行達成かな?
一人でやってると鬱だからage
誰か、助けて
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5393日前に更新/349 KB
担当:undef