Ubuntu Linux 下的经典游戏大全

你在用 Ubuntu Linux 之余,也许还要用Ubuntu Linux 来玩玩游戏吧!虽然Ubuntu Linux 用户可玩到 3D 游戏远远不如 Windows ,但 Ubuntu Linux 中的游戏也不乏精品,这里列出了几款免费的 Ubuntu Linux 中的游戏,这些 Ubuntu Linux 中的游戏,都是原生的,不需要运行 Wine 来模拟这些游戏。很多都是非常知名的 Linux 游戏,在很多地方可能都有介绍。

偶尔在网上和群里看到一些 Ubuntu Linux 小游戏,说挺不错,累了的时候不想玩什么大游戏,就收集了一些 Ubuntu Linux  小游戏并玩了一下,感觉 不错,特分享一下解解闷儿.

下面的这些 Ubuntu Linux 游戏大多数都是用通过 APT 的方式来安装的,测试环境是 Ubuntu 8.04 采用的是台湾的软件源,其它的源不能保证一定能通过 APT 的方式安装,当然你可以试试看,如果不能安装,请手动添加这些软件源。

增加以下软件源:

 

deb http://tw.archive.ubuntu.com/ubuntu/ hardy main restricted deb-src http://tw.archive.ubuntu.com/ubuntu/ hardy main restricted deb http://tw.archive.ubuntu.com/ubuntu/ hardy-updates main restricted deb-src http://tw.archive.ubuntu.com/ubuntu/ hardy-updates main restricted deb http://tw.archive.ubuntu.com/ubuntu/ hardy universe deb-src http://tw.archive.ubuntu.com/ubuntu/ hardy universe deb http://tw.archive.ubuntu.com/ubuntu/ hardy-updates universe deb-src http://tw.archive.ubuntu.com/ubuntu/ hardy-updates universe deb http://tw.archive.ubuntu.com/ubuntu/ hardy multiverse deb-src http://tw.archive.ubuntu.com/ubuntu/ hardy multiverse deb http://tw.archive.ubuntu.com/ubuntu/ hardy-updates multiverse deb-src http://tw.archive.ubuntu.com/ubuntu/ hardy-updates multiverse deb http://tw.archive.ubuntu.com/ubuntu/ hardy-security main restricted deb-src http://tw.archive.ubuntu.com/ubuntu/ hardy-security main restricted deb http://tw.archive.ubuntu.com/ubuntu/ hardy-security universe deb-src http://tw.archive.ubuntu.com/ubuntu/ hardy-security universe deb http://tw.archive.ubuntu.com/ubuntu/ hardy-security multiverse deb-src http://tw.archive.ubuntu.com/ubuntu/ hardy-security multiverse

如果你不会增加软件源请看这里: Ubuntu 8.04 LTS (Hardy Heron)软件源设置指南

Ubuntu Linux 下的经典游戏大全 - 兴华颖挚 - 兴华颖挚

1.supertuxkart

类似于跑跑卡丁车的游戏

右边就是我截 的图,画面质量不怎么好,

但能在LINUX下开个类似于跑跑卡丁车还是不错的,源里有下载 。

sudo apt-get install supertuxkare supertuxkare-data

Ubuntu Linux 下的经典游戏大全 - 兴华颖挚 - 兴华颖挚

     2.neverputt  高尔夫球

画面看着不怎么样,但是玩的容易容易入迷,比如我,我不喜欢玩游戏,但是这个游戏玩的,怪好玩的来,赢了还想玩,输了不服气再玩。

 

 

sudo apt-get install neverputt

Ubuntu Linux 下的经典游戏大全 - 兴华颖挚 - 兴华颖挚

3。neverball  平衡球

这个 小游戏考验一个平衡,windows下也有一个平衡球的游戏,不知道大家有没有玩过,挺 耐玩的一个游戏,没想到源里也有,哇哇之下装了一个,我平衡感一般,老是东倒西歪的。

sudo apt-get install neverball neverdate

Ubuntu Linux 下的经典游戏大全 - 兴华颖挚 - 兴华颖挚

  4。btanks 3D坦克

我很郁闷的是这个游戏,我搞了半天,我一点都不会玩,成心气我的,搞了半天,玩不好,有喜欢玩的可以研究吧,会玩的玩告诉我下怎么玩的,谢谢啦。

 

 

