当前位置:首页 » 游戏种类 » 安卓小游戏源代码下载

安卓小游戏源代码下载

发布时间: 2022-07-02 15:37:33

‘壹’ 安卓单机小游戏 安卓经典手机小游戏下载

去九游安卓网吧,地址是a.9game.cn
,九游是国内最大的安卓游戏资源网站,游戏有很多,分类也很齐全,即时、回合、角色、益智、动作、射击、棋牌、策略、冒险、养成等等,去看看吧,用手机或电脑浏览器都可以登陆直接下载的

‘贰’ 求小游戏源代码

猫版超级玛丽游戏しょぼんのアクションBGMcastle.mp3
....................................... geon.mp3
.......................................field.mp3
.......................................puyo.mp3
.......................................star4.mp3
....................................desktop.ini
....................................loadg.cpp
....................................main.cpp
....................................main.h
....................................RESrock.png
.......................................rock2.png
.......................................haikei.png
.......................................item.png
.......................................omake.png
.......................................omake2.png
.......................................player.png
.......................................syobon3.png
....................................... eki.png
....................................SE4-clear.mp3
......................................allclear.mp3
......................................rockbreak.mp3
......................................rockcoin.mp3
......................................rockkinoko.mp3
......................................coin.mp3
......................................death.mp3
......................................dokan.mp3
......................................gameover.mp3
......................................goal.mp3
......................................hintblock.mp3
......................................humi.mp3
......................................jump.mp3
......................................jumpblock.mp3
......................................kirra.mp3
......................................koura.mp3
......................................powerup.mp3
......................................pswitch.mp3
...................................... ekifire.mp3
.....................................YSapploc.msi
.......................................AppLoc.tmp
....................................しょぼんのアクション.exe
....................................リードミー.txt
....................................点我开始玩.cmd
....................................BGM
....................................RES
....................................SE
....................................SYS
................しょぼんのアクション
http://www.pudn.com/downloads385/sourcecode/game/detail1652652.html

http://www.pudn.com/downloads234/sourcecode/game/detail1099372.html

http://syobon.codeplex.com/releases/62191/download/214890

变态版http://download.csdn.net/download/lc19890326/861250

VF

  • 表单(scx/sct)可以用类浏览器的ViewClassCode功能得到包括所有属性和代码的prg格式文本
    • 报表(frx/frt)无法导出成prg格式

    • 菜单(mnx/mnt)编译时已自动生成了prg格式的文件mpr

    注意“文件类型”一定要选择“窗体”类型,否则“查看代码”将处于隐藏状态,无法看到原代码,切记!!

    1:如果只是想获得网站的样式,使用浏览器的“保存”功能就可以实现!关键是下载到CSS文件就可以了!
    2:找到对方使用的整站程序

‘叁’ 求C++小游戏源代码啊~

一个恋爱小测试贼灵验哦
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m,a,b,c,d,e,f,g,h,i,j,k,l,sum;
cout<<"欢迎来到恋爱指数测试器*>-<*"<<endl;
for(int i=1;i<=1000000000;i++)
l=i;
cout<<"独家的哦*^0^*"<<endl;
for(int i=1;i<=1000000000;i++)
l=i;
cout<<"以下异性均为合适年龄"<<endl;
for(int i=1;i<=1000000000;i++)
l=i;
cout<<"下列问题如果是则输入2,如果不是则输入1,一点也没感觉输入0"<<endl;
for(int i=1;i<=1000000000;i++)
l=i;
cout<<"加油,面对你自己!*-o-*"<<endl;
for(int i=1;i<=1000000000;i++)
l=i;
cout<<"question one:"<<"你是否面对异性时有莫名心跳?"<<endl;
cin>>n;
cout<<endl;
cout<<"question two:"<<"你是否有看到异性被撩时很愤怒?"<<endl;
cin>>m;
cout<<endl;
cout<<"question three:"<<"你是否惧怕见到一位异性的家长"<<endl;
cin>>a;
cout<<endl;
cout<<"question four:"<<"你是否经常刷一位异性的QQ或其他软件"<<endl;
cin>>b;
cout<<endl;
cout<<"question five:"<<"想不想真心和Ta用情头?"<<endl;
cin>>c;
cout<<endl;
cout<<"question six:"<<"和Ta邂逅过吗?"<<endl;
cin>>d;
cout<<endl;
cout<<"question seven:"<<"吃过同一个饭碗里的东西吗?"<<endl;
cin>>e;
cout<<endl;
cout<<"question eight:"<<"有过一个人在梦里与Ta相遇吗?"<<endl;
cin>>f;
cout<<endl;
cout<<"question nine:"<<"有为了等Ta一个人站在风雨中吗?"<<endl;
cin>>g;
cout<<endl;
cout<<"question ten:"<<"想kissTa不,想摸Ta的头发吗?"<<endl;
cin>>h;
cout<<endl;
sum=n+m+a+b+c+d+e+f+g+h;
cout<<"正在测评中,请稍后..."<<endl;
for(int i=1;i<=1000000000;i++)
l=i;
if(sum>=16&&sum<=20)
cout<<"你的恋爱指数为:A。你是一个深深爱着Ta的人,你往往会走到最后^-^。"<<endl;
if(sum<=15&&sum>=12)
cout<<"你的恋爱指数为:B。你是一个矛盾却又不失爱意的人,你的爱往往一波三折!-!。"<<endl;
if(sum<=11&&sum>=7)
cout<<"你的恋爱指数为:C。你是一个有点点情丝的人,你想表,却又惧怕现实,你仍须努力o-o。"<<endl;
if(sum<=6&&sum>=0)
cout<<"你的恋爱指数为:D。你是一个无暇无垢,不食人间烟火的人,想一路踏歌,证道路上需佳人陪伴+-+。"<<endl;
if(sum>20||sum<0)
cout<<"你出格了哟ooo.ooo"<<endl;
cout<<"人生在世,恍如昨世,孤独的身影终难走远,你的那个Ta就在不远方,就如漫天繁星,总有一颗属于你!"<<endl;\
cout<<"快抓紧你身边的那个Ta^-^oooooo"<<endl;
cout<<endl;
cout<<"作品创造者:yang sky one"<<endl;
cout<<"恋爱指数测试器已关闭,需重启………………"<<endl;
return 0;
}

