5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

ソースを上げるスレッド

1 :名無しさん@お腹いっぱい。:01/11/06 18:18 ID:TUTRHoJP
特に特定のスレに当てはまるわけじゃないけど
何となくソースを上げたくなったときに公開するためのスレッド。

# 一種の隔離スレです。

2 :名無しさん@お腹いっぱい。:01/11/06 18:52 ID:???
#include <stdio.h>
#define ver "read.cgi ver6.01 (01/11/15)"
int main(int)
{
printf("ヒロヒト。\n");
}

3 :名無しさん@お腹いっぱい。:01/11/06 18:54 ID:???
>2
それじゃコンパイラ通らない。
つか、もっと役に立つか楽しいのうぷすれ。

4 :名無しさん@お腹いっぱい。:01/11/06 18:56 ID:???
2chの最新read.cを書いたら頃されますか?

5 :名無しさん@お腹いっぱい。:01/11/06 18:56 ID:???
ゲームじゃねぇし

6 :名無しさん@お腹いっぱい。:01/11/06 19:00 ID:???
なんかあるかなぁ。
楽しそうなゲーム・・・
探そうかな。

7 :名無しさん@お腹いっぱい。:01/11/06 19:40 ID:???
正規表現でゲームを作ろう

8 :名無しさん@お腹いっぱい。:01/11/06 21:22 ID:???
#include <windows.h>
#pragma warning(disable : 4244)


#include <GL/glut.h> /* glaux を glut にする */

#include <stdlib.h>
#include <math.h>

void axis(GLfloat d, GLfloat s);
void subaxis(GLfloat d, GLfloat s);

char TitleString[] = "双曲放物面";
GLfloat eye[]={ 40.0, 10.0, 20.0 };

GLfloat v[40][40][3], n[40][40][3];

GLfloat light_ambient[] = { 0.2, 0.2, 0.2, 1.0};
GLfloat light_diffuse[] = { 0.5, 0.5, 0.5, 1.0};
GLfloat light_specular[] = { 0.5, 0.5, 0.5, 1.0};

GLfloat mat_ambient1[] = { 0.7, 0.7, 0.7, 1.0 },
mat_diffuse1[] = { 1.0, 1.0, 1.0, 1.0 },
mat_specular1[] = { 1.0, 1.0, 1.0, 1.0 },
mat_shininess1[] = { 100.0 };

GLfloat mat_ambient[] = { 0.5, 0.5, 0.7, 0.85 },
mat_diffuse[] = { 0.1, 0.5, 0.8, 0.85 },
mat_specular[] = { 1.0, 1.0, 1.0, 0.85 },
mat_shininess[] = { 100.0 };

void compute(void)
{
float x,y,z,r;
int i,j;

for(i=0; i<40; i++){
for(j=0; j<40; j++){
z = (float)i/10.0 - 2.0;
x = (float)j/10.0 - 2.0;
y = z*z - x*x;
r = sqrt((2.0*x)*(2.0*x) + 1.0 + (2.0*z)*(2.0*z));
v[i][j][0] = (GLfloat)x;
v[i][j][1] = (GLfloat)y;
v[i][j][2] = (GLfloat)z;
n[i][j][0] = (GLfloat)((2.0*x)/r);
n[i][j][1] = (GLfloat)(1.0/r);
n[i][j][2] = (GLfloat)(-(2.0*z)/r);
}
}
}

9 :名無しさん@お腹いっぱい。:01/11/06 21:23 ID:???
void myinit(void)
{
GLfloat light0[] = { 100.0, 0.0, 0.0, 1.0 },
light1[] = { 0.0, 100.0, 0.0, 1.0 };

glLightfv(GL_LIGHT0, GL_POSITION, light0);
glLightfv(GL_LIGHT1, GL_POSITION, light1);

glEnable(GL_LIGHT0);
glEnable(GL_LIGHT1);
glEnable(GL_LIGHTING);
glEnable(GL_DEPTH_TEST);
}

void display(void) /* CALLBACK を消す */
{
GLfloat d = 0.05, s = 2.0;
int i,j;

glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
gluLookAt(eye[0], eye[1], eye[2], 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);

glLightfv(GL_LIGHT0, GL_AMBIENT, light_ambient);
glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse);
glLightfv(GL_LIGHT0, GL_SPECULAR,light_specular);

glLightfv(GL_LIGHT1, GL_AMBIENT, light_ambient);
glLightfv(GL_LIGHT1, GL_DIFFUSE, light_diffuse);
glLightfv(GL_LIGHT1, GL_SPECULAR,light_specular);

glEnable(GL_BLEND);
glBlendFunc(GL_ONE, GL_ZERO);

glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient1);
glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse1);
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular1);
glMaterialfv(GL_FRONT, GL_SHININESS,mat_shininess1);

axis(d,s);

glDepthMask(FALSE);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient);
glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
glMaterialfv(GL_FRONT, GL_SHININESS,mat_shininess);

10 :名無しさん@お腹いっぱい。:01/11/06 21:24 ID:???

for(i=0; i<39; i++){
glBegin(GL_TRIANGLE_STRIP);
for(j=0; j<40; j++){
glNormal3f(n[i][j][0], n[i][j][1], n[i][j][2]);
glVertex3f(v[i][j][0], v[i][j][1], v[i][j][2]);
glNormal3f(n[i+1][j][0],n[i+1][j][1],n[i+1][j][2]);
glVertex3f(v[i+1][j][0],v[i+1][j][1],v[i+1][j][2]);
}
glEnd();
}
glDepthMask(TRUE);
glDisable(GL_BLEND);

glFlush ();
}

11 :名無しさん@お腹いっぱい。:01/11/06 21:25 ID:???
void axis(GLfloat d, GLfloat s)
{

glPushMatrix();
subaxis(d, s);
glPopMatrix();

glPushMatrix();
glRotatef(90.0, 1.0, 0.0, 0.0);
subaxis(d, s);
glPopMatrix();

glPushMatrix();
glRotatef(-90.0, 0.0, 0.0, 1.0);
subaxis(d, s);
glPopMatrix();

}

void subaxis(GLfloat d, GLfloat s)
{
int i;
double pi = 3.14, t;
glBegin(GL_QUAD_STRIP);
for(i = 0; i<=6; i++){
t = i*2*pi/6;
glNormal3f( (GLfloat)cos(t), 0.0, (GLfloat)sin(t));
glVertex3f( (GLfloat) (d * cos(t)), -s, (GLfloat)(d * sin(t)));
glVertex3f( (GLfloat) (d * cos(t)), s, (GLfloat)(d * sin(t)));
}
glEnd();
glTranslatef(0.0, s, 0.0);
glRotatef(-90.0, 1.0, 0.0, 0.0);
glutSolidCone(2.0*d, 4.0*d, 5, 5);
}

12 :おしまい。:01/11/06 21:26 ID:???
void myReshape(int w, int h) /* CALLBACK を消す。 w, h は int */
{
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();

gluPerspective(10.0, (GLfloat)w/(GLfloat)h, 1.0, 100.0);

glMatrixMode(GL_MODELVIEW);
}

void main(void)
{
compute();

glutInitDisplayMode (GLUT_SINGLE | GLUT_RGBA | GLUT_DEPTH); /* 変更 */
glutInitWindowPosition(0,0); /* 窓の左上の座標 (ドット) */
glutInitWindowSize(500, 500); /* 窓のサイズ */
glutCreateWindow(TitleString);
myinit();
glutReshapeFunc(myReshape);
glutDisplayFunc(display);
glutMainLoop( );
}

13 :ちょちんちゃ:01/11/07 05:43 ID:???
#include <stdio.h>
#include<string.h>

int a2i(char *meta);
void main()
{
int i,aa;
char meta[256];

gets(meta);

i=a2i(meta);
printf("%d\n",i);
}

int a2i(char *meta)
{
int cnt,keta=0,ans=0,f=1;

for(cnt=0;meta[cnt]!=0;cnt++)
{
if((meta[cnt]-48)<0||(meta[cnt]-48)>9)
{
break;
}
keta++;
f*=10;
}
f/=10;

for(cnt=0;keta!=0;keta--)
{
ans+=(meta[cnt]-48)*f;
f/=10;

cnt++;
}

return ans;
}
どうだコノヤロウ

14 :名無しさん@お腹いっぱい。:01/11/07 07:05 ID:???
このやろう言われても……。素直にatoi()使え。

15 :名無しさん@お腹いっぱい。:01/11/07 11:01 ID:???
>>13
無駄が多くないか?
int a2i(char *meta)
{
  int ans = 0;
  while (*meta >= '0' && *meta <= '9') {
    ans *= 10;
    ans += *meta - '0';
    meta++;
  }
  return ans;
}

16 :名無しさん@お腹いっぱい。:01/11/07 18:15 ID:???
おお!ハンドオプティマイズ!

17 :名無しさん@お腹いっぱい。:01/11/07 18:55 ID:???
定義ブロック
*define

game

;実行ブロック
*start

end

18 :名無しさん@お腹いっぱい。:01/11/07 19:07 ID:???
>17
なんのスクリプト? あと、つまんないよ、それ。

19 :名無しさん@お腹いっぱい。:01/11/08 00:08 ID:FoZhzfZJ
MS-DOS コンソールベースのアクションゲームです!
名前: 「5000ゲッター!」

実行すると、1から順に数字が流れていきますので、タイミングよく、5000で、CTRL + C で止めてください。

#include <stdio.h>

main()
{
int i;
for(i=1;i<=10000;i++){
printf("%5d\n",i);
}
}

20 :hpiでいいのが色々出てるから今さらだが:01/11/08 00:14 ID:???
;ジョイスティックとキーボードの一括取得モジュール
;要なかむらさん作JoyPad.dll
;HSPのstick命令と似たような使い方すれー
;返値は
;左 = 1
;右 = 2
;上 = 4
;下 = 8
;ボタン1(決定)= 16
;ボタン2(キャンセル)= 32
;ジョイスティックとキーボードの論理和の値が返ってくる
;テンキー8426とX,Zキーもサポート

#module "joystick"
#deffunc joykey val,int,int
mref ret,16
mref trg,1
mref wnd,2

;初回の起動時のみジョイスティックを初期化
if init_flg = 0{
#uselib "joypad.dll"
#func joypad joypad 1
init_flg = 1
}
;第2パラが1でHSP以外のウインドウがアクティブな場合は入力されていないとみなす
ginfo 1
if (wnd = 1) & (prmx = -1) : ret = 0 : return

;*****キーボードの処理*****
;左
getkey i,37 : key = i : getkey i,100 : key = key or i
;上
getkey i,38 : key = key or (i* 2) : getkey i,104 : key = key or (i*2)
;右
getkey i,39 : key = key or (i* 4) : getkey i,102 : key = key or (i*4)
;下
getkey i,40 : key = key or (i* 8) : getkey i, 98 : key = key or (i*8)
;決定
getkey i,88 : key = key or (i*16) : getkey i, 13 : key = key or (i*16)
;キャンセル
getkey i,90 : key = key or (i*32) : getkey i, 32 : key = key or (i*32)
i = key

;trgの処理をまとめて
key = oldkey ^ key & key | (trg & key)

;*****ジョイスティックの処理*****
joypad joy,trg,0
if joy < 0 : joy = 0

;*****結果をorして返せ*****
ret = key or joy
;今回のキーボード値を保存
oldkey = i
return
#global

