坦克大战程序代码

合集下载

坦克大战源代码

坦克大战源代码

import java.awt.Color;

import java.awt.Frame;

import java.awt.Graphics;

import java.awt.Image;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.util.ArrayList;

import java.util.List;

public class TankClient extends Frame {

public static final int GAME_WIDTH = 800;

public static final int GAME_HEIGHT = 600;

Tank myTank = new Tank(50, 50, true, Tank.Direction.STOP, this);

List<Missile> missiles = new ArrayList<Missile>();

List<Explode> explodes = new ArrayList<Explode>();

List<Tank> tanks = new ArrayList<Tank>();

Image offScreenImage = null;

C语言完整游戏项目坦克大战详细代码

C语言完整游戏项目坦克大战详细代码

C语⾔完整游戏项⽬坦克⼤战详细代码

话不多说我们今天就来创造出属于我们⾃⼰的《坦克⼤战》,GOGOGO直接开始吧这次的源码⽐较详细,我分了好⼏个cpp⽂件,思路更加的清晰,请耐⼼⽤⼼的观看

⾸先就是我们载⼊图⽚的函数tupian.cpp

# include "tanke.h"

障碍物

void LaoWang(int * tilex, int * tiley)

{

IMAGE img;

loadimage(&img, _T("res\\tile.bmp"));

putimage(*tilex, *tiley, 32 , 32 , &img, 32 * 5, 0 );

}

void tileHong(int * tilex, int * tiley)

{

IMAGE img;

loadimage(&img, _T("res\\tile.bmp"));

putimage(*tilex, *tiley, 32, 32, &img, 32 * 0, 0 );

return;

}

void tileLv(int * tilex, int * tiley)

{

IMAGE img;

loadimage(&img, _T("res\\tile.bmp"));

putimage(*tilex, *tiley, 32, 32, &img, 32 * 2, 0 );

return;

}

void tileBai(int * tilex, int * tiley)

{

IMAGE img;

loadimage(&img, _T("res\\tile.bmp"));

Java游戏开发之坦克大战代码

Java游戏开发之坦克大战代码

Java游戏开发之坦克大战代码

标题:Java游戏开发之坦克大战代码

关键词:Java坦克大战,坦克大战Java代码

这是一个Java坦克大战的源码,实现了大部分功能,是学习Java绘图技术的好例子主类:

package com.qq.TankGame;

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.Image;

import java.awt.Paint;

import java.awt.Panel;

import java.awt.Toolkit;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.util.Vector;

import javax.swing.JFrame;

import javax.swing.JMenu;

坦克大战源代码

坦克大战源代码

/**

坦克大战

*/

package com.tankgame1;

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import java.util.*;

public class TankGame1_0 extends JFrame implements KeyListener,ActionListener{ GamePanel gp;

StartPanel sp;

JMenuBar jmb=null;

JMenu jm=null,jm1=null;

JMenuItem jmi1,jmi2,jmi3,jmi4;

TankGame1_0(){

jmb=new JMenuBar();

jm=new JMenu("文件");

jm1=new JMenu("游戏设置");

jmi1=new JMenuItem("新游戏");

jmi1.setActionCommand("NEW");

jmi1.addActionListener(this);

jmi2=new JMenuItem("暂停");

jmi2.setActionCommand("PAUSE");

jmi2.addActionListener(this);

jmi3=new JMenuItem("继续");

jmi3.setActionCommand("CONTINUE");

jmi3.addActionListener(this);

jmi4=new JMenuItem("退出");

jmi4.setActionCommand("QUIT");

c语言坦克大战源代码

c语言坦克大战源代码

c语言坦克大战源代码

/*游戏的整体思路大概是这样的?

首先是欢迎界面,然后进入游戏界面,最后是gameover的界面。

本来打算做单人游戏,后来发现让敌人自主移动比较困难,所以改成了双人游戏?

layer1控制按键是up,down,left,right,enter,player2控制按键是a,s,d,w,space。

*/

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#include<graphics.h>

/*定义鼠标键值常量*/

#define ESC 0x011b/*玩家1坦克按键*/

#define UP 0x4800

#define DOWN 0x5000

#define LEFT 0x4b00

#define RIGHT 0x4d00

#define ENTER 0x1c0d

#define up 0x1177/*玩家2坦克按键*/

#define down 0x1f73

#define left 0x1e61

#define right 0x2064

#define fire 0x246a

/*定义游戏常量*/

/*双人游戏*/

#define NUM 2

/*坦克宽度*/

#define WIDTH 20

/*坦克的数量,宽度*/

/*定义global变量*******************************************/

/*子弹的属性*/

struct myboom{

/*如果子弹life为0则代表子弹没有发射*/

坦克大战游戏编程实现

坦克大战游戏编程实现

坦克大战游戏编程实现

游戏编程实现坦克大战

坦克大战是一款经典的电子游戏,在游戏中,玩家将控制一个坦克,通过操作坦克的移动和攻击,与其他玩家或电脑进行战斗。本文将介

绍如何使用编程语言实现坦克大战游戏。

设计思路

在实现坦克大战游戏之前,首先需要明确游戏的基本要素和规则。

玩家将操作一个坦克,通过键盘或操纵杆控制坦克的移动和攻击。游

戏画面由地图、坦克、子弹等元素构成。坦克可以向前、向后、向左、向右移动,可以发射子弹进行攻击。玩家需要躲避敌方坦克的攻击,

同时尽可能击败敌方坦克。

编程实现

坦克的移动和攻击可以通过编程语言来实现。以下是使用Java语言来编写坦克大战游戏的示例代码:

```java

public class TankGame extends JFrame {

private Tank tank; // 玩家坦克

private List enemyTanks; // 敌方坦克列表

private List bullets; // 子弹列表

public TankGame() {

// 初始化游戏窗口

this.setSize(800, 600);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true);

// 初始化玩家坦克

tank = new Tank(400, 500);

// 初始化敌方坦克列表

enemyTanks = new ArrayList<>();

enemyTanks.add(new Tank(100, 100));

坦克大战程序代码(精心汇编)

坦克大战程序代码(精心汇编)

class f extends JFrame {

f(String title) {

(title) ;

(608 , 630) ;

(300 , 100) ;

;

MyTank mp = new MyTank() ; (mp) ;

(mp) ;

new Thread(mp).start() ;

}

public static void main(String[] args) { f h = new f("坦克大战(版本") ; (true) ;

}

}

//主战坦克

class MyTank extends JPanel implements KeyListener , Runnable { int x = 280, y = 280 ;//坦克的初始位置

int op = 1 ;//坦克的移动方向

int color = 0 ;

int tankspeed = 8 ;//坦克的速度

int tankbullet = 8 ;//坦克的子弹速度

int tankfbullet = 4 ;//敌军的子弹速度

int shengming = 100 ;//生命

int fenshu = 0 ;

int nandu = 5 ; //设置游戏难度

//子弹

int dx = 295 , dy = 295 ;

int dx1 = 295 , dy1 = -10 ;

int dx2 = 600 , dy2 = 295 ;

int dx3 = 295 , dy3 = 600 ;

int dx4 = -10 , dy4 = 295 ;

//敌军坦克

int num = 10 ;//敌军坦克数量,不能修改int[] xf = new int[num] ;

c语言简单的坦克对战代码

c语言简单的坦克对战代码

c语言简单的坦克对战代码

C语言简单的坦克对战代码

介绍

坦克对战游戏是一个经典的游戏,它可以锻炼玩家的反应能力和策略思维。本文将介绍如何使用C语言编写一个简单的坦克对战游戏。

准备工作

在开始编写代码之前,我们需要安装一些必要的工具。首先,我们需要下载并安装一个C语言编译器。常见的C语言编译器有GCC、Clang等。其次,我们需要选择一个集成开发环境(IDE),例如Code::Blocks、Visual Studio等。

游戏规则

在本文中,我们将实现一个基本的坦克对战游戏。游戏规则如下:

1. 游戏场景为一个20*20的方格。

2. 游戏中有两辆坦克,分别由玩家和电脑控制。

3. 玩家可以通过键盘控制自己的坦克移动和发射子弹。

4. 电脑会随机移动并发射子弹。

5. 当一辆坦克被击中时,游戏结束。

代码实现

下面是实现上述规则所需的代码:

头文件和宏定义

```

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#include <windows.h>

#define WIDTH 20

#define HEIGHT 20

```

其中,`WIDTH`和`HEIGHT`表示游戏场景的宽度和高度。游戏场景的绘制

void drawScene(char scene[WIDTH][HEIGHT])

{

int i, j;

system("cls");

for (i = 0; i < HEIGHT; i++) {

for (j = 0; j < WIDTH; j++) {

python实现坦克大战游戏 附详细注释

python实现坦克大战游戏 附详细注释

python实现坦克大战游戏附详细注释

本文实例为大家分享了python实现坦克大战的具体代码,供大家参考,具体内容如下:

#功能实现游戏主窗口

import pygame,time,random#导入模块

_display = pygame.display#赋值给一个变量调用时方便

color_red = pygame.Color(255,0,0)#同上v

class MainGame(object):

screen_width = 900#游戏界面宽度

screen_height = 550#界面的高度

Tank_p1 = None#坦克对象

window = None #窗口对象

EnemyTank_list = []# 存储所有敌方坦克

EnemTank_count = 10# 要创建的敌方坦克的数量

Bullet_list = [] #创建我方子弹列表

EnemyTank_bullet_list = []

Explode_list= []

wall_list = []

def startGame(self):

pygame.display.init()#初始化游戏模块的显示

MainGame.window = _display.set_mode([MainGame.screen_width,MainGame.screen_height])#生成并加载游戏窗口、\

#pygame.display模块及set_mode方法和pygame相关方法调用设置

# 见<<https:///docs/ref/display.html#pygame.display.set_mode>> UC 浏览器实现自动翻译

坦克大战的游戏代码

坦克大战的游戏代码

using System;

using System.Collections.Generic;

using System.Text;

using System.Drawing; //add

using System.Collections;//add

namespace 坦克

{

class Tank

{

private int width; //坦克的宽度

private int height; //坦克的高度

private int top; //坦克位置的纵坐标

private int left; //坦克位置的横坐标

private int type; //坦克的类型(2---5敌方,6己方)

private int direct; //0--上,1--下,2--左,3--右

public ArrayList bList=new ArrayList();//子弹序列

public Tank(int tank_type)//构造函数

{

Random r = new Random();

this.direct = r.Next(0, 4);//产生0—3的数

this.width = 32;

this.height = 32;

this.left = r.Next(0, 1);//产生0—9的数

this.top = r.Next(0, 1);//产生0—9的数

this.type = tank_type;

}

public int Top//Top属性

{

get

{

return top;

}

set

{

if (top >= 0 && top <= 9)

Java游戏开发之坦克大战代码

Java游戏开发之坦克大战代码

Java游戏开发之坦克大战代码

标题:Java游戏开发之坦克大战代码

关键词:Java坦克大战,坦克大战Java代码

这是一个Java坦克大战的源码,实现了大部分功能,是学习Java绘图技术的好例子主类:

package com.qq.TankGame;

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.Image;

import java.awt.Paint;

import java.awt.Panel;

import java.awt.Toolkit;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.util.Vector;

import javax.swing.JFrame;

import javax.swing.JMenu;

坦克大战源代码

坦克大战源代码

/**

坦克大战

*/

package com.tankgame1;

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import java.util.*;

public class TankGame1_0 extends JFrame implements KeyListener,ActionListener{ GamePanel gp;

StartPanel sp;

JMenuBar jmb=null;

JMenu jm=null,jm1=null;

JMenuItem jmi1,jmi2,jmi3,jmi4;

TankGame1_0(){

jmb=new JMenuBar();

jm=new JMenu("文件");

jm1=new JMenu("游戏设置");

jmi1=new JMenuItem("新游戏");

jmi1.setActionCommand("NEW");

jmi1.addActionListener(this);

jmi2=new JMenuItem("暂停");

jmi2.setActionCommand("PAUSE");

jmi2.addActionListener(this);

jmi3=new JMenuItem("继续");

jmi3.setActionCommand("CONTINUE");

jmi3.addActionListener(this);

jmi4=new JMenuItem("退出");

jmi4.setActionCommand("QUIT");

坦克大战代码

坦克大战代码

坦克大战代码

// 1、TTank.cpp: implementation of the TTank class.坦克类

//

//////////////////////////////////////////////////////////////////////

#include "stdafx.h"

#include "TankWar.h"

#include "TTank.h"

#include "TWorld.h"

#include "TExplode.h"

#include "TBonus.h"

#include "TBullet.h"

//////////////////////////////////////////////////////////////////////

// Construction/Destruction

//////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////

// TEnemyTank

///////////////////////////////////////////////////////////////////

EPG TEnemyTank::m_epg[3];

////////////////////////////////////////////////

c语言简单的坦克对战代码

c语言简单的坦克对战代码

C语言简单的坦克对战代码

引言

在计算机科学领域,游戏开发一直是一个非常有趣和具有挑战性的领域。本文将介绍如何使用C语言编写一个简单的坦克对战游戏代码。通过这个例子,读者将学习到如何使用C语言的基本语法和数据结构来实现一个简单的游戏。

游戏规则

在这个坦克对战游戏中,有两个玩家分别控制两辆坦克进行对战。游戏地图是一个二维的矩形区域,玩家可以在地图上移动坦克,并且可以发射子弹来摧毁对方的坦克。坦克可以向上、向下、向左、向右四个方向移动,子弹可以向上、向下、向左、向右四个方向发射。

游戏的主要目标是摧毁对方的坦克,当一方的坦克被击中后,游戏结束,另一方获胜。

游戏设计

为了实现这个游戏,我们需要设计几个基本的数据结构和函数。以下是游戏设计的主要部分:

数据结构

1.Tank结构体:表示一个坦克的位置和状态信息。

2.Bullet结构体:表示一颗子弹的位置和状态信息。

3.Map结构体:表示游戏地图的大小和当前状态。

函数

1.init_map()函数:用于初始化游戏地图,并生成两辆坦克的初始位置。

2.move_tank()函数:用于移动坦克的位置。

3.shoot_bullet()函数:用于发射子弹。

4.update_map()函数:用于更新游戏地图的状态,包括坦克和子弹的位置。

5.check_collision()函数:用于检测子弹是否击中了坦克。

6.game_over()函数:用于判断游戏是否结束。

代码实现

以下是使用C语言实现坦克对战游戏的代码:

#include <stdio.h>

#define MAP_SIZE 10

c语言编写坦克大战源代码

c语言编写坦克大战源代码

#include "tank.h"

#include "ConOperator.h"

#include <time.h>

#include <windows.h>

#include <conio.h>

#include <iostream>

using namespace std;

TankGame::TankGame(int w, int h)

{

// 设定当前关数

no = 1;

// 设定游戏整体高宽

wide = w;

high = h;

HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);

COORD sizePos = {2 * wide, high};

SetConsoleScreenBufferSize(hStdOut, sizePos);

// 分配游戏空间状态表

gameSpace = new GameSpace*[high];

for (int i = 0; i != high; i++)

gameSpace[i] = new GameSpace[wide];

// 添加围墙

wall = new Wall(gameSpace, wide, high);

wall->draw();

}

void TankGame::load_init()

{

// 初始化游戏空间

for (int y = 1; y != high-1; y++) {

for (int x = 1; x != wide-1; x++) {

gameSpace[y][x].have = false;

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

import java.awt.* ;

import javax.swing.* ;

import java.awt.event.*;

import java.util.EventListener;

class f extends JFrame {

f(String title) {

this.setTitle(title) ;

this.setSize(608 , 630) ;

this.setLocation(300 , 100) ;

this.setBackground(Color.BLACK) ;

MyTank mp = new MyTank() ;

this.add(mp) ;

this.addKeyListener(mp) ;

new Thread(mp).start() ;

}

public static void main(String[] args) {

f h = new f("坦克大战(版本1.0)") ;

h.setVisible(true) ;

}

}

//主战坦克

class MyTank extends JPanel implements KeyListener , Runnable {

int x = 280, y = 280 ;//坦克的初始位置

int op = 1 ;//坦克的移动方向

int color = 0 ;

int tankspeed = 8 ;//坦克的速度

int tankbullet = 8 ;//坦克的子弹速度

int tankfbullet = 4 ;//敌军的子弹速度

int shengming = 100 ;//生命

int fenshu = 0 ;

int nandu = 5 ; //设置游戏难度

//子弹

int dx = 295 , dy = 295 ;

int dx1 = 295 , dy1 = -10 ;

int dx2 = 600 , dy2 = 295 ;

int dx3 = 295 , dy3 = 600 ;

int dx4 = -10 , dy4 = 295 ;

//敌军坦克

int num = 10 ;//敌军坦克数量,不能修改int[] xf = new int[num] ;

int[] yf = new int[num] ;

int[] opf = new int[num] ;

int[] dxf = new int[num] ;

int[] dyf = new int[num] ;

int[] dxf1 = new int[num] ;

int[] dyf1 = new int[num] ;

int[] dxf2 = new int[num] ;

int[] dyf2 = new int[num] ;

int[] dxf3 = new int[num] ;

int[] dyf3 = new int[num] ;

int[] dxf4 = new int[num] ;

int[] dyf4 = new int[num] ;

//构造函数,初始化敌军坦克的位置和状态MyTank() {

for (int i = 0; i

xf[i] = (int) (Math.random() * 560) ; yf[i] = (int) (Math.random() * 560) ; dxf[i] = xf[i] + 15 ;

dyf[i] = yf[i] + 15 ;

}

for (int i = 0; i

dxf1[i] = 295 ; dyf1[i] = -10 ;

dxf2[i] = 600 ; dyf2[i] = 295 ;

dxf3[i] = 295 ; dyf3[i] = 600 ;

dxf4[i] = -10 ; dyf4[i] = 295 ;

}

}

//主面版

public void paint(Graphics g) { super.paint(g) ;

this.setBackground(Color.YELLOW) ;

g.setColor(Color.red) ;

g.drawString("生命:" , 10 , 20 ) ;

g.fillRect(50 , 10 , shengming * 5 , 10) ;

g.drawRect(50 , 10 , 500 , 10) ;

g.drawString("得分: "+ fenshu , 10 , 40) ;

if(op == 1) {

g.setColor(Color.red) ;

g.fillRect(x , y , 40 , 40) ;

switch (color % 6) {

case 0: g.setColor(Color.blue) ; break; case 1: g.setColor(Color.yellow) ; break; case 2: g.setColor(Color.red) ; break;

case 3: g.setColor(Color.orange) ; break; case 4: g.setColor(Color.green) ; break; case 5: g.setColor(Color.black) ; break; }

g.fillOval(x - 5 , y - 5 , 10 , 10) ;

g.fillOval(x - 5 , y + 5 , 10 , 10) ;

g.fillOval(x - 5 , y + 15 , 10 , 10) ;

g.fillOval(x - 5 , y + 25 , 10 , 10) ;

g.fillOval(x - 5 , y + 35 , 10 , 10) ;

g.fillOval(x + 35 , y - 5 , 10 , 10) ;

g.fillOval(x + 35 , y + 5 , 10 , 10) ;

g.fillOval(x + 35 , y + 15 , 10 , 10) ;

g.fillOval(x + 35 , y + 25 , 10 , 10) ;

g.fillOval(x + 35 , y + 35 , 10 , 10) ;

g.setColor(Color.black) ;

g.fillRect(x + 15 , y - 20 , 10 , 40) ;

switch (color % 20) {

case 0: g.setColor(Color.white) ; break; case 1: g.setColor(Color.white) ; break; case 2: g.setColor(Color.white) ; break; case 3: g.setColor(Color.white) ; break; case 4: g.setColor(Color.white) ; break; case 5: g.setColor(Color.white) ; break; case 6: g.setColor(Color.white) ; break;

相关文档
最新文档