‘肆’ 求安卓2.3源代码

一般来说,由开源社区开发并发行的开源软件,即我们称之为“开源项目(Open Source Program)”的开源软件,一般都是“免费开源软件”;而由企业(发行商,Enterprise or Distributor)进行二次开发并发行的开源软件,即我们称之为“开源产品(Open Source Program)”的开源软件,一般是“付费开源软件”。

必须指出,开源社区开发和发行的开源软件,首先要体现自由/开源软件的价值观:开放、共享、协同、自由、无偿、选择;所谓开源软件是“利他主义”(或“共产主义”,Altruism or Communism)与“利己主义”(或“资本主义”,Capitalism)矛盾的对立和统一(或平衡),即体现自由开源软件价值观与配置商业服务模式的平衡;企业开发和发行的开源软件,是在继承社区开发和发行的开源软件(价值观、开放源代码、开源许可协议)的基础上,进行再开发(二次开发),并采取相应的商业模式;商业模式是开源软件得以持续发展,实行规模化、产业化的必要条件,开源软件的商业模式是一种以服务为主要内容、实施低价销售战略的模式。

开源软件商业版是基于社区版发展起来的,开源软件商业版与社区版的关系,在实践中可以归纳为如下各种主要类型:

1,双授权模式

如MySQL。MySQL(社区版)执行自由/开源软件许可协议(GPLv3),其源代码开放,人们可从网上免费下载;MySQL(商业版)是基于MySQL(社区版)再开发的,软件授权模式发生了变化,MySQL(商业版)是要收费的,或通过提供服务来收费。

又如Apache。Apache(社区、基金会)是一个非盈利性组织,Apache软件基金会只向社会提供开源版本(可在网上免费下载),有一些企业如“春之源(Spring Source)”提供支持Apache服务或商业版本,但Apache基金会规定这些企业不能随意使用Apache商标。如果某互联网网站下载Apache软件,安装到服务器(硬件)中,以建立网络/应用服务器系统时,Apache基金会允许他们称为Apache网络/应用服务器,并在其网站上对外提及“Powered by Apache”。

还有如SugarCRM,也采用双授权模式,其开放的软件(占80%)不收费,不开放的软件(占20%)要收费;另外,如Open Office.org与Star Office的关系,也可归纳为双授权模式。

2,对开源软件社区版进行工程化、产品化处理(二次开发)

如各种版本的Linux操作系统(产品)。一般由Linux发行商基于Linux(社区版),进行后续的工程化处理或再开发,完成或发布Linux(商业版或产品版);二次开发的工程化技术包含:① 优化内核,发行商发布的内核源代码为Linux社区发布的“主干(Official)源代码”,允许与其实际执行而不公布的源代码(即发行商的“分支源代码”)有3-5%的偏差(这是通过测试和经验来获得的),②兼容性测试和质量认证,③ 对各种软件模块(在内核中约有1500个左右软件模块)的不同组合或配置(以提高效率),④ 回归移植或降级处理(Bug Fix,Patch, back porting),⑤ 专用工具和插件,⑥ 本地化需求功能。社区开发的开源软件(开源项目)是原创性技术,企业后续开发并完成的开源软件(开源产品),是开源技术的成熟化过程或产品化过程(二次开发以促使开源软件趋于稳定、优质、高效、成熟)。企业发行的Linux操作系统软件(产品),继承并开放由社区开发的源代码,但企业开发的工程化技术是不开放的,含有自主创新因素和自主知识产权,这时Linux操作系统作为成型产品的整体软件是要收费的,或通过服务来收费。

Red Hat的一位开源专家曾说:Red Hat Linux有两种版本,一种是针对“1亿人”的免费版本(或收1元成本费的基本免费版本),这是为大多数人免费提供的社区版,对这种版本,Red Hat不提供Bug Fix、Patch,也不向用户提供支持、服务;另一种是针对“100个人”(这是指企业用户),每户收费“100万元”(向企业提供若干套收费的版本,并向用户提供Bug Fix、Patch,提供支持和服务)。

