只要是有緣到此BLOG的閒人請投個票吧!給LINUX GAME一個機會!

2007年12月25日 星期二

SDL 感覺好象有有選單啦~~~~~

//TEST_MAIN_WINDOW_GAME source code.c

呵~好久沒放新東西啦~原因就是在用這個啦~ 選單
有一點小成果就給它放上來啦
還有幾天都在看 "Programming Linux Games" 的PDF
google一下就可以找到啦
因為source code 有點長 以經有一百多行啦~~~~ya
寫程式以經開始有過一百行的啦
如果想要可以說一聲喔~ 我知道不會有人要的哈~~

2007年12月17日 星期一

第n個 SDL WINDOW

//TEST_MAIN_WINDOW_GAME source code.c

#include "stdio.h"
#include "stdlib.h"
#include "SDL/SDL.h"
#include "SDL/SDL_image.h"

int main(void)
{
SDL_Event event;
SDL_Surface *screen;
SDL_Surface *image;
SDL_Rect n,z;
///////////////初始化SDL///////////////////////////////////
(SDL_Init(SDL_INIT_EVERYTHING));
SDL_WM_SetCaption("linux game 未來有希望了! 哈~~~~^ ^",NULL);
atexit(SDL_Quit);
screen=SDL_SetVideoMode(800, 600, 16, SDL_DOUBLEBUF | SDL_HWSURFACE);
/////////////////////////////////////////////////////////////
////////////////背圖_1/////////////////
image = IMG_Load("/home/byonk/Image/test_image.png");
if(screen == NULL){
printf("Unable to load Bitmap");
return 1;
}
//////////////㬎示image/////////////
n.x=0;
n.y=0;
n.w=screen->w;
n.h=screen->h;
z.x=0;
z.y=0;
z.w=screen->w;
z.h=screen->h;
SDL_BlitSurface(image, &n, screen, &z);
//////////////CLOSE_WINDOW////////
while(SDL_WaitEvent(&event) != 0){
////////更新image//////////////////
SDL_UpdateRect(screen, 0, 0, 0, 0);
/////////////////////////////////////
switch (event.type)
case SDL_QUIT:
exit(0);

}
}
linux game 未來有希望 一定有希望
相信我! 因該有吧! ~ ~

2007年12月15日 星期六

第三個 SDL WINDOW 有透明~

//TEST_WINDOW source code.c

#include "stdio.h"
#include "stdlib.h"
#include "SDL/SDL.h"
#include "SDL/SDL_image.h"

int main(void)
{
SDL_Surface *screen;
SDL_Surface *image;
SDL_Surface *image2;
SDL_Rect src, dest;
//////////////開始///////////////////////////////
if(SDL_Init(SDL_INIT_VIDEO)!=0)
return 0;
SDL_WM_SetCaption ("TEST_WINDOW",NULL);
atexit(SDL_Quit);

screen=SDL_SetVideoMode(640, 480, 16, SDL_HWSURFACE | SDL_DOUBLEBUF);
if(screen == NULL)
return 0;

image = IMG_Load("/home/byonk/Image/black.bmp");
if (image == NULL) {
printf("Unable to load bitmap.\n");
return 1;
}
image2 = IMG_Load("/home/byonk/Image/green.bmp");
if(image2 == NULL){
printf("Unable to load bitmap.\n");
return 1;
}
/* 背black*/
src.x = 0;
src.y = 0;
dest.w = image->w;
dest.h = image->h;
dest.x = 0;
dest.y = 0;
dest.w = image->w;
dest.h = image->h;
SDL_BlitSurface(image, &src, screen, &dest);
/*前green*/
src.x=0;
src.y=0;
src.w = image2->w;
src.h = image2->h;
dest.x=30;
dest.x=90;
src.w = image2->w;
src.h = image2->h;

SDL_BlitSurface(image2, &src, screen, &dest);

/////////////////////////////////////////////////////////
///////////粉///紅色 是看不到的 碼是 255,0,255///////////////
/////////////////////////////////////////////////////////
Uint32 colorkey = SDL_MapRGB(image2->format, 255, 0, 255);
////////////////////////////////////////////////////////
/////SDL_SetAlpha(surface, flage, alpha);////////
////////////////alpha透明度//////////////////////////
//////////////////0到255////////////////////////////////
///////////////////////////////////////////////////////
SDL_SetAlpha(image2, SDL_SRCALPHA, 100);
src.x = 0;
src.y = 0;
src.w = image2->w;
src.h = image2->h;
dest.x = screen->w - image->w - 30;
dest.y = 90;
dest.w = image2->w;
dest.h = image2->h;
SDL_BlitSurface(image2, &src, screen, &dest);

SDL_UpdateRect(screen, 0, 0, 0, 0);
SDL_Delay(10000);
}

