小程序游戲源碼下載
1. 有一些java程序的源代碼嗎 簡單的 適合初學者的 可以發給我嗎
經典java小程序源代碼合集\164個JAVA完美程序\applet\chirp.au
........................\.................\......\Clock.html
........................\.................\......\Clock.java
........................\.................\......\ColorScribble.html
........................\.................\......\ColorScribble.java
........................\.................\......\EventTester.html
........................\.................\......\EventTester.java
........................\.................\......\FirstApplet.html
........................\.................\......\FirstApplet.java
........................\.................\......\java_parts.gif
........................\.................\......\Scribble.html
........................\.................\......\Scribble.java
........................\.................\......\Soundmap.html
........................\.................\......\Soundmap.java
........................\.................\basics\Echo.java
........................\.................\......\FactComputer.java
........................\.................\......\Factorial.java
........................\.................\......\Factorial2.java
........................\.................\......\Factorial3.java
........................\.................\......\Factorial4.java
........................\.................\......\FactQuoter.java
........................\.................\......\Fibonacci.java
........................\.................\......\FizzBuzz.java
........................\.................\......\FizzBuzz2.java
........................\.................\......\Hello.java
........................\.................\......\Reverse.java
........................\.................\......\Rot13Input.java
........................\.................\......\Sieve.java
........................\.................\......\SortNumbers.java
........................\.................\.eans\Alignment.java
........................\.................\.....\AlignmentEditor.java
........................\.................\.....\AnswerEvent.java
........................\.................\.....\AnswerListener.java
........................\.................\.....\makejar.sh
........................\.................\.....\manifest.stub
........................\.................\.....\MultiLineLabel.java
........................\.................\.....\YesNoPanel.java
........................\.................\.....\YesNoPanelBeanInfo.java
........................\.................\.....\YesNoPanelCustomizer.java
........................\.................\.....\YesNoPanelIcon.gif
........................\.................\.....\YesNoPanelMessageEditor.java
........................\.................\classes\Averager.java
........................\.................\.......\ColoredRect.java
........................\.................\.......\ComplexNumber.java
........................\.................\.......\DrawableRect.java
........................\.................\.......\LinkedList.java
........................\.................\.......\Randomizer.java
........................\.................\.......\Rect.java
........................\.................\.......\RectTest.java
........................\.................\.......\Sorter.java
........................\.................\datatransfer\Scribble.java
........................\.................\............\ScribbleCutAndPaste.java
........................\.................\............\ScribbleDragAndDrop.java
........................\.................\............\SimpleCutAndPaste.java
........................\.................\graphics\AntiAlias.java
........................\.................\........\background.gif
........................\.................\........\BouncingCircle.html
........................\.................\........\BouncingCircle.java
........................\.................\........\ColorGradient.html
........................\.................\........\ColorGradient.java
........................\.................\........\CompositeEffects.java
........................\.................\........\cover.gif
........................\.................\........\CustomStrokes.java
........................\.................\........\FontList.html
........................\.................\........\FontList.java
........................\.................\........\GenericPaint.java
........................\.................\........\GraphicsExample.java
........................\.................\........\GraphicsExampleFrame.java
........................\.................\........\GraphicsSampler.html
........................\.................\........\GraphicsSampler.java
........................\.................\........\Hypnosis.java
........................\.................\........\ImageOps.java
........................\.................\........\LineStyles.java
........................\.................\........\Paints.java
........................\.................\........\RandomPaint.java
........................\.................\........\Shapes.java
........................\.................\........\Spiral.java
........................\.................\........\Stroking.java
........................\.................\........\tiger.gif
........................\.................\........\Transforms.java
........................\.................\.ui\ActionParser.java
........................\.................\...\AppletMenuBar.java
........................\.................\...\AppletMenuBarDemo.html
........................\.................\...\AppletMenuBarDemo.java
........................\.................\...\BorderLayoutPane.java
........................\.................\...\BoxLayoutPane.java
........................\.................\...\ColumnLayout.java
........................\.................\...\ColumnLayoutPane.java
........................\.................\...\CommandAction.java
........................\.................\...\CommandParser.java
........................\.................\...\ComponentTree.java
........................\.................\...\Containers.java
........................\.................\...\EventTestPane.java
........................\.................\...\FlowLayoutPane.java
........................\.................\...\FontChooser.java
........................\.................\...\GridBagLayoutPane.java
........................\.................\...\GridLayoutPane.java
........................\.................\...\GUIResourceBundle.java
........................\.................\...\ItemChooser.java
........................\.................\...\MalformedResourceException.java
2. 求一段JAVA編寫的貪吃蛇小程序源代碼
用MVC方式實現的貪吃蛇游戲,共有4個類。運行GreedSnake運行即可。主要是觀察者模式的使用,我已經添加了很多注釋了。
1、
/*
* 程序名稱:貪食蛇
* 原作者:BigF
* 修改者:algo
* 說明:我以前也用C寫過這個程序,現在看到BigF用Java寫的這個,發現雖然作者自稱是Java的初學者,
* 但是明顯編寫程序的素養不錯,程序結構寫得很清晰,有些細微得地方也寫得很簡潔,一時興起之
* 下,我認真解讀了這個程序,發現數據和表現分開得很好,而我近日正在學習MVC設計模式,
* 因此嘗試把程序得結構改了一下,用MVC模式來實現,對源程序得改動不多。
* 我同時也為程序增加了一些自己理解得注釋,希望對大家閱讀有幫助。
*/
package mvcTest;
/**
* @author WangYu
* @version 1.0
* Description:
* </pre>
* Create on :Date :2005-6-13 Time:15:57:16
* LastModified:
* History:
*/
public class GreedSnake {
public static void main(String[] args) {
SnakeModel model = new SnakeModel(20,30);
SnakeControl control = new SnakeControl(model);
SnakeView view = new SnakeView(model,control);
//添加一個觀察者,讓view成為model的觀察者
model.addObserver(view);
(new Thread(model)).start();
}
}
-------------------------------------------------------------
2、
package mvcTest;
//SnakeControl.java
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
/**
* MVC中的Controler,負責接收用戶的操作,並把用戶操作通知Model
*/
public class SnakeControl implements KeyListener{
SnakeModel model;
public SnakeControl(SnakeModel model){
this.model = model;
}
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
if (model.running){ // 運行狀態下,處理的按鍵
switch (keyCode) {
case KeyEvent.VK_UP:
model.changeDirection(SnakeModel.UP);
break;
case KeyEvent.VK_DOWN:
model.changeDirection(SnakeModel.DOWN);
break;
case KeyEvent.VK_LEFT:
model.changeDirection(SnakeModel.LEFT);
break;
case KeyEvent.VK_RIGHT:
model.changeDirection(SnakeModel.RIGHT);
break;
case KeyEvent.VK_ADD:
case KeyEvent.VK_PAGE_UP:
model.speedUp();
break;
case KeyEvent.VK_SUBTRACT:
case KeyEvent.VK_PAGE_DOWN:
model.speedDown();
break;
case KeyEvent.VK_SPACE:
case KeyEvent.VK_P:
model.changePauseState();
break;
default:
}
}
// 任何情況下處理的按鍵,按鍵導致重新啟動游戲
if (keyCode == KeyEvent.VK_R ||
keyCode == KeyEvent.VK_S ||
keyCode == KeyEvent.VK_ENTER) {
model.reset();
}
}
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent e) {
}
}
-------------------------------------------------------------
3、
/*
*
*/
package mvcTest;
/**
* 游戲的Model類,負責所有游戲相關數據及運行
* @author WangYu
* @version 1.0
* Description:
* </pre>
* Create on :Date :2005-6-13 Time:15:58:33
* LastModified:
* History:
*/
//SnakeModel.java
import javax.swing.*;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.Observable;
import java.util.Random;
/**
* 游戲的Model類,負責所有游戲相關數據及運行
*/
class SnakeModel extends Observable implements Runnable {
boolean[][] matrix; // 指示位置上有沒蛇體或食物
LinkedList nodeArray = new LinkedList(); // 蛇體
Node food;
int maxX;
int maxY;
int direction = 2; // 蛇運行的方向
boolean running = false; // 運行狀態
int timeInterval = 200; // 時間間隔,毫秒
double speedChangeRate = 0.75; // 每次得速度變化率
boolean paused = false; // 暫停標志
int score = 0; // 得分
int countMove = 0; // 吃到食物前移動的次數
// UP and DOWN should be even
// RIGHT and LEFT should be odd
public static final int UP = 2;
public static final int DOWN = 4;
public static final int LEFT = 1;
public static final int RIGHT = 3;
public SnakeModel( int maxX, int maxY) {
this.maxX = maxX;
this.maxY = maxY;
reset();
}
public void reset(){
direction = SnakeModel.UP; // 蛇運行的方向
timeInterval = 200; // 時間間隔,毫秒
paused = false; // 暫停標志
score = 0; // 得分
countMove = 0; // 吃到食物前移動的次數
// initial matirx, 全部清0
matrix = new boolean[maxX][];
for (int i = 0; i < maxX; ++i) {
matrix[i] = new boolean[maxY];
Arrays.fill(matrix[i], false);
}
// initial the snake
// 初始化蛇體,如果橫向位置超過20個,長度為10,否則為橫向位置的一半
int initArrayLength = maxX > 20 ? 10 : maxX / 2;
nodeArray.clear();
for (int i = 0; i < initArrayLength; ++i) {
int x = maxX / 2 + i;//maxX被初始化為20
int y = maxY / 2; //maxY被初始化為30
//nodeArray[x,y]: [10,15]-[11,15]-[12,15]~~[20,15]
//默認的運行方向向上,所以游戲一開始nodeArray就變為:
// [10,14]-[10,15]-[11,15]-[12,15]~~[19,15]
nodeArray.addLast(new Node(x, y));
matrix[x][y] = true;
}
// 創建食物
food = createFood();
matrix[food.x][food.y] = true;
}
public void changeDirection(int newDirection) {
// 改變的方向不能與原來方向同向或反向
if (direction % 2 != newDirection % 2) {
direction = newDirection;
}
}
/**
* 運行一次
* @return
*/
public boolean moveOn() {
Node n = (Node) nodeArray.getFirst();
int x = n.x;
int y = n.y;
// 根據方向增減坐標值
switch (direction) {
case UP:
y--;
break;
case DOWN:
y++;
break;
case LEFT:
x--;
break;
case RIGHT:
x++;
break;
}
// 如果新坐標落在有效范圍內,則進行處理
if ((0 <= x && x < maxX) && (0 <= y && y < maxY)) {
if (matrix[x][y]) { // 如果新坐標的點上有東西(蛇體或者食物)
if (x == food.x && y == food.y) { // 吃到食物,成功
nodeArray.addFirst(food); // 從蛇頭贈長
// 分數規則,與移動改變方向的次數和速度兩個元素有關
int scoreGet = (10000 - 200 * countMove) / timeInterval;
score += scoreGet > 0 ? scoreGet : 10;
countMove = 0;
food = createFood(); // 創建新的食物
matrix[food.x][food.y] = true; // 設置食物所在位置
return true;
} else // 吃到蛇體自身,失敗
return false;
} else { // 如果新坐標的點上沒有東西(蛇體),移動蛇體
nodeArray.addFirst(new Node(x, y));
matrix[x][y] = true;
n = (Node) nodeArray.removeLast();
matrix[n.x][n.y] = false;
countMove++;
return true;
}
}
return false; // 觸到邊線,失敗
}
public void run() {
running = true;
while (running) {
try {
Thread.sleep(timeInterval);
} catch (Exception e) {
break;
}
if (!paused) {
if (moveOn()) {
setChanged(); // Model通知View數據已經更新
notifyObservers();
} else {
JOptionPane.showMessageDialog(null,
"you failed",
"Game Over",
JOptionPane.INFORMATION_MESSAGE);
break;
}
}
}
running = false;
}
private Node createFood() {
int x = 0;
int y = 0;
// 隨機獲取一個有效區域內的與蛇體和食物不重疊的位置
do {
Random r = new Random();
x = r.nextInt(maxX);
y = r.nextInt(maxY);
} while (matrix[x][y]);
return new Node(x, y);
}
public void speedUp() {
timeInterval *= speedChangeRate;
}
public void speedDown() {
timeInterval /= speedChangeRate;
}
public void changePauseState() {
paused = !paused;
}
public String toString() {
String result = "";
for (int i = 0; i < nodeArray.size(); ++i) {
Node n = (Node) nodeArray.get(i);
result += "[" + n.x + "," + n.y + "]";
}
return result;
}
}
class Node {
int x;
int y;
Node(int x, int y) {
this.x = x;
this.y = y;
}
}
------------------------------------------------------------
4、
package mvcTest;
//SnakeView.java
import javax.swing.*;
import java.awt.*;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Observable;
import java.util.Observer;
/**
* MVC模式中得Viewer,只負責對數據的顯示,而不用理會游戲的控制邏輯
*/
public class SnakeView implements Observer {
SnakeControl control = null;
SnakeModel model = null;
JFrame mainFrame;
Canvas paintCanvas;
JLabel labelScore;
public static final int canvasWidth = 200;
public static final int canvasHeight = 300;
public static final int nodeWidth = 10;
public static final int nodeHeight = 10;
public SnakeView(SnakeModel model, SnakeControl control) {
this.model = model;
this.control = control;
mainFrame = new JFrame("GreedSnake");
Container cp = mainFrame.getContentPane();
// 創建頂部的分數顯示
labelScore = new JLabel("Score:");
cp.add(labelScore, BorderLayout.NORTH);
// 創建中間的游戲顯示區域
paintCanvas = new Canvas();
paintCanvas.setSize(canvasWidth + 1, canvasHeight + 1);
paintCanvas.addKeyListener(control);
cp.add(paintCanvas, BorderLayout.CENTER);
// 創建底下的幫助欄
JPanel panelButtom = new JPanel();
panelButtom.setLayout(new BorderLayout());
JLabel labelHelp;
labelHelp = new JLabel("PageUp, PageDown for speed;", JLabel.CENTER);
panelButtom.add(labelHelp, BorderLayout.NORTH);
labelHelp = new JLabel("ENTER or R or S for start;", JLabel.CENTER);
panelButtom.add(labelHelp, BorderLayout.CENTER);
labelHelp = new JLabel("SPACE or P for pause", JLabel.CENTER);
panelButtom.add(labelHelp, BorderLayout.SOUTH);
cp.add(panelButtom, BorderLayout.SOUTH);
mainFrame.addKeyListener(control);
mainFrame.pack();
mainFrame.setResizable(false);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.setVisible(true);
}
void repaint() {
Graphics g = paintCanvas.getGraphics();
//draw background
g.setColor(Color.WHITE);
g.fillRect(0, 0, canvasWidth, canvasHeight);
// draw the snake
g.setColor(Color.BLACK);
LinkedList na = model.nodeArray;
Iterator it = na.iterator();
while (it.hasNext()) {
Node n = (Node) it.next();
drawNode(g, n);
}
// draw the food
g.setColor(Color.RED);
Node n = model.food;
drawNode(g, n);
updateScore();
}
private void drawNode(Graphics g, Node n) {
g.fillRect(n.x * nodeWidth,
n.y * nodeHeight,
nodeWidth - 1,
nodeHeight - 1);
}
public void updateScore() {
String s = "Score: " + model.score;
labelScore.setText(s);
}
public void update(Observable o, Object arg) {
repaint();
}
}
希望採納
3. 小程序源碼下載去什麼網站
小程序發展到目前其實已經造就了一個專門的開發崗位了,我周圍有朋友就有專門轉小程序開發的,就像前幾年APP火的時候,待遇都是高的。
小程序源碼下載的話網站可以找專門的小程序開發者論壇這樣的網站,直接搜索小程序開發者論壇就出來了,目前小程序開發還是處於上升期,學的越早越好,我也在學習哈哈
4. 微信小游戲製作可視化工具怎樣下載源碼
微信小游戲製作可視化工具下載源碼。
准備工作:
1.一部已經root的Android手機
2.安裝微信6.6.1版本的apk
3.電腦上已安裝AndroidSDK並可以使用adb命令
需要注意的是必須是已經root了的Android手機,否則將沒有許可權訪問對應手機的系統文件夾。
通過USB將手機連接到電腦上,然後運行以下命令
$adbdevices
如果顯示了一下信息
1Listofdevicesattached
271MBBL6228EUdevice
說明手機已經連接到電腦上,如顯示未找到adb命令,則說明AndroidSDK安裝錯誤或adb未添加到電腦path中,請自行上網進行相應查閱。
手機連接電腦成功後,運行一下命令
1$adbshell
2$su
終端出類似root@{手機型號}前綴,說明已經進入到root模式下
$cd/data/data/com.tencent.mm/MicroMsg/{User}/appbrand/pkg
{User}為當年用戶的用戶名,類似於1ed**********c514a18
然後當前目錄就是微信用於存放小程序和小游戲下載包的位置
1$ls
2_-791877121_3.WXapkg
3_1079392110_5.Wxapkg
4_1079392110_5.Wxapkg_xdir
5_1123949441_92.WXapkg
6_576754918_1.Wxapkg
以上是我的微信中所下載過的小程序和小游戲源碼
因為/data目錄為系統級目錄,無法直接將其進行復制,需要重新掛載為可操作模式
$mount-0remount,rW/data
此時就可以將當前目錄下的文件拷貝到sdcard中
$cat1079392110_5.WXapkg>/mnt/sdcard/_1079392110_5.WXapkg
然後將_1079392110_5.wxapkg文件拷貝到電腦里,通過該腳本進行解壓後,即為其源碼。
編譯源碼
通過微信小游戲開發工具新建一個空白的小程序或者小游戲的項目,主要不要選擇快速啟動模板。
然後把剛才解壓出來的源代碼復制到剛剛創建的項目目錄中,開發工具會提示編譯錯誤,這時只要在項目中新建一個game.json文件,並在文件里寫入以下代碼
{「deviceOrientation":"portrait"}
然後將開發工具的調試基礎庫改為gam,程序就會在開發者工具里運行起來了。
5. 求一個C語言小程序(五子棋)源代碼
*******************************************************************/
/* ALEX_LEE 五子棋 C語言小程序 */
/* o(∩_∩)o...可以用來復習一下C語言的小程序 */
/* My Blog:hi..com/alexlee321 */
/******************************************************************/
/**********************************************************/
#include <stdio.h>
#include <bios.h>
#include <ctype.h>
#include <conio.h>
#include <dos.h>
/**********************************************************/
/* 定義符號常量 */
/*定義畫棋盤所需的製表符*/
#define CROSSRU 0xbf /*右上角點*/
#define CROSSLU 0xda /*左上角點*/
#define CROSSLD 0xc0 /*左下角點*/
#define CROSSRD 0xd9 /*右下角點*/
#define CROSSL 0xc3 /*左邊*/
#define CROSSR 0xb4 /*右邊*/
#define CROSSU 0xc2 /*上邊*/
#define CROSSD 0xc1 /*下邊*/
#define CROSS 0xc5 /*十字交叉點*/
/*定義棋盤左上角點在屏幕上的位置*/
#define MAPXOFT 5
#define MAPYOFT 2
/*定義1號玩家的操作鍵鍵碼*/
#define PLAY1UP 0x1157/*上移--'W'*/
#define PLAY1DOWN 0x1f53/*下移--'S'*/
#define PLAY1LEFT 0x1e41/*左移--'A'*/
#define PLAY1RIGHT 0x2044/*右移--'D'*/
#define PLAY1DO 0x3920/*落子--空格鍵*/
/*定義2號玩家的操作鍵鍵碼*/
#define PLAY2UP 0x4800/*上移--方向鍵up*/
#define PLAY2DOWN 0x5000/*下移--方向鍵down*/
#define PLAY2LEFT 0x4b00/*左移--方向鍵left*/
#define PLAY2RIGHT 0x4d00/*右移--方向鍵right*/
#define PLAY2DO 0x1c0d/*落子--回車鍵Enter*/
/*若想在游戲中途退出, 可按 Esc 鍵*/
#define ESCAPE 0x011b
/*定義棋盤上交叉點的狀態, 即該點有無棋子 */
/*若有棋子, 還應能指出是哪個玩家的棋子 */
#define CHESSNULL 0 //沒有棋子
#define CHESS1 'O'//一號玩家的棋子
#define CHESS2 'X'//二號玩家的棋子
/*定義按鍵類別*/
#define KEYEXIT 0/*退出鍵*/
#define KEYFALLCHESS 1/*落子鍵*/
#define KEYMOVECURSOR 2/*游標移動鍵*/
#define KEYINVALID 3/*無效鍵*/
/*定義符號常量: 真, 假 --- 真為1, 假為0 */
#define TRUE 1
#define FALSE 0
/**********************************************************/
/* 定義數據結構 */
/*棋盤交叉點坐標的數據結構*/
struct point
{
int x,y;
};
/**********************************************************/
/*自定義函數原型說明 */
void Init(void);
int GetKey(void);
int CheckKey(int press);
int ChangeOrder(void);
int ChessGo(int Order,struct point Cursor);
void DoError(void);
void DoOK(void);
void DoWin(int Order);
void MoveCursor(int Order,int press);
void DrawCross(int x,int y);
void DrawMap(void);
int JudgeWin(int Order,struct point Cursor);
int JudgeWinLine(int Order,struct point Cursor,int direction);
void ShowOrderMsg(int Order);
void EndGame(void);
/**********************************************************/
/**********************************************************/
/* 定義全局變數 */
int gPlayOrder; /*指示當前行棋方 */
struct point gCursor; /*游標在棋盤上的位置 */
char gChessBoard[19][19];/*用於記錄棋盤上各點的狀態*/
/**********************************************************/
/**********************************************************/
/*主函數*/
void main()
{
int press;
int bOutWhile=FALSE;/*退出循環標志*/
Init();/*初始化圖象,數據*/
while(1)
{
press=GetKey();/*獲取用戶的按鍵值*/
switch(CheckKey(press))/*判斷按鍵類別*/
{
/*是退出鍵*/
case KEYEXIT:
clrscr();/*清屏*/
bOutWhile = TRUE;
break;
/*是落子鍵*/
case KEYFALLCHESS:
if(ChessGo(gPlayOrder,gCursor)==FALSE)/*走棋*/
DoError();/*落子錯誤*/
else
{
DoOK();/*落子正確*/
/*如果當前行棋方贏棋*/
if(JudgeWin(gPlayOrder,gCursor)==TRUE)
{
DoWin(gPlayOrder);
bOutWhile = TRUE;/*退出循環標志置為真*/
}
/*否則*/
else
/*交換行棋方*/
ChangeOrder();
}
break;
/*是游標移動鍵*/
case KEYMOVECURSOR:
MoveCursor(gPlayOrder,press);
break;
/*是無效鍵*/
case KEYINVALID:
break;
}
if(bOutWhile==TRUE)
break;
}
/*游戲結束*/
EndGame();
}
/**********************************************************/
/*界面初始化,數據初始化*/
void Init(void)
{
int i,j;
char *Msg[]=
{
"Player1 key:",
" UP----w",
" DOWN--s",
" LEFT--a",
" RIGHT-d",
" DO----space",
"",
"Player2 key:",
" UP----up",
" DOWN--down",
" LEFT--left",
" RIGHT-right",
" DO----ENTER",
"",
"exit game:",
" ESC",
NULL,
};
/*先手方為1號玩家*/
gPlayOrder = CHESS1;
/*棋盤數據清零, 即棋盤上各點開始的時候都沒有棋子*/
for(i=0;i<19;i++)
for(j=0;j<19;j++)
gChessBoard[i][j]=CHESSNULL;
/*游標初始位置*/
gCursor.x=gCursor.y=0;
/*畫棋盤*/
textmode(C40);
DrawMap();
/*顯示操作鍵說明*/
i=0;
textcolor(BROWN);
while(Msg[i]!=NULL)
{
gotoxy(25,3+i);
cputs(Msg[i]);
i++;
}
/*顯示當前行棋方*/
ShowOrderMsg(gPlayOrder);
/*游標移至棋盤的左上角點處*/
gotoxy(gCursor.x+MAPXOFT,gCursor.y+MAPYOFT);
}
/*畫棋盤*/
void DrawMap(void)
{
int i,j;
clrscr();
for(i=0;i<19;i++)
for(j=0;j<19;j++)
DrawCross(i,j);
}
/*畫棋盤上的交叉點*/
void DrawCross(int x,int y)
{
gotoxy(x+MAPXOFT,y+MAPYOFT);
/*交叉點上是一號玩家的棋子*/
if(gChessBoard[x][y]==CHESS1)
{
textcolor(LIGHTBLUE);
putch(CHESS1);
return;
}
/*交叉點上是二號玩家的棋子*/
if(gChessBoard[x][y]==CHESS2)
{
textcolor(LIGHTBLUE);
putch(CHESS2);
return;
}
textcolor(GREEN);
/*左上角交叉點*/
if(x==0&&y==0)
{
putch(CROSSLU);
return;
}
/*左下角交叉點*/
if(x==0&&y==18)
{
putch(CROSSLD);
return;
}
/*右上角交叉點*/
if(x==18&&y==0)
{
putch(CROSSRU);
return;
}
/*右下角交叉點*/
if(x==18&&y==18)
{
putch(CROSSRD);
return;
}
/*左邊界交叉點*/
if(x==0)
{
putch(CROSSL);
return;
}
/*右邊界交叉點*/
if(x==18)
{
putch(CROSSR);
return;
}
/*上邊界交叉點*/
if(y==0)
{
putch(CROSSU);
return;
}
/*下邊界交叉點*/
if(y==18)
{
putch(CROSSD);
return;
}
/*棋盤中間的交叉點*/
putch(CROSS);
}
/*交換行棋方*/
int ChangeOrder(void)
{
if(gPlayOrder==CHESS1)
gPlayOrder=CHESS2;
else
gPlayOrder=CHESS1;
return(gPlayOrder);
}
/*獲取按鍵值*/
int GetKey(void)
{
char lowbyte;
int press;
while (bioskey(1) == 0)
;/*如果用戶沒有按鍵,空循環*/
press=bioskey(0);
lowbyte=press&0xff;
press=press&0xff00 + toupper(lowbyte);
return(press);
}
/*落子錯誤處理*/
void DoError(void)
{
sound(1200);
delay(50);
nosound();
}
/*贏棋處理*/
void DoWin(int Order)
{
sound(1500);delay(100);
sound(0); delay(50);
sound(800); delay(100);
sound(0); delay(50);
sound(1500);delay(100);
sound(0); delay(50);
sound(800); delay(100);
sound(0); delay(50);
nosound();
textcolor(RED+BLINK);
gotoxy(25,20);
if(Order==CHESS1)
cputs("PLAYER1 WIN!");
else
cputs("PLAYER2 WIN!");
gotoxy(25,21);
cputs(" \\<^+^>/");
getch();
}
/*走棋*/
int ChessGo(int Order,struct point Cursor)
{
/*判斷交叉點上有無棋子*/
if(gChessBoard[Cursor.x][Cursor.y]==CHESSNULL)
{
/*若沒有棋子, 則可以落子*/
gotoxy(Cursor.x+MAPXOFT,Cursor.y+MAPYOFT);
textcolor(LIGHTBLUE);
putch(Order);
gotoxy(Cursor.x+MAPXOFT,Cursor.y+MAPYOFT);
gChessBoard[Cursor.x][Cursor.y]=Order;
return TRUE;
}
else
return FALSE;
}
/*判斷當前行棋方落子後是否贏棋*/
int JudgeWin(int Order,struct point Cursor)
{
int i;
for(i=0;i<4;i++)
/*判斷在指定方向上是否有連續5個行棋方的棋子*/
if(JudgeWinLine(Order,Cursor,i))
return TRUE;
return FALSE;
}
/*判斷在指定方向上是否有連續5個行棋方的棋子*/
int JudgeWinLine(int Order,struct point Cursor,int direction)
{
int i;
struct point pos,dpos;
const int testnum = 5;
int count;
switch(direction)
{
case 0:/*在水平方向*/
pos.x=Cursor.x-(testnum-1);
pos.y=Cursor.y;
dpos.x=1;
dpos.y=0;
break;
case 1:/*在垂直方向*/
pos.x=Cursor.x;
pos.y=Cursor.y-(testnum-1);
dpos.x=0;
dpos.y=1;
break;
case 2:/*在左下至右上的斜方向*/
pos.x=Cursor.x-(testnum-1);
pos.y=Cursor.y+(testnum-1);
dpos.x=1;
dpos.y=-1;
break;
case 3:/*在左上至右下的斜方向*/
pos.x=Cursor.x-(testnum-1);
pos.y=Cursor.y-(testnum-1);
dpos.x=1;
dpos.y=1;
break;
}
count=0;
for(i=0;i<testnum*2+1;i++)
{
if(pos.x>=0&&pos.x<=18&&pos.y>=0&&pos.y<=18)
{
if(gChessBoard[pos.x][pos.y]==Order)
{
count++;
if(count>=testnum)
return TRUE;
}
else
count=0;
}
pos.x+=dpos.x;
pos.y+=dpos.y;
}
return FALSE;
}
/*移動游標*/
void MoveCursor(int Order,int press)
{
switch(press)
{
case PLAY1UP:
if(Order==CHESS1&&gCursor.y>0)
gCursor.y--;
break;
case PLAY1DOWN:
if(Order==CHESS1&&gCursor.y<18)
gCursor.y++;
break;
case PLAY1LEFT:
if(Order==CHESS1&&gCursor.x>0)
gCursor.x--;
break;
case PLAY1RIGHT:
if(Order==CHESS1&&gCursor.x<18)
gCursor.x++;
break;
case PLAY2UP:
if(Order==CHESS2&&gCursor.y>0)
gCursor.y--;
break;
case PLAY2DOWN:
if(Order==CHESS2&&gCursor.y<18)
gCursor.y++;
break;
case PLAY2LEFT:
if(Order==CHESS2&&gCursor.x>0)
gCursor.x--;
break;
case PLAY2RIGHT:
if(Order==CHESS2&&gCursor.x<18)
gCursor.x++;
break;
}
gotoxy(gCursor.x+MAPXOFT,gCursor.y+MAPYOFT);
}
/*游戲結束處理*/
void EndGame(void)
{
textmode(C80);
}
/*顯示當前行棋方*/
void ShowOrderMsg(int Order)
{
gotoxy(6,MAPYOFT+20);
textcolor(LIGHTRED);
if(Order==CHESS1)
cputs("Player1 go!");
else
cputs("Player2 go!");
gotoxy(gCursor.x+MAPXOFT,gCursor.y+MAPYOFT);
}
/*落子正確處理*/
void DoOK(void)
{
sound(500);
delay(70);
sound(600);
delay(50);
sound(1000);
delay(100);
nosound();
}
/*檢查用戶的按鍵類別*/
int CheckKey(int press)
{
if(press==ESCAPE)
return KEYEXIT;/*是退出鍵*/
else
if
( ( press==PLAY1DO && gPlayOrder==CHESS1) ||
( press==PLAY2DO && gPlayOrder==CHESS2)
)
return KEYFALLCHESS;/*是落子鍵*/
else
if
( press==PLAY1UP || press==PLAY1DOWN ||
press==PLAY1LEFT || press==PLAY1RIGHT ||
press==PLAY2UP || press==PLAY2DOWN ||
press==PLAY2LEFT || press==PLAY2RIGHT
)
return KEYMOVECURSOR;/*是游標移動鍵*/
else
return KEYINVALID;/*按鍵無效*/
}
6. 什麼代碼可以在微信上玩小程序
在本教程中,我們將使用Kaboom框架來開發一個微信小程序源碼框架,類似於Atari 的Breakout和Taito的Arkanoid等經典小程序。
源碼:y.wxlbyx.icu
在本教程結束時,您將能夠:
使用 Kaboom 框架開發具有多個級別的微信小程序源碼框架。
通過添加自己的通電和方塊類型來構建基本小程序。
我們完成的小程序源碼將如下所示:
我們將使用Michele Bucelli的這組精靈和Jaymin Covy的這個包中的音效。我們還將使用Soundimage.org的Eric Matyas的音樂。
入門
登錄您的Replit帳戶並創建一個新的 repl。選擇Kaboom作為您的項目類型。給這個 repl 起個名字,比如「blockbreaker」。
創建一個新的副本
Kaboom repls 與您之前可能見過的其他類型的 repls 完全不同:您將處理代碼、聲音和精靈,而不是直接處理文件夾中的文件,後者可以直接在 Replit 的圖像編輯器中繪制。
在我們開始編碼之前,我們需要上傳我們的精靈和聲音。下載此 ZIP 文件並將其解壓縮到您的計算機上。單擊側邊欄上的「文件」圖標,將提取文件的 Sounds 文件夾中的所有內容上傳到 repl 的「sounds」部分,並將 Sprites 文件夾中的所有內容上傳到 repl 的「sprites」部分。
上傳文件後,您可以單擊側邊欄中的「Kaboom」圖標,然後返回「主」代碼文件。
7. Github上收集了70個微信小程序源碼
1:仿豆瓣電影微信小程序
https://github.com/zce/weapp-demo
2:微信小程序移動端商城
https://github.com/liuxuanqiang/wechat-weapp-mall
3:Gank微信小程序
https://github.com/lypeer/wechat-weapp-gank
4:微信小程序高仿QQ應用
https://github.com/xiehui999/SmallAppForQQ
5:微信中的知乎
https://github.com/RebeccaHanjw/weapp-wechat-hu
6:實現一個移動端小商城
https://github.com/skyvow/m-mall
7:微信小程序demo
https://github.com/web-Marker/wechat-Development
8: 跑步微信小程序Demo
https://github.com/alanwangmodify/weChatApp-Run
9:簡單的v2ex微信小程序
https://github.com/jectychen/wechat-v2ex
10:騰訊雲微信小程序
https://github.com/tencentyun/weapp-client-demo
11:微信小程序-微票
https://github.com/wangmingjob/weapp-weipiao
12:微信小程序demo 仿手機淘寶
https://github.com/ChangQing666/wechat-weapp-taobao
13:一個為微信小程序開發准備的基礎骨架
https://github.com/zce/weapp-boilerplate
14:巴爺微信商城的簡單版本
https://github.com/bayetech/wechat_mall_applet
15:微信小程序 - 電影推薦
https://github.com/yesifeng/wechat-weapp-movie
16:微信小程序-知乎日報
https://github.com/myronliu347/wechat-app-hudaily
17:微信小程序: 音樂播放器
https://github.com/eyasliu/wechat-app-music
18:使用微信小程序實現分答這款APP的基礎功能
https://github.com/davedavehong/fenda-mock
19:微信小程序開發demo-地圖定位
https://github.com/giscafer/wechat-weapp-mapdemo
:20:微信小程序 - 豆瓣電影
https://github.com/hingsir/weapp-douban-film
21:wepy仿微信聊天界面
https://github.com/wepyjs/wepy-wechat-demo
22:仿 「ONE · 一個」 的微信小程序
https://github.com/ahonn/weapp-one
23:微信小程序集成Rex實現的Todo list
https://github.com/charleyw/wechat-weapp-rex-todos
24: 基於Zhihu Live數據的微信小程序
https://github.com/dongweiming/weapp-hulive
25:微信小程序之小熊の日記
https://github.com/harveyqing/BearDiary
26:仿網易雲音樂APP的微信小程序
https://github.com/sqaiyan/netmusic-app
27:微信小程序的Flex布局demo
https://github.com/icindy/wxflex
28:番茄時鍾微信小程序版
https://github.com/kraaas/timer
29:Wafer 服務端 Demo
https://github.com/tencentyun/weapp-node-server-demo
30:微信小程序版聊天室
https://github.com/ericzyh/wechat-chat
31:微信小程序版簡易計算器,適合入門練手
https://github.com/nizb/wxapp-sCalc
32:微信小程序示例一筆到底
https://github.com/CFETeam/weapp-demo-session
33:基於麵包旅行 API 製作的微信小程序示例
https://github.com/romoo/weapp-demo-breadtrip
34:新聞閱讀器
https://github.com/vace/wechatapp-news-reader
35:一個簡單的微信小程序購物車DEMO
https://github.com/SeptemberMaples/wechat-weapp-demo
36:微信小程序-公眾號熱門文章信息流
https://github.com/hijiangtao/weapp-newsapp
37:通過Node.js實現的妹子照片爬蟲微信小程序
https://github.com/litt1e-p/weapp-girls
38:從FlexLayout布局開始學習微信小程序
https://github.com/hardog/wechat-app-flexlayout
39:HiApp 微信小程序版
https://github.com/BelinChung/wxapp-hiapp
40:微信小程序的簡單嘗試
https://github.com/zhengxiaowai/weapp-github
41:集美大學圖書館的便捷工具
https://github.com/ToadWoo/bookbox-wxapp
42:微信小程序版妹紙圖
https://github.com/brucevanfdm/WeChatMeiZhi
43:V2ex 微信小程序版
https://github.com/bestony/weapp-V2ex
44:微信小程序仿百思不得姐
https://github.com/SureZhangHW/WXBaiSi
45:微信小程序音樂播放器應用
https://github.com/xingbofeng/wx-audio
46:醫葯網原生APP的微信小程序DEMO
https://github.com/jiabinxu/yiyaowang-wx
47:微信小程序跟讀
https://github.com/gxmzjxk/wxreading
48:微信小程序瀑布流布局模式
https://github.com/icindy/WxMasonry
49:微信小程序HotApp雲筆記
https://github.com/hotapp888/hotapp-notepad
50:小程序模仿——網易雲音樂
https://github.com/MengZhaoFly/wechatApp-netease_cloudmusic
51:微信小程序商城demo
https://github.com/lin-xin/wxapp-mall
52:微信小程序版的掃雷
https://github.com/jsongo/wx-mime
53:專注管理時間的微信小程序
https://github.com/SeaHub/PigRaising
54:微信小程序版干貨集中營
https://github.com/iwgang/GankCamp-WechatAPP
55:英雄聯盟(LOL)戰績查詢
https://github.com/xiaowenxia/weapp-lolgame
56:微信小程序首字母排序選擇表
https://github.com/icindy/wxSortPickerView
57:微信小程序版豆瓣電影
https://github.com/David-Guo/weapp-douban-movie
58:簡單的實現了1024的游戲規則
https://github.com/RedLove/WexinApp_1024
59:微信小程序試玩
https://github.com/uniquexiao/wechat-app-githubfeed
60:微信小程序逗樂
https://github.com/mkxiansheng/doule
61:一步步開發微信小程序
https://github.com/Gavin-YYC/wxApp
62:一個 meteor 的 React todo list 例子
https://github.com/leijing7/wx-mina-meteor
63:微信小程序健康菜譜
https://github.com/bestTao/caipu_weixin
64: jspapa微信小程序版本
https://github.com/biggerV/jspapa-wx
65:微信小程序版的CNodeJs中文社區
https://github.com/Shaman05/CNodeJs-WXAPP
66:LeanCloud 的微信小程序用戶登陸Demo
https://github.com/bestony/weapp-LeanCloud
67: 微笑話微信小程序
https://github.com/zszdevelop/wejoke
68:微信小程序開發的App
https://github.com/chongbenben/liwushuoapp
69:體育新聞微信小程序
https://github.com/havenxie/weapp-sportsnews
70:基於Labrador和mobx構建的小程序開發demo
https://github.com/spacedragon/labrador_mobx_example
8. 小程序源碼,在哪裡購買
購買的話可以通過小程序開發公司,現在開發公司有很多,一般都是幫助客戶搭建小程序,源碼是不打包的,如果要購買也可以,溝通一下就好了。