3,在开源软件(社区版)上采取附加软件模块的方式

如国内开发的“银河麒麟”操作系统,它是在Free BSD(开源软件)基础上再开发的(自行开发的主要是安全软件,约占整个软件的不足20%),等于在80%的开源软件上附加上20%的闭源软件模块。这样做的结果,连美国国家安全局(NSA)都认为,“银河麒麟的研发使美国向中国军网进行渗透变得无效”。

顺便指出,基于开源软件(社区版),采用附加专用软件模块方式,在二次开发后形成的整体软件中,附加专用模块的构成不得大于20%,这时整体软件才还可称为“开源软件”。

4,定制模式

如Ubuntu。Ubuntu永远是免费的,用户可任意下载、自由使用和修改(这是指其发布的社区版);Ubuntu也有商业版,这是指由Ubuntu的发行商Canonical为用户定制特别版Ubuntu,Canonical并向用户提供支持和服务,这是要收费的。举例来说,Ubuntu支持服务的收费标准为:桌面(每套)9ⅹ5,250美元;24ⅹ7,900美元;服务器(每套)9ⅹ5,750美元;24ⅹ7,2750美元。

当然,如Linux内核(Kernel)等一些自由软件,是没有商业模式的。

在如上所述的基础上,我要回答一些人对开源软件认识的思想误区(谈一谈开源软件的是与非):

有人说:Linux都是免费的。不对!如上所述:Linux有免费的和付费的两类;对其他开源软件也如同Linux。

有人说:Linux的缺点是不为用户提供支持和服务。不完全对。只有免费的社区版是如此;而对付费的商业版(或企业版、产品版),Linux发行商要为用户提供在产品使用寿命周期内全程的支持和服务。

有人说:开源软件不应是商业软件,不应具商业模式。不对!上面说的很清楚了,开源软件可以配置商业服务模式(只有社区版免费的开源软件没有商业模式)。

有人问:免费与付费的开源软件在功能与服务上有什么区别?其实,免费的开源软件一般都是原创性的社区版,开源软件(社区版)的性能尚不够成熟,也不能完全满足某些重要用户的特殊需求,它可以免费获得,但得不到开发者的技术支持和相应服务;而收费的开源软件一般都是企业(发行商)后续开发的商业版(或产品版),此时性能趋于成熟(经工程化开发),能更好满足某些用户的需求(做好定制化开发工作),这时用户虽然要付费,但发行商将为用户提供在产品使用寿命周期内全程的技术支持和相应服务。

有人说:开源软件的开发无国界,是全球志愿者集体开发、合作创新的产物,不能把它限制在某一个企业或某一个国家来进行自主开发或自主创新。其实这说对了一半。开源社区对开源软件进行的原创性开发,是适用于这种说法的,说的完全对!但要使开源软件产品化,趋于成熟,更好地满足用户需求,还要进行工程化、定制化的后续开发工作,这些开发工作一般由企业(或发行商)来承担,这时的二次开发工作当然体现自主开发创新的特点。对于企业(发行商)最终推出的更为完整的、更加成熟的、产品化的开源软件版本(并配置商业服务模式),则可以称之为某企业的版本(并冠以其商标),也可称之为某地、某国的版本,所以,如果说到这种版本的“国产化”,我想也是可以的。

有人说:开源软件既要体现自由软件的价值观,又要配置商业模式,这是不可调和的矛盾,只能取其一,不能合其二。我要说的是,请你体会一下上面谈到的“开源软件是‘利他主义’与‘利己主义’对立统一(平衡)的产物”这句哲学语言的深刻含义,再看一下上面所列的开源软件社区版与商业版关系的各种类型,这时是否可以解答你的疑惑,而得出这样的结论:不搞极端,做好统一或平衡是完全可能的。

关于开源和微软的操作系统哪个安全的问题,现摘要5月12日《华盛顿时报》透露的9月30日美国国会听证会的有关消息,就一目了然了。《华盛顿时报》发表的署名文章,题目是《中国阻止美国发动网络战争》,文中透露美国政府网络安全专家、国家情报及美国战略司令部顾问凯文·G·科尔曼在美国国会(美中经济与安全评估委员会)听证会上的一些证词,科尔曼说:“美国过去一直利用中国军网和政府网络配备脆弱的操作系统(比如说微软的系统)的服务器的机会进行渗透,自从中国研发了名为银河麒麟(Kylin)这个更加安全的操作系统并于2007年服役后,该系统强化了中国关键的服务器,使美国军方和情报机构再也无法实行渗透,致使美国网络防卫能力无效!”

当然,我在这里也要指出,如果只是配置完全开放、透明的开源操作系统软件(社区版),也不足以保证我们网络的安全;网络安全呼唤能将自主创新包含于其中的开源软件。

系统方面 不用向谷歌申请 好像

‘伍’ 求一个安卓开发小游戏源代码,临时交作业用

package com.fiveChess;

