我的第一个hbulider项目--五子棋

       今天,我们开始做项目,是关于h5的,对于这个我很陌生,没有听说过,也没有操作过。我们的项目是基于html的五子棋游戏。

       起初,我认为五子棋是特别简单的一个项目,做起来难度应该很小,但是我错了。我也以为我拥有HTML标签和JAVA的基础知识,我就可以很好的做好。在H5中,有很多新的东西,老师给我们讲了很多H5的效。看着感觉很炫,自己很想做,但是知道知识面太窄。哪怕今天的实训,做五子棋,我也是做的不够顺畅。很多新的功能,需要自己不断的摸 索。

       在做项目过程中,我一直跟随老师的脚步,觉得也不是特别难,我们缺少的,是对算法的了解,以及作游戏的思路,我认为,这是对逻辑分析能力的一种考验。今天的实训中,我犯了一个特低级的错误,中英文符号的失误,我想,这对于一个程序员来说,是不可饶恕的,检查了很久,也没有检查出问题。也浪费了好多时间,也耽误了老师好多时间。

       对于H5我认为它是一个功能很强大的软件,用它,我们不需要再对画图软件中单独画图,也不用在FLASH中单独做特效。这是我所感叹的。了解到,hbulider是国人开发的软件,我想,国人的软件果然是最适合我们的。

       做五子棋,首先新建个HTML文件,在文件中,我们要在页面中创建一个画面,创建好画布后,再开始画棋盘,用代码敲出图形,在继C语言JAVA之后,这又是一新认识,但我认为,在hbulider中敲出的图形更好看,棋盘做好了后,开始做棋子,棋子要分为两种颜色,一种黑色一种红色,我们用了if语句,使得两种颜色交替出现。此时,你会发现,一个位置上可以同时击两下,这时我们要对它进行设置了。以及放置棋子的位置,也要在十字线上,同时要保证边上的棋子能够完全显示。之后我们用了一个二维数组,用于存储棋子位置,这样我们就能保证同一个位置,只能放置 一颗棋子了。

       这就是我们今天实训的内容,还有一部分将于明天完成,我也很期待呢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个基于Cortex-M0的五子棋游戏代码示例,使用C语言实现: ```c #include "stm32f0xx.h" #include "stm32f0xx_hal.h" #define BLACK_PLAYER 1 #define WHITE_PLAYER 2 uint8_t board[15][15]; // 棋盘 uint8_t player; // 当前玩家 // 初始化棋盘 void init_board() { int i, j; for (i = 0; i < 15; i++) { for (j = 0; j < 15; j++) { board[i][j] = 0; } } } // 判断是否有连续的五个棋子 int check_win(uint8_t player) { int i, j; // 横向判断 for (i = 0; i < 15; i++) { for (j = 0; j < 11; j++) { if (board[i][j] == player && board[i][j+1] == player && board[i][j+2] == player && board[i][j+3] == player && board[i][j+4] == player) { return 1; } } } // 纵向判断 for (i = 0; i < 11; i++) { for (j = 0; j < 15; j++) { if (board[i][j] == player && board[i+1][j] == player && board[i+2][j] == player && board[i+3][j] == player && board[i+4][j] == player) { return 1; } } } // 正斜向判断 for (i = 0; i < 11; i++) { for (j = 0; j < 11; j++) { if (board[i][j] == player && board[i+1][j+1] == player && board[i+2][j+2] == player && board[i+3][j+3] == player && board[i+4][j+4] == player) { return 1; } } } // 反斜向判断 for (i = 0; i < 11; i++) { for (j = 4; j < 15; j++) { if (board[i][j] == player && board[i+1][j-1] == player && board[i+2][j-2] == player && board[i+3][j-3] == player && board[i+4][j-4] == player) { return 1; } } } return 0; } // 下棋 void play(uint8_t row, uint8_t col) { board[row][col] = player; } int main() { init_board(); player = BLACK_PLAYER; while (1) { // 等待玩家下棋 // 这里可以使用按键中断或者定时器中断等方式实现 // 获取玩家落子的位置row和col play(row, col); // 判断是否有连续的五个棋子 if (check_win(player)) { // 玩家获胜 break; } // 切换玩家 if (player == BLACK_PLAYER) { player = WHITE_PLAYER; } else { player = BLACK_PLAYER; } } return 0; } ``` 这个五子棋游戏的代码使用了STM32F0xx系列的单片机,使用了GPIO和定时器等外设来实现玩家下棋、判断胜负等功能。在主函数中,使用了一个while循环来让玩家轮流下棋,直到有玩家获胜或者平局结束游戏。由于硬件平台和软件环境的不同,具体实现方式可能会有所不同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值