超碰在线观看97青草国产_动漫毛片免费观看_亚洲无码黄色电影在线播放_中文字幕无码视频_国产精品91不卡_好爽**片一区二区三区四_亚洲欧美日韩成人网手机版_香蕉影视网站在线观看_欧美成人永久免费观看_国内精品黄三级毛片

小程序開發(fā)代碼案例(微信小程序開發(fā)案例代碼)

小程序開發(fā) 3768
今天給各位分享小程序開發(fā)代碼案例的知識,其中也會對微信小程序開發(fā)案例代碼進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、微信小程序怎么開發(fā) 微信小程序開發(fā)教程分享

今天給各位分享小程序開發(fā)代碼案例的知識,其中也會對微信小程序開發(fā)案例代碼進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!

本文目錄一覽:

微信小程序怎么開發(fā) 微信小程序開發(fā)教程分享

微信應(yīng)用號(小程序,「應(yīng)用號」的新稱呼)終于來了!

目前還處于內(nèi)測階段,微信只邀請了部分企業(yè)參與封測。想必大家都關(guān)心應(yīng)用號的最終形態(tài)到底是什么樣子?怎樣將一個「服務(wù)號」改造成為「小程序」?

我們暫時以一款簡單的第三方工具的實(shí)例,來演示一下開發(fā)過程吧。

序言

開始開發(fā)應(yīng)用號之前,先看看官方公布的「小程序」教程吧?。ㄒ韵聝?nèi)容來自微信官方公布的「小程序」開發(fā)指南)

本文檔將帶你一步步創(chuàng)建完成一個微信小程序,并可以在手機(jī)上體驗(yàn)該小程序的實(shí)際效果。這個小程序的首頁將會顯示歡迎語以及當(dāng)前用戶的微信頭像,點(diǎn)擊頭像,可以在新開的頁面中查看當(dāng)前小程序的啟動日志。

1. 獲取微信小程序的 AppID

首先,我們需要擁有一個帳號,如果你能看到該文檔,我們應(yīng)當(dāng)已經(jīng)邀請并為你創(chuàng)建好一個帳號。注意不可直接使用服務(wù)號或訂閱號的 AppID。 利用提供的帳號,登錄 ,就可以在網(wǎng)站的「設(shè)置」-「開發(fā)者設(shè)置」中,查看到微信小程序的 AppID 了。

注意:如果我們不是用注冊時綁定的管理員微信號,在手機(jī)上體驗(yàn)該小程序。那么我們還需要操作「綁定開發(fā)者」。即在「用戶身份-開發(fā)者」模塊,綁定上需要體驗(yàn)該小程序的微信號。本教程默認(rèn)注冊帳號、體驗(yàn)都是使用管理員微信號。

2. 創(chuàng)建項(xiàng)目

我們需要通過開發(fā)者工具,來完成小程序創(chuàng)建和代碼編輯。

開發(fā)者工具安裝完成后,打開并使用微信掃碼登錄。選擇創(chuàng)建「項(xiàng)目」,填入上文獲取到的 AppID,設(shè)置一個本地項(xiàng)目的名稱(非小程序名稱),比如「我的第一個項(xiàng)目」,并選擇一個本地的文件夾作為代碼存儲的目錄,點(diǎn)擊「新建項(xiàng)目」就可以了。

為方便初學(xué)者了解微信小程序的基本代碼結(jié)構(gòu),在創(chuàng)建過程中,如果選擇的本地文件夾是個空文件夾,開發(fā)者工具會提示,是否需要創(chuàng)建一個 quick start 項(xiàng)目。選擇「是」,開發(fā)者工具會幫助我們在開發(fā)目錄里生成一個簡單的 demo。

項(xiàng)目創(chuàng)建成功后,我們就可以點(diǎn)擊該項(xiàng)目,進(jìn)入并看到完整的開發(fā)者工具界面,點(diǎn)擊左側(cè)導(dǎo)航,在「編輯」里可以查看和編輯我們的代碼,在「調(diào)試」里可以測試代碼并模擬小程序在微信客戶端效果,在「項(xiàng)目」里可以發(fā)送到手機(jī)里預(yù)覽實(shí)際效果。

3. 編寫代碼

點(diǎn)擊開發(fā)者工具左側(cè)導(dǎo)航的「編輯」,我們可以看到這個項(xiàng)目,已經(jīng)初始化并包含了一些簡單的代碼文件。最關(guān)鍵也是必不可少的,是 app.js、app.json、app.wxss 這三個。其中,.js 后綴的是腳本文件,.json 后綴的文件是配置文件,.wxss 后綴的是樣式表文件。微信小程序會讀取這些文件,并生成小程序?qū)嵗?/p>

下面我們簡單了解這三個文件的功能,方便修改以及從頭開發(fā)自己的微信小程序。

app.js 是小程序的腳本代碼。我們可以在這個文件中監(jiān)聽并處理小程序的生命周期函數(shù)、聲明全局變量。調(diào)用 MINA 提供的豐富的 API,如本例的同步存儲及同步讀取本地數(shù)據(jù)。

//app.js App({

onLaunch: function () { //調(diào)用API從本地緩存中獲取數(shù)據(jù) var logs = wx.getStorageSync('logs') || []

logs.unshift(Date.now())

wx.setStorageSync('logs', logs)

},

getUserInfo:function(cb){ var that = this; if(this.globalData.userInfo){ typeof cb == "function" cb(this.globalData.userInfo)

}else{ //調(diào)用登錄接口 wx.login({

success: function () {

wx.getUserInfo({

success: function (res) {

that.globalData.userInfo = res.userInfo; typeof cb == "function" cb(that.globalData.userInfo)

}

})

}

});

}

},

globalData:{

userInfo:null }

})

app.json 是對整個小程序的全局配置。我們可以在這個文件中配置小程序是由哪些頁面組成,配置小程序的窗口 背景色,配置導(dǎo)航條樣式,配置默認(rèn)標(biāo)題。注意該文件不可添加任何注釋。