import android.app.Activity;
import android.os.Bundle;
import android.view.Display;
import android.view.Menu;
import android.view.MenuItem;
import android.view.Window;
import android.view.WindowManager;

public class MainActivity extends Activity {
GameView gameView = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
Display display = this.getWindowManager().getDefaultDisplay();
gameView = new GameView(this,display.getWidth(),display.getHeight());
setContentView(gameView);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("重新开始").setIcon(android.R.drawable.ic_menu_myplaces);
menu.add("退出");
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getTitle().equals("重新开始")){
gameView.canPlay = true;
gameView.chess = new int[gameView.row][gameView.col];
gameView.invalidate();
}else if(item.getTitle().equals("退出")){
finish();
}
return super.onOptionsItemSelected(item);
}
}

package com.fiveChess;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.view.MotionEvent;
import android.view.View;

public class GameView extends View {
Context context = null;
int screenWidth,screenHeight;
String message = "";//提示轮到哪个玩家
int row,col; //划线的行数和列数
int stepLength = 30;//棋盘每格间距
int[][] chess = null;//0代表没有棋子,1代表是黑棋,2代表白旗
boolean isBlack = true;
boolean canPlay = true;
public GameView(Context context,int screenWidth,int screenHeight) {
super(context);
this.context = context;
this.screenWidth = screenWidth;
this.screenHeight = screenHeight;
this.message = "黑棋先行";
row = (screenHeight-50)/stepLength+1;
col = (screenWidth-10)/stepLength+1;
chess = new int[row][col];

}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setColor(Color.WHITE);
canvas.drawRect(0, 0, screenWidth, screenHeight, paint);//画背景
paint.setColor(Color.BLUE);
paint.setTextSize(25);
canvas.drawText(message, (screenWidth-100)/2, 30, paint);//画最顶层的字
paint.setColor(Color.BLACK);
//画棋盘
for(int i=0;i<row;i++){
canvas.drawLine(10, 50+i*stepLength, 10+(col-1)*stepLength, 50+i*stepLength, paint);
}
for(int i=0;i<col;i++){
canvas.drawLine(10+i*stepLength,50,10+i*stepLength,50+(row-1)*stepLength, paint);
}

for(int r=0;r<row;r++){
for(int c=0;c<col;c++){
if(chess[r][c] == 1){
paint.setColor(Color.BLACK);
paint.setStyle(Style.FILL);
canvas.drawCircle(10+c*stepLength, 50+r*stepLength, 10, paint);
}else if(chess[r][c] == 2){
//画白棋
paint.setColor(Color.WHITE);
paint.setStyle(Style.FILL);
canvas.drawCircle(10+c*stepLength, 50+r*stepLength, 10, paint);

paint.setColor(Color.BLACK);
paint.setStyle(Style.STROKE);
canvas.drawCircle(10+c*stepLength, 50+r*stepLength, 10, paint);
}
}
}
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if(!canPlay){return false;}
float x = event.getX();
float y = event.getY();
int r = Math.round((y-50)/stepLength);
int c = Math.round((x-10)/stepLength);
if(r<0 || r>row-1 || c<0 || c>col-1){return false;}
if(chess[r][c]!=0){return false;}//若有棋子则不再画棋子了
if(isBlack){
chess[r][c] = 1;
isBlack = false;
message = "轮到白棋";
}else{
chess[r][c] = 2;
isBlack = true;
message = "轮到黑棋";
}
invalidate();
if(judge(r, c,0,1)) return false;
if(judge(r, c,1,0)) return false ;
if(judge(r, c,1,1)) return false;
if(judge(r, c,1,-1)) return false;

return super.onTouchEvent(event);
}
private boolean judge(int r, int c,int x,int y) {//r,c表示行和列,x表示在y方向上的偏移,y表示在x方向上的偏移
int count = 1;
int a = r;
int b = c;
while(r>=0 && r<row && c>=0 && c<col && r+x>=0 && r+x<row && c+y>=0 && c+y<col && chess[r][c] == chess[r+x][c+y]){
count++;
if(y>0){
c++;
}else if(y<0){
c--;
}
if(x>0){
r++;
}else if(x<0){
r--;
}
}
while(a>=0 && a<row && b>=0 && b<col && a-x>=0 && a-x<row && b-y>=0 && b-y<col && chess[a][b] == chess[a-x][b-y]){
count++;
if(y>0){
b--;
}else if(y<0){
b++;
}
if(x>0){
a--;
}else if(x<0){
a++;
}
}
if(count>=5){
String str = "";
if(isBlack){
str = "白棋胜利";
}else{
str = "黑棋胜利";
}
new AlertDialog.Builder(context).setTitle("游戏结束").setMessage(str).setPositiveButton("重新开始", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
chess = new int[row][col];
invalidate();

}
}).setNegativeButton("观看棋局", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
canPlay = false;

}
}).show();
return true;
}

return false;
}
}
PS:五子棋,无需图片,直接在程序里画出来的。注意我发的是两个文件,一个activity,一个类文件,别把它当成一个文件了

‘陆’ 谁能给个小游戏的源代码,谢谢!

应该不会有这种吧