//和第二個沒什麽差 只是改了 有透明度~~哈

2007年12月14日 星期五

第二個  SDL WINDOW 哈有圖了

//TEST_WINDOW2 source code.c

#include "stdio.h"
#include "stdlib.h"
#include "SDL/SDL.h"
#include "SDL/SDL_image.h"

int main(void)
{
SDL_Surface *screen;
SDL_Surface *image;
SDL_Surface *image2;
SDL_Rect src, dest;
//////////////開始///////////////////////////////
if(SDL_Init(SDL_INIT_VIDEO)!=0)
return 0;
SDL_WM_SetCaption ("TEST_WINDOW",NULL);
atexit(SDL_Quit);

screen=SDL_SetVideoMode(640, 480, 16, SDL_HWSURFACE | SDL_DOUBLEBUF);
if(screen == NULL)
return 0;

image = IMG_Load("/home/byonk/Image/black.bmp");
if (image == NULL) {
printf("Unable to load bitmap.\n");
return 1;
}
image2 = IMG_Load("/home/byonk/Image/green.bmp");
if(image2 == NULL){
printf("Unable to load bitmap.\n");
return 1;
}
/* 背black*/
src.x = 0;
src.y = 0;
dest.w = image->w;
dest.h = image->h;
dest.x = 0;
dest.y = 0;
dest.w = image->w;
dest.h = image->h;
SDL_BlitSurface(image, &src, screen, &dest);
/*前green*/
src.x=0;
src.y=0;
src.w = image2->w;
src.h = image2->h;
dest.x=30;
dest.x=90;
src.w = image2->w;
src.h = image2->h;

SDL_BlitSurface(image2, &src, screen, &dest);

/////////////////////////////////////////////////////////
///////////粉///紅色 是看不到的 碼是 255,0,255///////////////
/////////////////////////////////////////////////////////
Uint32 colorkey = SDL_MapRGB(image->format, 255, 0, 255);

SDL_SetColorKey(image2, SDL_SRCCOLORKEY, colorkey);
src.x = 0;
src.y = 0;
src.w = image2->w;
src.h = image2->h;
dest.x = screen->w - image->w - 30;
dest.y = 90;
dest.w = image2->w;
dest.h = image2->h;
SDL_BlitSurface(image2, &src, screen, &dest);



SDL_UpdateRect(screen, 0, 0, 0, 0);

SDL_Delay(10000);

}
\\和圖不太一樣 不過還是有效果

2007年12月13日 星期四

第一個 SDL Window

//TEST_WINDOW source code.c

#include "stdio.h"
#include "stdlib.h"
#include "SDL/SDL.h"
#include "SDL/SDL_image.h"

int main(void)
{
Uint16 *link;

SDL_Surface *screen;
SDL_Surface *image;

/*初始化 SDL*/
if(SDL_Init(SDL_INIT_VIDEO)!=0)
return 0;

atexit(SDL_Quit);

/*400*320 可改 */
screen=SDL_SetVideoMode(400, 320, 16, SDL_HWSURFACE | SDL_DOUBLEBUF);
if(screen == NULL)
return 0;

/*WINDOW_NAME*/
SDL_WM_SetCaption ("TEST_WINDOW", NULL);


SDL_UpdateRect(screen, 0, 0, 0, 0);
/*5秒後 close*/
SDL_Delay(5000);

}
這些 code 是從 "Programming Linux Games" 這本看來的
有些是去 google的~
看看吧~

2007年12月9日 星期日

太閒~寫的

//test_2 source code.c


#include "stdio.h"

int main(void)
{
int paper=130;
int takes;
printf("現在paper有%d張\n",paper);
printf("a.拿1張 b.拿5張\n");
printf("c.拿10張\n");


while((takes=getchar())!= '#' )// 按 "#" 算all
switch(takes)
{
case 'a': printf("少1張\n");paper--;
break;
case 'b':printf("少5張\n");paper-=5;
break;
case 'c':printf("少10張\n");paper-=10;
break;
}
printf("%d",paper);

return 0;
}

SDL 就決定是您了~

SDL(Simple DirectMedia Layer)是一套開放原始碼的跨平臺多媒體開發函式庫,使用C語言寫成。SDL提供了數種控制圖像、聲音、輸出入的函式,讓開發者只要用相同或是相似的程式碼就可以開發出跨多個平臺(Linux、Windows、Mac OS X等)的應用軟體。目前SDL多用於開發遊戲、模擬器、媒體播放器等多媒體應用領域。
 
 上面去Wiki找到的一些,想看完整請自己去google吧~