{ "pages":[ "pages/index/index", "pages/logs/logs" ], "window":{ "backgroundTextStyle":"light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "WeChat", "navigationBarTextStyle":"black" }

}

app.wxss 是整個小程序的公共樣式表。我們可以在頁面組件的class屬性上直接使用app.wxss中聲明的樣式規(guī)則。

/**app.wxss**/ .container { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 200rpx 0; box-sizing: border-box;

}

3. 創(chuàng)建頁面

在這個教程里,我們有兩個頁面,index 頁面和 logs 頁面,即歡迎頁和小程序啟動日志的展示頁,他們都在 pages 目錄下。微信小程序中的每一個頁面的【路徑+頁面名】都需要寫在 app.json 的 pages 中,且 pages 中的第一個頁面是小程序的首頁。

每一個小程序頁面是由同路徑下同名的四個不同后綴文件的組成,如:index.js、index.wxml、index.wxss、index.json。.js 后綴的文件是腳本文件,.json 后綴的文件是配置文件,.wxss 后綴的是樣式表文件,.wxml 后綴的文件是頁面結(jié)構(gòu)文件。

index.wxml是頁面的結(jié)構(gòu)文件:

view class="caea31edba3960d4 container" view bindtap="bindViewTap" class="31edba3960d41df1 userinfo" image class="ba3960d41df142d6 userinfo-avatar" src="{{userInfo.avatarUrl}}" background-size="cover" image text class="8c7dd32254cfb50f userinfo-nickname"{{userInfo.nickName}} text view view class="d32254cfb50f5bcd usermotto" text class="54cfb50f5bcd8333 user-motto"{{motto}} text view view

本例中使用了、、來搭建頁面結(jié)構(gòu),綁定數(shù)據(jù)和交互處理函數(shù)。

index.js 是頁面的腳本文件,在這個文件中我們可以監(jiān)聽并處理頁面的生命周期函數(shù)、獲取小程序?qū)嵗?,聲明并處理?shù)據(jù),響應(yīng)頁面交互事件等。

//index.js //獲取應(yīng)用實(shí)例 var app = getApp()

Page({

data: {

motto: 'Hello World',

userInfo: {}

}, //事件處理函數(shù) bindViewTap: function() {

wx.navigateTo({

url: '../logs/logs' })

},

onLoad: function () { console.log('onLoad') var that = this //調(diào)用應(yīng)用實(shí)例的方法獲取全局?jǐn)?shù)據(jù) app.getUserInfo(function(userInfo){ //更新數(shù)據(jù) that.setData({

userInfo:userInfo

})

})

}

})

index.wxss是頁面的樣式表:

/**index.wxss**/ .userinfo { display: flex; flex-direction: column; align-items: center;

} .userinfo-avatar { width: 128rpx; height: 128rpx; margin: 20rpx; border-radius: 50%;

} .userinfo-nickname { color: #aaa;

} .usermotto { margin-top: 200px;

}

頁面的樣式表是非必要的。當(dāng)有頁面樣式表時,頁面的樣式表中的樣式規(guī)則會層疊覆蓋 app.wxss 中的樣式規(guī)則。如果不指定頁面的樣式表,也可以在頁面的結(jié)構(gòu)文件中直接使用 app.wxss 中指定的樣式規(guī)則。

index.json是頁面的配置文件:

頁面的配置文件是非必要的。當(dāng)有頁面的配置文件時,配置項(xiàng)在該頁面會覆蓋 app.json 的 window 中相同的配置項(xiàng)。如果沒有指定的頁面配置文件,則在該頁面直接使用 app.json 中的默認(rèn)配置。

logs的頁面結(jié)構(gòu)

view class="b50f5bcd83338435 container log-list" block wx:for-items="{{logs}}" wx:for-item="log" text class="5bcd83338435ed6b log-item"{{index + 1}}. {{log}} text block view

logs 頁面使用 控制標(biāo)簽來組織代碼,在 上使用 wx:for-items 綁定 logs 數(shù)據(jù),并將 logs 數(shù)據(jù)循環(huán)展開節(jié)點(diǎn)

//logs.js var util = require('../../utils/util.js')

Page({

data: {

logs: []

},

onLoad: function () { this.setData({

logs: (wx.getStorageSync('logs') || []).map(function (log) { return util.formatTime(new Date(log))

})

})

}

})

運(yùn)行結(jié)果如下:

4. 手機(jī)預(yù)覽

開發(fā)者工具左側(cè)菜單欄選擇「項(xiàng)目」,點(diǎn)擊「預(yù)覽」,掃碼后即可在微信客戶端中體驗(yàn)。

目前,預(yù)覽和上傳功能尚無法實(shí)現(xiàn),需要等待微信官方的下一步更新。

如你所見,微信官方給出的開發(fā)指南還非常簡單,很多細(xì)節(jié)、代碼和功能都沒有明確的展示,所以接下來就到展示實(shí)力的時候啦!開發(fā)教程正式開始!

第一章:準(zhǔn)備工作

做好準(zhǔn)備工作很重要。開發(fā)一個微信應(yīng)用號,你需要提前到微信的官方網(wǎng)站(weixin.qq.com)下載開發(fā)者工具。

1. 下載最新微信開發(fā)者工具,打開后你會看到該界面:

2. 點(diǎn)擊「新建 web+」項(xiàng)目,隨后出現(xiàn)如下畫面:

3. 該頁面內(nèi)的各項(xiàng)內(nèi)容需要注意——

AppID:依照官方解釋來填。

Appname: 項(xiàng)目最外層文件夾名稱,如你將其命名為「ABC」,則之后的全部項(xiàng)目內(nèi)容均將保存在「/ABC/…」目錄下。

本地開發(fā)目錄:項(xiàng)目存放在本地的目錄。

注:再次強(qiáng)調(diào),如果你和團(tuán)隊(duì)成員共同開發(fā)該項(xiàng)目,則建議你們使用同樣的目錄名稱及本地目錄,以確保協(xié)同開發(fā)的統(tǒng)一性。如果你之前已有項(xiàng)目,則導(dǎo)入過程與以上內(nèi)容近似,不再贅述。

4. 準(zhǔn)備工作全部完成后,點(diǎn)擊「新建項(xiàng)目」按鈕,彈出框點(diǎn)「確定」。

5. 如上圖所示,此刻,微信開發(fā)者工具已經(jīng)為你自動構(gòu)建了一個初始的 demo 項(xiàng)目,該項(xiàng)目內(nèi)包含了一個微信應(yīng)用項(xiàng)目所需具備的基本內(nèi)容和框架結(jié)構(gòu)。點(diǎn)擊項(xiàng)目名稱(圖中即「cards」)進(jìn)入該項(xiàng)目,就能看到整個項(xiàng)目的基本架構(gòu)了:

第二章:項(xiàng)目構(gòu)架

微信目前用戶群體非常龐大,微信推出公眾號以后,火爆程度大家都看得到,也同樣推動著 Html 5 的高速發(fā)展,隨著公眾號業(yè)務(wù)的需求越來越復(fù)雜,應(yīng)用號現(xiàn)在的到來也是恰到好處。

我們發(fā)現(xiàn),微信提供給開發(fā)者的方式也在發(fā)生全面的改變:從操作 DOM 轉(zhuǎn)為操作數(shù)據(jù),基于微信提供的一個過橋工具實(shí)現(xiàn)很多 Html 5 在公眾號很難實(shí)現(xiàn)的功能,有點(diǎn)類似于 hybrid 開發(fā),不同于 hybrid 開發(fā)的方式是:微信開放的接口更為嚴(yán)謹(jǐn),結(jié)構(gòu)必須采用他提供給的組件,外部的框架和插件都不能在這里使用上,讓開發(fā)者完全脫離操作 DOM,開發(fā)思想轉(zhuǎn)變很大。