‘柒’ 求一C++小游戏源代码简单点的!!谢谢

#include #include #include #define LEFT 0x4b00 #define RIGHT 0x4d00 #define DOWN 0x5000 #define UP 0x4800 #define ESC 0x011b int i,key; int score=0; int gamespeed=32000; struct Food /*食物的结构体*/ { int x; /*食物的横坐标*/ int y; /*食物的纵坐标*/ int yes; /*食物是否出现的变量*/ }food; struct Snack /*蛇的结构体*/ { int x; int y; int node; /*蛇的节数*/ int direction; /*蛇的方向*/ int life; /*蛇的生命,0活着,1死亡*/ }snake; void Init(void); /*图形驱动*/ void Close(void); /*关闭游戏函数*/ void DrawK(void); /*画图函数*/ void GameOver(void);/*输出失败函数*/ void GamePlay(); /*游戏控制函数 主要程序*/ void PrScore(void); /*分数输出函数*/ DELAY(char ch)/*调节游戏速度*/ { if(ch=='3') { delay(gamespeed); /*delay是延迟函数*/ delay(gamespeed); } else if(ch=='2') { delay(gamespeed); } } Menu()/*游戏开始菜单*/ { char ch; printf("Please choose the gamespeed: "); printf("1-Fast 2-Normal 3-Slow "); printf(" Please Press The numbers.. "); do {ch=getch();} while(ch!='1'&&ch!='2'&&ch!='3'); clrscr(); return(ch); } /*主函数*/ void main(void) { int ch; ch=Menu(); Init(); DrawK(); GamePlay(ch); Close(); } void Init(void) { int gd=DETECT,gm; initgraph(&gd,&gm,"c:\tc"); cleardevice(); } void DrawK(void) { setcolor(11); setlinestyle(SOLID_LINE,0,THICK_WIDTH); for(i=50;i

‘捌’ 急需基于eclipse的JAVA小游戏源代码!!!