21 :名無しさん@お腹いっぱい。:01/11/09 07:22 ID:wli4jLXP
>17
オモシレぇー!!!

22 :名無しさん@お腹いっぱい。:01/11/14 15:22 ID:???
>>21 (・∀・)

23 :名無しさん@お腹いっぱい。:01/11/15 02:28 ID:???
>>20
参考にさせてもらいましたー

24 :名無しさん@お腹いっぱい。:01/11/15 14:59 ID:FoQ9AS6c
//変数宣言
LPDIRECTDRAWSURFACE lpPrimary; //基本サーフェス(画面表示と同じもの)
LPDIRECTDRAWSURFACE lpBackbuffer; //バックバッファサーフェス(描画対象と同じもの)
LPDIRECTDRAWSURFACE lpScreen;
DDCOLORKEY ddck;
LPDIRECTDRAWSURFACE lpChar;
LPDIRECTDRAW lpDDraw;
PALETTEENTRY pe2[256];
POINT ptBase; // スクロール基準点
void DrawFrame(void) //メインルーチン
{
//変数宣言
static int i;
static int j; //アニメーションフラグ
static int x,y; //座標の設定
static int size=32; //拡大縮小用変数
static int sc,sc2;
RECT Scrrc={0,0,640,480}; //画面のサイズ
RECT Charrc[]={{0,0,64,64}, //BMPの座標を指定する
{64,0,128,64},
{128,0,192,64}};
// 左エリア
if( ptBase.x > 0){
// 左上
if( ptBase.y > 0){
SetRect( &Scrrc, 0, 0, ptBase.x, ptBase.y);
lpBackbuffer->BltFast(ptBase.x,ptBase.y,lpScreen,&Scrrc,DDBLTFAST_NOCOLORKEY|DDBLTFAST_WAIT);
}
// 左下
if( ptBase.y <= 640){
SetRect( &Scrrc, 0, ptBase.y, ptBase.x, 480);
lpBackbuffer->BltFast(ptBase.x,ptBase.y,lpScreen,&Scrrc,DDBLTFAST_NOCOLORKEY|DDBLTFAST_WAIT);
}
}
// 右エリア
if( ptBase.x <= 640){
// 右上
if( ptBase.y > 0){
SetRect( &Scrrc, ptBase.x, 0, 640, ptBase.y);
lpBackbuffer->BltFast(ptBase.x,ptBase.y,lpScreen,&Scrrc,DDBLTFAST_NOCOLORKEY|DDBLTFAST_WAIT);
}
// 右下
if( ptBase.y <= 480){
SetRect( &Scrrc, 0, ptBase.y, ptBase.x, 480);
lpBackbuffer->BltFast(ptBase.x,ptBase.y,lpScreen,&Scrrc,DDBLTFAST_NOCOLORKEY|DDBLTFAST_WAIT);
}
}
//ウェイト処理
static DWORD Nowtime,Prevtime;
Nowtime=timeGetTime();
if((Nowtime-Prevtime)<WAIT)return;
Prevtime=Nowtime;
lpPrimary->Flip(NULL,DDFLIP_WAIT);
}
斜めスクロールが出来ないぞゴルァ!

25 :名無しさん@お腹いっぱい。:01/11/15 17:57 ID:???
>>20
プリプロセッサ処理はスクリの流れと関係無いよ。モジュール名は関係あるけど。
由恵にinit_flgは必要なし。

26 :名無しさん@お腹いっぱい。:01/11/17 05:18 ID:Md+7FNp4
ソースじゃなくてエディタの色分けの設定ファイルなんだけど
UPしてもいい?

27 :名無しさん@お腹いっぱい。:01/11/17 08:16 ID:???
なんでもいいからうぷすれ

28 :Freuden:01/11/17 11:36 ID:pANvGZcK
とりあえず、どうよ。

typedef struct{...} Object; // ここでキャラの情報を格納した構造体を新しく定義する

void puyo01Act01(Object *enemyPtr); // ステージ1の"ぷよ"と言う名の敵の動きの1つ目
void puyo01Act02(Object *enemyPtr); // ステージ1の"ぷよ"と言う名の敵の動きの2つ目
void puyo01Act03(Object *enemyPtr); // ステージ1の"ぷよ"と言う名の敵の動きの3つ目
void puyo01Act04(Object *enemyPtr); // ステージ1の"ぷよ"と言う名の敵の動きの4つ目
void puyo01Act05(Object *enemyPtr); // ステージ1の"ぷよ"と言う名の敵の動きの5つ目

// ステージ1の"ぷよ"と言う名の敵の動きに関する関数へのポインタ配列
void (*puyo01ActBox[])(Object *) = {puyo01Act01, puyo01Act02, puyo01Act03, puyo01Act04, puyo01Act05};

// 実際に関数を発動させる
puyo01ActBox[enemyPtr->actStepIns](enemyPtr); // "ぷよ"と言う名の敵自身に自分の行動の番号を保存させ制御する

29 :名無しさん@お腹いっぱい。:01/11/17 11:43 ID:???
どうよ、と言われても……。

30 :26:01/11/17 13:06 ID:???
お言葉に甘えて…YGS2K用の設定ファイル。K2Editor用(多分秀丸も)
予約語・標準命令は紺、拡張命令は青灰、文字列は小豆色、コメントは緑。
正規表現の事を分かっていないので、ホントはもっと縮められると思います。

33,void
33,main
33,long
33,int
33,str
33,return
33,if
33,else
33,alt
33,case
33,default
33,loop
33,break
33,goto
33,for
33,while
33,do
33,jump
33,include
33,new
33,delete
33,import
49,(Load|Stop|Pause|Replay|IsPlay)Wave
49,PlayWave(|2)
49,ReleaseWave(|All)
49,Get(Pos|Frequency)Wave
49,Set(Frequency|LoopMode)Wave
49,SetVolumeWave(|All)
49,SetWaveFormat
49,(Open|Close|Stop|Pause|Replay|IsPlay|GetSongMax|Eject|SetLoopMode)CD
49,Song(Length|Start)CD
33,GetCurrentPosCD
49,PlayCD(|FromStart|FromTo|Pos)
49,Get(Bpp|PlaneSize)
49,LoadBitmap(|W)
49,(Release|Save)Bitmap
49,SetColorKey(RGB|Pos)
33,SystemMemoryPlane
49,(|Clip)Blt(|Fast|Rect|FastRect)(|R)
49,(|Clip)BlendBlt(|Rect)

31 :26:01/11/17 13:08 ID:???
>>30 からの続き
33,EnableBlendColorKey
49,ClearSecondary(|Rect)
49,SetFillColor(|RGB)
49,Set(Brightness|SystemMemoryUse|SecondaryOffset)
49,(Realize|Flush)Palette
49,(Flush|Mosaic)Blt
49,(Enable|Disable|BltFrom|SnapTo|Save)BackupPlane
33,SwapToSecondary
33,CreateSurface
49,(Set|Get|GetReal)FPS
49,(Get|Reset)Time
49,(Pause|Restart)Time(|All)
49,Text(Out|Move|Blend|Blt|GetSize)
49,Text(Size|Height|Color|Font)
49,(FPS|Mouse|Text)Layer(On|Off)
49,TextBackColor(|Disable)
49,str(cpy|ncpy|cat)
33,sprintf
33,KeyInput
49,Is(Push|Press)(|Up|Down|Left|Right)Key
49,Is(Push|Press)(Return|Space|Esc|Joy|MIDI)Key
33,SetJoyButtonMax
33,GetVelocityMIDIKey
49,(Set|Get)MouseInfo
49,(Load|Play|Stop|Pause|Replay|Release|IsPlay|SetLoopMode)MIDI
49,(Load|Save|Reset)GameFlag(|2)
49,(Load|Save)File
49,(Jump|Call)Script
33,SetErrorRestrain
33,Quit
33,Rand
49,OpenSenario(|2)
49,Read(Senario|LineToString|SenarioToString)
49,(Set|Change)DisplayMode
49,(Get|Set)CurrentDirectory
49,(Set|Get)ConstParam
33,halt
49,Set(Window|DebugMode)
49,InnerLog(|Mes)
177,(Left|Right|Mid)Str

32 :26:01/11/17 13:09 ID:???
>>31 からの続き
161,CharAt
177,Str(Len|Cmp|Cpy|Cat)
161,IsKanji
177,To(Upper|Lower)Str
161,FindChar
177,Val(Long|Float|Float2|Num)
177,(Copy|Fill)Memory
161,QSort
177,Cast(From|To)(Float|Double)
177,(Open|Close)File
177,Get(FileSize|FileMemory|ParentDir)
177,(Read|Write)(Data|Line|Byte|Word|DWord)
161,BltTrans
177,(|a)sin
177,(|a)cos
177,(|a)tan
169,atan2
169,pow
177,SetFind(File|Path)
177,Enable(Subdir|PackFile|DirListup)
177,Find(|All)File
177,Is(Match|Dir)
169,CheckDrive
169,GetFoundFile
177,SpriteBlt(|XY|Offset)
177,SpriteDraw(|Offset)
177,Sprite(Move|Copy|Visible)
177,SetSprite(|Rect|Offset|Rate|Animation(|2)|AniPat)
169,SpriteEnableColorKey
169,GetDateAndTime
177,(Get|Release)HDC
177,(Get|Set)Pixel
169,DrawLine
169,ChangeBright
169,IsPatMatch
177,(Create|Destroy)JoyStick
169,GetJoyStickCount
177,JoyStick(Init|SetMax|SelectDevice|Input|)
177,JoyStickIsKey(Push|Press)
Quotation="
Canceler=\
Commenter=//
CommenterFirstToken=0
BracketCount=1
BracketLeft=/*
BracketRight=*/
BracketColorIndex=5

以上。誰かの役に立ったら嬉しいです。

33 :名前は開発中のものです。:01/12/25 23:52 ID:cgyXC09v
age

34 :2時間くらいかかってます:01/12/26 17:18 ID:QaCPTDIU
curses使ったテキストぷよぷよ。
ゲームはちゃんとできるが、あんまり短くしようとしてないのでプログラムは適当。
Windowsの人はhttp://www.cygwin.com/からsetup.exe落としてきて、
devel→gccにチェック入れてインストールして、
$ gcc puyo.c -lncurses
$ ./a.exe
として実行。
UNIX系の人はよしなに。