工欲善其事,必先利其器。理解它的核心功能非常重要,先了解它的整個運(yùn)作流程。

生命周期:

在index.js里面:

開發(fā)者工具上 Console 可以看到:

在首頁 console 可以看出順序是 App Launch--App Show--onLoad--onShow--onReady。

首先是整個 app 的啟動與顯示,app 的啟動在 app.js 里面可以配置,其次再進(jìn)入到各個頁面的加載顯示等等。

可以想象到這里可以處理很多東西了,如加載框之類的都可以實(shí)現(xiàn)等等。

路由:

路由在項(xiàng)目開發(fā)中一直是個核心點(diǎn),在這里其實(shí)微信對路由的介紹很少,可見微信在路由方面經(jīng)過很好的封裝,也提供三個跳轉(zhuǎn)方法。

wx.navigateTo(OBJECT):保留當(dāng)前頁面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個頁面,使用wx.navigateBack可以返回到原頁面。

wx.redirectTo(OBJECT):關(guān)閉當(dāng)前頁面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個頁面。

wx.navigateBack():關(guān)閉當(dāng)前頁面,回退前一頁面。

這三個基本上使用足夠,在路由方面微信封裝的很好,開發(fā)者根本不用去配置路由,往往很多框架在路由方面配置很繁瑣。

組件:

此次微信在組件提供方面也是非常全面,基本上滿足項(xiàng)目需求,故而開發(fā)速度非???,開發(fā)前可以認(rèn)真瀏覽幾次,開發(fā)效率會很好。

其它:

任何外部框架以及插件基本上無法使用,就算原生的 js 插件也很難使用,因?yàn)橐郧暗?js 插件也基本上全部是一操作 dom 的形式存在,而微信應(yīng)用號此次的架構(gòu)是不允許操作任何 dom,就連以前開發(fā)者們習(xí)慣使用的動態(tài)設(shè)置的rem.js也是不支持的。

此次微信還提供了 WebSocket,就可以直接利用它做聊天,可以開發(fā)的空間非常大。

跟公眾號對比發(fā)現(xiàn),開發(fā)應(yīng)用號組件化,結(jié)構(gòu)化,多樣化。新大陸總是充滿著驚喜,更多的彩蛋等著大家來發(fā)現(xiàn)。

接下來開始搞一些簡單的代碼了!

1. 找到項(xiàng)目文件夾,導(dǎo)入你的編輯器里面。在這里,我們使用了 Sublime Text 編輯器。你可以根據(jù)自己的開發(fā)習(xí)慣選擇自己喜歡的編輯器。

2. 接下來,你需要根據(jù)自己的項(xiàng)目內(nèi)容調(diào)整項(xiàng)目結(jié)構(gòu)。在范例項(xiàng)目中,「card_course」目錄下面主要包含了「tabBar」頁面以及該應(yīng)用的一些配置文件。

3. 示例項(xiàng)目的「tabBar」是五個菜單按鈕:

4. 找到「app.json」文件,用來配置這個五個菜單。在代碼行中找到「tabBar」:

你可以根據(jù)實(shí)際項(xiàng)目需求更改,其中:

「Color」是底部字體顏色,「selectedColor」是切換到該頁面高亮顏色,「borderStyle」是切換菜單上面的一條線的顏色,「backgroundColor」是底部菜單欄背景顏色。文字描述較為抽象,建議你一一調(diào)試并查看其效果,加深印象。

「list」下的代碼順序必須依次放置,不能隨便更改。

「pagePath」之后的文件名內(nèi),「.wxml」后綴被隱藏起來了,這是微信開發(fā)代碼中人性化的一點(diǎn)——幫你節(jié)約寫代碼的時間,無須頻繁聲明文件后綴。

「iconPath」為未獲得顯示頁面的圖標(biāo)路徑,這兩個路徑可以直接是網(wǎng)絡(luò)圖標(biāo)。

「selectedIconPath」為當(dāng)前顯示頁面高亮圖標(biāo)路徑,可以去掉,去掉之后會默認(rèn)顯示為「iconPath」的圖標(biāo)。

「Text」為頁面標(biāo)題,也可以去掉,去掉之后純顯示圖標(biāo),如只去掉其中一個,該位置會被占用。

注意:微信的底部菜單最多支持五欄(五個 icons),所以在你設(shè)計微信應(yīng)用的 UI 和基本架構(gòu)時就要預(yù)先考慮好菜單欄的排布。

5. 根據(jù)以上代碼規(guī)則,我們做好了示例項(xiàng)目的基本架構(gòu),供你參考:

6. 「Json」文件配置好后,「card_course」的基本結(jié)構(gòu)入上圖所示,不需要的子集都可以暫時刪除,缺少的子集則需要你主動新建。刪除子集時記得順帶檢查一下「app.json」里的相關(guān)內(nèi)容是否已經(jīng)一并刪除。

注意:個人建議你新建一個「wxml」文件的同時,把對應(yīng)的「js」和「wxss」文件一起新建好,因?yàn)槲⑿艖?yīng)用號的配置特點(diǎn)就是解析到一個「wxml」文件時,會同時在同級目錄下找到同文件名的「js」和「wxss」文件,所以「js」文件需及時在「app.json」里預(yù)先配置好。

編寫「wxml」時,根據(jù)微信應(yīng)用號提供的接口編碼即可,大部分就是以前的「div」,而現(xiàn)在就用「view」即可。需要用其它子集時,可以根據(jù)微信提供的接口酌情選擇。

使用「class」名來設(shè)置樣式,「id」名在這里基本沒有什么用處。主要操作數(shù)據(jù),不操作「dom」。

7. 以上是示例項(xiàng)目首頁的「wxml」編碼。從圖中就可以看出,實(shí)現(xiàn)一個頁面代碼量非常少。

8. 「Wxss」文件是引入的樣式文件,你也可以直接在里面寫樣式,示例中采用的是引入方式:

9. 修改代碼后刷新一次,可以看到未設(shè)背景的「view」標(biāo)簽直接變成了粉色。

注意:修改「wxml」和「wxss」下的內(nèi)容后,直接 F5 刷新就能直接看到效果,修改「js」則需點(diǎn)擊重啟按鈕才能看到效果。

10. 另外,公共樣式可以在「app.wxss」里直接引用。

11. 「Js」文件需要在「app.json」文件的「page」里預(yù)先配置好。為了項(xiàng)目結(jié)構(gòu)清晰化,在示例項(xiàng)目中的「index」首頁同級目錄新建其它四個頁面文件,具體如下:

經(jīng)過以上步驟,案例中的五個底部菜單就全部配置完畢了。

如果你要入門的話,首先要掌握 js、html、css 知識。