单人版五子棋,不用导入,直接新建一个mywindow类就行,然后把一下代码粘贴就Ok了。或者,直接用dos就可以了。。
---------------------
import
java.awt.*;
import
java.awt.event.*;
import
javax.swing.*;
class
mypanel
extends
Panel
implements
MouseListener
{
int
chess[][]
=
new
int[11][11];
boolean
Is_Black_True;
mypanel()
{
Is_Black_True
=
true;
for(int
i
=
0;i
<
11;i++)
{
for(int
j
=
0;j
<
11;j++)
{
chess[i][j]
=
0;
}
}
addMouseListener(this);
setBackground(Color.BLUE);
setBounds(0,
0,
360,
360);
setVisible(true);
}
public
void
mousePressed(MouseEvent
e)
{
int
x
=
e.getX();
int
y
=
e.getY();
if(x
<
25
||
x
>
330
+
25
||y
<
25
||
y
>
330+25)
{
return;
}
if(chess[x/30-1][y/30-1]
!=
0)
{
return;
}
if(Is_Black_True
==
true)
{
chess[x/30-1][y/30-1]
=
1;
Is_Black_True
=
false;
repaint();
Justisewiner();
return;
}
if(Is_Black_True
==
false)
{
chess[x/30-1][y/30-1]
=
2;
Is_Black_True
=
true;
repaint();
Justisewiner();
return;
}
}
void
Drawline(Graphics
g)
{
for(int
i
=
30;i
<=
330;i
+=
30)
{
for(int
j
=
30;j
<=
330;
j+=
30)
{
g.setColor(Color.WHITE);
g.drawLine(i,
j,
i,
330);
}
}
for(int
j
=
30;j
<=
330;j
+=
30)
{
g.setColor(Color.WHITE);
g.drawLine(30,
j,
330,
j);
}
}
void
Drawchess(Graphics
g)
{
for(int
i
=
0;i
<
11;i++)
{
for(int
j
=
0;j
<
11;j++)
{
if(chess[i][j]
==
1)
{
g.setColor(Color.BLACK);
g.fillOval((i
+
1)
*
30
-
8,
(j
+
1)
*
30
-
8,
16,
16);
}
if(chess[i][j]
==
2)
{
g.setColor(Color.WHITE);
g.fillOval((i
+
1)
*
30
-
8,
(j
+
1)
*
30
-
8,
16,
16);
}
}
}
}
void
Justisewiner()
{
int
black_count
=
0;
int
white_count
=
0;
int
i
=
0;
for(i
=
0;i
<
11;i++)//横向判断
{
for(int
j
=
0;j
<
11;j++)
{
if(chess[i][j]
==
1)
{
black_count++;
if(black_count
==
5)
{
JOptionPane.showMessageDialog(this,
"黑棋胜利");
Clear_Chess();
return;
}
}
else
{
black_count
=
0;
}
if(chess[i][j]
==
2)
{
white_count++;
if(white_count
==
5)
{
JOptionPane.showMessageDialog(this,
"白棋胜利");
Clear_Chess();
return;
}
}
else
{
white_count
=
0;
}
}
}
for(i
=
0;i
<
11;i++)//竖向判断
{
for(int
j
=
0;j
<
11;j++)
{
if(chess[j][i]
==
1)
{
black_count++;
if(black_count
==
5)
{
JOptionPane.showMessageDialog(this,
"黑棋胜利");
Clear_Chess();
return;
}
}
else
{
black_count
=
0;
}
if(chess[j][i]
==
2)
{
white_count++;
if(white_count
==
5)
{
JOptionPane.showMessageDialog(this,
"白棋胜利");
Clear_Chess();
return;
}
}
else
{
white_count
=
0;
}
}
}
for(i
=
0;i
<
7;i++)//左向右斜判断
{
for(int
j
=
0;j
<
7;j++)
{
for(int
k
=
0;k
<
5;k++)
{
if(chess[i
+
k][j
+
k]
==
1)
{
black_count++;
if(black_count
==
5)
{
JOptionPane.showMessageDialog(this,
"黑棋胜利");
Clear_Chess();
return;
}
}
else
{
black_count
=
0;
}
if(chess[i
+
k][j
+
k]
==
2)
{
white_count++;
if(white_count
==
5)
{
JOptionPane.showMessageDialog(this,
"白棋胜利");
Clear_Chess();
return;
}
}
else
{
white_count
=
0;
}
}
}
}
for(i
=
4;i
<
11;i++)//右向左斜判断
{
for(int
j
=
6;j
>=
0;j--)
{
for(int
k
=
0;k
<
5;k++)
{
if(chess[i
-
k][j
+
k]
==
1)
{
black_count++;
if(black_count
==
5)
{
JOptionPane.showMessageDialog(this,
"黑棋胜利");
Clear_Chess();
return;
}
}
else
{
black_count
=
0;
}
if(chess[i
-
k][j
+
k]
==
2)
{
white_count++;
if(white_count
==
5)
{
JOptionPane.showMessageDialog(this,
"白棋胜利");
Clear_Chess();
return;
}
}
else
{
white_count
=
0;
}
}
}
}
}
void
Clear_Chess()
{
for(int
i=0;i<11;i++)
{
for(int
j=0;j<11;j++)
{
chess[i][j]=0;
}
}
repaint();
}
public
void
paint(Graphics
g)
{
Drawline(g);
Drawchess(g);
}
public
void
mouseExited(MouseEvent
e){}
public
void
mouseEntered(MouseEvent
e){}
public
void
mouseReleased(MouseEvent
e){}
public
void
mouseClicked(MouseEvent
e){}
}
class
myframe
extends
Frame
implements
WindowListener
{
mypanel
panel;
myframe()
{
setLayout(null);
panel
=
new
mypanel();
add(panel);
panel.setBounds(0,23,
360,
360);
setTitle("单人版五子棋");
setBounds(200,
200,
360,
383);
setVisible(true);
addWindowListener(this);
}
public
void
windowClosing(WindowEvent
e)
{
System.exit(0);
}
public
void
windowDeactivated(WindowEvent
e){}
public
void
windowActivated(WindowEvent
e){}
public
void
windowOpened(WindowEvent
e){}
public
void
windowClosed(WindowEvent
e){}
public
void
windowIconified(WindowEvent
e){}
public
void
windowDeiconified(WindowEvent
e){}
}
public
class
mywindow
{
public
static
void
main(String
argc
[])
{
myframe
f
=
new
myframe();
}
}

‘玖’ 用C++编写的小游戏源代码

五子棋的代码:

#include<iostream>

#include<stdio.h>

#include<stdlib.h>

#include <time.h>

using namespace std;

const int N=15; //15*15的棋盘

const char ChessBoardflag = ' '; //棋盘标志

const char flag1='o'; //玩家1或电脑的棋子标志

const char flag2='X'; //玩家2的棋子标志

typedef struct Coordinate //坐标类

{

int x; //代表行

int y; //代表列

}Coordinate;

class GoBang //五子棋类