sudo apt-get install btanks-data liblua btanks

Ubuntu Linux 下的经典游戏大全 - 兴华颖挚 - 兴华颖挚5.assaultcube

这个游戏玩法类似CS,看看右边的图就知道了,不用多说。不过操作上面的我搞了半天,仍然不知道怎么玩的,只会逛街发发子弹,有会玩的可以告诉我下,谢谢啦。

 

sudo apt-get install assaultcube assaultcube-data

Ubuntu Linux 下的经典游戏大全 - 兴华颖挚 - 兴华颖挚6.nexuiz

  3D第一人称枪战游戏,同上面一样,也不知道怎么玩,虽然游戏看着眼馋,也流口水,可不会玩啊,知道的也告诉我怎么玩啊,也谢谢了。

 

 

sudo apt-get install nexuiz nexuiz-data nexuiz-music

Ubuntu Linux 下的经典游戏大全 - 兴华颖挚 - 兴华颖挚

7.openarena

什么类型的游戏不清楚,哭死,又是一个不会玩的游戏,太郁闷了,连菜单在哪里找我也不知道按什么键的,如果有高手知道怎么玩,也告诉我一下哈,在此谢谢了。

 

sudo apt-get install openarena openarena-data

Ubuntu Linux 下的经典游戏大全 - 兴华颖挚 - 兴华颖挚8.alien arena

看起来像是恐怖游戏的样子,没玩过,正在安装中,不知道怎么个玩法。

 

 

 

sudo apt-get install alien libbeecrypt6 librpm4.4 rpm alien-arena alien-arena-data

Ubuntu Linux 下的经典游戏大全 - 兴华颖挚 - 兴华颖挚

9.boswars

类型红警的游戏,这下玩红警的朋友可高兴了,至于 里面的较果如何,那就不知道了,可以玩玩体验体验吧,觉得玩的不错,在此留下你的体验,不知道怎么操作,没办法,先谢谢啦。安装是先装 上面的,然后再装下面的,网上是这么说的,不知道什么原因。

下载地址:

ftp://darkstar.ist.utl.pt/pub/getdeb/ubuntu/hardy/bo/boswars-data_2.5-1~getdeb2_all.deb

http://imhotep.unizar.es/getdeb/ubuntu/hardy/bo/boswars_2.5-1~getdeb2_i386.deb

Ubuntu Linux 下的经典游戏大全 - 兴华颖挚 - 兴华颖挚

10. ManiaDr

看上去像极品飞车,画面质量一般,里面的情况如何,还要请玩家去体验了,虽然丑点,但总比没有的强吧。源里有没有还没试,你们可以去试试源里有没有这个。安装先装第一个,然后再下一步,具体不明。现提供下载地址:

 

http://harrisony.com/getdeb.net/ubuntu/hardy/ma/maniadrive-data_1.2-0~getdeb3_all.deb

http://getdeb-mirror.resonar.de/archive/ubuntu/hardy/ma/maniadrive_1.2-0~getdeb3_i386.deb