然后可以通過查看微信公眾平臺中的微信小程序開發(fā)教程來大概了解微信小程序的開發(fā)方式和調(diào)試方式, 官方的介紹還是比較簡單易懂的。

另外可以通過入門級的帖子 來了解具體開發(fā)流程。

以上~~

希望能給你一些幫助,希望采納·

微信小程序代碼怎么寫?

不懂代碼怎么制作微信小程序

首先看一下官方的干貨:mp.weixin.qq/...201714

指南包括小程序產(chǎn)品定位功能介紹,設(shè)計規(guī)范,開發(fā)入門教程,小程序數(shù)據(jù)相關(guān)分析等等一系列新手教程,接近手把手教,只要認(rèn)真看總會有所感悟。

然后可以查看下GitHub上的一些小程序合集,比如:github/...-weapp

看看別人怎么做 總會有收獲的,加油

微信小程序代碼怎么用工具打開看

1、首先要下載微信官方的微信Web開發(fā)者工具。打開微信公眾平臺,找到右下方的小程序模塊,點(diǎn)擊「開發(fā)」按鈕; 2、點(diǎn)擊頂部導(dǎo)航欄的「工具」按鈕,在新頁面的左側(cè)欄中找到「下載」??梢钥吹?,開發(fā)工具提供 Windows 32 位、Windows 64 位和 Mac 三個版本??筛鶕?jù)實(shí)際情況,選擇適合自己電腦的開發(fā)工具。 3、安裝后,就可以直接啟動開發(fā)者工具。如果是首次啟動開發(fā)者工具,需要使用開發(fā)者的微信號掃碼登錄。登陸后,點(diǎn)擊「添加項(xiàng)目」按鈕,填寫 AppID(如果沒有,則點(diǎn)擊無 AppID)和項(xiàng)目名稱。接著,在項(xiàng)目目錄中點(diǎn)擊「選擇」,新建一個文件夾作為新的項(xiàng)目目錄。然后再次點(diǎn)擊「添加項(xiàng)目」,就可以新建出一個微信小程序項(xiàng)目了。 4、微信開發(fā)者工具共分成「編輯」、「調(diào)試」和「項(xiàng)目」三個部分。 編輯:編輯和修改小程序的代碼。 調(diào)試:顯示小程序代碼錯誤和警告,便于調(diào)試代碼錯誤。 項(xiàng)目:用于查看小程序的屬性、修改小程序配置,以及提交小程序代碼至微信服務(wù)器。 開發(fā)工具還提供簡單的模擬器(頁面左側(cè)),開發(fā)者可以使用模擬器在電腦上模擬用戶點(diǎn)擊及使用,提供后臺情況模擬、多媒體播放器調(diào)試、緩存數(shù)據(jù)處理等功能。 5、懂技術(shù)的程序員到這一步就可以自己開發(fā)了。而不懂編程的小白,可以登錄微信小程序制作平臺「即速應(yīng)用」官方網(wǎng)站進(jìn)行小程序的制作。里面有大量的小程序模板,根據(jù)自己的需求選擇一個模板進(jìn)行制作即可。 6、制作完成后,點(diǎn)擊「生成」按鈕。然后選擇「小程序打包」,下載小程序的標(biāo)準(zhǔn)代碼包。 7、回到在微信Web開發(fā)工具中,在「項(xiàng)目目錄」這一欄選擇下載好的代碼包,打開后就可以看到小程序的預(yù)覽效果了。 8、在「項(xiàng)目」頁面中,開發(fā)者可以查看小程序的基本屬性,也可以進(jìn)行真機(jī)預(yù)覽調(diào)試,或向微信服務(wù)器提交一個新版本的小程序代碼。服務(wù)器收到代碼后,管理員就可以通過公眾平臺,將新版本提交審核了。 以上就是微信小程序開發(fā)工具的具體使用方法。磨刀不誤砍材工,只有認(rèn)真了解過微信小程序開發(fā)工具如何使用,才能才微信小程序推出的關(guān)鍵時期抓住機(jī)會,盡快進(jìn)入市場,拿下小程序的第一波紅利。

微信小程序是什么?微信小程序有什么用

微信小程序是一種不需要下載安裝即可使用的應(yīng)用。特點(diǎn):

它實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢想,用戶掃一掃或者搜一下即可打開應(yīng)用。

也體現(xiàn)了“用完即走”的理念,用戶不用關(guān)心是否安裝太多應(yīng)用的問題。

應(yīng)用將無處不在,隨時可用,但又無需安裝卸載。

然而微信應(yīng)用號要能獲取足夠多的用戶,還得要開發(fā)者的支持。毫無疑問,開發(fā)者將是微信應(yīng)用號的最大獲益群體。對于開發(fā)者而言,應(yīng)用號可以節(jié)省開發(fā)成本,并且可以提升研發(fā)效率,開發(fā)人員只需要研發(fā)出一款適用于瀏覽器應(yīng)用的產(chǎn)品,就可滿足不同操作系統(tǒng)的使用需求。

第一個微信小程序代碼在哪個文件寫

需要在微信公眾平臺下載微信小程序開發(fā)者工具、在微信小程序開發(fā)者工具里面寫

微信小程序是什么,怎么用?

什么的微信小程序?

小程序是一種無需安裝,即可使用的手機(jī)「應(yīng)用」。只需要掃描二維碼,或是搜一搜,就能立即使用,可以解決手機(jī)內(nèi)存不夠的問題。

不同的小程序,能幫你實(shí)現(xiàn)不同的功能。

例如,買電影票、餐廳排號、餐館點(diǎn)菜、查詢公交、查詢股票信息、查詢天氣、收聽電臺、預(yù)定酒店、共享單車、打車、查匯率、查單詞、買機(jī)票、網(wǎng)購……

當(dāng)然,作為微信的新產(chǎn)品,小程序只能在微信里使用。

如何添加微信小程序?

前提是升級微信至最新版本(6.5.3),需要說明的是:部分安卓手機(jī)上的軟件商店更新不及時,所以建議直接通過微信“我”-“設(shè)置”-“關(guān)于微信”-“檢查新版本” 來更新。

一、線下掃碼,二維碼是小程序最基礎(chǔ)的獲取方式,打開微信掃一掃,通過微信掃描線下二維碼的方式進(jìn)入小程序。

二、蘋果手機(jī)請在微信主界面上下拉,露出搜索框;安卓手機(jī)點(diǎn)擊最上方的放大鏡圖標(biāo)進(jìn)入搜索,這里輸入一個小程序的完整名字,比如 “去哪兒出行”,在搜索結(jié)果中點(diǎn)擊,“ 搜一搜 去哪兒出行 朋友圈,公眾號,文章等 ”點(diǎn)進(jìn)去到去哪兒出行,退回到發(fā)現(xiàn)的界面就能看到小程序了。