{

public:

GoBang() //初始化

{

InitChessBoard();

}

void Play() //下棋

{

Coordinate Pos1; // 玩家1或电脑

Coordinate Pos2; //玩家2

int n = 0;

while (1)

{

int mode = ChoiceMode();

while (1)

{

if (mode == 1) //电脑vs玩家

{

ComputerChess(Pos1,flag1); // 电脑下棋

if (GetVictory(Pos1, 0, flag1) == 1) //0表示电脑,真表示获胜

break;

PlayChess(Pos2, 2, flag2); //玩家2下棋

if (GetVictory(Pos2, 2, flag2)) //2表示玩家2

break;

}

else //玩家1vs玩家2

{

PlayChess(Pos1, 1, flag1); // 玩家1下棋

if (GetVictory(Pos1, 1, flag1)) //1表示玩家1

break;

PlayChess(Pos2, 2, flag2); //玩家2下棋

if (GetVictory(Pos2, 2, flag2)) //2表示玩家2

break;

}

}

cout << "***再来一局***" << endl;

cout << "y or n :";

char c = 'y';

cin >> c;

if (c == 'n')

break;

}

}

protected:

int ChoiceMode() //选择模式

{

int i = 0;

system("cls"); //系统调用,清屏

InitChessBoard(); //重新初始化棋盘

cout << "***0、退出 1、电脑vs玩家 2、玩家vs玩家***" << endl;

while (1)

{

cout << "请选择:";

cin >> i;

if (i == 0) //选择0退出

exit(1);

if (i == 1 || i == 2)

return i;

cout << "输入不合法" << endl;

}

}

void InitChessBoard() //初始化棋盘

{

for (int i = 0; i < N + 1; ++i)

{

for (int j = 0; j < N + 1; ++j)

{

_ChessBoard[i][j] = ChessBoardflag;

}

}

}

void PrintChessBoard() //打印棋盘,这个函数可以自己调整

{

system("cls"); //系统调用,清空屏幕

for (int i = 0; i < N+1; ++i)

{

for (int j = 0; j < N+1; ++j)

{

if (i == 0) //打印列数字

{

if (j!=0)

printf("%d ", j);

else

printf(" ");

}

else if (j == 0) //打印行数字

printf("%2d ", i);

else

{

if (i < N+1)

{

printf("%c |",_ChessBoard[i][j]);

}

}

}

cout << endl;

cout << " ";

for (int m = 0; m < N; m++)

{

printf("--|");

}

cout << endl;

}

}

void PlayChess(Coordinate& pos, int player, int flag) //玩家下棋

{

PrintChessBoard(); //打印棋盘

while (1)

{

printf("玩家%d输入坐标:", player);

cin >> pos.x >> pos.y;

if (JudgeValue(pos) == 1) //坐标合法

break;

cout << "坐标不合法,重新输入" << endl;

}

_ChessBoard[pos.x][pos.y] = flag;

}

void ComputerChess(Coordinate& pos, char flag) //电脑下棋

{

PrintChessBoard(); //打印棋盘

int x = 0;

int y = 0;

while (1)

{

x = (rand() % N) + 1; //产生1~N的随机数

srand((unsigned int) time(NULL));

y = (rand() % N) + 1; //产生1~N的随机数

srand((unsigned int) time(NULL));

if (_ChessBoard[x][y] == ChessBoardflag) //如果这个位置是空的,也就是没有棋子

break;

}

pos.x = x;

pos.y = y;

_ChessBoard[pos.x][pos.y] = flag;

}

int JudgeValue(const Coordinate& pos) //判断输入坐标是不是合法

{

if (pos.x > 0 && pos.x <= N&&pos.y > 0 && pos.y <= N)

{

if (_ChessBoard[pos.x][pos.y] == ChessBoardflag)

{

return 1; //合法

}

}

return 0; //非法

}

int JudgeVictory(Coordinate pos, char flag) //判断有没有人胜负(底层判断)

{

int begin = 0;

int end = 0;

int begin1 = 0;

int end1 = 0;

//判断行是否满足条件

(pos.y - 4) > 0 ? begin = (pos.y - 4) : begin = 1;

(pos.y + 4) >N ? end = N : end = (pos.y + 4);

for (int i = pos.x, j = begin; j + 4 <= end; j++)

{

if (_ChessBoard[i][j] == flag&&_ChessBoard[i][j + 1] == flag&&

_ChessBoard[i][j + 2] == flag&&_ChessBoard[i][j + 3] == flag&&

_ChessBoard[i][j + 4] == flag)

return 1;

}

//判断列是否满足条件

(pos.x - 4) > 0 ? begin = (pos.x - 4) : begin = 1;

(pos.x + 4) > N ? end = N : end = (pos.x + 4);

for (int j = pos.y, i = begin; i + 4 <= end; i++)

{

if (_ChessBoard[i][j] == flag&&_ChessBoard[i + 1][j] == flag&&

_ChessBoard[i + 2][j] == flag&&_ChessBoard[i + 3][j] == flag&&

_ChessBoard[i + 4][j] == flag)

return 1;

}

int len = 0;

//判断主对角线是否满足条件

pos.x > pos.y ? len = pos.y - 1 : len = pos.x - 1;

if (len > 4)

len = 4;

begin = pos.x - len; //横坐标的起始位置

begin1 = pos.y - len; //纵坐标的起始位置

pos.x > pos.y ? len = (N - pos.x) : len = (N - pos.y);

if (len>4)

len = 4;

end = pos.x + len; //横坐标的结束位置

end1 = pos.y + len; //纵坐标的结束位置

for (int i = begin, j = begin1; (i + 4 <= end) && (j + 4 <= end1); ++i, ++j)

{

if (_ChessBoard[i][j] == flag&&_ChessBoard[i + 1][j + 1] == flag&&

_ChessBoard[i + 2][j + 2] == flag&&_ChessBoard[i + 3][j + 3] == flag&&

_ChessBoard[i + 4][j + 4] == flag)

return 1;

}

//判断副对角线是否满足条件

(pos.x - 1) >(N - pos.y) ? len = (N - pos.y) : len = pos.x - 1;

if (len > 4)

len = 4;

begin = pos.x - len; //横坐标的起始位置

begin1 = pos.y + len; //纵坐标的起始位置

(N - pos.x) > (pos.y - 1) ? len = (pos.y - 1) : len = (N - pos.x);

if (len>4)

len = 4;

end = pos.x + len; //横坐标的结束位置

end1 = pos.y - len; //纵坐标的结束位置

for (int i = begin, j = begin1; (i + 4 <= end) && (j - 4 >= end1); ++i, --j)

{

if (_ChessBoard[i][j] == flag&&_ChessBoard[i + 1][j - 1] == flag&&

_ChessBoard[i + 2][j - 2] == flag&&_ChessBoard[i + 3][j - 3] == flag&&

_ChessBoard[i + 4][j - 4] == flag)

return 1;

}

for (int i = 1; i < N + 1; ++i) //棋盘有没有下满

{

for (int j =1; j < N + 1; ++j)

{

if (_ChessBoard[i][j] == ChessBoardflag)

return 0; //0表示棋盘没满

}

}

return -1; //和棋

}

bool GetVictory(Coordinate& pos, int player, int flag) //对JudgeVictory的一层封装,得到具体那个玩家获胜

{

int n = JudgeVictory(pos, flag); //判断有没有人获胜

if (n != 0) //有人获胜,0表示没有人获胜

{

PrintChessBoard();

if (n == 1) //有玩家赢棋

{

if (player == 0) //0表示电脑获胜,1表示玩家1,2表示玩家2

printf("***电脑获胜*** ");

else

printf("***恭喜玩家%d获胜*** ", player);

}

else

printf("***双方和棋*** ");

return true; //已经有人获胜

}

return false; //没有人获胜

}

private:

char _ChessBoard[N+1][N+1];

};

