トップページgamedev
1001コメント227KB

ソースを上げるスレッド

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

# 一種の隔離スレです。
0002名無しさん@お腹いっぱい。01/11/06 18:52ID:???
#include <stdio.h>
#define ver "read.cgi ver6.01 (01/11/15)"
int main(int)
{
printf("ヒロヒト。\n");
}
0003名無しさん@お腹いっぱい。01/11/06 18:54ID:???
>2
それじゃコンパイラ通らない。
つか、もっと役に立つか楽しいのうぷすれ。
0004名無しさん@お腹いっぱい。01/11/06 18:56ID:???
2chの最新read.cを書いたら頃されますか?
0005名無しさん@お腹いっぱい。01/11/06 18:56ID:???
ゲームじゃねぇし
0006名無しさん@お腹いっぱい。01/11/06 19:00ID:???
なんかあるかなぁ。
楽しそうなゲーム・・・
探そうかな。
0007名無しさん@お腹いっぱい。01/11/06 19:40ID:???
正規表現でゲームを作ろう
0008名無しさん@お腹いっぱい。01/11/06 21:22ID:???
#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);
}
}
}
0009名無しさん@お腹いっぱい。01/11/06 21:23ID:???
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);
0010名無しさん@お腹いっぱい。01/11/06 21:24ID:???

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 ();
}
0011名無しさん@お腹いっぱい。01/11/06 21:25ID:???
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);
}
0012おしまい。01/11/06 21:26ID:???
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( );
}
0013ちょちんちゃ01/11/07 05:43ID:???
#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;
}
どうだコノヤロウ
0014名無しさん@お腹いっぱい。01/11/07 07:05ID:???
このやろう言われても……。素直にatoi()使え。
0015名無しさん@お腹いっぱい。01/11/07 11:01ID:???
>>13
無駄が多くないか?
int a2i(char *meta)
{
  int ans = 0;
  while (*meta >= '0' && *meta <= '9') {
    ans *= 10;
    ans += *meta - '0';
    meta++;
  }
  return ans;
}
0016名無しさん@お腹いっぱい。01/11/07 18:15ID:???
おお!ハンドオプティマイズ!
0017名無しさん@お腹いっぱい。01/11/07 18:55ID:???
定義ブロック
*define

game

;実行ブロック
*start

end
0018名無しさん@お腹いっぱい。01/11/07 19:07ID:???
>17
なんのスクリプト? あと、つまんないよ、それ。
0019名無しさん@お腹いっぱい。01/11/08 00:08ID:FoZhzfZJ
MS-DOS コンソールベースのアクションゲームです!
名前: 「5000ゲッター!」

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

#include <stdio.h>

main()
{
int i;
for(i=1;i<=10000;i++){
printf("%5d\n",i);
}
}
0020hpiでいいのが色々出てるから今さらだが01/11/08 00:14ID:???
;ジョイスティックとキーボードの一括取得モジュール
;要なかむらさん作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
0021名無しさん@お腹いっぱい。01/11/09 07:22ID:wli4jLXP
>17
オモシレぇー!!!
■ このスレッドは過去ログ倉庫に格納されています