目前就收集这些游戏,如果你们有什么好玩的游戏,也不访在这里留下你们的脚印,让更多的原生游戏出现在ubuntu的面前并宣言,ubuntu的游戏也是很丰富的哦!!

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个使用 ncurses 实现经典游戏俄罗斯方块的完整代码,供你参考: ```c++ #include <ncurses.h> #include <unistd.h> #include <stdlib.h> #include <time.h> #define ROWS 20 #define COLS 10 int board[ROWS][COLS] = {0}; // 游戏面板 int current[4][2]; // 当前方块坐标 int current_type; // 当前方块类型 int current_row, current_col; // 当前方块的左上角坐标 int score = 0; // 得分 // 定义七种方块的形状,每个方块有四个方向 int block[7][4][2] = { {{0, 0}, {0, 1}, {1, 0}, {1, 1}}, // 田字形 {{0, 0}, {0, 1}, {0, 2}, {0, 3}}, // 一字形 {{0, 0}, {0, 1}, {0, 2}, {1, 2}}, // L形 {{0, 0}, {0, 1}, {0, 2}, {-1, 2}}, // 反L形 {{0, 0}, {0, 1}, {-1, 1}, {1, 0}}, // Z形 {{0, 0}, {0, 1}, {1, 1}, {-1, 0}}, // 反Z形 {{0, 0}, {0, 1}, {0, 2}, {1, 1}}, // T形 }; // 初始化游戏面板 void init_board() { for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { board[i][j] = 0; } } } // 随机生成一个方块类型 int random_block_type() { srand((unsigned)time(NULL)); return rand() % 7; } // 初始化当前方块 void init_current() { current_type = random_block_type(); for (int i = 0; i < 4; i++) { current[i][0] = block[current_type][i][0]; current[i][1] = block[current_type][i][1]; } current_row = 0; current_col = COLS / 2 - 2; } // 在游戏面板上画出当前方块 void draw_current() { for (int i = 0; i < 4; i++) { int row = current_row + current[i][0]; int col = current_col + current[i][1]; board[row][col] = 1; } } // 从游戏面板上擦除当前方块 void erase_current() { for (int i = 0; i < 4; i++) { int row = current_row + current[i][0]; int col = current_col + current[i][1]; board[row][col] = 0; } } // 在游戏面板上画出所有方块 void draw_board() { for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { if (board[i][j] == 1) { mvprintw(i, j * 2, "[]"); } else { mvprintw(i, j * 2, " "); } } } } // 判断当前方块是否可以下移 int can_move_down() { for (int i = 0; i < 4; i++) { int row = current_row + current[i][0] + 1; int col = current_col + current[i][1]; if (row >= ROWS || board[row][col] == 1) { return 0; } } return 1; } // 方块下落一格 void move_down() { erase_current(); current_row++; draw_current(); } // 方块左移一格 void move_left() { erase_current(); current_col--; draw_current(); } // 方块右移一格 void move_right() { erase_current(); current_col++; draw_current(); } // 方块旋转 void rotate() { int temp[4][2]; for (int i = 0; i < 4; i++) { temp[i][0] = current[i][0]; temp[i][1] = current[i][1]; } for (int i = 0; i < 4; i++) { current[i][0] = temp[i][1]; current[i][1] = -temp[i][0]; } if (current_col + current[0][1] < 0) { current_col = -current[0][1]; } else if (current_col + current[3][1] >= COLS) { current_col = COLS - current[3][1] - 1; } erase_current(); draw_current(); } // 消除一行 void clear_row(int row) { for (int i = row; i > 0; i--) { for (int j = 0; j < COLS; j++) { board[i][j] = board[i - 1][j]; } } for (int j = 0; j < COLS; j++) { board[0][j] = 0; } score += 10; } // 扫描并消除已满的行 void check_row() { for (int i = ROWS - 1; i >= 0; i--) { int full = 1; for (int j = 0; j < COLS; j++) { if (board[i][j] == 0) { full = 0; break; } } if (full) { clear_row(i); i++; } } } // 判断游戏是否结束 int is_game_over() { for (int i = 0; i < COLS; i++) { if (board[0][i] == 1) { return 1; } } return 0; } int main() { // 初始化 ncurses initscr(); cbreak(); noecho(); keypad(stdscr, TRUE); curs_set(0); // 初始化游戏面板和当前方块 init_board(); init_current(); // 开始游戏循环 while (1) { clear(); // 检测用户输入 int ch = getch(); switch (ch) { case KEY_LEFT: if (current_col > 0) { move_left(); } break; case KEY_RIGHT: if (current_col < COLS - 2) { move_right(); } break; case KEY_UP: rotate(); break; case KEY_DOWN: while (can_move_down()) { move_down(); } break; case 'q': endwin(); exit(0); break; default: break; } // 方块下落 if (can_move_down()) { move_down(); } else { check_row(); init_current(); if (is_game_over()) { mvprintw(ROWS / 2, COLS, "Game Over! Press 'q' to quit."); while (getch() != 'q') ; endwin(); exit(0); } } // 在屏幕上显示游戏面板和得分 draw_board(); mvprintw(ROWS, 0, "Score: %d", score); // 刷新屏幕 refresh(); // 等待一段时间 usleep(50000); } // 退出 ncurses endwin(); return 0; } ``` 注意,以上代码只是一个简单的实现,可能会有一些 bug 和不足之处,仅供参考。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值