如何用用python写飞机大战?

如何用用python写飞机大战?,第1张

import pygame

from settings import Settings

from ship import Ship

import game_functions as gf

from pygame.sprite import Group

def run_game():

# 初始迟源化游戏并创建一个屏冲缓幕对象

pygame.init()

ai_settings = Settings()

screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))

pygame.display.set_caption("Alien Invasion")

# 创建一艘飞船

ship = Ship(ai_settings, screen)

# 创建一个用码判态于存储子d的编组

bullets = Group()

# 开始游戏主循环

while True:

gf.check_events(ai_settings, screen, ship, bullets)

ship.update()

bullets.update()

gf.update_bullets(ship, bullets)

gf.update_screen(ai_settings, screen, ship, bullets)

run_game()

你好!很高兴为你回答问题。

首先,请原谅我指出你的错误。

错误一:int a[] =Integer.parseInt(jta.getText())

错处:从jta获取字符串后,转换为整数,乃1个数,用数组存放可以,但不能像你这样写,你这样写是将一个整形数组初始化为一个整数。所以错。。。

错误二:jtf.append(String.valueOf(max))

错处:JTextField没有append方法,无中生有。所以错。。。

错误三:思路错

错处:将文本域中获取的几个数字,不加处理则提取其中数字作为整数数组,是键悉不行的

修蚂亮首正如下:(在文本框中输入几个数字,请用空格隔开,有问题请追问)

import javax.swing.*

import java.awt.*

import java.awt.event.*

public class Exam3_7 {

public static void main(String[] args) {

FrameText ft = new FrameText()

ft.setVisible(true)

}

}

class FrameText extends JFrame implements ActionListener {

JTextField jtf

JTextArea jta

JButton jbt, jbt1

FrameText() {

super("输出最大数和最小数的程序")

Container con = getContentPane()

con.setLayout(new FlowLayout())

jta = new JTextArea("闷数", 5, 10)

jtf = new JTextField(5)

jbt = new JButton("获取最大数")

jbt1 = new JButton("获取最小数")

jbt.addActionListener(this)

jbt1.addActionListener(this)

con.add(jta)

con.add(jtf)

con.add(jbt)

con.add(jbt1)

setSize(300, 300)

}

public void actionPerformed(ActionEvent e) {

String[] input = jta.getText().split(" ")

int[] a = new int[input.length]

for (int i = 0i <input.lengthi++) {

a[i] = Integer.parseInt(input[i])

}

if (e.getSource() == jbt) {

int max = a[0]

for (int j = 1j <a.lengthj++) {

if (a[j] >max) {

max = a[j]

}

}

jtf.setText(String.valueOf(max))

}

if (e.getSource() == jbt1) {

int min = a[0]

for (int j = 1j <a.lengthj++) {

if (a[j] <min) {

min = a[j]

}

}

jtf.setText(String.valueOf(min))

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/12425705.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存