三、公眾號關(guān)聯(lián),同一主體的小程序和公眾號可以進(jìn)行關(guān)聯(lián),并相互跳轉(zhuǎn),該功能需要經(jīng)開發(fā)者自主設(shè)置后使用。通過公眾號查看并進(jìn)入所綁定的小程序一個公眾號可以綁五個小程序,但一個小程序只能被一個公眾號綁定。

四、好友推薦,當(dāng)你發(fā)現(xiàn)一個好玩的或者實(shí)用的小程序,可以將這個,轉(zhuǎn)發(fā)給好友或群聊。但是注意,小程序無法在朋友圈中發(fā)布分享。

五、歷史記錄,當(dāng)你使用過某個小程序后,在微信客戶端的“發(fā)現(xiàn)-小程序”里的列表,就可以看到這個小程序,想要再次使用它時,通過列表中的歷史記錄就可以進(jìn)入。在“發(fā)現(xiàn)-小程序”中,也可以通過搜索進(jìn)入小程序。

小程序怎么用?一、小程序切換

小程序和小程序,小程序和聊天記錄界面可以迅速切換。

二、消息通知

你可以收到小程序的模板消息和客服消息。

三、附近的店

這是一個最新的玩法。將來,你可以在“發(fā)現(xiàn)小程序”里面的“附近的店”找到附近的小程序。

四、 Android 的特權(quán)

如果你是Android 用戶,還可以享受一個特權(quán):把小程序添加到桌面。

在小程序右上角點(diǎn)擊三個點(diǎn),即可看到「添加到桌面」的選項(xiàng),點(diǎn)擊即可直接將小程序添加到桌面。

小程序如何分享?小程序跟公眾號不一樣,它不能分享到朋友圈,只能分享給好友,或者是微信群。

微信里的小程序是什么意思,怎么用?

您好!很高興能為您解答,

所謂的小程序就是無需下載某款應(yīng)用程序,直接通過微信就可以打開并且使用它,這個功能對于那些手機(jī)內(nèi)存不大的朋友來說算是福音了,那么如何找到它的入口呢?很簡單,首先我們打開微信,然后在"通訊錄"里直接搜索"小程序示例",如圖;

找到以后直接點(diǎn)擊進(jìn)入,我們可以看到它的組件和接口等后臺,不過這些對我們來說沒有什么用處,我們點(diǎn)擊該頁面右上角的省略號圖標(biāo),然后選擇"顯示在聊天頂部",這樣便于我們查找,見下圖;

此時我們返回到聊天界面,在最頂端會有它的顯示,如圖;這樣我們就可以開始使用它了,不過微信里不會顯示它收錄的小程序列表,我們需要手動搜索;

比如我們在搜索框輸入"今日頭條",搜索結(jié)果里含有"lite"字樣的就說明小程序里包含這款應(yīng)用,那么無需下載它就可以使用了...

接著以上,我們點(diǎn)擊進(jìn)入小程序以后,就打開了這款軟件的主界面,如圖;同用在該程序的右上角點(diǎn)擊省略號圖標(biāo)可以將其置頂,不過功能還是不能完全和下載以后的完全一樣,比如發(fā)帖/跟帖等暫時還是無法實(shí)現(xiàn)的;

微信應(yīng)用號是什么,微信小程序是什么

techweb/....shtml

僅供參考

微信小程序是什么

微信小程序其實(shí)是微信公眾平臺應(yīng)用號的前身,據(jù)說跟蘋果達(dá)成協(xié)議,蘋果要壟斷(應(yīng)用)APP這個詞,所以和諧相處,小而美的,叫小程序。

小程序是一種不需要下載安裝即可使用的應(yīng)用,它實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢想,用戶掃一掃或者搜一下即可打開應(yīng)用。也體現(xiàn)了“用完即走”的理念,用戶不用關(guān)心是否安裝太多應(yīng)用的問題。應(yīng)用將無處不在,隨時可用,但又無需安裝卸載。

——Allen Zhang

關(guān)鍵點(diǎn):

跨平臺,開發(fā)簡單,對比于安卓系統(tǒng)應(yīng)用的不安全性,更好的保障了用戶的數(shù)據(jù)。

預(yù)加載資源保障極速的用戶體驗(yàn)。

隨時能夠更新資源與交互模式,通過微信通用JS API調(diào)用原生接口,保障體驗(yàn)的同時,提供了靈活應(yīng)變的手段(春晚方案,沒到最后一刻,都有可能會有變動,贊助商的投放名單與廣告語,也有可能變動,紅包方案需要保持靈活應(yīng)變的手段)。

微信小程序來了,要不要學(xué)習(xí)小程序代碼啊?

1.小程序上線后,創(chuàng)業(yè)門檻確實(shí)可以降低了,更多的非程序員可以加入到產(chǎn)品開發(fā)的過程中。就像著名的未來學(xué)家,趨勢學(xué)家丹尼爾平克說的那樣,人類已經(jīng)進(jìn)入右腦時代了,在這個時代中,知識和技術(shù)不再是力量,未來屬于那些擁有與眾不同的思維能力的人,專家不再值錢,未來屬于那些跨領(lǐng)域的人才。

2. 但是如果你對代碼頭疼,那么無論是產(chǎn)品還是運(yùn)營等非程序員還是比較吃力的。那么推薦一下即速應(yīng)用這款無代碼基礎(chǔ)、可視化拖拽的小程序開工具(IDE)可以幫助哪些非程序員開發(fā)小程序。而且即速應(yīng)用制作完小程序是可以直接生成小程序標(biāo)準(zhǔn)代碼。你可以直接拿生成的代碼到微信開發(fā)者平臺上提交上傳等待審核即可。

微信小程序是什么 微信小程序有什么用

微信小程序是一種不需要下載安裝即可使用的應(yīng)用。當(dāng)用戶關(guān)注了一個“應(yīng)用號”之后,就相當(dāng)于安裝了一款app。在“應(yīng)用號”內(nèi),用戶就可以實(shí)現(xiàn)對app 的一些基本訴求。

實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢想,用戶掃一掃或者搜一下即可打開應(yīng)用。

體現(xiàn)了“用完即走”的理念,用戶不用關(guān)心是否安裝太多應(yīng)用的問題。

應(yīng)用將無處不在,隨時可用,但又無需安裝卸載。

目前,小程序仍然處于內(nèi)測階段。全面開放申請后,主體類型為個人、企業(yè)、 *** 、媒體或其他組織的開發(fā)者,均可申請注冊小程序。沈陽西里奧布科技有限公司

求一個最簡單的微信小程序源代碼

要帶后臺不,帶后臺的一般不會簡單,這種額也有,價格會高些,不帶后臺的話便宜多了,一般作業(yè)應(yīng)該是不帶后臺的吧,當(dāng)然也可以直接找額說要求