35 :puyo.cと保存せよ!:01/12/26 17:19 ID:QaCPTDIU
#include <curses.h>
#include <sys/time.h>
#include <time.h>
#define check(p,d) ((field[(p)]+field[(p)+dird[(d)]])==0)
#define set(c) do{field[pos]=puyo[0]*c;field[pos+dird[dir]]=puyo[1]*c;}while(0)
char delf[7*14],field[7*14],puyo[2],nxt[2],dird[]={-7,-1,7,1};char *puyoc[]={
" ","[-]","[@]","[!]","[*]","[#]", "///"};int pos,dir;void view(){int i,j;
for(i=1;i<14;i++)for(j=0;j<7;j++){move(i-1, j*3);printw("%s", puyoc[field[i
*7+j]]);}}int fall(){int i,j,r=0;for(i=0;i<6;i++){for(j=12;field[i+j*7]&&j>0;j
--);for(;j>0;j--)if((field[i+j*7]=field[i+j*7-7])!=0)r=1;field[i]=0;}return r;}
int delp(int p,int d){int i,j,r=1;delf[p]=d+1;for(i=0;i<4;i++){j=p+dird[i];if(j
>=0&&delf[j]<d+1&&field[p]==field[j])r+=delp(j, d);}if(d)field[p]=0;return r;}
int delpuyo(){int i,r=0;bzero(delf, 7*14);for(i=0;i<7*13;i++)if(field[i]&&field
[i]<6&&delp(i,0)>3){delp(i,1);r=1;}return r;}void main(){int i,cnt,w,f=fileno(
stdin),c;fd_set fdset,rfdset;struct timeval tv;srand(time(NULL));bzero(field,7*
14);for(i=0;i<14;i++)field[i*7+6]=6;for(i=0;i<6;i++)field[13*7+i]=6;FD_ZERO(&
fdset);FD_SET(f,&fdset);tv.tv_sec=0;tv.tv_usec=100000;initscr();noecho();cbreak
();erase();nxt[0]=((rand()/10)%5)+1;nxt[1]=((rand()/10)%5)+1;while(1){dir=0;pos
=7+3;w=10;puyo[0]=nxt[0];puyo[1]=nxt[1];nxt[0]=((rand()/10)%5)+1;move(4,24);
printw("%s",puyoc[nxt[0]]);nxt[1]=((rand()/10)%5)+1;move(3,24);printw("%s",
puyoc[nxt[1]]);while(1){rfdset=fdset;if(select(f+1,&rfdset,NULL,NULL,&tv)>0){c=
getch();if(w<10)w+=2;if(c==' '&&check(pos,(dir+1)%4))dir=(dir+1)%4;if(c=='q'&&
check(pos+7,dir))exit(0);if(c==','&&check(pos-1,dir))pos--;if(c=='.'&&check(pos
+1,dir))pos++;}else cnt++;if(check(pos+7,dir)){if(++cnt>10){pos+=7;cnt=0;}}else
{if(--w<0){set(1);break;}}set(1);view();refresh();set(0);}while(1){while(fall()
){view();refresh();usleep(100000);}usleep(300000);if(!delpuyo())break;view();
refresh();usleep(300000);}}}

ていうか俺も暇人だな。

36 :補足:01/12/26 17:26 ID:QaCPTDIU
>    ...char *puyoc[]={
>" ","[-]","[@]","[!]","[*]","[#]", "///"};...
 ↑ここの" "は、スペース3つだ。そのままこぴぺすると画面が崩れるぞ。
あと、操作は、','と'.'で左右、スペースで回転だ。

37 :名前は開発中のものです。:01/12/26 17:39 ID:???
>>35
おおスゴイね。curses ってところが何とも渋い。

38 :名前は開発中のものです。:01/12/26 17:40 ID:???
なにげに7行プログラミングスレのかほりが……。

39 :名前は開発中のものです。:01/12/26 17:46 ID:QaCPTDIU
7行スレのオセロには感動した。

40 :名前は開発中のものです。:01/12/26 17:53 ID:???
>>35 動いたよ〜ん。いいねいいね。

