当前位置: 首页 > news >正文

外贸软件建设百度移动端优化

外贸软件建设,百度移动端优化,房屋经纪人网站端口怎么做,手机做网站软件效果展示 需要的插件准备 此实战项目需要用到两个插件。 react-native-snackbar 底部信息提示组件。 react-native-vector-icons 图标组件。 安装组件: npm i react-native-snackbar npm i react-native-vector-icons npm i types/react-native-vector-icons /…

效果展示

在这里插入图片描述
在这里插入图片描述

需要的插件准备

此实战项目需要用到两个插件。

  • react-native-snackbar

    底部信息提示组件。

  • react-native-vector-icons

    图标组件。

安装组件:

npm i react-native-snackbar
npm i react-native-vector-icons
npm i @types/react-native-vector-icons // 使用 TS 时需要安装

使用react-native-vector-icons插件时,需要在 IOS 和安卓的配置文件中加入对应的参数配置,而这里我是使用安卓,所以只是展示安卓的配置,IOS 的配置方法可以查看这里。

// 路径是在 android/app/build.gradle 文件中添加如下配置
apply from: file("../../node_modules/react-native-vector-icons/fonts.gradle")

游戏逻辑

我们棋盘采用数组的方式来维护棋盘下子情况。具体的棋盘布局图如下:

在这里插入图片描述

在井字游戏规则中,主要在横着连续三个、竖着连续三个、斜着连续三个棋子都算是获胜,所以通过棋盘布局图,我们可以知道有如下几种情况就可以获取:

  1. 数组下标[0,1,2]、[3,4,5]和[6,7,8]中的所有值相同的时候我们就可以判断为获胜
  2. 数组下标[0,3,6]、[1,4,7]和[2,5,8]中的所有值相同的时候我们就可以判断为获胜
  3. 数组下标[0,4,8]和[2,4,6]中的所有值相同的时候我们就可以判断为获胜

通过上述梳理的规则,我们就可以编写对应判断输赢的逻辑函数。这里就不做代码展示,可以下载完整代码查看。

注意: 数组下标的值必须非初始化的值(本实战中初始值是 empty),所以编写游戏逻辑时需要加上此判断。

实现核心步骤

  1. 编写棋子组件
// 这里的Icon组件是react-native-vector-icons组件里面的
type IconParsms = PropsWithChildren<{ name: string }>;
const Icons = (props: IconParsms) => {switch (props.name) {case "circle":return <Icon name="circle-thin" size={38} color="#F7CD2E" />;break;case "cross":return <Icon name="times" size={38} color="#38CC77" />;break;default:return <Icon name="pencil" size={38} color="#0D0D0D" />;break;}
};
  1. 编写下棋动作事件

下棋动作主要是监听棋盘中每个

// 点击事件,修改对应的图标
const onChangeItem = (itemNumber: number) => {// 已经有一方赢得比赛时,在点击棋盘时就会使用Snackbar组件给用户信息提示if (gameWinner) {return Snackbar.show({text: gameWinner,backgroundColor: "#000000",textColor: "#FFFFFF",});}// 判断棋盘每个位置上的棋子情况if (gameState[itemNumber] === "empty") {gameState[itemNumber] = isCross ? "cross" : "circle";setIsCross(!isCross); // 通过修改 isCross 的值判断是 ○ 还是 × 下棋} else {// 非empty的值都是已经下过子,所以就不能在下return Snackbar.show({text: "这里已有棋子",backgroundColor: "red",textColor: "#FFF",});}checkIsWinner(); // 调用判断输赢的逻辑函数
};
  1. 编写页面结构(样式代码在完整代码中)
<SafeAreaView><StatusBar />{/* 操作/比赛提示 */}{gameWinner ? (<View style={[styles.playerInfo, styles.winnerInfo]}><Text style={styles.winnerTxt}>{gameWinner}</Text></View>) : (<Viewstyle={[styles.playerInfo, isCross ? styles.playerX : styles.playerO]}><Text style={styles.gameTurnTxt}>轮到 {isCross ? "X" : "O"}</Text></View>)}{/* 棋盘 */}<FlatListnumColumns={3}data={gameState}style={styles.grid}renderItem={({ item, index }) => (<Pressablekey={index}style={styles.card}onPress={() => onChangeItem(index)}><Icons name={item} /></Pressable>)}/>{/* 游戏操作 */}<Pressable style={styles.gameBtn} onPress={reloadGame}><Text style={styles.gameBtnText}>{gameWinner ? "开始新游戏" : "重置游戏"}</Text></Pressable>
</SafeAreaView>

完整代码下载

完整代码

http://www.dinnco.com/news/26439.html

相关文章:

  • 怎样在百度上建网站软文营销广告案例
  • 上海哪个公司做网站好百度推广和优化哪个好
  • 郑州东区做网站电话推广下载
  • 做的网站空白了玄幻小说百度风云榜
  • 做坏事小视频网站2023年适合小学生的新闻有哪些
  • wordpress 本地同步到服务器seo关键词怎么选择
  • 杭州电商网站建设谷歌搜索引擎seo
  • 网站建设需要什么能力最新最好的磁力搜索
  • 山西省住房和建设厅网站app拉新推广平台渠道商
  • 网站制作评价一句话宣传自己的产品
  • 营销型网站建设的价格百度seo推广首选帝搜软件
  • 能玩游戏的网站西安竞价托管
  • 网站icp备案网址千锋教育地址
  • 做网站现在可以挣钱吗关键词优化是怎样收费的
  • 最炫的网站企业推广文案范文
  • 工业企业网站建设怎样在百度上发布广告
  • wordpress主题包怎么做seo营销技巧培训班
  • 源代码如何做网站uc浏览网页版进入
  • 浙江网站建设情况分析简述网络营销的主要方法
  • 织梦网站程序安装教程中国站免费推广入口
  • 怎么做网站的访问量seo诊断服务
  • 基于html css的网站设计网站推广软文
  • 企业做网站的好处免费自制app软件
  • 有货 那样的网站怎么做网站推广策划书模板
  • 手机行业动态网站制作网站优化推广方案
  • 做网站的高手百度邮箱注册入口
  • 盱眙在仕德伟做网站的有几家手机网站智能建站
  • 1如何做网站推广上海优化公司有哪些
  • 如何做免费网站专业代写软文
  • 做家居商城网站杭州seo网站优化公司