用C語言寫一個小程序(一個小功能就可以了),要求:100行代碼左右,不要太多,要有注釋,謝謝~

回#includestdio.h //標(biāo)準(zhǔn)輸入、輸出頭文件

#includestring.h //包含字符串函數(shù)處理頭文件

#includestdlib.h //包含動態(tài)存儲與釋放函數(shù)頭文件

#define N 10000

struct air //定義結(jié)構(gòu)體數(shù)組

{

int num;

char start[20];

char over[20];

char time[10];

int count;

}s[N];

int i;

int m=0;

#define PRINT "%-d%12s%12s%10s%12d\n",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count //定義輸出格式

void input(); //輸入航班信息

void print(); //輸出航班信息

void save(); //保存航班信息

void read(); //讀取航班信息

void search(); //查找航班信息

void shanchu(); //刪除航班信息

void dingpiao(); //訂票信息

void tuipiao(); //退票信息

void xiugai(); //修改信息

void main()

{

int j;

printf("================================================================================\n");

do

{

printf(" 1.輸入航班信息 \n\n"

" 2.瀏覽航班信息 \n\n"

" 3.修改航班信息 \n\n"

" 4.查找航班信息 \n\n"

" 5.刪除航班信息 \n\n"

" 6.訂票信息 \n\n"

" 7.退票信息 \n\n"

" 0.退出 \n\n");

printf("================================================================================\n");

printf("請在0-7中選擇以回車鍵結(jié)束:\n\n");

scanf("%d",j);

switch(j)

{

case 1: input();//調(diào)用輸入模塊

break;

case 2:print();//調(diào)用打印模塊

break;

case 3:xiugai();//調(diào)用修改模塊

break;

case 4:search();//調(diào)用查找模塊

break;

case 5:shanchu(); //調(diào)用刪除模塊

break;

case 6:dingpiao();//調(diào)用訂票模塊

break;

case 7:tuipiao();//調(diào)用退票模塊

break;

case 0:;

break;

}

}while(j!=0); //判斷結(jié)束

printf("謝謝使用,再見!\n");

}//主函數(shù)結(jié)束

void input()//打印模塊程序

{

int y;

printf("請依次輸入航班信息(機(jī)票數(shù)位0結(jié)束輸入):\n\n"

"完成輸入信息請鍵入w以回車鍵結(jié)束\n\n"); //打印提示信息

printf("--------------------------------------------------------------------------\n");

for(i=0;iN;i++)

{

printf("請輸入航班號:\n");

scanf("%d",s[i].num); //讀取航班號

printf("請輸入起始站:\n");

scanf("%s",s[i].start);//讀取起始站

printf("請輸入終點(diǎn)站:\n");

scanf("%s",s[i].over);//讀取終點(diǎn)站

printf("請輸入時間:\n");

scanf("%s",s[i].time);//讀取時間

printf("請輸入機(jī)票數(shù)(機(jī)票數(shù)為0結(jié)束輸入):\n",m);

scanf("%d",s[i].count);//讀取機(jī)票數(shù)

m++;

printf("第%d個信息已經(jīng)輸完是否繼續(xù)?按任意鍵繼續(xù),按 0結(jié)束",m);

scanf("%d",y);

if(y==0)

{

save();//將結(jié)構(gòu)體信息存盤

print();//輸出輸入的航班信息

break;

}

}

}

void save()//保存模塊程序

{

FILE *fp,*fp1;//定義文件指針

if((fp=fopen("chen.dat","wb"))==NULL)//打開文件并判斷是否出錯

{

printf("創(chuàng)建文件失敗!\n\n");//打印出錯提示

getchar();

return;

}

if((fp1=fopen("hao.dat","wb"))==NULL)//打開文件并判斷是否出錯

{

printf("創(chuàng)建文件失敗!\n\n");//打印出錯提示

getchar();

return;

}

for(i=0;im;i++)

if(fwrite(s[i],sizeof(struct air),1,fp)==0)//向文件寫入數(shù)據(jù),并判斷是否出錯

printf("向文件輸入數(shù)據(jù)失敗!\n\n");

fprintf(fp1,"%d",m);

fclose(fp);//關(guān)閉文件

fclose(fp1);//關(guān)閉文件

}

void read()//從文件讀取信息模塊

{

FILE *fp,*fp1;//定義文件指針

if((fp=fopen("chen.dat","rb"))==NULL)//打開文件,并判斷是否出錯

{

printf("出錯,請檢查文件是否存在,按任意鍵返回住菜單");//打印出錯提示

getchar();

}

if((fp1=fopen("hao.dat","rb"))==NULL)//打開文件并判斷是否出錯

{

printf("創(chuàng)建文件失敗!\n\n");//打印出錯提示

getchar();

return;

}

fscanf(fp1,"%d",m);

fclose(fp1);//關(guān)閉文件

for(i=0;im;i++)

{

fread(s[i],sizeof(struct air),1,fp);//從文件中讀取信息

}

fclose(fp);//關(guān)閉文件

}

void print()//打印模塊

{

char w[10];

read();//調(diào)用讀取文件函數(shù)

printf("航班號 起始站 終點(diǎn)站 時間 機(jī)票數(shù)\n");

for(i=0;im;i++)

{

printf(PRINT);//打印信息

}

printf("請按任意鍵回車鍵結(jié)束返回上層菜單以:\n");

scanf("%s",w);

}

void search()//查詢模塊

{

char name1[20];

char name2[20];

char ii[10];

int n,no;

do

{

printf("請選擇查找方式:\n\n");//打印查詢方式菜單

printf("1.按航班號查找\n\n"

"2.按終點(diǎn)站查找\n\n"

"3.按航線查找\n\n"

"0.返回\n\n");

printf("請在0-3中選擇:\n\n"

"按其他鍵以回車鍵結(jié)束返回主菜單:\n\n");

scanf("%d",n);//讀取查找方式

if(n==0)

break;

switch(n)

{

case 1:

printf("請輸入航班號:\n");

scanf("%d",no);//航班號

break;

case 2:

printf("請輸入終點(diǎn)站名稱:\n");

scanf("%s",name2);//讀取終點(diǎn)站

break;

case 3:

printf("請輸入起始站名稱:\n");

scanf("%s",name1);//讀取起始站

printf("請輸入終點(diǎn)站名稱:\n");

scanf("%s",name2);//終點(diǎn)站

break;

}

read();//調(diào)用讀取函數(shù)

for(i=0;im;i++)

{

if(strcmp(s[i].over,name1)==0||strcmp(s[i].over,name2)==0)//按終點(diǎn)站起始站判斷輸出條件

{

printf("\n查找航班信息成功!\n");

printf("航班號 起始站 終點(diǎn)站 時間 機(jī)票數(shù)\n");

printf(PRINT);//打印信息

break;

}

if(s[i].num==no)//按航班號判斷輸出條件

{

printf("\n查找航班信息成功!\n");

printf("航班號 起始站 終點(diǎn)站 時間 機(jī)票數(shù)\n");

printf(PRINT);//打印信息

break;

}

}

no=0;//將航班號賦值為0

printf("沒有您需要的信息或查找完畢:\n\n"

"是否繼續(xù)查找?請鍵入yes或no以回車鍵結(jié)束\n");

scanf("%s",ii);

}while(strcmp(ii,"yes")==0);//判斷結(jié)束

}