41 :名前は開発中のものです。:01/12/26 18:05 ID:???
>>35
すげぇ(w

42 :34~36:01/12/26 21:22 ID:???
7行スレまだあったんだね。
http://pc.2ch.net/test/read.cgi/tech/984182993/
ぷよぷよはちょっと7行じゃ無理そうだなぁ。
#defineまでで5行あるし。

43 :暇なのでもう一つ作った:01/12/29 00:29 ID:???
#include <curses.h>
#include <sys/time.h>
#include <time.h>
char *e="zzzqASAVANoAVASANoAarANuANoANuANrAaoANrANuANoANuANrANoASAPARAPARAPASA"
"NoANrANoANznANoANrANoASANoARANoARANoASANvANuBoBuANuGnANoMEoANoFuANoBsBsBoANuI"
"NDnLnENHuANoBznBoANuGnANoMEoANnGuANoBznBoANvASAPARANoAVASANoANrANuANoANuANrAN"
"oAaNANoAPARANCRAPANoAOAarANoANoANznANoBoANrAOAPANoARANoARANoASANoANzoANoANzoA"
"NoAZPAPAZPANzzzq",f[42*22+1],fk[42*22],*p[]={"(V","(D","(<","(=","h)","l)",
">)","=)"},*m[]={"%%","%%","@@","><"},t[]={' ','.','*','#'},d[]={-42,1,42,-1},
em[4],ed[4];int kn=0,k[99],kk[9999],kl[9999],kr[9999],ps=16*42+20,dr=1,ct=0,dt=
0,dd[]={'k','l','j','h'},v=0,ts=0,ep[]={10*42+20,10*42+20,10*42+20,10*42+20};
int nn(int c){return c==' '||c=='.'||c=='*';}int nw(int z){return nn(f[z])&&nn(
f[z+1]);}int ck(int p){int a=f[p],b=f[p+1];if(a=='#'||b=='#')return 3;if(a=='*'
||b=='*')return 2;if(a=='.'||b=='.')return 1;return 0;}int kc(int a, int b){int
d=(a/42==b/42)?((a%42)>(b%42))*2-1:(a>b)*84-42;for(;b!=a;b+=d)if(!nw(b))return
0;return 1;}void emv(int e){int i,j,z;if((i=fk[ep[e]])!=0){i--;switch(em[e]){
case 1:j=ep[e];if(e==3||(e==2&&abs((j%42)-(ps%42))+abs(j/42-ps/42)>30))goto ky;
if(j/42==ps/42&&kc(j,ps))ed[e]=((j%42)>(ps%42))?3:1;else if(j%42==ps%42&&kc(j,
ps))ed[e]=((j/42)>(ps/42))?0:2;else{j=d[(e&1)?(dr+2)%4:dr];for(z=ps;!fk[z];z+=j
);j=fk[z]-1;if (j>=0)ed[e]=kk[i*kn+j];}break;case 0:ky:j=ed[e];do{ed[e]=(rand()
/10)%4;}while(ed[e]==j||ck(ep[e]+d[ed[e]])>2);j=ep[e];if(j%42==ps%42||j/42==ps/
42)em[e]=1;break;case 2:j=d[(dr+2)%4];for(z=ps;!fk[z];z+=j);j=fk[z]-1;if (j>=0)
j=kk[i*kn+j];for(i=0;i<3;i++)if(ck(ep[e]+d[(i+j+1)%4])<3)break;ed[e]=(i+j+1)%4;
break;case 3:ed[e]=kk[i*kn+fk[10*42+20]-1];if(ep[e]==10*42+20)em[e]=0;break;}if
(em[e]<2&&((rand()/10)%20)==0)em[e]^=1;}i=ct;if(em[e]==2){if(i&1)return;else i
/=2;}if(em[e]==3)i=1;if(ed[e]&1||i&1){if(ck(ep[e]+d[ed[e]])<3)ep[e]+=d[ed[e]];
else ed[e]=(ed[e]+2)%4;}}void ev(int e){move(ep[e]/42,ep[e]%42);printw("%s",m[
em[e]]);}void kb(){int i=0;for(;i<22*44;i++)if (nw(i)&&nw(i-2)+nw(i+2)&&nw(i+42
)+nw(i-42)){k[kn++]=i;fk[i]=kn;}}int kd(){int i=0,j;for(;i<kn;i++)for(j=0;j<kn;
j++){if(k[i]/42==k[j]/42&&kc(k[i],k[j])){kl[i*kn+j]=abs((k[i]%42)-(k[j]%42));kk
[i*kn+j]=((k[i]%42)>(k[j]%42))?3:1;}if(k[i]%42==k[j]%42&&kc(k[i],k[j])){kl[i*kn
+j]=abs((k[i]-k[j])/42)*2;kk[i*kn+j]=((k[i]/42)>(k[j]/42))?0:2;}}}void wf(){int
i,x,y;for(i=0;i<kn*kn;i++)kr[i]=i/kn;for(y=0;y<kn;y++)for(x=0;x<kn;x++)if(kl[x*
kn+y])for(i=0;i<kn;i++)if(kl[y*kn+i])if(!kl[x*kn+i]||(kl[x*kn+y]+kl[y*kn+i])<kl
[x*kn+i]){kl[x*kn+i]=kl[x*kn+y]+kl[y*kn+i];kr[x*kn+i]=kr[y*kn+i];}for(y=0;y<kn;
y++)for(x=0;x<kn;x++){int n=kr[y*kn+x],m=x;for(;n!=y;n=kr[y*kn+n])m=n;kk[y*kn+x
]=kk[y*kn+m];}}void de(){int j=0;while(*e){int i,a=(*e<'a')?*e-'A':*e-'a'+26;i=
a%13;a/=13;for(i++;i;i--){f[j++]=t[a];if(a==1)ts++;}e++;}}void vw(){move(0,0);
printw("%s",f);}void st(int z){f[ps]=z?p[dr*2+(ct&1)][0]:' ';f[ps+1]=z?p[dr*2+(
ct&1)][1]:' ';}

44 :つづき:01/12/29 00:29 ID:???
void main(){int i,w,f=fileno(stdin),c,k=0;fd_set fdset,rfdset;
struct timeval tv;srand(time(NULL));FD_ZERO(&fdset);FD_SET(f,&fdset);tv.tv_sec=
0;tv.tv_usec=200000;initscr();stdscr=newwin(22,42,0,0);noecho();cbreak();de();
kb();kd();wf();while(1){ct++;rfdset=fdset;if(select(f+1,&rfdset,NULL,NULL,&tv)>
0){k=getch();if(k=='q')exit(0);}for(i=0;i<4;i++)if(k==dd[i]&&ck(ps+d[i])<3)dr=i
;c=ck(ps+d[dr]);if(dt>=ts){move(10,16);printw("GAME CLEAR");refresh();exit(0);}
if(c<3&&(dr&1||ct&1)){ps+=d[dr];if(c==1)dt++;if(c==2){for(i=0;i<4;i++)if(em[i]
!=3){ed[i]=(ed[i]+2)%4;em[i]=2;}v=60;}}if(v&&--v==1){for(i=0;i<4;i++)if(em[i]<3
)em[i]=0;v=0;}if(ps==10*42+40)ps=10*42;else if(ps==10*42)ps=10*42+40;for(i=0;i<
4;i++)if(abs(ps-ep[i])<2){if(em[i]==2)em[i]=3;if(em[i]<2){move(10,16);printw(
"GAME OVER");refresh();exit(0);}}emv(0);emv(1);emv(2);emv(3);st(1);vw();ev(0);
ev(1);ev(2);ev(3);move(0,0);refresh();st(0);}}

45 :いろいろ足りないけどもう限界:01/12/29 00:30 ID:???
今度はパックマン。
コンパイルの方法は>>34と同じ。Windowsでは試してないけどぷよぷよ同様いけると思う。
操作方法はviキーバインド('h'〜'l'で操作)。

一応各モンスターには性格付けしてる。
ドット全部食べてもクリアにならないことがあるけど許すように。

ふぅ。

46 :名前は開発中のものです。:01/12/29 00:56 ID:???
もう無理矢理ですな。

47 :名前は開発中のものです。:01/12/30 13:33 ID:???
#include <iostream.h>
#define hajime {
#define owari }
#define mona int

mona main()
hajime
mona giko;
cin >> giko;
return 0;
owari

48 :名前は開発中のものです。:02/01/14 00:22 ID:wg4iGUmB
age

49 :名前は開発中のものです。:02/01/15 16:29 ID:FPR5mgZK
age

50 :名前は開発中のものです。:02/01/15 16:38 ID:???
<script>
alert("GAME OVER");
close();
</script>

51 :名前は開発中のものです。:02/01/15 17:08 ID:trPF2jYB
WORD wver=MAKEWORD(2,2);
WSADATA wsa;
if(WSAStartup(wver,&wsa)!=0)error("winsock iniz fails");
if(atexit((void(*)(void))(WSACleanup))){
error("atecit(WSACleanup)fails");
exit(-1);

}
sockaddr_in saddr;
SOCKET sok=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
memset((char*)&saddr,0,sizeof(saddr));
saddr.sin_family=AF_INET;
saddr.sin_port=htons(2580);
bind(sok,(sockaddr*)&saddr,sizeof(saddr));
if(listen(sok,1)){
error("other server using this proctol");
exit(-1);

}
::AfxBeginThread(waiting,(void*)sok);

52 :名前は開発中のものです。:02/01/18 15:44 ID:CNhUTHCR
補間関数。高速化しすぎて役立たず。

double getNeville(double t, double v0, double v1, double v2)
{
v0 = v1 + (v1 - v0) * (t - 1);
v1 = v2 + (v2 - v1) * (t - 2);
return v1 + (v1 - v0) * (t - 2) * 0.5;
}

53 :名前は開発中のものです。:02/01/18 18:14 ID:B+awXMzd
意外に誰も作らないんでサクッと。

convert.pl--
# ソースコードを2chへの書き込み用に変換するPerlスクリプト
# perl convert.pl hoge.cとかやるとhoge.c.txtができる。

$tab = '&nbsp;' x 4;        # タブ幅4
open(IN, $ARGV[0]) or die;
open(OUT, "> $ARGV[0].txt") or die;
while (<IN>) {
    s/&/&amp;/g;
    s/</&lt;/g;
    s/>/&gt;/g;
    s/"/&quot;/g;
    s/ /&nbsp;/g;
    s/\t/$tab/g;
    print OUT;
}
close(OUT);
close(IN);


54 :53:02/01/18 18:17 ID:???
上手く行ったみたいやな。もういっちょテスト。

static uint8 *angle_t;
#define PRS 256

/* atanテーブルを作るらしい */
int angle_init(void) {
    angle_t = malloc(sizeof(uint8) * (PRS * 2 + 1));
    if (angle_t == NULL) return -1;
    angle_t += PRS;
    
    for (int i = -PRS; i <= PRS; i++) {
        double a = atan2(i, PRS);
        if (a > 0) a += PI2 / 256 / 2;
        else a -= PI2 / 256 / 2;
        angle_t[i] = a * 256 / P12;
    }
    return 0;
}

/* 0〜255で角度を返すらしい */
uint8 angle(int16 x, int16 y) {
    if (x == 0 && y == 0)
        return 0;
    if (y < x) {
        if (y > -x) {
            return angle_t[(int32) y * 256 / x];
        }
        return angle_t[(int32) -x * 256 / y] + 192;
    } else {
        if (y > -x) {
            return angle_t[(int32) -x * 256 / y] + 64;
        }
        return angle_t[(int32) y * 256 / x] + 128;
    }
}


55 :53:02/01/18 18:19 ID:???
というわけで、インデントつきで書き込めてコピペすればそのまま動く。


56 :名前は開発中のものです。:02/01/18 18:22 ID:2cgx27pc
>>53
惜しい!。
s/&/&/g;
この部分は間違っていると思われ。


57 :53:02/01/18 18:24 ID:???
そうなん? もう寝るのでデバッグ頼む(おい


58 :名前は開発中のものです。:02/01/18 19:40 ID:???
>>54
HSPプラグ員に死ぬほどあるよな。それ。

59 :名前は開発中のものです。:02/01/18 21:42 ID:???
かちゅしゃの引用で見るとすごいことに(w
ま、クライアント側の問題なんだけど

60 :名前は開発中のものです。:02/01/18 21:53 ID:???
行数制限を考慮して分割カキコする機能とか、
ログからプログラムを切り出す機能とかほしいね。

61 :名前は開発中のものです。:02/01/19 08:25 ID:3R2CY6rZ
atoi()ってなんですか?

62 :名前は開発中のものです。:02/01/19 12:01 ID:???
整数を文字列に変換する

63 :名前は開発中のものです。:02/01/19 15:55 ID:???
>>62
逆だろ

64 :名前は開発中のものです。:02/01/22 01:12 ID:???
atoi=alphabet to int
って覚えたけど、正確には違うんだろーな

65 :名前は開発中のものです。:02/01/22 04:37 ID:???
atoi = ascii to int じゃねーの?

66 :名前は開発中のものです。1/3:02/01/26 23:59 ID:/Un10yYP
Private Sub Form_Load()
'Microsoft Visual Basic 6.0(SP5)
'FormのVisibleプロパティはFalse
'タイトルMsgBox格納変数
Dim slime As Integer
'最大HP格納変数
Dim slimebess As Integer
'ダメージ値格納変数
Dim dameji As Integer
'残りHP格納変数
Dim nokori As Integer
'敵の最大HP格納変数
Dim Drakey As Integer
'敵に与えたダメージ値格納変数
Dim E_dameji As Integer
'敵の残りHP格納変数
Dim E_nokori As Integer
'HPの初期値設定
nokori = 10
'敵のHPの初期値設定
E_nokori = 10

slime = MsgBox("ちょこっと戦う", , "スタート画面")

slime = MsgBox("ハァハァ(´Д`;)" & vbCrLf & "" & vbCrLf & _
"が、あらわれた!!" & vbCrLf & "あなたのHP・・・" & _
nokori & vbCrLf & "" & vbCrLf & "敵のHP・・・" & E_nokori, _
vbExclamation)

67 :名前は開発中のものです。2/3:02/01/27 00:00 ID:5zOjGYzx
'自分が生きているときの処理
You_living:

MsgBox "あなたの攻撃!!「クソスレたてんなやヴォケ」"
'乱数の初期化
Randomize
'敵に与えたダメージ
E_dameji = Int(Rnd * 3) + 1
'敵の状態
E_nokori = E_nokori - E_dameji

slime = MsgBox("ハァハァ(´Д`;)" & vbCrLf & "" & vbCrLf & _
"に" & E_dameji & "のダメージを与えた!" & vbCrLf & "" & _
vbCrLf & "ハァハァ(´Д`;)の 残HP " & E_nokori, , "戦闘中")
'敵の生死の判定
If E_nokori > 0 Then

GoTo E_living

Else

GoTo E_died

End If
'敵が生きていたときの処理
E_living:

MsgBox "ハァハァ(´Д`;)の攻撃!!" & vbCrLf & "" & vbCrLf & _
"「マルチたん・・・ハァハァ」"
'乱数の初期化
Randomize
'自分が受けたダメージ
dameji = Int(Rnd * 3) + 1
'自分の状態
nokori = nokori - dameji

slime = MsgBox("あなた" & vbCrLf & "" & vbCrLf & "は" & _
dameji & "のダメージを受けた!" & vbCrLf & "" & vbCrLf & _
"あなたの 残HP " & nokori, , "戦闘中")
'自分の生死の判定
If nokori > 0 Then

GoTo You_living

Else

GoTo You_died
End

End If

68 :名前は開発中のものです。3/3:02/01/27 00:00 ID:5zOjGYzx
'敵を倒したときの処理
E_died:

MsgBox "ハァハァ(´Д`;)を倒した!この世に平和が訪れた。" & _
vbCrLf & "" & vbCrLf & "HAPPY END"

End
'自分が倒されたときの処理
You_died:

MsgBox "あなたのスレは終了しました。(゚д゚)マズー"

End
End Sub

69 :名前は開発中のものです。:02/01/27 01:19 ID:???
10 end


70 :名前は開発中のものです。1/2:02/01/27 23:59 ID:S3QJWc68
'ギコ追加
'レス68 3/3 の続き
'Ver2
'Microsoft VisualBasic6.0(SP5)
'敵を倒したときの処理
E_died:

MsgBox "ハァハァ(´Д`;)を倒した!"
nokori = 20
MsgBox "あなたのLVが上がった!" & vbCrLf & "" & vbCrLf & "HPがすべて回復した!" & _
vbCrLf & "HPの最大値が" & nokori & "になった!" & vbCrLf & "" & vbCrLf & "攻撃力が1あがった!!"

MsgBox "ROUND2 FIGHT!!"

'敵のHPの初期値設定
E_nokori = 20

slime = MsgBox("∧∧" & vbCrLf & "(゚Д゚)" & vbCrLf & "" & vbCrLf & _
"ギコが、あらわれた!!" & vbCrLf & "あなたのHP・・・" & _
nokori & vbCrLf & "" & vbCrLf & "敵のHP・・・" & E_nokori, _
vbExclamation)

You_livingAct2:

MsgBox "あなたの攻撃!!「ただスレ立ててみたかっただけだろう?」"
'乱数の初期化
Randomize
'敵に与えたダメージ
E_dameji = Int(Rnd * 4) + 1
'敵の状態
E_nokori = E_nokori - E_dameji

slime = MsgBox("∧∧" & vbCrLf & "(゚Д゚)" & vbCrLf & "" & vbCrLf & _
"に" & E_dameji & "のダメージを与えた!" & vbCrLf & "" & _
vbCrLf & "∧∧" & vbCrLf & "(゚Д゚)の 残HP " & E_nokori, , "戦闘中")

'敵の体力の判定
If E_nokori > 9 Then

GoTo ENEMY_living

Else
If E_nokori <= 9 And E_nokori > 0 Then

GoTo ENEMY_HONKI

Else

MsgBox "ギコたおした!"

End
End If
End If
' If E_nokori <= 0 Then
'
' End
'
' End If
' GoTo ENEMY_died

71 :名前は開発中のものです。2/2:02/01/27 23:59 ID:S3QJWc68
'敵が生きていたときの処理
ENEMY_living:

MsgBox "∧∧" & vbCrLf & "(゚Д゚)の攻撃!!" & vbCrLf & "" & vbCrLf & _
"「イッテヨシ!!」"
'乱数の初期化
Randomize
'自分が受けたダメージ
dameji = Int(Rnd * 1) + 1
'自分の状態
nokori = nokori - dameji

slime = MsgBox("あなた" & vbCrLf & "" & vbCrLf & "は" & _
dameji & "のダメージを受けた!" & vbCrLf & "" & vbCrLf & _
"あなたの 残HP " & nokori, , "戦闘中")

'自分の生死の判定
If nokori > 0 Then

GoTo You_livingAct2

Else

GoTo You_died
End

End If

ENEMY_HONKI:

MsgBox "  ∧∧" & vbCrLf & "∩(゚Д゚)ノの攻撃!!" & vbCrLf & "" & vbCrLf & _
"「ホンキデイクゾ ゴルア!!!!!」"
'乱数の初期化
Randomize
'自分が受けたダメージ
dameji = Int(Rnd * 5) + 3
'自分の状態
nokori = nokori - dameji

slime = MsgBox("あなた" & vbCrLf & "" & vbCrLf & "は" & _
dameji & "のダメージを受けた!" & vbCrLf & "" & vbCrLf & _
"あなたの 残HP " & nokori, , "戦闘中")

'自分の生死の判定
If nokori > 0 Then

GoTo You_livingAct2

Else

GoTo You_died
End

End If

End

72 :名前は開発中のものです。:02/01/28 02:30 ID:mPt8rtel
>>66-71
いくらBASICだからって、VBでGOTO使わなくても…

73 :名前は開発中のものです。:02/01/28 02:39 ID:Gl770+eW
たああああああああああああああああああああああのしいと思っているのですか?
アフォですかあなたは。
早く家に帰りなさい。



74 :名前は開発中のものです。:02/01/28 02:54 ID:???
こういう長いのをうpする時には、途中はsage進行で
最後にageた方がいいぞ。
あがりっぱなしだとウザがられる事もあるからな。

75 :名前は開発中のものです。1/2:02/01/29 00:02 ID:???
'Microsoft Visual Basic 6.0(SP5)
'おにぎり追加
'Ver3
''レス71 2/2 の続き
'仲間を呼ぶ確率(1から6までの数値を取る)
Dim magisyan As Integer

'ギコを倒したときの処理
ENEMY_died:

MsgBox "ギコをやっつけた!"

nokori = 35

MsgBox "あなたのLVが上がった!" & vbCrLf & "" & vbCrLf & _
"HPがすべて回復した!" & vbCrLf & "HPの最大値が" & nokori & "になった!" _
& vbCrLf & "" & vbCrLf & "攻撃力が2あがった!!"
MsgBox "ROUND3 FIGHT!!"
'敵のHPの初期値設定
E_nokori = 30
slime = MsgBox("/■\" & vbCrLf & "(´∀` ∩" & vbCrLf & "" & vbCrLf & _
"おにぎりが、あらわれた!!" & vbCrLf & "あなたのHP・・・" & _
nokori & vbCrLf & "" & vbCrLf & "敵のHP・・・" & E_nokori, _
vbExclamation)
'自分の攻撃
You_livingAct3:
MsgBox "あなたの攻撃!!「誰か真剣に削除依頼だしてくれよ。」" & vbCrLf & "" _
& vbCrLf & "■■■■■■■■■■■ 終了 ■■■■■■■■■■■"
'乱数の初期化
Randomize
'敵に与えたダメージ
E_dameji = Int(Rnd * 3) + 4
'敵の状態
E_nokori = E_nokori - E_dameji

slime = MsgBox("/■\" & vbCrLf & "(´∀` ∩" & vbCrLf & "" & vbCrLf & _
"に" & E_dameji & "のダメージを与えた!" & vbCrLf & "" & _
vbCrLf & "/■\" & vbCrLf & "(´∀` ∩の 残HP " & E_nokori, , "戦闘中")
'敵の体力の判定
If E_nokori > 15 Then
GoTo Onigiri_living
Else
'おにぎりの残りHPが15以下のとき
If E_nokori <= 15 And E_nokori > 0 Then
GoTo Onigiri_Help
Else
GoTo Onigiri_died
End If
End If
'おにぎりのHPが16以上のとき

76 :名前は開発中のものです。2/2:02/01/29 00:05 ID:iGXUdj+v
Onigiri_living:

MsgBox "/■\" & vbCrLf & "(´∀` ∩の攻撃!!" & vbCrLf & "" & vbCrLf & _
"「おにぎりワッショイ!!」"
'乱数の初期化
Randomize
'自分が受けたダメージ
dameji = Int(Rnd * 3) + 3
'自分の状態
nokori = nokori - dameji

slime = MsgBox("あなた" & vbCrLf & "" & vbCrLf & "は" & _
dameji & "のダメージを受けた!" & vbCrLf & "" & vbCrLf & _
"あなたの 残HP " & nokori, , "戦闘中")
'自分の生死の判定
If nokori > 0 Then
GoTo You_livingAct3
Else
GoTo You_died
End If
'おにぎりのHPが15以下のとき
Onigiri_Help:
MsgBox "/■\" & vbCrLf & "(´Д` ∩は仲間を呼んだ!!" & vbCrLf & "" & vbCrLf & _
"「タスケテー!!!!!」"
'乱数の初期化
Randomize
'1から6までの数値を取る
magisyan = Int(Rnd * 6) + 1
'50%の確率で仲間がくる
'数値が3より大きいとき
If magisyan > 3 Then
'焼きおにぎりの攻撃処理
MsgBox " __" & vbCrLf & "/:∵:\" & vbCrLf & "(∵´∀`∩焼きおにぎりがやってきた!!" _
& vbCrLf & "" & vbCrLf & _
"「オニギリワショーイ!!!!!」"
'乱数の初期化
Randomize
'自分が受けたダメージ
dameji = 13
'自分の状態
nokori = nokori - dameji
slime = MsgBox("あなた" & vbCrLf & "" & vbCrLf & "は" & _
dameji & "のダメージを受けた!" & vbCrLf & "" & vbCrLf & _
"あなたの 残HP " & nokori, , "戦闘中")
'自分の生死の判定
If nokori > 0 Then
'自分のHPが1以上のとき
GoTo You_livingAct3
Else
GoTo You_died
End If
Else
'取り出した数値が3以下のとき。
MsgBox "しかし!助けは、こなかった・・・"
'ダメージを受けずに、自分のターンに行く
GoTo You_livingAct3
End If
Onigiri_died:
MsgBox "おにぎりをやっつけた!"
End

77 :名前は開発中のものです。1/3:02/01/30 00:14 ID:???
'Microsoft Visual Basic 6.0(SP5)
'モラ殿の追加
'Ver4
'自分が倒されたときのMsgBox処理変更
'連続攻撃のループ回数を格納する変数
Dim Renzoku As Integer


MsgBox "おにぎりをやっつけた!"

nokori = 50

MsgBox "あなたのLVが上がった!" & vbCrLf & "" & vbCrLf & "HPがすべて回復した!" _
& vbCrLf & "HPの最大値が" & nokori & "になった!" & vbCrLf & "" & vbCrLf & _
"攻撃力が2あがった!!"

MsgBox "FINALBATTLE FIGHT!!"
' 敵のHPの初期値設定
E_nokori = 45

slime = MsgBox("  ● " & vbCrLf & "∧((∧" & vbCrLf & "( ・∀・)" _
& vbCrLf & _
"モラ殿が、あらわれた!!" & vbCrLf & "あなたのHP・・・" & _
nokori & vbCrLf & "" & vbCrLf & "敵のHP・・・" & E_nokori, _
vbExclamation)

You_livingAct4:

MsgBox "あなたの攻撃!!「どんな良スレもいずれ終りが来る」"
'
'乱数の初期化
Randomize
'敵に与えたダメージ
E_dameji = Int(Rnd * 3) + 6
'敵の状態
E_nokori = E_nokori - E_dameji

slime = MsgBox("  ● " & vbCrLf & "∧((∧" & vbCrLf & "( ・∀・)" _
& vbCrLf & "" & vbCrLf & _
"モラ殿に" & E_dameji & "のダメージを与えた!" & vbCrLf & "" & _
vbCrLf & "  ● " & vbCrLf & "∧((∧" & vbCrLf & "( ・∀・)モラ殿の 残HP " _
& E_nokori, , "戦闘中")

78 :名前は開発中のものです。1/3:02/01/30 00:17 ID:???
'敵の生死の判定
If E_nokori > 0 Then

GoTo Tono_living

Else

GoTo Tono_died

End If

Tono_living:

'乱数の初期化
Randomize
'1から10までの数を取り出す
ghost = Int(Rnd * 10) + 1
'10を引いたとき(確率は10%)
If ghost > 9 Then

MsgBox "  ● " & vbCrLf & "∧((∧" & vbCrLf & _
"( ・∀・)モラ殿は用心棒を呼びつけた!!" & vbCrLf & "" & vbCrLf & _
"「一刀斎!そちの出番じゃ!」"
'ニギリ一刀斎の出現
MsgBox "\" & vbCrLf & "  \" & vbCrLf & "   X" & vbCrLf & "    ヾヽ" _
& vbCrLf & "     ヾ ヽ /■ヽ" & vbCrLf & "      \ (´∀` .)、" _
& vbCrLf & "       \ y ゞ ヽ" & vbCrLf & "         =∞=ゝゝ" _
& vbCrLf & "          丿ヽ  \" & vbCrLf & "          ヽ____ソ______ゝ" _
& vbCrLf & "          (Y_)   (Y_)" & "ニギリ一刀斎の攻撃!!" & vbCrLf & "" & vbCrLf & _
"「そこのお前、もう少し気配を消す修練を積んだほうがいい。」"

'自分が受けたダメージ
dameji = 9999
'自分の状態
nokori = nokori - dameji

slime = MsgBox("あなた" & vbCrLf & "" & vbCrLf & "は" & _
dameji & "のダメージを受けた!" & vbCrLf & "" & vbCrLf & _
"あなたの 残HP " & nokori, , "戦闘中")


79 :名前は開発中のものです。3/3:02/01/30 00:18 ID:yEwA5EvG
Else
'1-9を取り出すと、モラ殿の攻撃
MsgBox "  ● " & vbCrLf & "∧((∧" & vbCrLf & _
"( ・∀・)モラ殿の連続攻撃だ!!" & vbCrLf & "" & vbCrLf & _
"「うん、せいぜい頑張ってね。」"
'連続攻撃のループ処理
For Renzoku = 1 To 2
'乱数の初期化
Randomize
'自分が受けたダメージ
dameji = Int(Rnd * 3) + 3
'自分の状態
nokori = nokori - dameji

slime = MsgBox("あなた" & vbCrLf & "" & vbCrLf & "は" & _
dameji & "のダメージを受けた!" & vbCrLf & "" & vbCrLf & _
"あなたの 残HP " & nokori, , "戦闘中")

Next Renzoku

End If
'自分の生死の判定
If nokori > 0 Then

GoTo You_livingAct4

Else

GoTo You_died

End If


Tono_died:
'エンディング
MsgBox "HAPPY END"

End
'自分が倒されたときの処理
You_died:

slime = MsgBox("あなたのスレは終了しました。(゚д゚)マズー", vbCritical, "GAMEOVER")

End
End Sub

80 :名前は開発中のものです。:02/01/30 00:23 ID:yEwA5EvG
>>77
'追加
'モラ殿の攻撃を決める乱数値格納変数
Dim ghost As Integer


81 :社長:02/01/30 00:24 ID:???
次はマップ移動処理ですな。

82 :名前は開発中のものです。:02/01/30 01:29 ID:???
終わったら、これのバイナリもアップしてくれな。

83 :名前は開発中のものです。:02/01/30 06:57 ID:???
ついでにクロスプラットフォームで

84 :名前は開発中のものです。:02/01/30 09:40 ID:???
あぷろだは?

85 :名前は開発中のものです。1/2:02/01/31 01:00 ID:???
'Microsoft Visual Basic 6.0(SP5)
'戦闘にすばやさの要素を加える
'Ver5
'テストバトルモード

Private Sub Form_Load()
'自分のすばやさの数値を格納する変数
Dim Oosasori As Integer
'敵のすばやさの数値を格納する変数
Dim Gaikotsu As Integer
'攻撃を仕掛けるのはどちらか、判定値を格納する変数
Dim Madoushi As Integer

'すばやさの判定処理
'自分が敵よりすばやさが上の場合と
'敵が自分よりすばやさが上の場合
'自分はすばやさを 10 とする
'敵のすばやさは 5 とする

Oosasori = 65

Gaikotsu = 90

'すばやさを比較する

If Oosasori > Gaikotsu Then
'自分のすばやさが上だったときの処理へ
GoTo W_Subayasa

Else
'自分と敵のすばやさが同じだったときの処理
If Oosasori = Gaikotsu Then
'乱数の初期化
Randomize
Madoushi = Int(Rnd * 100) + 1
'50%の確率で自分が攻撃できる
If Madoushi > 50 Then

MsgBox "あなたの攻撃!"
'敵の攻撃処理へ
Else

MsgBox "敵の攻撃!"
'自分の攻撃処理へ
End If

End If

'ここのEndはテスト用
End

'敵のすばやさが上だったときの処理へ
GoTo L_Subayasa

End If

86 :名前は開発中のものです。2/2:02/01/31 01:02 ID:bylwudl/
W_Subayasa:
'乱数値が6-100を取り出したとき、あなたの攻撃が優先される
'確率は95%
'乱数の初期化
Randomize
Madoushi = Int(Rnd * 100) + 1

If Madoushi > 5 Then

MsgBox "あなたの攻撃!"

Else
'すばやさが上でも、残り5%の確率で敵が攻撃してくる
MsgBox "敵の攻撃!"

End If
'敵の攻撃の処理をなんか書く
End
L_Subayasa:

'乱数値が6-100を取り出したとき、敵の攻撃が優先される
'確率は95%
'乱数の初期化
Randomize
Madoushi = Int(Rnd * 100) + 1

If Madoushi > 5 Then

MsgBox "敵の攻撃!"

Else
'すばやさが上でも、残り5%の確率であなたが攻撃できる
MsgBox "あなたの攻撃!"

End If
'自分の攻撃の処理をなんか書く
End

End Sub

87 :名前は開発中のものです。:02/01/31 01:06 ID:???
'訂正
'敵の素早さが自分より上の時は、
Oosasori = 5

Gaikotsu = 10
'自分の素早さが上の時は
Oosasori = 10

Gaikotsu = 5
'この数値は2ケタに設定したいとき
Oosasori = 65

Gaikotsu = 90

88 :名前は開発中のものです。1/3:02/02/01 00:28 ID:???
Private Sub Form_Load()
'Microsoft Visual Basic 6.0(SP5)
'Ver7
'武器、防具を手に入れることにより、戦闘の
'勝敗の確率をある程度ユーザーが操作できるようにする。
'この要素をとりいれることで、戦闘の有利、不利を
'意図的に楽しめることが可能となる。
'Ver6/テストバトルモード
'今回は、敵の防御力が自分の攻撃力を上回ることはないものとする。

'MsgBox格納変数
Dim Meda As Integer
'武器を手に入れたときの攻撃値を格納する変数
Dim Rikanto As Integer
'防具を手に入れたときの防御値を格納する変数
Dim Shiryou As Integer
'武器の初期値
Rikanto = 0
'防具の初期値
Shiryou = 0
'ダメージ値格納変数
Dim dameji As Integer
'残りHP格納変数
Dim nokori As Integer
'敵に与えたダメージ値格納変数
Dim E_dameji As Integer
'敵の残りHP格納変数
Dim E_nokori As Integer
'敵に与えたダメージに武器の攻撃値を加えた値を格納する変数
Dim M_dameji As Integer
'敵から受けたダメージから、防御力を引いた値を格納する変数
Dim G_dameji As Integer
'HPの初期値設定
nokori = 20
'敵のHPの初期値設定
E_nokori = 20
MsgBox "Let's スタート!"
MsgBox "あなたは、モナーの街にたどり着きました。"
Meda = MsgBox("武器を買うときは「はい」を、防具を買うときは「いいえ」を押してください。", vbYesNo, "モナーの街")
If Meda = vbYes Then
MsgBox "モナーの剣を買った!攻撃力が 3 上がった!"
Rikanto = Rikanto + 3
Else
MsgBox "モナーの鎧を買った!防御力が 3 上がった!"
Shiryou = Shiryou + 3
End If
Meda = MsgBox("ハァハァ(´Д`;)" & vbCrLf & "" & vbCrLf & _
"が、あらわれた!!" & vbCrLf & "あなたのHP・・・" & _
nokori & vbCrLf & "" & vbCrLf & "敵のHP・・・" & E_nokori, _
vbExclamation)
'自分が生きているときの処理

89 :名前は開発中のものです。2/3:02/02/01 00:30 ID:???
You_living:

MsgBox "あなたの攻撃!!「クソスレばっかり上がってるだろ?」"

'乱数の初期化
Randomize
'敵に与えた素のダメージ
E_dameji = Int(Rnd * 6) + 1
'さらに武器を加えた総合ダメージ
M_dameji = E_dameji + Rikanto
'敵の状態
E_nokori = E_nokori - M_dameji

slime = MsgBox("ハァハァ(´Д`;)" & vbCrLf & "" & vbCrLf & _
"に" & M_dameji & "のダメージを与えた!" & vbCrLf & "" & _
vbCrLf & "ハァハァ(´Д`;)の 残HP " & E_nokori, , "戦闘中")
'敵の生死の判定
If E_nokori > 0 Then

GoTo E_living

Else

GoTo E_died

End If
'敵が生きていたときの処理
E_living:

MsgBox "ハァハァ(´Д`;)の攻撃!!" & vbCrLf & "" & vbCrLf & _
"「あかりたん・・・ハァハァ」"
'乱数の初期化
Randomize
'自分が受けたダメージ
dameji = Int(Rnd * 4) + 1
'自分が受けたダメージから、防御力の値を引く
G_dameji = dameji - Shiryou
'総合ダメージが 0 より下のとき(マイナスのとき)
If G_dameji <= 0 Then
'受けるダメージは 0 になる(ダメージを受けない)
G_dameji = 0

Else
'防御力の値を引いた残りの値(実際に受けるダメージ)
G_dameji = G_dameji

End If



90 :名前は開発中のものです。3/3:02/02/01 00:31 ID:???
'自分の状態
nokori = nokori - G_dameji

slime = MsgBox("あなた" & vbCrLf & "" & vbCrLf & "は" & _
G_dameji & "のダメージを受けた!" & vbCrLf & "" & vbCrLf & _
"あなたの 残HP " & nokori, , "戦闘中")
'自分の生死の判定
If nokori > 0 Then

GoTo You_living

Else

GoTo You_died
End

End If



'敵を倒したときの処理
E_died:

MsgBox "ハァハァ(´Д`;)を倒した!この世に平和が訪れた。" & _
vbCrLf & "" & vbCrLf & "HAPPY END"

End
'自分が倒されたときの処理
You_died:

MsgBox "あなたのスレは終了しました。(゚д゚)マズー"

End

End Sub

91 :名前は開発中のものです。1/3:02/02/01 00:32 ID:???
Private Sub Form_KeyPress(keyascii As Integer)

'Microsoft VisualBasic6.0(SP5)
'Ver8
'移動処理テスト
'Formに、ラベルを1つはる
'Formの大きさは、4785*1800
'そのラベルがテンキーの方向に移動する
'ラベルのオブジェクトは Label1 とする
'ラベルの大きさは、 495*375
'敵がランダムで出現する処理をテストで入れた
'右に動くと、ランダムで敵の出現
'移動に関して、テンキーの押しっぱなしも可能

'敵の出現条件格納変数
Dim A_Sasori As Integer
'座標の数を格納する変数
Dim hosuu As Integer
hosuu = 0


'Form_KeyPresssの、第一引数に代入する
Select Case keyascii
'第一引数に入れる値が、vbKey2 のとき
Case vbKey2

hosuu = Label1.Top

If hosuu >= 960 Then
'値が足されないから進まない
'つまり、キャラの動きを止める
Label1.Top = Label1.Top + 0


Else
Label1.Top = Label1.Top + 100
'100 加えて、Y座標を移動する

End If
'第一引数に入れる値が、vbKey6 のとき
Case vbKey6

'6 が押されたとき
'X座標の値を変数に入れる
hosuu = Label1.Left
'X座標が 4080 以上だったときの処理
If hosuu >= 4080 Then
'値が足されないから進まない
'つまり、キャラの動きを止める
Label1.Left = Label1.Left + 0

92 :名前は開発中のものです。2/3:02/02/01 00:33 ID:???
Else
'100 加えて、X座標を移動する
Label1.Left = Label1.Left + 100
'キャラ移動中に乱数の初期化
Randomize
'1-100の乱数値を取り出す
A_Sasori = Int(Rnd * 100) + 1
'10%の確率で敵を出現させる
If A_Sasori > 90 Then

MsgBox "荒らしがあらわれた!"

Else

End If
End If
'第一引数に入れる値が、vbKey4 のとき
Case vbKey4

hosuu = Label1.Left
'0 より低い座標のとき
If hosuu <= 0 Then
'引く値はないので、戻らない
Label1.Left = Label1.Left - 0

Else
'X座標から常に100 引く
Label1.Left = Label1.Left - 100

End If
'第一引数に入れる値が、vbKey8 のとき
Case vbKey8

hosuu = Label1.Top
'0 より低い座標のとき
If hosuu <= 0 Then
'引く値はないので、戻らない
Label1.Top = Label1.Top - 0

Else
'100 引いて、Y座標を移動する
Label1.Top = Label1.Top - 100

End If
End Select

End Sub


93 :名前は開発中のものです。3/3:02/02/01 00:34 ID:am0ZkQGt
Private Sub Form_Load()

'キャラクターをはじめに表示する座標
Label1.Left = 0
Label1.Top = 0


End Sub

94 :名前は開発中のものです。:02/02/01 01:45 ID:Zv95eDhl
ぷよぷよやぱっくまん、確かに良くできているが、残念な点がいくつか。
・冗長な処理がいくつかある
・コンパイラ警告が頻発@gcc
・ANSI-Cに従っていない

7行スレの名物コテハンのトリッキーの1は、
そういうスキの一切ないプログラムを書くから恐ろしい。
最終的に6行にしたオセロや、7行マインスイーパを参考に、
是非是非書き直して、あの感動をもう一度味わせてください(笑)

トリッキーの1、このスレに来ないかなぁ。

95 :馬糞ウニげろげろ:02/02/01 01:58 ID:???
!!VP1.0
# c[ 0- 3]
# c[ 4- 7]
# c[ 8-11]
# c[32].x
# c[33].xyz
# c[33].w
DP4 R0.x,c[ 0],v[OPOS];
DP4 R0.y,c[ 1],v[OPOS];
DP4 R0.z,c[ 2],v[OPOS];
DP4 R0.w,c[ 3],v[OPOS];
ADD R2.xyz,c[33],-R0;
DP3 R2.w,R2,R2;
RCP R2.w,R2.w;
MUL R2,R2,R2.w;
MUL R2,R2,c[34].x;
ADD R0.xyz,R0,R2;
DP4 o[HPOS].x,c[ 4],R0;
DP4 o[HPOS].y,c[ 5],R0;
DP4 o[HPOS].z,c[ 6],R0;
DP4 o[HPOS].w,c[ 7],R0;
DP3 R1.x,c[ 8],v[NRML];
DP3 R1.y,c[ 9],v[NRML];
DP3 R1.z,c[10],v[NRML];
DP3 R1.w,R1,R1;
RSQ R1.w,R1.w;
MUL R1.xyz,R1,R1.w;
MOV R2.xy,R1.z;
MOV R2.w,c[32].x;
LIT R2,R2;
MOV o[COL0].xyz,R2.y;
MOV o[COL1].xyz,R2.z;
DP3 R0.w,R0,R0;
RSQ R0.w,R0.w;
MUL R0,R0,R0.w;
DP3 R2.w,R0,R1;
ADD R2.w,R2.w,R2.w;
MAD R2.xyz,R1,-R2.w,R2;
MOV o[TEX0].xy,R2;
END

96 :馬糞ウニげろげろ:02/02/01 01:59 ID:???
!!VSP1.0
# v[ 0].xyz
# v[ 0].w
# c[ 0- 3]
# c[33].xyz
# c[33].w
MOV R0.xyz,v[0];
SGE R0.w,R0.w,R0.w;
DP4 R1.x,c[ 0],R0;
DP4 R1.y,c[ 1],R0;
DP4 R1.z,c[ 2],R0;
MOV R1.w,v[0].w;
MOV c[33],R1;
END

97 :名前は開発中のものです。:02/02/01 04:55 ID:???
おい、そこの「馬糞ウニげろげろ」。
ちょっとこっち来いや。もっとうまいアセンブラコードがこっちにあるぜ。
http://www.ugtop.com/spill.shtml



98 :名前は開発中のものです。:02/02/02 06:31 ID:???
▼゚Д。▼カフッ▼゚Д。▼カフッ

99 :名前は開発中のものです。:02/02/02 10:20 ID:???
#include <stdlib.h>
#include <time.h>
#include <curses.h>
char b[36];int p[16],t;WINDOW *w;
disp_board(int t){int i;for(i=0;i<16;i++){if(p[i]==15)sprintf(b," ");else sprintf(b,"%2d",p[i]+1);
mvwaddstr(w,2*(i/4)+2,3*(i%4)+4,b);}sprintf(b,"%d Step",t); mvwaddstr(w,3,44,b);}
getspc(){int i;for(i=0;i<16;i++)if(p[i]==15)return i;return -1;}
init_game(){int i,x;initscr();noecho();cbreak();w=newwin(LINES,COLS-1,0,0);srand(time(NULL));
for(i=0;i<4;i++){mvwaddstr(w,i*2+1,3,"+--+--+--+--+");
mvwaddstr(w,i*2+2,3,"| | | | |");}mvwaddstr(w,9,3,"+--+--+--+--+");for(i=0;i<16;i++)p[i]=i;t=0;
while(t<160){x=getspc();switch(rand()%4){case 0:if(x/4)move_panel(x,x-4);break;
case 1:if((x/4)!=3)move_panel(x,x+4);break;case 2:if((x%4)!=3)move_panel(x,x+1);break;
case 3:if(x%4)move_panel(x,x-1);break;}}t=0;disp_board(t);}
move_panel(int d, int s){int i;p[d]=p[s];p[s]=15;t++;
if(s==15){for(i=0;i<16;i++)if(p[i]!=i)return 0;return 1;}return 0;}
int main(void){char r;int i,c,e=0,f=0;init_game();wrefresh(w);t=0;
while(!e){c=getspc();r=wgetch(w);f=0;switch(r){case 'x':case 'j':case '2':
if(c/4)f=move_panel(c,c-4);break;case 'e':case 'k':case '8':if((c/4)!=3)f=move_panel(c,c+4);break;
case 's':case 'h':case '4':if((c%4)!=3)f=move_panel(c,c+1);break;case 'd':case 'l':case '6':
if(c%4)f=move_panel(c,c-1);break;case 'q':case 0x1b:e=1;sleep(5);break;}disp_board(t);wrefresh(w);
if(f){mvwaddstr(w,14,43,"Cleared !!");wrefresh(w);sleep(10);break;}}wclear(w);wrefresh(w);endwin();return 0;}

100 :99:02/02/02 10:25 ID:GSAKw8sm
このソースは15パズルです。
テンキー、vi、wordstar のいずれでも操作できます。
35, 43の作者とは別人ですが、
自分もcurses環境(ちなみにcygwin)で作りました。

ちなみに自動的に解法を表示するとかいう機能はありません。
(今月号のCマガによるとかなり面倒らしい)

ついでに100ゲットズサー。

101 :名前は開発中のものです。:02/02/02 13:23 ID:???
//あるマスの移動コストの計算
void CalculateMoveCostASquare(int type, int move, int sx, int sy)
{
int lp, xx, yy, min, cost;

//範囲外
if(sx < 0 || sx >= MAP_X || sy < 0 || sy >= MAP_Y)
return;

//進入不可能
cost = m_movecost[type][m_mapchipatb[m_mapchipset * MAPCHIPMAX + m_map_geo[sy][sx] ].atb];
if(cost == -1
|| m_map_magic[sy][sx].kind == GM_SANCTUARY)
return;

//一番少なく進入出来るところをチェック
xx = sx + 1; yy = sy;
min = 999999;
for(lp = 0; lp < 4; lp ++) {
if(xx >= 0 && xx < MAP_X && yy >= 0 && yy < MAP_Y) {
if(mgm_move_cost[yy][xx] != -1 && mgm_move_cost[yy][xx] < min)
min = mgm_move_cost[yy][xx];
}
xx += cpu_dx[lp];
yy += cpu_dy[lp];
}
//ここには進入できない
if(min == 999999 || cost + min > move)
return;

if((mgm_move_cost[sy][sx] == -1 || cost + min < mgm_move_cost[sy][sx])
&& (m_map_unit[sy][sx] == UNITMAX
|| (CheckBelong(m_unit[m_map_unit[sy][sx]].belong, m_unit[mgm_unit].belong) == TRUE
|| (type == MT_FLYING && m_unit[m_map_unit[sy][sx]].movetype != MT_FLYING))))
mgm_move_cost[sy][sx] = cost + min;
else
return;

if(m_map_unit[sy][sx] == UNITMAX)
m_map_chk[sy][sx] = 0;

CalculateMoveCostASquare(type, move, sx + 1, sy);
CalculateMoveCostASquare(type, move, sx - 1, sy);
CalculateMoveCostASquare(type, move, sx, sy + 1);
CalculateMoveCostASquare(type, move, sx, sy - 1);

return;
}

102 :101:02/02/02 13:25 ID:???
捻りの無い駄目ソースをウプ

103 :名前は開発中のものです。:02/02/11 12:28 ID:???


104 :名前は開発中のものです。:02/02/12 11:26 ID:???
ブロックの無いブロック崩しなんだけど
もうちょっとソース絞れませんか?
http://isweb38.infoseek.co.jp/computer/honten1/dat/omega0028.lzh

105 :名前は開発中のものです。:02/02/12 14:06 ID:???
>>104
403になるぞ
ファイルもう無いのか?

106 :名前は開発中のものです。:02/02/12 14:25 ID:???
これならどーだ
http://isweb34.infoseek.co.jp/computer/leftwall/pingpong2.lzh

107 :名前は開発中のものです。:02/02/12 14:48 ID:???
>>106
またもや403
iswebってファイルの直リンできるのか?

108 :名前は開発中のものです。:02/02/12 16:11 ID:???
今度はこれで
http://isweb34.infoseek.co.jp/computer/leftwall/index.html

109 :名前は開発中のものです。1/3:02/02/17 01:08 ID:???
'Microsoft Visual Basic 6.0(SP5)
'Formに、ラベルとコマンドボタンとタイマーを設置する
'ラベルのオブジェクトは、label1とする
'コマンドボタンのオブジェクトは、Command1とする
'タイマーのオブジェクトは、Timer1とする
Option Explicit
'全ての文字を表示したか判定するフラグ
Public Stoneman As Boolean

Private Sub Command1_Click()
'タイマーイベント発動
Timer1.Enabled = True
'200間隔
Timer1.Interval = 200
'タイマーイベントプロシージャの呼び出し
Call Timer1_Timer

End Sub

Private Sub Form_Load()
'フラグ初期値は偽に設定する
Stoneman = False

End Sub
'タイマーイベントでどんなことをさせるのか?の処理
Private Sub Timer1_Timer()
'文章の型を決める変数
Static golem(4) As String
'配列に、格納する文章数を格納する変数
Static D_Andy As Integer
'取り出していない残りの文字数を格納する変数
Static t As Integer
'Mid関数で取り出した文字を保持しておく変数
Static D_Madou As String
'Len関数にて、取り出した全体の文字数を格納する変数
Dim Dragon As Integer

110 :名前は開発中のものです。2/3:02/02/17 01:10 ID:???
golem(0) = "レッド「本当は何を知りたい?俺が後悔しているかどうか、か?」"
golem(1) = "レッド「・・・後悔しなかった日は一日とてないよ。こうなった事をじゃない。当時の自分を振り返って言うんだ」"
golem(2) = "レッド「・・・ヤツに言ってやりたい。バカをするなと言ってやりたい。世の中の事を教えたい・・・でも、出来ない」"
golem(3) = "レッド「ガキの頃の俺は遠くに去り、残ったのは老いぼれの自分だ」"
golem(4) = "レッド「時間は戻らない」"
'Len関数で、全体の文字数を取得
Dragon = Len(golem(D_Andy))
'1文字ずつ取るから、1ずつ値を増やす
t = t + 1
'Mid関数で、どの文字を取得するか設定する
D_Madou = D_Madou + Mid(golem(D_Andy), Dragon - (Dragon - t), 1)
'取り出した文字を保持しつつ、表示する
Label1.Caption = D_Madou
'増減値が、全体の文字数を超えたとき
If Dragon < t Then
'増減値をゼロにもどす
t = 0
'保持している文字をクリアする
D_Madou = ""
'全ての文字を表示したので、フラグを真に
Stoneman = True
'一つの配列の文が終わるたび、配列の値を1増やす
D_Andy = D_Andy + 1
'配列の数が設定した値を超えたときのエラ−防止処理
If D_Andy > 4 Then
'初めの配列の値に戻す
D_Andy = 0

End If
'タイマーイベントを止めるかどうかの
'判定プロシージャへ行く
Call Hantei

End If

End Sub

111 :名前は開発中のものです。3/3:02/02/17 01:11 ID:???
'タイマーイベントを止めるかどうかの判定処理
Private Sub Hantei()
'フラグが真の時
If Stoneman = True Then
'タイマーイベント終了
Timer1.Enabled = False

End If

End Sub

112 :名前は開発中のものです。:02/02/17 01:16 ID:kh4ENDqz
'「ファミコン探偵倶楽部」みたいな、一文字ずつ表示するプログラムです。
'ユーザに、一文字ずつ目で追わせることで、より文章を読ませるような効果があると
'思います。
'APIとか使えば、もっとすごいと思いますが、ボクは知りません。
'だから、今までクソの役にも立たんと思っていた、Mid関数やLen関数を使いました。
'それをタイマーイベントと組み合わせると、こんなことができるとは思いませんでした。
'仕事中に関係ないことしてて、職場のみなさんごめんなさい。
'そして、文字列処理系関数、今までナメてました。ごめんなさい・・・そして、ありがとう。

113 :名前は開発中のものです。:02/04/12 14:58 ID:???


114 :名前は開発中のものです。:02/04/19 00:21 ID:Xvr/0hME
>>8-12 のソースハケーン
http://www.nara-edu.ac.jp/~asait/open_gl/opengl.htm

115 :名前は開発中のものです。:02/04/28 10:29 ID:???
sage

116 :名前は開発中のものです。:02/06/27 03:59 ID:???
ageというか。

117 :名前は開発中のものです。:02/06/27 04:02 ID:???
>>116 この後、どうするつもり?

118 :名前は開発中のものです。:02/06/27 06:27 ID:???
http://www.otafuku.co.jp/skatei/IMG/100113.JPG
意味も無くソースを上げてみる。

119 :名前は開発中のものです。:02/06/27 06:41 ID:4.aWgtjA
 ⌒ \/ | | -t- |   十_” | | 十  十
 ─ ∠_   ノ  し   〜′ | ー  し |  O  十
                             | \
                  、、、, ,、,
                 /二二二\
                  /_____ヽ
                 /_______ヽ
               /___/____|
               | <∩>ハ<∩>|
       >(°)    |二二二二二二二 |
         (⌒/   |/WWWWWWヽ|
          〃    \MMMMMM/
        / ̄ ̄ヽ_/\_____/ \_/ ̄\

120 :xxx.h no.1:02/07/28 15:24 ID:???
#if !defined (__PDT10APIHDR_H__)
#include <windows.h>
struct PictureInfo {
long left,top; //画像を展開する位置
long width; //画像の幅(pixel)
long height; //画像の高さ(pixel)
WORD x_density; //画素の水平方向密度
WORD y_density; //画素の垂直方向密度
short colorDepth; //1画素当たりのbit数
HLOCAL hInfo; //画像内のテキスト情報
};
struct PDT10 {
char type[8];
DWORD size;
int width;
int height;
int pos_w;
int pos_h;
int more_comp_adrs;
};
typedef PDT10 PDT,* PPDT;
#if defined _DEBUG
void DbgDump(int x)
{
char buf[32];

wsprintf(buf, "%x", x);

MessageBox(NULL, buf, "debug", MB_OK);
}

121 :xxx.h no.2:02/07/28 15:25 ID:???
void DbgDump(char* dump_string)
{
char str[64];

memcpy(str, dump_string, 63);
str[63] = '\0';

MessageBox(NULL, str, "debug", MB_OK);
}

inline void CHECK()
{
MessageBox(NULL, "check", "check", MB_OK);
}

#else

122 :xxx.h no.3:02/07/28 15:26 ID:???
#define DbgDump(x) ;
#define CHECK() ;

#endif //_DEBUG

extern "C" int __stdcall GetPluginInfo(int infono, LPSTR buf, int buflen);

extern "C" int __stdcall IsSupported(char* filename, DWORD dw);

extern "C" int __stdcall GetPictureInfo(LPSTR buf, long len, unsigned int flag, PictureInfo *lpInfo);

extern "C" int __stdcall GetPicture(LPSTR buf, long len,unsigned flag, HANDLE* pHBInfo, HANDLE* pHBm,
FARPROC lpPrgressCallback(int, int, long), long lData);

extern "C" int __stdcall GetPreview(LPSTR buf, long len, unsigned int flag,
HANDLE* pHBInfo, HANDLE* pHBm,
FARPROC lpPrgressCallback(int, int, long), long lData);

123 :xxx.h no.4:02/07/28 15:26 ID:???
class CFile {
HANDLE file;

public:

CFile() : file(NULL)
{
}

~CFile()
{
close();
}

124 :xxx.h no.5:02/07/28 15:27 ID:???
BOOL open(char* name)
{
close();

if(name) {
file = CreateFile(name, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL |
FILE_FLAG_SEQUENTIAL_SCAN, NULL);

if(file != INVALID_HANDLE_VALUE) {
return (TRUE);
}
}

file = NULL;
return (FALSE);
}

125 :xxx.h no.6:02/07/28 15:27 ID:???

void close()
{
if(file) {
CloseHandle(file);
file = NULL;
}
}

BOOL read(void* buf, DWORD read_bytes, DWORD* read)
{
if(buf && read_bytes && read && file) {
if(ReadFile(file, buf, read_bytes, read, NULL)) {
if(*read == read_bytes) {
return (TRUE);
}
}
}

return (FALSE);
}

126 :xxx.h no.7:02/07/28 15:28 ID:???
void seek(long pos, int start_pos = FILE_BEGIN)
{
if(file) SetFilePointer(file, pos, NULL, start_pos);
}
};
class memory {
DWORD* m;
public:
memory() : m( NULL )
{
}

127 :申し訳ありません…:02/07/28 15:30 ID:???
ここまで書いておいてアク禁が怖くなりました…
別の所にファイルをうpします…

128 :上げますた:02/07/28 15:39 ID:???
Susieプラグイン用のVisualArtsの画像読み出しプラグインソースです。
ttp://kari.to/upload/source/d/2249.rar

129 :おもしろいものが:02/08/12 16:53 ID:???
見たいのでage第二段。

130 :名前は開発中のものです。:02/08/12 17:28 ID:???
見たい見たいと騒ぐだけで何も作らないクレクレ厨が発生したので sage。 

131 :名前は開発中のものです。:02/09/25 00:34 ID:???
保守さげ

132 :名前は開発中のものです。:02/09/27 00:43 ID:44wKNrFG
VBコードは全面禁止あげ。

133 :Hikky!:02/09/27 01:09 ID:ZS9NwitR
class Hikky :public Human<NotNation> {}; //引き篭もりは義務を守らぬ(非国民)

134 :名前は開発中のものです。:02/09/27 01:24 ID:???
そりゃ設計が根本的に違わないか?

135 :名前は開発中のものです。:02/09/30 22:05 ID:???
板専用のアップローダがあるのでこのスレってあんまり意味なくない?
関数単位だとちょうどいいかもしれないけど

136 :名前は開発中のものです。:02/10/13 16:14 ID:???
10行でゲームつくってくれ。

137 :名前は開発中のものです。:02/10/13 21:01 ID:???
>>136
7行スレで頼めば?

138 :名前は開発中のものです。:02/10/13 21:05 ID:???
たのむことにしまつ! 優しい人、ありがとう!

139 :名前は開発中のものです。:02/10/13 21:59 ID:???
涙ぐましい努力と言うかー

バレないようにと言うかー

自作自演でしたと言うかー

何故あげる必要があるかー

コラァァァァァァァァァー

140 :名前は開発中のものです。:02/12/06 20:11 ID:Ppy2/Myo
#define WX      200 ; ウィンドウサイズX
#define WY      200 ; ウィンドウサイズY
#define CH_SIZE 16  ; キャラサイズ
#define CH_MOVE 2   ; キャラ移動量
#define BL_NUM  3   ; ブロック数
x=0     ; キャラ座標X
y=0     ; キャラ座標Y
int key ; 取得キー

dim blocks,4,BL_NUM
; blocks.(0=左上X 1=左上Y 2=右下X 3=右下Y).ブロック番号
blocks.0.0 = 60 ,70 ,80 ,90
blocks.0.1 = 100,100,120,120
blocks.0.2 = 160,20 ,180,40

screen 0,WX,WY

; メインループ
repeat
        gosub *keyproc
        gosub *draw
        gosub *checkcol
        wait 1
loop

141 :名前は開発中のものです。:02/12/06 20:12 ID:Ppy2/Myo
; キー処理
*keyproc
        stick key,15
        if key&1 : x-=CH_MOVE : if x<0 : x=0
        if key&2 : y-=CH_MOVE : if y<0 : y=0
        if key&4 : x+=CH_MOVE : if x>(WX-CH_SIZE) : x=WX-CH_SIZE
        if key&8 : y+=CH_MOVE : if y>(WY-CH_SIZE) : y=WY-CH_SIZE
        return

; 描画
*draw
        redraw 0
        color 0,0,0 : boxf

        ; ブロックの描画
        color 255,255,255
        repeat BL_NUM
                dup bl,blocks.0.cnt
                boxf bl.0,bl.1,bl.2,bl.3
        loop

        ; 自キャラの描画
        color 255,255,255
        pos x,y : mes "●"

        redraw 1
        return

142 :名前は開発中のものです。:02/12/06 20:12 ID:Ppy2/Myo
; 衝突のチェック
*checkcol
        f=0
        repeat BL_NUM
                dup bl,blocks.0.cnt
                if (x>(bl.0-CH_SIZE))&(y>(bl.1-CH_SIZE))&(x<=bl.2)&(y<=bl.3) {
                        title "hit on block no."+cnt
                        f=1
                }
        loop

        if f=0 : title ""
        return

143 :名前は開発中のものです。:02/12/06 22:32 ID:vk4K4iZT
せめて、どうやると動くのかとか、何をするものなのかとか書けよ。


144 :名前は開発中のものです。:02/12/07 09:22 ID:BdMzOWkW
何の言語?
生サブルーチンっぽいけど

145 :名前は開発中のものです。:02/12/07 10:56 ID:VzMuB+uR
HSPスレですな

146 :名前は開発中のものです。:03/03/23 22:24 ID:kd2Gsmbv


147 :名前は開発中のものです。:03/03/23 22:24 ID:OQVN1+uH


148 : ◆ZKHHHUdUik :03/03/28 20:17 ID:RYw3rvnK


149 :わらゑなゐをとこ:03/04/03 03:05 ID:zD2zCrgP
μηκο УАЯО ∫НΙΝЕ !
あなた達の為に ΕΡ∫ΟΝ情報科学∫ΕΝΜΟΝ学校からラッシュで カムバックしてきたわョ!
イエス、イエス、イエッス
この∫ΕΝΜΟΝが来たからには ジャスト安心よ!
あなたの良く知る∫ΕΝΜΟΝΒΑΚΑだよ! ユゥノゥ?
・・・ああ 子供たち 私の最後の言葉をきいとくれ
∫ΕΝΜΟΝ ΒΑΚΑ ΚΟЯΟ∫∪!
お前のフェイスは ベリーベリーベリー ファニーだね フールだね ダムンだね!
お前の天然のウザさを例えるに 戦闘帰りに上機嫌で鼻歌歌ってたらダークに紛れて鼻の穴にダイブしてくる蚊柱のよう!
お前なんて今すぐどうにかなってしまい
世田羊イヒ
 介大   の為に・・・
これが私の最後の言葉! くれぐれもプロミスを守って・・・


150 :名前は開発中のものです。:03/05/04 03:21 ID:iH6iw/kZ
漏れのつくったタスク機構の簡易なサンプル
class mytask : public Task<mytask> {
public:
 mytask(int i) { m_i = i; }
protected:
 void Main() {
  cout << "maintask1_" << m_i << endl;
  ChangeTask( Main2 );
  Main2();
 }
 void Main2() {
  cout << "maintask2_" << m_i << endl;
  m_i++;
  if(m_i > 3) { Finish(); } else { ChangeTask( Main ); }
 }
 int m_i;
};
int _tmain(int argc, _TCHAR* argv[]) {
 TaskManager man;
 man.AddTask(new mytask(1));
 for(int i=0;i<10;i++) { man.Run(); }
 return 0;
}
/// 出力結果 ///
maintask1_1
maintask2_1
maintask1_2
maintask2_2
maintask1_3
maintask2_3

151 :150:03/05/04 04:09 ID:iH6iw/kZ
// mytaskのprotectedブロック内の各タスクルーチンは
// 趣旨を分かりやすくするため以下のように変更
protected:
 void Main() { cout << "init" << endl;
  ChangeTask( Status1 );
 }
 void Status1() { cout << "status1_" << m_i << endl;
  ChangeTask( Status2 );
 }
 void Status2() { cout << "status2_" << m_i << endl;
  m_i++;
  if(m_i > 3) { Finish(); } else { ChangeTask( Status1 ); }
 }
/// 出力結果 ///
init
status1_1
status2_1
status1_2
status2_2
status1_3
status2_3

152 :名前は開発中のものです。:03/05/04 07:08 ID:pYycFS9z
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□

86 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)