這幾天,阿~終於把 C Primer Plus 5 中文精華 看完了
從不知道,要從黑白到有window,C要有外面圖形庫才能有window,
阿又學到一點點了~
所以呢,就跑去找了好久好久,找到了幾個比較有名的圖形庫
OpenGL 、 SDL 、 Allegro 找到了這三個
都跑去官方看了好久又用google找了好久 這三個的一些文件
到最後 就決定 用 SDL了 主要原因呢 是因為看到一本
全世界可能也只有出這麽一本吧,還是原文書,可能也不會有中文本吧,
”Programming Linux Games”這本就是為了linux才出的書阿~~~~~
裡面有教到SDL 所以為了linux game的未來,一定要去把它買下來。

2007年11月25日 星期日

這幾天學的C~想知道是什麽請拿回去自己Compiler

//pass source code.c

#include
#define PASS 50
int main(void)
{
char password[PASS];
char password2[PASS];
int ok;
printf("現在請您設定您的password:______\b\b\b\b\b\b");
gets(password);
printf("好的您的password是:%s\n",password);


do
{
printf("請重新輸入:______\b\b\b\b\b\b");
gets(password2);

}
while(strcmp(password2 , password));
printf("OK!");
return 0;
}

//注意!!! 如果輸入 不是”數字”  會變成 Infinite loop 喔 要注意啦
//等我想改時在改吧~  事實上是自己不會改啦)~~~
//如果可以請哪位大哥教一下吧~
//以改好不會有問題1月8日Update

Frets On Fire!

準備好您的鍵盤沒~
想象一下您的鍵盤拿來 ”彈吉他”會是如何
我想一定很特別!
這個是一個音樂GAME
平臺有Linux/Windows/Mac少數有支援linux平臺的音樂GAME
一開始進入GAME時第二個是教您如何玩
第一個裡面有3組MUSIC可以選

它裡面的玩法是  用 F1 F2 F3 F4 F5 來按  所以不要想說音樂GAME
都是上下左右啦 或 A S D F 請一定要把您的鍵盤當成 
彈吉他 這樣玩 才能玩的順喔~把鍵盤倒過來象彈吉他那樣 
就象一開進入GAME 時 那個人物那樣拿著鍵盤
一開始有色彩的按鍵 F1:綠 F2:紅 F3:黃 F4:藍 F5:紫
當到了綠色按鍵時先按住F1在按Eenter
它就會開始計分右上角是分數
不好說明~ 只有您親自去玩才能體會 ”它”

我放在右邊links請自行 去download吧

2007年11月22日 星期四

LINUX GAME 少之又少

這幾天都在K ”C ”是k”C Primer Plus 5/e中文”這本
,以經k到第6章了它有16章,
打算一天k一章是太快了點,到今年底都會一直k”C”。
好了,談重點
不論是國內外,和Windows相比,真的是少之又少阿~
小GAME我知道很多,阿還有別跟我說emulation那不是基於linux上開發的
大作也都那幾個在移來移去而以
不是我在説就連日本方面也是如此,太閒去日本yahoo搜尋: "linuxゲーム"
也是沒什麽news不過發現了 一家公司 為了linux開發 商用game
真是一大樂事 當我點下公司web時 真是從青天馬上掉到大海裡去了
公司倒了 好把~  那個news是2000年8月9日的 哈~
不過還是很失望阿~  那個 game名 好象 叫做  「戦国 for Linux」
我想因該是還沒開發完 就先倒了吧唉~

2007年11月18日 星期日

在linux上用繪圖板


二氧化碳減量宣傳設計比賽作品

這張圖,是我用來參加 ”二氧化碳減量宣傳設計比賽”的
官方的URL: http://co2.saveoursky.org.tw/action/design/
只花了我不到30分的時間畫完,好啦這樣也可以去比賽。
而作畫的工具是:
Wacom Graphire4 繪圖板 定價3k.NTD 
軟體是Ubuntu 7.04 Linux上面的 "krita"
人家我只是個小孩咩~不要這樣

       Krita的畫面

繪圖板因為是USB的
在linux上 它沒有 "即插即用" 效果出現
也就是說當linux以經開好 當要把繪圖板的USB接上PC時
會出現 沒有"即插即用"當然了筆是可以動的,不過不能作畫
這時您就要從新開機在從新開機時 請把USB先接好
也就是說,在開機前,請先把繪圖板的USB先接上PC
接上後開完機,您就可以正大光明的用繪圖板來作畫了。

2007年11月11日 星期日

hello! world

//hello ! world source code.c


想了好久~ 不知道要以什麽做為第一個表題
就想到,每本C語言教學的第一句
"hello! world" 做為開頭吧 (笑)
這裡,會是一個 我學習 linux 和
如何在linux上面寫GAME的筆記吧
當然 寫source code我是個初學者
不過為了 linux 上面的GAME 我會努力的
如果有學到新的source code
我會加到我的文章裡
當然對您們來說不是新東西~ ~
也會有我使用別的Software的教學
如果我有這麽強的話 (笑)