void shanchu()//刪除模塊

{

char name1[20];

char name2[20];

char ii[10];

char f[]="2008china";//設(shè)置密碼

int no,n;

printf("請輸入密碼并以回車鍵結(jié)束:\n\n");

scanf("%s",f);//讀取密碼

if(strcmp(f,"2008china")==0) //判斷密碼是否正確

{

do

{

printf("請選擇刪除以方式回車鍵結(jié)束:\n\n");//打印刪除方式菜單

printf("*1.按航班號刪除\n\n"

"*2.按航線刪除\n\n"

"*0.返回\n\n");

printf("請在0-2中選擇以回車鍵結(jié)束:\n");

scanf("%d",n);//讀取刪除方式

if(n==0)

break; //跳出循環(huán)

switch(n)

{

case 1:

printf("請輸入航班號:\n");

scanf("%d",no);//讀取航班號

read();//調(diào)用讀取函數(shù)

break;//跳出循環(huán)

case 2:

printf("請輸入起始站 名稱:\n");

scanf("%s",name1);//讀取起始站

printf("請輸入終點(diǎn)站名稱:\n");

scanf("%s",name2);//讀取終點(diǎn)站

read();//調(diào)用讀取函數(shù)

break;//跳出循環(huán)

}

for(i=0;im;i++)

{

if(s[i].num==no||strcmp(s[i].start,name1)==0strcmp(s[i].over,name2)==0)//判斷輸入信息是否存在

{

s[i]=s[m-1];

m--;

}

}

printf("查找完畢或沒有這個信息\n\n");

printf("是否繼續(xù)刪除\n");

printf("請鍵入yes或no以回車鍵結(jié)束\n");

scanf("%s",ii); //讀取是否繼續(xù)信息

save(); //調(diào)用讀取函數(shù)

if(!strcmp(ii,"yes")) //判斷是否繼續(xù)刪除

printf("請按任意鍵以回車鍵結(jié)束返回上層菜單:\n");

break;

}while(n!=1n!=2n!=3n!=4n!=0); //判斷結(jié)束

}

else

printf("對不起密碼錯誤!您不是管理員,不能使用此項(xiàng)功能!謝謝!再見!\n\n");

}

void dingpiao()//訂票模塊

{

int n;

char a[10];

do

{

search();//調(diào)用查詢模塊

printf("請輸入您要訂的機(jī)票數(shù)以回車鍵結(jié)束:\n");

scanf("%d",n);//讀取所訂機(jī)票數(shù)

if(n0)

{

printf("請輸入有效的機(jī)票數(shù)!\n");//判斷機(jī)票數(shù)是否出錯

break;

}

if(s[i].count!=0s[i].count=n)//判斷是否出錯

{

s[i].count=s[i].count-n;

save();//調(diào)用保存函數(shù)

printf("訂票成功!\n\n");

break;

}

if(s[i].countn)//判斷是否出錯

{

printf("請輸入有效的機(jī)票數(shù):\n");

break;

}

printf("是否繼續(xù)? 請輸入yes或no以回車鍵結(jié)束:\n");//判斷是否繼續(xù)訂票

scanf("%s",a);

}while(!strcmp(a,"yes"));//判斷結(jié)束

}

void tuipiao()//退票模塊

{

int n;

char a[10];

do

{

search();//調(diào)用查詢模塊

printf("請輸入您要退的機(jī)票數(shù)目:\n");

scanf("%d",n);//輸入所退票數(shù)

if(n0) //判斷票數(shù)是否有效

printf("請輸入有效的機(jī)票數(shù)!\n");

s[i].count=s[i].count+n;

save(); //調(diào)用保存模塊

printf("退票成功!\n\n");

printf("是否繼續(xù)? 請鍵入yes或no以回車鍵結(jié)束:\n\n");//判斷是否繼續(xù)退票

scanf("%s",a);

}while(!strcmp(a,"yes"));//判斷并跳出循環(huán)

getchar();

}

void xiugai() //修改模塊

{

struct xiu //定義結(jié)構(gòu)體

{

int no;

char name1[20];

char name2[20];

char time[20];

int count;

}x[1];

char j[10];

int n;

printf("請輸入密碼并以回車鍵結(jié)束:\n\n");

read();//調(diào)用讀取模塊

do

{

printf( "請選擇修改方式:\n\n"

"*1,按航班號修改:\n\n"

"*2,按航線修改: \n\n");

printf("請在1---2中修改以回車鍵結(jié)束:\n\n");

scanf("%d",n);//讀取修改方式

switch(n)

{

case 1:printf("請輸入航班號:\n");

scanf("%d",x[0].no);//讀取航班號

break;

case 2:printf("請輸入起始站:\n");

scanf("%s",x[0].name1);//讀取起始站

printf("請輸入終點(diǎn)站:\n");

scanf("%s",x[0].name2);//讀取終點(diǎn)站

break;

}

for(i=0;im;i++)

{

if(strcmp(s[i].over,x[0].name1)==0strcmp(s[i].over,x[0].name2)==0)//判斷輸出條件

{

printf("航班號 起始站 終點(diǎn)站 時間 機(jī)票數(shù)\n");

printf(PRINT);

break;

}

if(s[i].num==x[0].no)//判斷輸出條件

{

printf("航班號 起始站 終點(diǎn)站 時間 機(jī)票數(shù)\n");

printf(PRINT);

break;

}

}

x[0].no=0; //將結(jié)構(gòu)體中的號為零

printf("請輸入新航班號、起始站、終點(diǎn)站、時間(星期幾)、機(jī)票數(shù):\n");

scanf("%d%s%s%s%d",x[0].no,x[0].name1,x[0].name2,x[0].time,x[0].count);//定義輸入格式

s[i].num=x[0].no;//替換航班號

strcpy(s[i].start,x[0].name1);//替換其始站

strcpy(s[i].over,x[0].name2);//替換終點(diǎn)站

strcpy(s[i].time,x[0].time);//替換時間

s[i].count=x[0].count;//替換機(jī)票數(shù)

save();//調(diào)用保存模塊

printf("是否繼續(xù)?請鍵入yes或no以回車鍵結(jié)束:\n\n");

scanf("%s",j);

}while(strcmp(j,"yes")==0); //判斷結(jié)束

}