(9)安卓小游戏源代码下载扩展阅读:

设计思路

1、进行问题分析与设计,计划实现的功能为,开局选择人机或双人对战,确定之后比赛开始。

2、比赛结束后初始化棋盘,询问是否继续比赛或退出,后续可加入复盘、悔棋等功能。

3、整个过程中,涉及到了棋子和棋盘两种对象,同时要加上人机对弈时的AI对象,即涉及到三个对象。

‘拾’ android项目源码下载

对于读项目源代码来说,可能对大多数人是件困难的事。首先,第一个障碍:看到项目,就已经放弃! 如果有十个人,可能有5个人以上会是上面这种情况,分析其想法:这么多的代码,我要怎么读啊!我要读好久啊!算了,还是看小Demo吧,所以这样,他们也就只是把这个项目导入到eclipse中,点了几下鼠标,然后就没有下文了。 解决办法:其实他们终止的原因很简单,就是嫌麻烦,那好吧,告诉你,这点麻烦都能对你造成影响,其实你的开发之路也可以终止了。任何东西,你要学到它,你就必须花时间、花精力、还要有面对困难的准备。想一步登天,有可能,除非你是天才,但毕竟天才太少了!对于开发,不是学习1+1,所以,先摆正心态吧,那要具备怎样的心态呢?那就是:有面对困难的准备,也有解决苦难的信心。 心态问题解决了,那就是读代码的技巧了,很多人拿到一个项目不知道怎么入手,干脆就胡乱的一通看,看到一定时候发现,实在进行不下去了,又开始重新梳理自己的思路。这样是很浪费时间的,其实对于读一个项目,最好按照以下步骤进行( 个人意见,仅供参考 ): 1、使用这个应用或者游戏,直到熟悉它的使用流程和功能 2、根据自己的体验分析代码实现(整体) 3、如果有条件和原作者请教项目思路 4、从最先启动的Activity开始,弄懂每个Activity功能如何实现以及它的布局实现 5、遇到不懂的代码,首先找搜索引擎(一般都能解决)。还不行就可以请教他人了 6、对新学到的知识点,一定要总结下来,并且定期的去回顾 7、最重要的一点: 我认为要自己动手写,那怕是重新写一遍这个项目,或者自己设计一个类似的,再或者只写这个项目中的一部分。 为什么要自己动手呢?大家都知道coder这个东西,那怕你理论学得再好,不动手,那也是毫无意义的!所以,动手写一下,你会遇到问题,你就会解决问题,这样,你才能学到更多。这就是经验·······
以上回答你满意么?

热点内容
绝地求生未来之役比赛为什么进不去 发布:2023-08-31 22:07:08 浏览:1272
dota2位置什么意思 发布:2023-08-31 22:00:04 浏览:715
lol电竞是什么样子 发布:2023-08-31 21:58:40 浏览:1170
绝地求生八倍镜的那个圆圈怎么弄 发布:2023-08-31 21:58:31 浏览:1235
lol龙龟一个多少金币 发布:2023-08-31 21:55:07 浏览:622
王者如何改游戏内名称 发布:2023-08-31 21:55:06 浏览:911
游戏主播打广告是什么意思 发布:2023-08-31 21:55:06 浏览:1567
绝地求生如何免费拿到ss7赛季手册 发布:2023-08-31 21:52:13 浏览:785
pgg是哪个国家的战队lol 发布:2023-08-31 21:52:07 浏览:668
一个人的时候才发现游戏很没意思 发布:2023-08-31 21:49:24 浏览:1268