答即可得2分,回答被采納則獲得懸賞分以及獎勵20分

Python程序開發(fā)之簡單小程序?qū)嵗?)-打印99乘法口訣表

Python程序開發(fā)之簡單小程序?qū)嵗?

(3)-打印99乘法口訣表

一、項(xiàng)目功能

在屏幕中打印格式化的九九乘法口訣表。

二、項(xiàng)目分析

按九九乘法口訣的運(yùn)算順序,打印的口訣表共有9行9列,第1行只有1列,第2行有2列……,第9行共有9列,如下所示:

1 1

1 2 2 2

1 3 2 3 3 3

……

……

1 9 2 9 3 9 4 9 5 9 6 9 7 9 8 9 9 9

要按格式控制輸出,需定義2個循環(huán),其中一個循環(huán)(我們稱其為外循環(huán),在其內(nèi)定義變量i)嵌套另一個循環(huán)(我們稱其為內(nèi)循環(huán),在其內(nèi)定義變量j),外循環(huán)(變量i)控制行,循環(huán)次數(shù)大于等于1且小于10,內(nèi)循環(huán)(變量j)控制列,循環(huán)次數(shù)取決于外循環(huán)變量i的值。

三、程序源代碼

#!/usr/bin/python3.6

# -*- coding: GBK -*-

print("九九乘法口訣表")

for i in range(1, 10):

print()

for j in range(1, i+1):

print ("%d*%d=%d" % (j, i, i*j), end=" " )

四、代碼解釋:

在程序的第一行為引用python版本,本實(shí)例為python3.6

第二行是程序編碼引用,因?yàn)樵诔绦蛑邪兄形淖址?,所以必須引用GBK,否則就會報錯。

第三行為輸出標(biāo)題“九九乘法口訣表”

第四行至第七行為程序主體,由兩個循環(huán)嵌套組成,在循環(huán)內(nèi)的第五行,為一個控制行格式輸出語句print(),用于換行操作。

五、運(yùn)行后的輸出結(jié)果

下一篇:《Python程序開發(fā)之簡單小程序?qū)嵗?4)》

求C#的小程序代碼

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Collections;

namespace RIF

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

public class Arr

{

public int[,] arr = new int[25, 25];

public bool win;

}

Arr a = new Arr();

bool cc = true;

public void PaintLab()

{

Bitmap image = new Bitmap(300,300);

Graphics g = Graphics.FromImage(image);

g.Clear(Color.Tan);

Pen pen = new Pen(Color.Black, 1);

int i, j;

i = j = 0;

while (i = 300)

{

g.DrawLine(pen, i, 0, i, 300);

i = i + 20;

}

while (j = 300)

{

g.DrawLine(pen, 0, j, 300, j);

j = j + 20;

}

img.Image = image;

}

private void Form1_Load(object sender, EventArgs e)

{

PaintLab();

}

private void img_MouseClick(object sender, MouseEventArgs e)

{

if (e.Button == MouseButtons.Left)

{

int x = e.X;

int y = e.Y;

Graphics g = Graphics.FromImage(img.Image);

Brush pen;

int myx = x / 20;

int myy = y / 20;

if (a.arr[myx, myy] != 0)

{

MessageBox.Show("這里已經(jīng)有棋子了!");

return;

}

else

{

if (cc)

{

pen = new SolidBrush(Color.White);

cc = false;

a.arr[myx, myy] = 1;

}

else

{

pen = new SolidBrush(Color.Black);

cc = true;

a.arr[myx, myy] = 2;

}

g.FillEllipse(pen, myx * 20 + 2, myy * 20 + 2, 16, 16);

img.Invalidate();

int z = IsWin(myx, myy, cc);

if (z != 0)

{

if (z == 1)

{

MessageBox.Show("白色獲勝!");

}

else

{

MessageBox.Show("黑色獲勝!");

}

img.Enabled = false;

}

}

}

else

{

MessageBox.Show("本程序由Cantahu開發(fā)","作者信息",MessageBoxButtons.OK,MessageBoxIcon.Information);

}

}

private int IsWin(int x, int y,bool cc)

{

int m, n, count, p, q;

int val = 0;

bool win=false;

if (cc)

{

val = 2;

}

else

{

val = 1;

}

#region 橫向判斷

count = 1;

int f = 0;

m = x-1;

n = x+1;

while (1==1)

{

if (count == 5)

{

win = true;

break;

}

else if (f == 5)

{

win = false;

break;

}

if (m = 0 n = 300)

{

if (a.arr[m, y] == val)

{

count = count + 1;

m = m - 1;

}

if (a.arr[n, y] == val)

{

count = count + 1;

n = n + 1;

}

}

f = f + 1;

}

if (win)

{

return val;

}

#endregion

#region 縱向判斷

m = y - 1;

n = y + 1;

f = 0;

count = 1;

while (1 == 1)

{

if (count == 5)

{

win = true;

break;

}

if (f == 5)

{

win = false;

break;

}

if (m = 0 n = 300)

{

if(a.arr[x,m]==val)

{

count = count + 1;

m = m - 1;

}

if(a.arr[x,n]==val)

{

count = count + 1;

n = n + 1;

}

}

f = f + 1;

}

if (win)

{

return val;

}

#endregion

#region 左斜向判斷

count = 1;

f = 0;

m = x - 1;

n = y - 1;

p = x + 1;

q = y + 1;

while (1 == 1)

{

if (count == 5)

{

win = true;

break;

}

if (f == 5)

{

win = false;

break;

}

if (m = 0 n = 0 p = 300 q = 300)

{

if (a.arr[m, n] == val)

{

count = count + 1;

m = m - 1;

n = n - 1;

}

if (a.arr[p, q] == val)

{

count = count + 1;

p = p + 1;

q = q + 1;

}

}

f = f + 1;

}

if (win)

{

return val;

}

#endregion

#region 右斜向

count = 1;

f = 0;

m = x - 1;

n = y + 1;

p = x + 1;

q = y - 1;

while (1 == 1)

{

if (count == 5)

{

win = true;

break;

}

if (f == 5)

{

win = false;

break;

}

if (m = 0 n = 300 p = 300 q = 0)

{

if (a.arr[m, n] == val)

{

count = count + 1;

m = m - 1;

n = n + 1;

}

if (a.arr[p, q] == val)

{

count = count + 1;

p = p + 1;

q = q - 1;

}

}

f = f + 1;

}

if (win)

{

return val;

}

#endregion

return 0;

}

private void Btnstart_Click(object sender, EventArgs e)

{

img.Enabled = true;

PaintLab();

}

private void btnClose_Click(object sender, EventArgs e)

{

this.Close();

}

}

}

這是我自己寫的 五子棋代碼 希望對你有幫助

關(guān)于小程序開發(fā)代碼案例和微信小程序開發(fā)案例代碼的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

掃碼二維碼